Files | |
file | oimerge.h |
Definitions for merge component of OIFITSlib. | |
file | oimerge.c |
Implementation of merge component of OIFITSlib. | |
Functions | |
GHashTable * | merge_oi_target (const GList *, oi_fits *) |
Copy records for uniquely-named targets into output target table. | |
GList * | merge_all_oi_wavelength (const GList *, oi_fits *) |
Copy unique wavelength tables into output dataset. | |
void | merge_all_oi_vis (const GList *, GHashTable *, const GList *, oi_fits *) |
Copy all input OI_VIS tables into output dataset. | |
void | merge_all_oi_vis2 (const GList *, GHashTable *, const GList *, oi_fits *) |
Copy all input OI_VIS2 tables into output dataset. | |
void | merge_all_oi_t3 (const GList *, GHashTable *, const GList *, oi_fits *) |
Copy all input OI_T3 tables into output dataset. | |
void | merge_oi_fits_list (const GList *, oi_fits *) |
Merge list of oi_fits structs into single dataset. | |
void | merge_oi_fits (oi_fits *, oi_fits *, oi_fits *,...) |
Merge supplied oi_fits structs into single dataset. |
To simplify the implementation, OI_ARRAY tables are not copied into the output dataset (these are not required by the OIFITS standard). Target records with the same target name are merged (without checking that the coordinates etc. are identical), as are duplicate OI_WAVELENGTH tables.
A merged dataset should be obtained by calling merge_oi_fits() (which takes a variable number of arguments) or merge_oi_fits_list() (which takes a linked list of datasets to merge). Applications should not normally need to call the lower-level functions that merge subsets of the OIFITS tables (such as merge_oi_target() and merge_all_oi_vis2()).
GHashTable* merge_oi_target | ( | const GList * | inList, | |
oi_fits * | pOutput | |||
) |
Copy records for uniquely-named targets into output target table.
inList | linked list of oi_fits structs to merge | |
pOutput | pointer to oi_fits struct to write merged data to |
References MAX_TARGET, oi_target::ntarget, oi_target::revision, oi_target::targ, target::target, target::target_id, and oi_fits::targets.
Referenced by merge_oi_fits_list().
GList* merge_all_oi_wavelength | ( | const GList * | inList, | |
oi_fits * | pOutput | |||
) |
Copy unique wavelength tables into output dataset.
inList | linked list of oi_fits structs to merge | |
pOutput | pointer to oi_fits struct to write merged data to |
References dup_oi_wavelength(), oi_wavelength::insname, match_oi_wavelength(), oi_fits::numWavelength, oi_fits::wavelengthHash, and oi_fits::wavelengthList.
Referenced by merge_oi_fits_list().
void merge_all_oi_vis | ( | const GList * | inList, | |
GHashTable * | targetIdHash, | |||
const GList * | insnameHashList, | |||
oi_fits * | pOutput | |||
) |
Copy all input OI_VIS tables into output dataset.
Modifies INSNAME and TARGET_ID to maintain correct cross-references.
inList | linked list of oi_fits structs to merge | |
targetIdHash | hash table giving new TARGET_ID indexed by target name | |
insnameHashList | list of hash tables giving new INSNAME indexed by old | |
pOutput | pointer to oi_fits struct to write merged data to |
References dup_oi_vis(), oi_vis::insname, oi_fits::numVis, REPLACE_INSNAME, REPLACE_TARGET_ID, UNSET_ARRNAME, and oi_fits::visList.
Referenced by merge_oi_fits_list().
void merge_all_oi_vis2 | ( | const GList * | inList, | |
GHashTable * | targetIdHash, | |||
const GList * | insnameHashList, | |||
oi_fits * | pOutput | |||
) |
Copy all input OI_VIS2 tables into output dataset.
Modifies INSNAME and TARGET_ID to maintain correct cross-references.
inList | linked list of oi_fits structs to merge | |
targetIdHash | hash table giving new TARGET_ID indexed by target name | |
insnameHashList | list of hash tables giving new INSNAME indexed by old | |
pOutput | pointer to oi_fits struct to write merged data to |
References dup_oi_vis2(), oi_vis2::insname, oi_fits::numVis2, REPLACE_INSNAME, REPLACE_TARGET_ID, UNSET_ARRNAME, and oi_fits::vis2List.
Referenced by merge_oi_fits_list().
void merge_all_oi_t3 | ( | const GList * | inList, | |
GHashTable * | targetIdHash, | |||
const GList * | insnameHashList, | |||
oi_fits * | pOutput | |||
) |
Copy all input OI_T3 tables into output dataset.
Modifies INSNAME and TARGET_ID to maintain correct cross-references.
inList | linked list of oi_fits structs to merge | |
targetIdHash | hash table giving new TARGET_ID indexed by target name | |
insnameHashList | list of hash tables giving new INSNAME indexed by old | |
pOutput | pointer to oi_fits struct to write merged data to |
References dup_oi_t3(), oi_t3::insname, oi_fits::numT3, REPLACE_INSNAME, REPLACE_TARGET_ID, oi_fits::t3List, and UNSET_ARRNAME.
Referenced by merge_oi_fits_list().
void merge_oi_fits_list | ( | const GList * | inList, | |
oi_fits * | pOutput | |||
) |
Merge list of oi_fits structs into single dataset.
inList | linked list of oi_fits structs to merge | |
pOutput | pointer to oi_fits struct to write merged data to |
References init_oi_fits(), merge_all_oi_t3(), merge_all_oi_vis(), merge_all_oi_vis2(), merge_all_oi_wavelength(), and merge_oi_target().
Referenced by merge_oi_fits().
Merge supplied oi_fits structs into single dataset.
pOutput | pointer to oi_fits struct to write merged data to | |
pInput1 | pointer to first oi_fits struct to merge | |
pInput2 | pointer to second oi_fits struct to merge, followed by pointers to any further structs to merge, followed by NULL |
References merge_oi_fits_list().