IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 26, 2009, 2:45:31 PM (17 years ago)
Author:
Paul Price
Message:

Reorganised the concepts files, moving the Write functions into pmConceptsWrite, and the Read functions into pmConceptsRead, which sort of makes sense. Added new type of concept property: copy. Most concepts use the default copy method (which is to simply copy the item), but for the TIMESYS concepts, we want to ensure that the target is of the correct type --- if it's already set (e.g., via the DEFAULTS), then we don't copy it. This will allow us to set the target TIMESYS using the DEFAULTS in the camera format, and have the output time be adjusted appropriately. Without this, the TIMESYS is simply copied, and specifying the TIMESYS in the DEFAULTS results in a warning ('values don't match'). Removed pmFPACopyConcepts, since it is pretty much the same as pmConceptsCopyFPA.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/concepts/pmConceptsStandard.h

    r20095 r22699  
    2020
    2121/// Parse the CELL.READNOISE concept to do ADU->e correction if required
    22 psMetadataItem *p_pmConceptParse_CELL_READNOISE(const psMetadataItem *concept,
    23                                                 const psMetadataItem *pattern,
    24                                                 pmConceptSource source,
    25                                                 const psMetadata *cameraFormat,
    26                                                 const pmFPA *fpa,
    27                                                 const pmChip *chip,
    28                                                 const pmCell *cell);
     22psMetadataItem *p_pmConceptParse_CELL_READNOISE(
     23    const psMetadataItem *concept,
     24    const psMetadataItem *pattern,
     25    pmConceptSource source,
     26    const psMetadata *cameraFormat,
     27    const pmFPA *fpa,
     28    const pmChip *chip,
     29    const pmCell *cell
     30);
    2931
    3032/// Format the CELL.READNOISE concept to do e->ADU correction if required
    31 psMetadataItem *p_pmConceptFormat_CELL_READNOISE(const psMetadataItem *concept,
    32                                                  pmConceptSource source,
    33                                                  const psMetadata *cameraFormat,
    34                                                  const pmFPA *fpa,
    35                                                  const pmChip *chip,
    36                                                  const pmCell *cell);
     33psMetadataItem *p_pmConceptFormat_CELL_READNOISE(
     34    const psMetadataItem *concept,
     35    pmConceptSource source,
     36    const psMetadata *cameraFormat,
     37    const pmFPA *fpa,
     38    const pmChip *chip,
     39    const pmCell *cell
     40    );
    3741
    3842// Parse the TELTEMPS concept : parse a list of the form 'X1 X2 X3 X4 X5 ...' : for now use median
    39 psMetadataItem *p_pmConceptParse_TELTEMPS(const psMetadataItem *concept,
    40                                           const psMetadataItem *pattern,
    41                                           pmConceptSource source,
    42                                           const psMetadata *cameraFormat,
    43                                           const pmFPA *fpa,
    44                                           const pmChip *chip,
    45                                           const pmCell *cell);
     43psMetadataItem *p_pmConceptParse_TELTEMPS(
     44    const psMetadataItem *concept,
     45    const psMetadataItem *pattern,
     46    pmConceptSource source,
     47    const psMetadata *cameraFormat,
     48    const pmFPA *fpa,
     49    const pmChip *chip,
     50    const pmCell *cell
     51    );
    4652
    4753/// Parse the FPA.FILTER concept to apply a lookup table
    48 psMetadataItem *p_pmConceptParse_FPA_FILTER(const psMetadataItem *concept, ///< Concept to parse
    49         const psMetadataItem *pattern, ///< Pattern to use in parsing
    50                                             pmConceptSource source, ///< Source for concept
    51         const psMetadata *cameraFormat, ///< Camera format definition
    52         const pmFPA *fpa, ///< FPA for concept, or NULL
    53         const pmChip *chip, ///< Chip for concept, or NULL
    54         const pmCell *cell ///< Cell for concept, or NULL
    55                                            );
     54psMetadataItem *p_pmConceptParse_FPA_FILTER(
     55    const psMetadataItem *concept, ///< Concept to parse
     56    const psMetadataItem *pattern, ///< Pattern to use in parsing
     57    pmConceptSource source, ///< Source for concept
     58    const psMetadata *cameraFormat, ///< Camera format definition
     59    const pmFPA *fpa, ///< FPA for concept, or NULL
     60    const pmChip *chip, ///< Chip for concept, or NULL
     61    const pmCell *cell ///< Cell for concept, or NULL
     62    );
    5663
    5764/// Format the FPA.FILTER concept to (reverse-)apply a lookup table
    58 psMetadataItem *p_pmConceptFormat_FPA_FILTER(const psMetadataItem *concept, ///< Concept to format
    59                                             pmConceptSource source, ///< Source for concept
    60         const psMetadata *cameraFormat, ///< Camera format definition
    61         const pmFPA *fpa, ///< FPA for concept, or NULL
    62         const pmChip *chip, ///< Chip for concept, or NULL
    63         const pmCell *cell ///< Cell for concept, or NULL
    64                                             );
     65psMetadataItem *p_pmConceptFormat_FPA_FILTER(
     66    const psMetadataItem *concept, ///< Concept to format
     67    pmConceptSource source, ///< Source for concept
     68    const psMetadata *cameraFormat, ///< Camera format definition
     69    const pmFPA *fpa, ///< FPA for concept, or NULL
     70    const pmChip *chip, ///< Chip for concept, or NULL
     71    const pmCell *cell ///< Cell for concept, or NULL
     72    );
    6573
    6674/// Parse the coordinates concepts: FPA.RA and FPA.DEC
    67 psMetadataItem *p_pmConceptParse_FPA_Coords(const psMetadataItem *concept, ///< Concept to parse
    68         const psMetadataItem *pattern, ///< Pattern to use in parsing
    69                                             pmConceptSource source, ///< Source for concept
    70         const psMetadata *cameraFormat, ///< Camera format definition
    71         const pmFPA *fpa, ///< FPA for concept, or NULL
    72         const pmChip *chip, ///< Chip for concept, or NULL
    73         const pmCell *cell ///< Cell for concept, or NULL
    74                                            );
     75psMetadataItem *p_pmConceptParse_FPA_Coords(
     76    const psMetadataItem *concept, ///< Concept to parse
     77    const psMetadataItem *pattern, ///< Pattern to use in parsing
     78    pmConceptSource source, ///< Source for concept
     79    const psMetadata *cameraFormat, ///< Camera format definition
     80    const pmFPA *fpa, ///< FPA for concept, or NULL
     81    const pmChip *chip, ///< Chip for concept, or NULL
     82    const pmCell *cell ///< Cell for concept, or NULL
     83    );
    7584
    7685/// Format the coordinates concepts: FPA.RA and FPA.DEC
    77 psMetadataItem *p_pmConceptFormat_FPA_Coords(const psMetadataItem *concept, ///< Concept to format
    78                                             pmConceptSource source, ///< Source for concept
    79         const psMetadata *cameraFormat, ///< Camera format definition
    80         const pmFPA *fpa, ///< FPA for concept, or NULL
    81         const pmChip *chip, ///< Chip for concept, or NULL
    82         const pmCell *cell ///< Cell for concept, or NULL
    83                                             );
     86psMetadataItem *p_pmConceptFormat_FPA_Coords(
     87    const psMetadataItem *concept, ///< Concept to format
     88    pmConceptSource source, ///< Source for concept
     89    const psMetadata *cameraFormat, ///< Camera format definition
     90    const pmFPA *fpa, ///< FPA for concept, or NULL
     91    const pmChip *chip, ///< Chip for concept, or NULL
     92    const pmCell *cell ///< Cell for concept, or NULL
     93    );
    8494
    8595/// Parse the CELL.TRIMSEC concept
    86 psMetadataItem *p_pmConceptParse_CELL_TRIMSEC(const psMetadataItem *concept, ///< Concept to parse
    87         const psMetadataItem *pattern, ///< Pattern to use in parsing
    88                                             pmConceptSource source, ///< Source for concept
    89         const psMetadata *cameraFormat, ///< Camera format definition
    90         const pmFPA *fpa, ///< FPA for concept, or NULL
    91         const pmChip *chip, ///< Chip for concept, or NULL
    92         const pmCell *cell ///< Cell for concept, or NULL
    93                                              );
     96psMetadataItem *p_pmConceptParse_CELL_TRIMSEC(
     97    const psMetadataItem *concept, ///< Concept to parse
     98    const psMetadataItem *pattern, ///< Pattern to use in parsing
     99    pmConceptSource source, ///< Source for concept
     100    const psMetadata *cameraFormat, ///< Camera format definition
     101    const pmFPA *fpa, ///< FPA for concept, or NULL
     102    const pmChip *chip, ///< Chip for concept, or NULL
     103    const pmCell *cell ///< Cell for concept, or NULL
     104    );
    94105
    95106/// Parse the CELL.BIASSEC concept
    96 psMetadataItem *p_pmConceptParse_CELL_BIASSEC(const psMetadataItem *concept, ///< Concept to parse
    97         const psMetadataItem *pattern, ///< Pattern to use in parsing
    98                                             pmConceptSource source, ///< Source for concept
    99         const psMetadata *cameraFormat, ///< Camera format definition
    100         const pmFPA *fpa, ///< FPA for concept, or NULL
    101         const pmChip *chip, ///< Chip for concept, or NULL
    102         const pmCell *cell ///< Cell for concept, or NULL
    103                                              );
     107psMetadataItem *p_pmConceptParse_CELL_BIASSEC(
     108    const psMetadataItem *concept, ///< Concept to parse
     109    const psMetadataItem *pattern, ///< Pattern to use in parsing
     110    pmConceptSource source, ///< Source for concept
     111    const psMetadata *cameraFormat, ///< Camera format definition
     112    const pmFPA *fpa, ///< FPA for concept, or NULL
     113    const pmChip *chip, ///< Chip for concept, or NULL
     114    const pmCell *cell ///< Cell for concept, or NULL
     115    );
    104116
    105117/// Parse the cell binning concepts: CELL.XBIN, CELL.YBIN
    106 psMetadataItem *p_pmConceptParse_CELL_Binning(const psMetadataItem *concept, ///< Concept to parse
    107         const psMetadataItem *pattern, ///< Pattern to use in parsing
    108                                             pmConceptSource source, ///< Source for concept
    109         const psMetadata *cameraFormat, ///< Camera format definition
    110         const pmFPA *fpa, ///< FPA for concept, or NULL
    111         const pmChip *chip, ///< Chip for concept, or NULL
    112         const pmCell *cell ///< Cell for concept, or NULL
    113                                              );
     118psMetadataItem *p_pmConceptParse_CELL_Binning(
     119    const psMetadataItem *concept, ///< Concept to parse
     120    const psMetadataItem *pattern, ///< Pattern to use in parsing
     121    pmConceptSource source, ///< Source for concept
     122    const psMetadata *cameraFormat, ///< Camera format definition
     123    const pmFPA *fpa, ///< FPA for concept, or NULL
     124    const pmChip *chip, ///< Chip for concept, or NULL
     125    const pmCell *cell ///< Cell for concept, or NULL
     126    );
    114127
    115128/// Parse the time system concepts: FPA.TIMESYS and CELL.TIMESYS
    116 psMetadataItem *p_pmConceptParse_TIMESYS(const psMetadataItem *concept, ///< Concept to parse
    117         const psMetadataItem *pattern, ///< Pattern to use in parsing
    118                                             pmConceptSource source, ///< Source for concept
    119         const psMetadata *cameraFormat, ///< Camera format definition
    120         const pmFPA *fpa, ///< FPA for concept, or NULL
    121         const pmChip *chip, ///< Chip for concept, or NULL
    122         const pmCell *cell ///< Cell for concept, or NULL
    123                                         );
     129psMetadataItem *p_pmConceptParse_TIMESYS(
     130    const psMetadataItem *concept, ///< Concept to parse
     131    const psMetadataItem *pattern, ///< Pattern to use in parsing
     132    pmConceptSource source, ///< Source for concept
     133    const psMetadata *cameraFormat, ///< Camera format definition
     134    const pmFPA *fpa, ///< FPA for concept, or NULL
     135    const pmChip *chip, ///< Chip for concept, or NULL
     136    const pmCell *cell ///< Cell for concept, or NULL
     137    );
    124138
    125139/// Parse the time concepts: FPA.TIME and CELL.TIME
    126 psMetadataItem *p_pmConceptParse_TIME(const psMetadataItem *concept, ///< Concept to parse
    127                                       const psMetadataItem *pattern, ///< Pattern to use in parsing
    128                                             pmConceptSource source, ///< Source for concept
    129                                       const psMetadata *cameraFormat, ///< Camera format definition
    130                                       const pmFPA *fpa, ///< FPA for concept, or NULL
    131                                       const pmChip *chip, ///< Chip for concept, or NULL
    132                                       const pmCell *cell ///< Cell for concept, or NULL
    133                                      );
     140psMetadataItem *p_pmConceptParse_TIME(
     141    const psMetadataItem *concept, ///< Concept to parse
     142    const psMetadataItem *pattern, ///< Pattern to use in parsing
     143    pmConceptSource source, ///< Source for concept
     144    const psMetadata *cameraFormat, ///< Camera format definition
     145    const pmFPA *fpa, ///< FPA for concept, or NULL
     146    const pmChip *chip, ///< Chip for concept, or NULL
     147    const pmCell *cell ///< Cell for concept, or NULL
     148    );
    134149
    135150/// Parse a cell position concept, e.g., CELL.X0
    136 psMetadataItem *p_pmConceptParse_Positions(const psMetadataItem *concept, ///< Concept to parse
    137         const psMetadataItem *pattern, ///< Pattern to use in parsing
    138                                             pmConceptSource source, ///< Source for concept
    139        const psMetadata *cameraFormat, ///< Camera format definition
    140         const pmFPA *fpa, ///< FPA for concept, or NULL
    141         const pmChip *chip, ///< Chip for concept, or NULL
    142         const pmCell *cell ///< Cell for concept, or NULL
    143                                           );
     151psMetadataItem *p_pmConceptParse_Positions(
     152    const psMetadataItem *concept, ///< Concept to parse
     153    const psMetadataItem *pattern, ///< Pattern to use in parsing
     154    pmConceptSource source, ///< Source for concept
     155    const psMetadata *cameraFormat, ///< Camera format definition
     156    const pmFPA *fpa, ///< FPA for concept, or NULL
     157    const pmChip *chip, ///< Chip for concept, or NULL
     158    const pmCell *cell ///< Cell for concept, or NULL
     159    );
    144160
    145161/// Format the CELL.TRIMSEC concept
    146 psMetadataItem *p_pmConceptFormat_CELL_TRIMSEC(const psMetadataItem *concept, ///< Concept to format
    147                                             pmConceptSource source, ///< Source for concept
    148         const psMetadata *cameraFormat, ///< Camera format definition
    149         const pmFPA *fpa, ///< FPA for concept, or NULL
    150         const pmChip *chip, ///< Chip for concept, or NULL
    151         const pmCell *cell ///< Cell for concept, or NULL
    152                                               );
     162psMetadataItem *p_pmConceptFormat_CELL_TRIMSEC(
     163    const psMetadataItem *concept, ///< Concept to format
     164    pmConceptSource source, ///< Source for concept
     165    const psMetadata *cameraFormat, ///< Camera format definition
     166    const pmFPA *fpa, ///< FPA for concept, or NULL
     167    const pmChip *chip, ///< Chip for concept, or NULL
     168    const pmCell *cell ///< Cell for concept, or NULL
     169    );
    153170
    154171/// Format the CELL.BIASSEC concept
    155 psMetadataItem *p_pmConceptFormat_CELL_BIASSEC(const psMetadataItem *concept, ///< Concept to format
    156                                             pmConceptSource source, ///< Source for concept
    157         const psMetadata *cameraFormat, ///< Camera format definition
    158         const pmFPA *fpa, ///< FPA for concept, or NULL
    159         const pmChip *chip, ///< Chip for concept, or NULL
    160         const pmCell *cell ///< Cell for concept, or NULL
    161                                               );
     172psMetadataItem *p_pmConceptFormat_CELL_BIASSEC(
     173    const psMetadataItem *concept, ///< Concept to format
     174    pmConceptSource source, ///< Source for concept
     175    const psMetadata *cameraFormat, ///< Camera format definition
     176    const pmFPA *fpa, ///< FPA for concept, or NULL
     177    const pmChip *chip, ///< Chip for concept, or NULL
     178    const pmCell *cell ///< Cell for concept, or NULL
     179    );
    162180
    163181/// Format the CELL.XBIN concept
    164 psMetadataItem *p_pmConceptFormat_CELL_XBIN(const psMetadataItem *concept, ///< Concept to format
    165                                             pmConceptSource source, ///< Source for concept
    166         const psMetadata *cameraFormat, ///< Camera format definition
    167         const pmFPA *fpa, ///< FPA for concept, or NULL
    168         const pmChip *chip, ///< Chip for concept, or NULL
    169         const pmCell *cell ///< Cell for concept, or NULL
    170                                            );
     182psMetadataItem *p_pmConceptFormat_CELL_XBIN(
     183    const psMetadataItem *concept, ///< Concept to format
     184    pmConceptSource source, ///< Source for concept
     185    const psMetadata *cameraFormat, ///< Camera format definition
     186    const pmFPA *fpa, ///< FPA for concept, or NULL
     187    const pmChip *chip, ///< Chip for concept, or NULL
     188    const pmCell *cell ///< Cell for concept, or NULL
     189    );
    171190
    172191/// Format the CELL.YBIN concept
    173 psMetadataItem *p_pmConceptFormat_CELL_YBIN(const psMetadataItem *concept, ///< Concept to format
    174                                             pmConceptSource source, ///< Source for concept
    175         const psMetadata *cameraFormat, ///< Camera format definition
    176         const pmFPA *fpa, ///< FPA for concept, or NULL
    177         const pmChip *chip, ///< Chip for concept, or NULL
    178         const pmCell *cell ///< Cell for concept, or NULL
    179                                            );
     192psMetadataItem *p_pmConceptFormat_CELL_YBIN(
     193    const psMetadataItem *concept, ///< Concept to format
     194    pmConceptSource source, ///< Source for concept
     195    const psMetadata *cameraFormat, ///< Camera format definition
     196    const pmFPA *fpa, ///< FPA for concept, or NULL
     197    const pmChip *chip, ///< Chip for concept, or NULL
     198    const pmCell *cell ///< Cell for concept, or NULL
     199    );
    180200
    181201/// Format the time system concepts: FPA.TIMESYS and CELL.TIMESYS
    182 psMetadataItem *p_pmConceptFormat_TIMESYS(const psMetadataItem *concept, ///< Concept to format
    183                                             pmConceptSource source, ///< Source for concept
    184         const psMetadata *cameraFormat, ///< Camera format definition
    185         const pmFPA *fpa, ///< FPA for concept, or NULL
    186         const pmChip *chip, ///< Chip for concept, or NULL
    187         const pmCell *cell ///< Cell for concept, or NULL
    188                                          );
     202psMetadataItem *p_pmConceptFormat_TIMESYS(
     203    const psMetadataItem *concept, ///< Concept to format
     204    pmConceptSource source, ///< Source for concept
     205    const psMetadata *cameraFormat, ///< Camera format definition
     206    const pmFPA *fpa, ///< FPA for concept, or NULL
     207    const pmChip *chip, ///< Chip for concept, or NULL
     208    const pmCell *cell ///< Cell for concept, or NULL
     209    );
    189210
    190211/// Format the time concepts: FPA.TIME and CELL.TIME
    191 psMetadataItem *p_pmConceptFormat_TIME(const psMetadataItem *concept, ///< Concept to format
    192                                             pmConceptSource source, ///< Source for concept
    193                                        const psMetadata *cameraFormat, ///< Camera format definition
    194                                        const pmFPA *fpa, ///< FPA for concept, or NULL
    195                                        const pmChip *chip, ///< Chip for concept, or NULL
    196                                        const pmCell *cell ///< Cell for concept, or NULL
    197                                       );
     212psMetadataItem *p_pmConceptFormat_TIME(
     213    const psMetadataItem *concept, ///< Concept to format
     214    pmConceptSource source, ///< Source for concept
     215    const psMetadata *cameraFormat, ///< Camera format definition
     216    const pmFPA *fpa, ///< FPA for concept, or NULL
     217    const pmChip *chip, ///< Chip for concept, or NULL
     218    const pmCell *cell ///< Cell for concept, or NULL
     219    );
    198220
    199221/// Format a cell position concept, e.g., CELL.X0
    200 psMetadataItem *p_pmConceptFormat_Positions(const psMetadataItem *concept, ///< Concept to format
    201                                             pmConceptSource source, ///< Source for concept
    202         const psMetadata *cameraFormat, ///< Camera format definition
    203         const pmFPA *fpa, ///< FPA for concept, or NULL
    204         const pmChip *chip, ///< Chip for concept, or NULL
    205         const pmCell *cell ///< Cell for concept, or NULL
    206                                            );
     222psMetadataItem *p_pmConceptFormat_Positions(
     223    const psMetadataItem *concept, ///< Concept to format
     224    pmConceptSource source, ///< Source for concept
     225    const psMetadata *cameraFormat, ///< Camera format definition
     226    const pmFPA *fpa, ///< FPA for concept, or NULL
     227    const pmChip *chip, ///< Chip for concept, or NULL
     228    const pmCell *cell ///< Cell for concept, or NULL
     229    );
     230
     231/// Copy the time system only if not already set
     232psMetadataItem *p_pmConceptCopy_TIMESYS(
     233    const psMetadataItem *target,
     234    const psMetadataItem *source,
     235    const psMetadata *cameraFormat,
     236    const pmFPA *fpa,
     237    const pmChip *chip,
     238    const pmCell *cell
     239    );
     240
    207241/// @}
    208242#endif
Note: See TracChangeset for help on using the changeset viewer.