38 typedef struct _gravi_data_ gravi_data;
44 #define gravi_data_get_oi_wave(data, type, pol, npol) gravi_data_get_oi_table (data, GRAVI_OI_WAVELENGTH_EXT, GRAVI_INSNAME(type,pol,npol)) 45 #define gravi_data_get_oi_vis(data, type, pol, npol) gravi_data_get_oi_table (data, GRAVI_OI_VIS_EXT, GRAVI_INSNAME(type,pol,npol)) 46 #define gravi_data_get_oi_vis2(data, type, pol, npol) gravi_data_get_oi_table (data, GRAVI_OI_VIS2_EXT, GRAVI_INSNAME(type,pol,npol)) 47 #define gravi_data_get_oi_t3(data, type, pol, npol) gravi_data_get_oi_table (data, GRAVI_OI_T3_EXT, GRAVI_INSNAME(type,pol,npol)) 48 #define gravi_data_get_oi_flux(data, type, pol, npol) gravi_data_get_oi_table (data, GRAVI_OI_FLUX_EXT, GRAVI_INSNAME(type,pol,npol)) 50 #define gravi_data_get_wave_fibre(data, type) gravi_data_get_table (data, type==GRAVI_SC?GRAVI_WAVE_FIBRE_SC_EXT:GRAVI_WAVE_FIBRE_FT_EXT) 51 #define gravi_data_get_wave_fibre_plist(data, type) gravi_data_get_plist (data, type==GRAVI_SC?GRAVI_WAVE_FIBRE_SC_EXT:GRAVI_WAVE_FIBRE_FT_EXT) 52 #define gravi_data_get_wave_data(data, type) gravi_data_get_table (data, type==GRAVI_SC?GRAVI_WAVE_DATA_SC_EXT:GRAVI_WAVE_DATA_FT_EXT) 53 #define gravi_data_get_wave_data_plist(data, type) gravi_data_get_plist (data, type==GRAVI_SC?GRAVI_WAVE_DATA_SC_EXT:GRAVI_WAVE_DATA_FT_EXT) 54 #define gravi_data_has_wave(data, type) gravi_data_has_extension (data, type==GRAVI_SC?GRAVI_WAVE_DATA_SC_EXT:GRAVI_WAVE_DATA_FT_EXT) 56 #define gravi_data_get_p2vm_data(data, type) gravi_data_get_table (data, type==GRAVI_SC?GRAVI_P2VM_DATA_SC_EXT:GRAVI_P2VM_DATA_FT_EXT) 57 #define gravi_data_has_p2vm(data, type) gravi_data_has_extension (data, type==GRAVI_SC?GRAVI_P2VM_DATA_SC_EXT:GRAVI_P2VM_DATA_FT_EXT) 59 #define gravi_data_get_imaging_detector(data, type) gravi_data_get_table (data, type==GRAVI_SC?GRAVI_IMAGING_DETECTOR_SC_EXT:GRAVI_IMAGING_DETECTOR_FT_EXT) 60 #define gravi_data_has_detector(data, type) gravi_data_has_extension (data, type==GRAVI_SC?GRAVI_IMAGING_DETECTOR_SC_EXT:GRAVI_IMAGING_DETECTOR_FT_EXT) 62 #define gravi_data_get_spectrum_data(data, type) gravi_data_get_table (data, type==GRAVI_SC?GRAVI_SPECTRUM_DATA_SC_EXT:GRAVI_SPECTRUM_DATA_FT_EXT) 63 #define gravi_data_get_spectrum_data_plist(data, type) gravi_data_get_plist (data, type==GRAVI_SC?GRAVI_SPECTRUM_DATA_SC_EXT:GRAVI_SPECTRUM_DATA_FT_EXT) 64 #define gravi_data_has_spectrum(data, type) gravi_data_has_extension (data, type==GRAVI_SC?GRAVI_SPECTRUM_DATA_SC_EXT:GRAVI_SPECTRUM_DATA_FT_EXT) 66 #define gravi_data_get_profile_plist(data) gravi_data_get_plist (data, GRAVI_PROFILE_DATA_EXT) 68 #define gravi_data_get_oi_wave_plist(data, type, pol, npol) gravi_data_get_oi_plist (data, GRAVI_OI_WAVELENGTH_EXT, GRAVI_INSNAME(type,pol,npol)) 69 #define gravi_data_get_oi_vis_plist(data, type, pol, npol) gravi_data_get_oi_plist (data, GRAVI_OI_VIS_EXT, GRAVI_INSNAME(type,pol,npol)) 70 #define gravi_data_get_oi_vis2_plist(data, type, pol, npol) gravi_data_get_oi_plist (data, GRAVI_OI_VIS2_EXT, GRAVI_INSNAME(type,pol,npol)) 71 #define gravi_data_get_oi_t3_plist(data, type, pol, npol) gravi_data_get_oi_plist (data, GRAVI_OI_T3_EXT, GRAVI_INSNAME(type,pol,npol)) 72 #define gravi_data_get_oi_flux_plist(data, type, pol, npol) gravi_data_get_oi_plist (data, GRAVI_OI_FLUX_EXT, GRAVI_INSNAME(type,pol,npol)) 74 #define gravi_data_get_header(data) gravi_data_get_plist (data, GRAVI_PRIMARY_HDR_EXT) 75 #define gravi_data_get_extname(data,ext) gravi_pfits_get_extname (gravi_data_get_plist_x(data, ext)) 76 #define gravi_data_get_qc(data) gravi_plist_get_qc (gravi_data_get_plist(data, GRAVI_PRIMARY_HDR_EXT) ) 77 #define gravi_data_is_internal(data) gravi_pfits_is_calib (gravi_data_get_plist(data, GRAVI_PRIMARY_HDR_EXT)) 78 #define gravi_data_get_img(data,ext) cpl_imagelist_get (gravi_data_get_cube (data,ext), 0) 79 #define gravi_data_get_spec_res(data) gravi_pfits_get_spec_res (gravi_data_get_plist (data, GRAVI_PRIMARY_HDR_EXT)) 91 cpl_error_code
gravi_data_append (gravi_data * first,
const gravi_data * second,
int force);
100 const char * extensions_regexp);
102 int gravi_data_patch (gravi_data * file_to_patch, cpl_frameset * patch_frameset);
105 cpl_frameset * used_frameset,
106 char * extensions_regexp);
109 cpl_frameset * allframes,
110 const char * filename,
112 const cpl_parameterlist * parlist,
113 cpl_frameset * usedframes,
116 cpl_propertylist * applist,
117 const char * proCatg);
130 int gravi_data_get_size_table (
const gravi_data *);
141 const char * ,
const char * );
143 const char * ,
const char * );
155 cpl_propertylist * plist,
156 const char * extname,
160 cpl_propertylist * plist,
161 const char * extname,
162 cpl_imagelist * imglist);
165 cpl_propertylist * plist,
166 const char * extname,
184 const cpl_parameterlist * parlist);
gravi_data * gravi_data_new(int)
Create an empty gravi_data.
cpl_propertylist * gravi_data_get_oi_plist(gravi_data *, const char *, const char *)
Get the propertylist from EXTNAME and INSNAME.
gravi_data * gravi_data_load_frame(cpl_frame *frame, cpl_frameset *used_frameset)
Load a FITS file and create a gravi_data.
gravi_data * gravi_data_load(const char *filename)
Low-level function to load FITS file.
cpl_error_code gravi_data_copy_ext(gravi_data *output, gravi_data *input, const char *name)
Copy extensions from one data to another.
cpl_propertylist * gravi_data_get_plist_x(gravi_data *, int)
Get the propertylist of an extension by position.
cpl_error_code gravi_data_erase_type(gravi_data *self, const char *type)
Erase all extension related to an instrument (SC, FT, MET...)
int gravi_data_has_extension(gravi_data *, const char *)
Check if data has extension with given EXTNAME.
gravi_data * gravi_data_load_rawframe(cpl_frame *frame, cpl_frameset *used_frameset)
Load a RAW FITS file and create a gravi_data.
gravi_data * gravi_data_load_ext(const char *filename, const char *extensions_regexp)
Low-level function to load FITS file.
cpl_error_code gravi_data_move_ext(gravi_data *output, gravi_data *input, const char *name)
Move extensions from one data to another.
cpl_error_code gravi_data_save_data(gravi_data *, const char *, unsigned)
Save a gravi data in a FITS file.
cpl_table ** gravi_data_get_oiwave_tables(gravi_data *data, int type_data, int npol)
Get pointer to the OI_WAVELENGTH tables of both polarisations.
cpl_error_code gravi_data_erase_x(gravi_data *, int)
Erase an extension by its position.
cpl_table * gravi_data_get_table(gravi_data *, const char *)
Return a pointer on a table extension by its EXTNAME.
cpl_error_code gravi_data_check_consistency(gravi_data *data)
Verify the integrity of RAW data.
cpl_imagelist * gravi_data_get_cube_x(gravi_data *, int)
Get the cube of an extension by position.
cpl_error_code gravi_data_dump(gravi_data *self)
Dump the overall structure of a gravi_data in stdout.
cpl_error_code gravi_data_detector_cleanup(gravi_data *data, const cpl_parameterlist *parlist)
Perform self-bias correction to the SC raw data.
cpl_error_code gravi_data_save_new(gravi_data *self, cpl_frameset *allframes, const char *filename, const char *suffix, const cpl_parameterlist *parlist, cpl_frameset *usedframes, cpl_frame *frame, const char *recipe, cpl_propertylist *applist, const char *proCatg)
Save a gravi data in a CPL-complian FITS file.
cpl_error_code gravi_data_dump_mode(gravi_data *data)
Dump some information about data in messagin.
int gravi_data_has_type(gravi_data *self, const char *type)
Return the number of ext whose EXTNAME and INSNAME match 'type'.
cpl_error_code gravi_data_clean_for_astro(gravi_data *data)
Clean the data to keep only OIFITS extensions related to SC.
cpl_propertylist * gravi_data_get_plist(gravi_data *, const char *)
Get the propertylist from EXTNAME.
cpl_table * gravi_data_get_table_x(gravi_data *, int)
Get the table of an extension by position.
cpl_imagelist * gravi_data_get_cube(gravi_data *, const char *)
Return a pointer on an IMAGE extension by its EXTNAME.
cpl_error_code gravi_data_add_cube(gravi_data *self, cpl_propertylist *plist, const char *extname, cpl_imagelist *imglist)
Add an IMAGE (imagelist) extension in gravi_data.
gravi_data * gravi_data_load_rawframe_ext(cpl_frame *frame, cpl_frameset *used_frameset, char *extensions_regexp)
Load a RAW FITS file and create a gravi_data from specified extensions.
cpl_error_code gravi_data_add_table(gravi_data *self, cpl_propertylist *plist, const char *extname, cpl_table *table)
Add a BINTABLE extension in gravi_data.
void gravi_data_delete(gravi_data *)
Delete a gravi data.
gravi_data * gravi_data_duplicate(const gravi_data *)
Create a copy of the gravi data.
int gravi_data_patch(gravi_data *file_to_patch, cpl_frameset *patch_frameset)
Load a RAW FITS file and create a gravi_data.
cpl_error_code gravi_data_erase(gravi_data *, const char *)
Erase an extension by its EXTNAME.
cpl_error_code gravi_data_append(gravi_data *first, const gravi_data *second, int force)
Append a gravi_data into another existing one.
cpl_error_code gravi_data_add_img(gravi_data *self, cpl_propertylist *plist, const char *extname, cpl_image *image)
Add an IMAGE (single image) extension in gravi_data.
int gravi_data_get_size(const gravi_data *)
Get the number of extension in a gravi_data.
cpl_table * gravi_data_get_oi_table(gravi_data *, const char *, const char *)
Get an OI_FITS table from EXTNAME and INSNAME.