IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 24892


Ignore:
Timestamp:
Jul 22, 2009, 9:33:24 AM (17 years ago)
Author:
Paul Price
Message:

Cleaning up pattern noise subtraction code.

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippconfig/recipes/ppImage.config

    r24891 r24892  
    1717MASK.LOW           BOOL    TRUE            # Mask pixels below valid range
    1818VARIANCE.BUILD     BOOL    FALSE           # Build internal variance image
     19PATTERN            BOOL    FALSE           # Fit and remove pattern noise?
    1920FRINGE             BOOL    FALSE           # Fringe subtraction
    2021PHOTOM             BOOL    FALSE           # Source identification and photometry
     
    2526USE.DEBURNED.IMAGE BOOL    FALSE           # use burntool-repaired image?
    2627TILTYSTREAK.APPLY  BOOL    FALSE           # apply the 'tiltystreak' tool
    27 
    28 PATTERN            BOOL    FALSE           # Fit and remove pattern noise?
    29 PATTERN.ORDER      S32     1               # Polynomial order
    30 PATTERN.ITER       S32     3               # Rejection iterations
    31 PATTERN.REJ        F32     2.0             # Rejection threshold
    32 PATTERN.MEAN       STR     ROBUST_MEDIAN   # Statistic for mean
    33 PATTERN.STDEV      STR     ROBUST_STDEV    # Statistic for standard deviation
    3428
    3529
     
    8680OVERSCAN.CONSTANT       BOOL    FALSE           # Apply a known, fixed value?
    8781OVERSCAN.VALUE          F32     0.0             # value to apply, if requested
     82
     83# Pattern subtraction options
     84PATTERN.ORDER      S32     2               # Polynomial order
     85PATTERN.ITER       S32     4               # Rejection iterations
     86PATTERN.REJ        F32     2.5             # Rejection threshold
     87PATTERN.MEAN       STR     SAMPLE_MEAN     # Statistic for mean
     88PATTERN.STDEV      STR     SAMPLE_STDEV    # Statistic for standard deviation
    8889
    8990# Fringe subtraction options
  • trunk/ppImage/src/ppImage.h

    r24485 r24892  
    3737    bool doShutter;                     // Shutter correction
    3838    bool doFlat;                        // Flat-field normalisation
     39    bool doPattern;                     // Pattern noise subtraction
    3940    bool doFringe;                      // Fringe subtraction
    4041    bool doPhotom;                      // Source identification and photometry
     
    4445    bool doStats;                       // call ppStats on the image
    4546    bool checkCTE;                      // measure pixel-based variance
    46     bool applyParity;                   // Apply Cell parities
     47    bool applyParity;                   // Apply Cell parities
    4748
    4849    bool doCrosstalkMeasure;            // measure crosstalk signal
     
    9394    float fringeKeep;                   // Fringe keep fraction
    9495
     96    // Pattern noise subtraction
     97    int patternOrder;                   // Polynomial order
     98    int patternIter;                    // Clipping iterations
     99    float patternRej;                   // Clipping threshold
     100    psStatsOptions patternMean;         // Statistic for mean
     101    psStatsOptions patternStdev;        // Statistic for stdev
     102
    95103    int remnanceSize;                   // Size for remnance detection
    96104    float remnanceThresh;               // Threshold for remnance detection
  • trunk/ppImage/src/ppImageDetrendReadout.c

    r24891 r24892  
    126126    // Pattern noise correction
    127127    if (options->doPattern) {
    128         if (!pmPatternRow(input, options->patternOrder,
    129 options->patternIter, options->patternRej, options->patternMean,
    130 options->patternStdev)) {
    131                 psFree(detview);
    132                 return false;
    133             }
    134         }
    135 
     128        if (!pmPatternRow(input, options->patternOrder, options->patternIter, options->patternRej,
     129                          options->patternMean, options->patternStdev)) {
     130            psFree(detview);
     131            return false;
     132        }
     133    }
    136134
    137135    // Normalization by a single (known) constant
  • trunk/ppImage/src/ppImageOptions.c

    r24485 r24892  
    3131    options->doShutter       = false;   // Shutter correction
    3232    options->doFlat          = false;   // Flat-field normalisation
     33    options->doPattern       = false;   // Pattern noise subtraction
    3334    options->doFringe        = false;   // Fringe subtraction
    3435    options->doPhotom        = false;   // Source identification and photometry
     
    8687    options->fringeIter      = 0;       // Fringe iterations
    8788    options->fringeKeep      = 1.0;     // Fringe keep fraction
     89
     90    // Pattern noise values
     91
     92    options->patternOrder    = 0;       // Polynomial order
     93    options->patternIter     = 0;       // Clipping iterations
     94    options->patternRej      = NAN;     // Clipping rejection threshold
     95    options->patternMean     = PS_STAT_NONE; // Statistic for mean
     96    options->patternStdev    = PS_STAT_NONE; // Statistic for standard deviation
    8897
    8998    // Remnance values
     
    225234    options->doFringe = psMetadataLookupBool(NULL, recipe, "FRINGE");
    226235    options->doShutter = psMetadataLookupBool(NULL, recipe, "SHUTTER");
     236    options->doPattern = psMetadataLookupBool(NULL, recipe, "PATTERN");
    227237
    228238    options->doStats = false;
     
    298308    options->fringeKeep = psMetadataLookupF32(NULL, recipe, "FRINGE.KEEP");
    299309
     310    // Pattern noise
     311    options->patternOrder = psMetadataLookupS32(NULL, recipe, "PATTERN.ORDER");
     312    options->patternIter = psMetadataLookupS32(NULL, recipe, "PATTERN.ITER");
     313    options->patternRej = psMetadataLookupF32(NULL, recipe, "PATTERN.REJ");
     314    options->patternMean = psStatsOptionFromString(psMetadataLookupStr(NULL, recipe, "PATTERN.MEAN"));
     315    options->patternStdev = psStatsOptionFromString(psMetadataLookupStr(NULL, recipe, "PATTERN.STDEV"));
     316
    300317    // Remnance options
    301318    options->remnanceSize = psMetadataLookupF32(NULL, recipe, "REMNANCE.SIZE");
Note: See TracChangeset for help on using the changeset viewer.