IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 15, 2009, 2:36:31 PM (17 years ago)
Author:
eugene
Message:

add options to allow for (1st and 2nd order) dark current trend with temperature

File:
1 edited

Legend:

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

    r21365 r24807  
    2020    }
    2121
     22    float detTemp   = psMetadataLookupF32(&mdok, recipe, "DET.TEMP"); // Detector Temperature
     23    float darkTemp  = psMetadataLookupF32(&mdok, recipe, "DARK.TEMP"); // Dark temperature trend
     24    float darkTemp2 = psMetadataLookupF32(&mdok, recipe, "DARK.TEMP2"); // Dark temperature trend 2nd order term
     25    if (!isfinite(detTemp)) detTemp = 0.0;
     26    if (!isfinite(darkTemp)) darkTemp = 0.0;
     27    if (!isfinite(darkTemp2)) darkTemp2 = 0.0;
     28
    2229    float expTime  = psMetadataLookupF32(&mdok, recipe, "EXPTIME"); // Exposure time
    2330    if (isnan(expTime)) {
     
    2633    }
    2734
    28     psTrace("ppSim", 6, "darkRate: %f, expTime: %f\n", darkRate, expTime);
     35    // Dark current
     36    float darkCurrent = (darkRate + darkTemp*detTemp + darkTemp2*PS_SQR(detTemp)) * expTime; // Dark current accumulated
     37   
     38    psTrace("ppSim", 6, "dark current: %f, darkRate: %f, darkTempTrend: %f, darkTempSecondOrder: %f, detTemp: %f, expTime: %f\n", darkCurrent, darkRate, darkTemp, darkTemp2, detTemp, expTime);
    2939
    3040    for (int y = 0; y < signal->numRows; y++) {
    3141        for (int x = 0; x < signal->numCols; x++) {
    32 
    33             // Dark current
    34             float darkCurrent = darkRate * expTime; // Dark current accumulated
    3542            signal->data.F32[y][x] += darkCurrent;
    3643            variance->data.F32[y][x] += darkCurrent;
Note: See TracChangeset for help on using the changeset viewer.