GIRAFFE Pipeline Reference Manual

gilocalization.c
1 /*
2  * This file is part of the GIRAFFE Pipeline
3  * Copyright (C) 2002-2019 European Southern Observatory
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18  */
19 
20 #ifdef HAVE_CONFIG_H
21 # include <config.h>
22 #endif
23 
24 #include <cxtypes.h>
25 #include <cxmemory.h>
26 
27 #include "gilocalization.h"
28 
29 
30 /*
31  * @defgroup gilocalization Fiber Tracing Data Storage
32  *
33  * TBD
34  */
35 
48 GiLocalization*
49 giraffe_localization_new(void)
50 {
51 
52  GiLocalization* self = cx_malloc(sizeof *self);
53 
54  self->locy = NULL;
55  self->locw = NULL;
56  self->locc = NULL;
57  self->psf = NULL;
58 
59  return self;
60 
61 }
62 
63 
81 GiLocalization*
82 giraffe_localization_create(GiImage* locy, GiImage* locw, GiTable* locc,
83  GiPsfData* psf)
84 {
85 
86  GiLocalization* self = giraffe_localization_new();
87 
88 
89  if (locy != NULL) {
90  self->locy = locy;
91  }
92 
93  if (locw != NULL) {
94  self->locw = locw;
95  }
96 
97  if (locc != NULL) {
98  self->locc = locc;
99  }
100 
101  if (psf != NULL) {
102  self->psf = psf;
103  }
104 
105  return self;
106 
107 }
108 
109 
126 void
127 giraffe_localization_delete(GiLocalization* localization)
128 {
129 
130  if (localization != NULL) {
131  cx_free(localization);
132  }
133 
134  return;
135 
136 }
137 
138 
152 void
153 giraffe_localization_destroy(GiLocalization* localization)
154 {
155 
156  if (localization != NULL) {
157 
158  if (localization->locy != NULL) {
159  giraffe_image_delete(localization->locy);
160  localization->locy = NULL;
161  }
162 
163  if (localization->locw != NULL) {
164  giraffe_image_delete(localization->locw);
165  localization->locw = NULL;
166  }
167 
168  if (localization->locc != NULL) {
169  giraffe_table_delete(localization->locc);
170  localization->locc = NULL;
171  }
172 
173  if (localization->psf != NULL) {
174  giraffe_psfdata_delete(localization->psf);
175  localization->psf = NULL;
176  }
177 
178  cx_free(localization);
179  }
180 
181  return;
182 
183 }
void giraffe_image_delete(GiImage *self)
Destroys an image.
Definition: giimage.c:181
void giraffe_table_delete(GiTable *self)
Destroys a Giraffe table.
Definition: gitable.c:154

This file is part of the GIRAFFE Pipeline Reference Manual 2.16.10.
Documentation copyright © 2002-2006 European Southern Observatory.
Generated on Thu Dec 15 2022 21:18:51 by doxygen 1.9.1 written by Dimitri van Heesch, © 1997-2004