IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 29560


Ignore:
Timestamp:
Oct 25, 2010, 5:27:23 PM (16 years ago)
Author:
Serge CHASTEL
Message:

Updates reflecting changes of eam_branches/ipp-20100823/psModules/src/objects/pmSourceIO_CMF_PS1_DV2.c rev 29230 / Partial support for -version option (to be improved)

Location:
trunk/ppTranslate/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppTranslate/src/ppMops.h

    r29556 r29560  
    2525  float rmsAstrom;                    // Astrometric solution RMS
    2626  psString output;                    // Output filename
     27  psU16 version;                        // Version (for parameters)
    2728} ppMopsArguments;
    2829
  • trunk/ppTranslate/src/ppMopsArguments.c

    r25256 r29560  
    4848    args->rmsAstrom = NAN;
    4949    args->output = NULL;
     50    args->version = 1;
    5051
    5152    return args;
     
    7374    psMetadataAddF32(arguments, PS_LIST_TAIL, "-zp_error", 0, "Error in magnitude zero point", NAN);
    7475    psMetadataAddF32(arguments, PS_LIST_TAIL, "-astrom_rms", 0, "Astrometric solution RMS", NAN);
     76    psMetadataAddU16(arguments, PS_LIST_TAIL, "-version", 0, "Parameters version (see ICD)", 1);
    7577
    7678    if (argc == 1 || !psArgumentParse(arguments, &argc, argv) || argc != 3) {
     
    9799    args->diff_id = psMetadataLookupS64(NULL, arguments, "-diff_id");
    98100    args->positive = !psMetadataLookupBool(NULL, arguments, "-inverse"); // NOTE: negated
    99 
    100101    args->zp = psMetadataLookupF32(NULL, arguments, "-zp");
    101102    args->zpErr = psMetadataLookupF32(NULL, arguments, "-zp_error");
    102103    args->rmsAstrom = psMetadataLookupF32(NULL, arguments, "-astrom_rms");
     104    args->version = psMetadataLookupU16(NULL, arguments, "-version");
    103105
    104106    psTrace("ppMops.args", 1, "Done parsing command-line arguments\n");
  • trunk/ppTranslate/src/ppMopsRead.c

    r29556 r29560  
    109109            det->naxis1->data.S32[numGood] = naxis1;
    110110            det->naxis2->data.S32[numGood] = naxis2;
    111 
    112111            det->nPos->data.S32[numGood] = psMetadataLookupS32(NULL, row, "DIFF_NPOS");
    113112            det->fPos->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_FRATIO");
     
    117116
    118117            //Additions of 2010-10-25
    119             det->psfInstFlux->data.F32[numGood] = psMetadataLookupS32(NULL, row, "PSF_INST_FLUX");
    120             det->psfInstFluxSig->data.F32[numGood] = psMetadataLookupS32(NULL, row, "PSF_INST_FLUX_SIG");
    121             det->apMag->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_MAG");
    122             det->apMagRaw->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_MAG_RAW");
    123             det->apMagRadius->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_MAG_RADIUS");
    124             det->apFlux->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_FLUX");
    125             det->apFluxSig->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_FLUX_SIG");
    126             det->peakFluxAsMag->data.F32[numGood] = psMetadataLookupS32(NULL, row, "PEAK_FLUX_AS_MAG");
    127             det->calPsfMag->data.F32[numGood] = psMetadataLookupS32(NULL, row, "CAL_PSF_MAG");
    128             det->calPsfMagSig->data.F32[numGood] = psMetadataLookupS32(NULL, row, "CAL_PSF_MAG_SIG");
    129             det->sky->data.F32[numGood] = psMetadataLookupS32(NULL, row, "SKY");
    130             det->skySig->data.F32[numGood] = psMetadataLookupS32(NULL, row, "SKY_SIGMA");
    131             det->qualityPerfect->data.F32[numGood] = psMetadataLookupF32(NULL, row, "PSF_QF_PERFECT");
    132             det->momentsR1->data.F32[numGood] = psMetadataLookupF32(NULL, row, "MOMENTS_R1");
    133             det->momentsRH->data.F32[numGood] = psMetadataLookupF32(NULL, row, "MOMENTS_RH");
    134             det->kronFlux->data.F32[numGood] = psMetadataLookupF32(NULL, row, "KRON_FLUX");
    135             det->kronFluxErr->data.F32[numGood] = psMetadataLookupF32(NULL, row, "KRON_FLUX_ERR");
    136             det->kronFluxInner->data.F32[numGood] = psMetadataLookupF32(NULL, row, "KRON_FLUX_INNER");
    137             det->kronFluxOuter->data.F32[numGood] = psMetadataLookupF32(NULL, row, "KRON_FLUX_OUTER");
    138             det->diffRP->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_R_P");
    139             det->diffSnP->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_SN_P");
    140             det->diffRM->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_R_M");
    141             det->diffSnM->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_SN_M");
    142             det->flags2->data.U32[numGood] = psMetadataLookupU32(NULL, row, "FLAGS2");
    143             det->ippIdet->data.U32[numGood] = psMetadataLookupU32(NULL, row, "IPP_IDET");
    144             det->nFrames->data.U16[numGood] = psMetadataLookupU16(NULL, row, "N_FRAMES");
    145             det->padding->data.S16[numGood] = psMetadataLookupS16(NULL, row, "PADDING");
     118            if (args->version == 2) {
     119              det->psfInstFlux->data.F32[numGood] = psMetadataLookupS32(NULL, row, "PSF_INST_FLUX");
     120              det->psfInstFluxSig->data.F32[numGood] = psMetadataLookupS32(NULL, row, "PSF_INST_FLUX_SIG");
     121              det->apMag->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_MAG");
     122              det->apMagRaw->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_MAG_RAW");
     123              det->apMagRadius->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_MAG_RADIUS");
     124              det->apFlux->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_FLUX");
     125              det->apFluxSig->data.F32[numGood] = psMetadataLookupS32(NULL, row, "AP_FLUX_SIG");
     126              det->peakFluxAsMag->data.F32[numGood] = psMetadataLookupS32(NULL, row, "PEAK_FLUX_AS_MAG");
     127              det->calPsfMag->data.F32[numGood] = psMetadataLookupS32(NULL, row, "CAL_PSF_MAG");
     128              det->calPsfMagSig->data.F32[numGood] = psMetadataLookupS32(NULL, row, "CAL_PSF_MAG_SIG");
     129              det->sky->data.F32[numGood] = psMetadataLookupS32(NULL, row, "SKY");
     130              det->skySig->data.F32[numGood] = psMetadataLookupS32(NULL, row, "SKY_SIGMA");
     131              det->qualityPerfect->data.F32[numGood] = psMetadataLookupF32(NULL, row, "PSF_QF_PERFECT");
     132              det->momentsR1->data.F32[numGood] = psMetadataLookupF32(NULL, row, "MOMENTS_R1");
     133              det->momentsRH->data.F32[numGood] = psMetadataLookupF32(NULL, row, "MOMENTS_RH");
     134              det->kronFlux->data.F32[numGood] = psMetadataLookupF32(NULL, row, "KRON_FLUX");
     135              det->kronFluxErr->data.F32[numGood] = psMetadataLookupF32(NULL, row, "KRON_FLUX_ERR");
     136              det->kronFluxInner->data.F32[numGood] = psMetadataLookupF32(NULL, row, "KRON_FLUX_INNER");
     137              det->kronFluxOuter->data.F32[numGood] = psMetadataLookupF32(NULL, row, "KRON_FLUX_OUTER");
     138              det->diffRP->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_R_P");
     139              det->diffSnP->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_SN_P");
     140              det->diffRM->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_R_M");
     141              det->diffSnM->data.F32[numGood] = psMetadataLookupF32(NULL, row, "DIFF_SN_M");
     142              det->flags2->data.U32[numGood] = psMetadataLookupU32(NULL, row, "FLAGS2");
     143              det->ippIdet->data.U32[numGood] = psMetadataLookupU32(NULL, row, "IPP_IDET");
     144              det->nFrames->data.U16[numGood] = psMetadataLookupU16(NULL, row, "N_FRAMES");
     145              det->padding->data.S16[numGood] = psMetadataLookupS16(NULL, row, "PADDING");
     146            } else {
     147              det->psfInstFlux->data.F32[numGood] = NAN;
     148              det->psfInstFluxSig->data.F32[numGood] = NAN;
     149              det->apMag->data.F32[numGood] = NAN;
     150              det->apMagRaw->data.F32[numGood] = NAN;
     151              det->apMagRadius->data.F32[numGood] = NAN;
     152              det->apFlux->data.F32[numGood] = NAN;
     153              det->apFluxSig->data.F32[numGood] = NAN;
     154              det->peakFluxAsMag->data.F32[numGood] = NAN;
     155              det->calPsfMag->data.F32[numGood] = NAN;
     156              det->calPsfMagSig->data.F32[numGood] = NAN;
     157              det->sky->data.F32[numGood] = NAN;
     158              det->skySig->data.F32[numGood] = NAN;
     159              det->qualityPerfect->data.F32[numGood] = NAN;
     160              det->momentsR1->data.F32[numGood] = NAN;
     161              det->momentsRH->data.F32[numGood] = NAN;
     162              det->kronFlux->data.F32[numGood] = NAN;
     163              det->kronFluxErr->data.F32[numGood] = NAN;
     164              det->kronFluxInner->data.F32[numGood] = NAN;
     165              det->kronFluxOuter->data.F32[numGood] = NAN;
     166              det->diffRP->data.F32[numGood] = NAN;
     167              det->diffSnP->data.F32[numGood] = NAN;
     168              det->diffRM->data.F32[numGood] = NAN;
     169              det->diffSnM->data.F32[numGood] = NAN;
     170              det->flags2->data.U32[numGood] = 0;
     171              det->ippIdet->data.U32[numGood] = 0;
     172              det->nFrames->data.U16[numGood] = 0;
     173              det->padding->data.S16[numGood] = 0;
     174            }
    146175
    147176            // Calculate error in RA, Dec
  • trunk/ppTranslate/src/ppMopsWrite.c

    r28623 r29560  
    1818        return false;
    1919    }
    20 
    2120
    2221    psMetadata *header = psMetadataAlloc(); // Header to write
     
    8180        psMetadataAddF32(row, PS_LIST_TAIL, "RATIO_MASK", 0, "Ratio of positive pixels to masked", NAN);
    8281        psMetadataAddF32(row, PS_LIST_TAIL, "RATIO_ALL", 0, "Ratio of positive pixels to all", NAN);
     82
     83            if (args->version == 2) {
     84              // Write data of version 2 (see ICD)
     85              psMetadataAdd (row, PS_LIST_TAIL, "IPP_IDET",         PS_DATA_U32, "IPP detection identifier index",
     86                             NAN);
     87              psMetadataAdd (row, PS_LIST_TAIL, "PSF_INST_FLUX",    PS_DATA_F32, "PSF fit instrumental magnitude",
     88                             NAN);
     89              psMetadataAdd (row, PS_LIST_TAIL, "PSF_INST_FLUX_SIG",PS_DATA_F32, "Sigma of PSF instrumental magnitude",
     90                             NAN);
     91              psMetadataAdd (row, PS_LIST_TAIL, "AP_MAG",           PS_DATA_F32, "magnitude in standard aperture",
     92                             NAN);
     93              psMetadataAdd (row, PS_LIST_TAIL, "AP_MAG_RAW",       PS_DATA_F32, "magnitude in real aperture",
     94                             NAN);
     95              psMetadataAdd (row, PS_LIST_TAIL, "AP_MAG_RADIUS",    PS_DATA_F32, "radius used for aperture mags",
     96                             NAN);
     97              psMetadataAdd (row, PS_LIST_TAIL, "AP_FLUX",          PS_DATA_F32, "instrumental flux in standard aperture",
     98                             NAN);
     99              psMetadataAdd (row, PS_LIST_TAIL, "AP_FLUX_SIG",      PS_DATA_F32, "aperture flux error",
     100                             NAN);
     101              psMetadataAdd (row, PS_LIST_TAIL, "PEAK_FLUX_AS_MAG", PS_DATA_F32, "Peak flux expressed as magnitude",
     102                             NAN);
     103              psMetadataAdd (row, PS_LIST_TAIL, "CAL_PSF_MAG",      PS_DATA_F32, "PSF Magnitude using supplied calibration",
     104                             NAN);
     105              psMetadataAdd (row, PS_LIST_TAIL, "CAL_PSF_MAG_SIG",  PS_DATA_F32, "measured scatter of zero point calibration",
     106                             NAN);
     107              psMetadataAdd (row, PS_LIST_TAIL, "SKY",              PS_DATA_F32, "Sky level",
     108                             NAN);
     109              psMetadataAdd (row, PS_LIST_TAIL, "SKY_SIGMA",        PS_DATA_F32, "Sigma of sky level",
     110                             NAN);
     111              psMetadataAdd (row, PS_LIST_TAIL, "PSF_QF_PERFECT",   PS_DATA_F32, "PSF coverage/quality factor (poor)",
     112                             NAN);
     113              psMetadataAdd (row, PS_LIST_TAIL, "MOMENTS_R1",       PS_DATA_F32, "first radial moment",
     114                             NAN);
     115              psMetadataAdd (row, PS_LIST_TAIL, "MOMENTS_RH",       PS_DATA_F32, "half radial moment",
     116                             NAN);
     117              psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX",        PS_DATA_F32, "Kron Flux (in 2.5 R1)",
     118                             NAN);
     119              psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX_ERR",    PS_DATA_F32, "Kron Flux Error",
     120                             NAN);
     121              psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX_INNER",  PS_DATA_F32, "Kron Flux (in 1.0 R1)",
     122                             NAN);
     123              psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX_OUTER",  PS_DATA_F32, "Kron Flux (in 4.0 R1)",
     124                             NAN);
     125              psMetadataAdd (row, PS_LIST_TAIL, "DIFF_R_P",         PS_DATA_F32, "distance to positive match source",
     126                             NAN);
     127              psMetadataAdd (row, PS_LIST_TAIL, "DIFF_SN_P",        PS_DATA_F32, "signal-to-noise of pos match src",
     128                             NAN);
     129              psMetadataAdd (row, PS_LIST_TAIL, "DIFF_R_M",         PS_DATA_F32, "distance to negative match source",
     130                             NAN);
     131              psMetadataAdd (row, PS_LIST_TAIL, "DIFF_SN_M",        PS_DATA_F32, "signal-to-noise of neg match src",
     132                             NAN);
     133              psMetadataAdd (row, PS_LIST_TAIL, "FLAGS2",           PS_DATA_U32, "psphot analysis flags (group 2)",
     134                             0);
     135              psMetadataAdd (row, PS_LIST_TAIL, "N_FRAMES",         PS_DATA_U16, "Number of frames overlapping source center",
     136                             0);
     137              psMetadataAdd (row, PS_LIST_TAIL, "PADDING",          PS_DATA_S16, "padding",
     138                             0);
     139            }
     140
    83141        if (!psFitsWriteTableEmpty(fits, header, row, OUT_EXTNAME)) {
    84142            psErrorStackPrint(stderr, "Unable to write empty table.");
     
    134192                             det->diffSkyfileId->data.S64[i]);
    135193
     194            if (args->version == 2) {
     195              // Write data of version 2 (see ICD)
     196              psMetadataAdd (row, PS_LIST_TAIL, "IPP_IDET",         PS_DATA_U32, "IPP detection identifier index",
     197                             det->ippIdet->data.U32[i]);
     198              psMetadataAdd (row, PS_LIST_TAIL, "PSF_INST_FLUX",    PS_DATA_F32, "PSF fit instrumental magnitude",
     199                             det->psfInstFlux->data.F32[i]);
     200              psMetadataAdd (row, PS_LIST_TAIL, "PSF_INST_FLUX_SIG",PS_DATA_F32, "Sigma of PSF instrumental magnitude",
     201                             det->psfInstFluxSig->data.F32[i]);
     202              psMetadataAdd (row, PS_LIST_TAIL, "AP_MAG",           PS_DATA_F32, "magnitude in standard aperture",
     203                             det->apMag->data.F32[i]);
     204              psMetadataAdd (row, PS_LIST_TAIL, "AP_MAG_RAW",       PS_DATA_F32, "magnitude in real aperture",
     205                             det->apMagRaw->data.F32[i]);
     206              psMetadataAdd (row, PS_LIST_TAIL, "AP_MAG_RADIUS",    PS_DATA_F32, "radius used for aperture mags",
     207                             det->apMagRadius->data.F32[i]);
     208              psMetadataAdd (row, PS_LIST_TAIL, "AP_FLUX",          PS_DATA_F32, "instrumental flux in standard aperture",
     209                             det->apFlux->data.F32[i]);
     210              psMetadataAdd (row, PS_LIST_TAIL, "AP_FLUX_SIG",      PS_DATA_F32, "aperture flux error",
     211                             det->apFluxSig->data.F32[i]);
     212              psMetadataAdd (row, PS_LIST_TAIL, "PEAK_FLUX_AS_MAG", PS_DATA_F32, "Peak flux expressed as magnitude",
     213                             det->peakFluxAsMag->data.F32[i]);
     214              psMetadataAdd (row, PS_LIST_TAIL, "CAL_PSF_MAG",      PS_DATA_F32, "PSF Magnitude using supplied calibration",
     215                             det->calPsfMag->data.F32[i]);
     216              psMetadataAdd (row, PS_LIST_TAIL, "CAL_PSF_MAG_SIG",  PS_DATA_F32, "measured scatter of zero point calibration",
     217                             det->calPsfMagSig->data.F32[i]);
     218              psMetadataAdd (row, PS_LIST_TAIL, "SKY",              PS_DATA_F32, "Sky level",
     219                             det->sky->data.F32[i]);
     220              psMetadataAdd (row, PS_LIST_TAIL, "SKY_SIGMA",        PS_DATA_F32, "Sigma of sky level",
     221                             det->skySig->data.F32[i]);
     222              psMetadataAdd (row, PS_LIST_TAIL, "PSF_QF_PERFECT",   PS_DATA_F32, "PSF coverage/quality factor (poor)",
     223                             det->qualityPerfect->data.F32[i]);
     224              psMetadataAdd (row, PS_LIST_TAIL, "MOMENTS_R1",       PS_DATA_F32, "first radial moment",
     225                             det->momentsR1->data.F32[i]);
     226              psMetadataAdd (row, PS_LIST_TAIL, "MOMENTS_RH",       PS_DATA_F32, "half radial moment",
     227                             det->momentsRH->data.F32[i]);
     228              psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX",        PS_DATA_F32, "Kron Flux (in 2.5 R1)",
     229                             det->kronFlux->data.F32[i]);
     230              psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX_ERR",    PS_DATA_F32, "Kron Flux Error",
     231                             det->kronFluxErr->data.F32[i]);
     232              psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX_INNER",  PS_DATA_F32, "Kron Flux (in 1.0 R1)",
     233                             det->kronFluxInner->data.F32[i]);
     234              psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX_OUTER",  PS_DATA_F32, "Kron Flux (in 4.0 R1)",
     235                             det->kronFluxOuter->data.F32[i]);
     236              psMetadataAdd (row, PS_LIST_TAIL, "DIFF_R_P",         PS_DATA_F32, "distance to positive match source",
     237                             det->diffRP->data.F32[i]);
     238              psMetadataAdd (row, PS_LIST_TAIL, "DIFF_SN_P",        PS_DATA_F32, "signal-to-noise of pos match src",
     239                             det->diffSnP->data.F32[i]);
     240              psMetadataAdd (row, PS_LIST_TAIL, "DIFF_R_M",         PS_DATA_F32, "distance to negative match source",
     241                             det->diffRM->data.F32[i]);
     242              psMetadataAdd (row, PS_LIST_TAIL, "DIFF_SN_M",        PS_DATA_F32, "signal-to-noise of neg match src",
     243                             det->diffSnM->data.F32[i]);
     244              psMetadataAdd (row, PS_LIST_TAIL, "FLAGS2",           PS_DATA_U32, "psphot analysis flags (group 2)",
     245                             det->flags2->data.U32[i]);
     246              psMetadataAdd (row, PS_LIST_TAIL, "N_FRAMES",         PS_DATA_U16, "Number of frames overlapping source center",
     247                             det->nFrames->data.U16[i]);
     248              psMetadataAdd (row, PS_LIST_TAIL, "PADDING",          PS_DATA_S16, "padding",
     249                             det->padding->data.S16[i]);
     250            }
     251
     252            //Update with the table with the current row
    136253            table->data[i] = row;
    137254        }
Note: See TracChangeset for help on using the changeset viewer.