GIRAFFE Pipeline Reference Manual

gilocalization.c
1 /* $Id$
2  *
3  * This file is part of the GIRAFFE Pipeline
4  * Copyright (C) 2002-2006 European Southern Observatory
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19  */
20 
21 /*
22  * $Author$
23  * $Date$
24  * $Revision$
25  * $Name$
26  */
27 
28 #ifdef HAVE_CONFIG_H
29 # include <config.h>
30 #endif
31 
32 #include <cxtypes.h>
33 #include <cxmemory.h>
34 
35 #include "gilocalization.h"
36 
37 
38 /*
39  * @defgroup gilocalization Fiber Tracing Data Storage
40  *
41  * TBD
42  */
43 
56 GiLocalization*
57 giraffe_localization_new(void)
58 {
59 
60  GiLocalization* self = cx_malloc(sizeof *self);
61 
62  self->locy = NULL;
63  self->locw = NULL;
64  self->locc = NULL;
65  self->psf = NULL;
66 
67  return self;
68 
69 }
70 
71 
89 GiLocalization*
90 giraffe_localization_create(GiImage* locy, GiImage* locw, GiTable* locc,
91  GiPsfData* psf)
92 {
93 
94  GiLocalization* self = giraffe_localization_new();
95 
96 
97  if (locy != NULL) {
98  self->locy = locy;
99  }
100 
101  if (locw != NULL) {
102  self->locw = locw;
103  }
104 
105  if (locc != NULL) {
106  self->locc = locc;
107  }
108 
109  if (psf != NULL) {
110  self->psf = psf;
111  }
112 
113  return self;
114 
115 }
116 
117 
134 void
135 giraffe_localization_delete(GiLocalization* localization)
136 {
137 
138  if (localization != NULL) {
139  cx_free(localization);
140  }
141 
142  return;
143 
144 }
145 
146 
160 void
161 giraffe_localization_destroy(GiLocalization* localization)
162 {
163 
164  if (localization != NULL) {
165 
166  if (localization->locy != NULL) {
167  giraffe_image_delete(localization->locy);
168  localization->locy = NULL;
169  }
170 
171  if (localization->locw != NULL) {
172  giraffe_image_delete(localization->locw);
173  localization->locw = NULL;
174  }
175 
176  if (localization->locc != NULL) {
177  giraffe_table_delete(localization->locc);
178  localization->locc = NULL;
179  }
180 
181  if (localization->psf != NULL) {
182  giraffe_psfdata_delete(localization->psf);
183  localization->psf = NULL;
184  }
185 
186  cx_free(localization);
187  }
188 
189  return;
190 
191 }
void giraffe_table_delete(GiTable *self)
Destroys a Giraffe table.
Definition: gitable.c:162
void giraffe_image_delete(GiImage *self)
Destroys an image.
Definition: giimage.c:189

This file is part of the GIRAFFE Pipeline Reference Manual 2.14.
Documentation copyright © 2002-2006 European Southern Observatory.
Generated on Wed Mar 11 2015 13:19:41 by doxygen 1.8.9.1 written by Dimitri van Heesch, © 1997-2004