IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 15, 2008, 9:33:21 AM (18 years ago)
Author:
eugene
Message:

allow sky rate from sky mags; cleanup order

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppSim/src/ppSimMakeSky.c

    r14816 r16497  
    33// XXX add bounds to the inputs?
    44bool ppSimMakeSky (pmReadout *readout, psImage *expCorr, ppSimType type, pmConfig *config) {
     5
     6    bool status;
    57
    68    psImage *signal = readout->image;
     
    1113    pmFPA  *fpa  = chip->parent;
    1214
    13     float expTime = psMetadataLookupF32(NULL, config->arguments, "EXPTIME"); // Exposure time
    14     float flatSigma = psMetadataLookupF32(NULL, config->arguments, "FLAT.SIGMA"); // Flat-field coefficient
    15     float flatRate = psMetadataLookupF32(NULL, config->arguments, "FLAT.RATE"); // Flat-field rate
    16     float shutterTime = psMetadataLookupF32(NULL, config->arguments, "SHUTTER.TIME"); // Shutter time
    17     float skyRate = psMetadataLookupF32(NULL, config->arguments, "SKY.RATE"); // Sky rate
     15    float expTime     = psMetadataLookupF32(&status, config->arguments, "EXPTIME"); // Exposure time
     16    float flatSigma   = psMetadataLookupF32(&status, config->arguments, "FLAT.SIGMA"); // Flat-field coefficient
     17    float flatRate    = psMetadataLookupF32(&status, config->arguments, "FLAT.RATE"); // Flat-field rate
     18    float shutterTime = psMetadataLookupF32(&status, config->arguments, "SHUTTER.TIME"); // Shutter time
    1819
    19     int x0Chip = psMetadataLookupS32(NULL, chip->concepts, "CHIP.X0");
    20     int y0Chip = psMetadataLookupS32(NULL, chip->concepts, "CHIP.Y0");
    21     int xParityChip = psMetadataLookupS32(NULL, chip->concepts, "CHIP.XPARITY");
    22     int yParityChip = psMetadataLookupS32(NULL, chip->concepts, "CHIP.YPARITY");
     20    float skyRate     = psMetadataLookupF32(&status, config->arguments, "SKY.RATE"); // Sky rate
     21    if (isnan(skyRate)) {
     22        float zp      = psMetadataLookupF32(&status, config->arguments, "ZEROPOINT"); assert (status);
     23        float scale   = psMetadataLookupF32(&status, config->arguments, "SCALE");     assert (status);
     24        float skyMags = psMetadataLookupF32(&status, config->arguments, "SKY.MAGS");  assert (status);
     25        skyRate = scale * scale * pow (10.0, -0.4*(skyMags - zp));
     26    }
    2327
    24     int x0Cell = psMetadataLookupS32(NULL, cell->concepts, "CELL.X0");
    25     int y0Cell = psMetadataLookupS32(NULL, cell->concepts, "CELL.Y0");
    26     int xParityCell = psMetadataLookupS32(NULL, cell->concepts, "CELL.XPARITY");
    27     int yParityCell = psMetadataLookupS32(NULL, cell->concepts, "CELL.YPARITY");
     28    int x0Chip        = psMetadataLookupS32(&status, chip->concepts, "CHIP.X0");
     29    int y0Chip        = psMetadataLookupS32(&status, chip->concepts, "CHIP.Y0");
     30    int xParityChip   = psMetadataLookupS32(&status, chip->concepts, "CHIP.XPARITY");
     31    int yParityChip   = psMetadataLookupS32(&status, chip->concepts, "CHIP.YPARITY");
     32
     33    int x0Cell        = psMetadataLookupS32(&status, cell->concepts, "CELL.X0");
     34    int y0Cell        = psMetadataLookupS32(&status, cell->concepts, "CELL.Y0");
     35    int xParityCell   = psMetadataLookupS32(&status, cell->concepts, "CELL.XPARITY");
     36    int yParityCell   = psMetadataLookupS32(&status, cell->concepts, "CELL.YPARITY");
    2837
    2938    int binning = psMetadataLookupS32(NULL, config->arguments, "BINNING"); // Binning in x and y
Note: See TracChangeset for help on using the changeset viewer.