Changeset 43038
- Timestamp:
- May 28, 2026, 9:38:40 PM (7 weeks ago)
- Location:
- trunk
- Files:
-
- 3 added
- 18 edited
-
ippconfig/recipes/filerules-mef.mdc (modified) (1 diff)
-
ippconfig/recipes/filerules-simple.mdc (modified) (1 diff)
-
ippconfig/recipes/filerules-split.mdc (modified) (1 diff)
-
ippconfig/recipes/ppImage.config (modified) (1 diff)
-
ppImage/src/Makefile.am (modified) (1 diff)
-
ppImage/src/ppImage.h (modified) (2 diffs)
-
ppImage/src/ppImageArguments.c (modified) (2 diffs)
-
ppImage/src/ppImageDetrendFree.c (modified) (1 diff)
-
ppImage/src/ppImageDetrendReadout.c (modified) (1 diff)
-
ppImage/src/ppImageDetrendRecord.c (modified) (1 diff)
-
ppImage/src/ppImageMaskBadOverscan.c (added)
-
ppImage/src/ppImageOptions.c (modified) (2 diffs)
-
ppImage/src/ppImageParseCamera.c (modified) (1 diff)
-
psModules/src/camera/pmFPAfile.c (modified) (1 diff)
-
psModules/src/camera/pmFPAfile.h (modified) (1 diff)
-
psModules/src/camera/pmFPAfileIO.c (modified) (4 diffs)
-
psModules/src/detrend/Makefile.am (modified) (2 diffs)
-
psModules/src/detrend/pmDetrendDB.h (modified) (1 diff)
-
psModules/src/detrend/pmMaskBadOverscan.c (added)
-
psModules/src/detrend/pmMaskBadOverscan.h (added)
-
psModules/src/psmodules.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippconfig/recipes/filerules-mef.mdc
r42844 r43038 72 72 PPIMAGE.PATTERN.DEAD.CELLS INPUT @DETDB FPA PATTERN.DEAD.CELLS 73 73 PPIMAGE.NEWNONLIN INPUT @DETDB CHIP NEWNONLIN 74 PPIMAGE.VALID.OVERSCAN INPUT @DETDB FPA VALID.OVERSCAN 74 75 75 76 ## Files used by ppMerge -
trunk/ippconfig/recipes/filerules-simple.mdc
r42844 r43038 32 32 PPIMAGE.LINEARITY INPUT @DETDB CHIP LINEARITY 33 33 PPIMAGE.NEWNONLIN INPUT @DETDB CHIP NEWNONLIN 34 PPIMAGE.VALID.OVERSCAN INPUT @DETDB FPA VALID.OVERSCAN 34 35 35 36 FPCAMERA.OUTPUT STR FPCAMERA.OUT.CMF -
trunk/ippconfig/recipes/filerules-split.mdc
r42844 r43038 56 56 PPIMAGE.PATTERN.ROW.AMP INPUT @DETDB FPA PATTERN.ROW.AMP 57 57 PPIMAGE.PATTERN.DEAD.CELLS INPUT @DETDB FPA PATTERN.DEAD.CELLS 58 PPIMAGE.VALID.OVERSCAN INPUT @DETDB FPA VALID.OVERSCAN 58 59 59 60 ## Files used by psvideophot -
trunk/ippconfig/recipes/ppImage.config
r43022 r43038 19 19 MASK.BURNTOOL BOOL FALSE # Mask potential burntool trails 20 20 MASK.AUXMASK BOOL FALSE # augment mask with auxillary mask 21 MASK.BAD.OVERSCAN BOOL FALSE # augment mask with auxillary mask 21 22 AUX.VIDEO.MASK STR NULL # name of aditional masking for video cells 22 23 APPLY.BURNTOOL BOOL FALSE # apply burntool coorection -
trunk/ppImage/src/Makefile.am
r42382 r43038 33 33 ppImageMosaicBackground.c \ 34 34 ppImageMaskStats.c \ 35 ppImageMaskBadOverscan.c \ 35 36 ppImagePhotom.c \ 36 37 ppImageAstrom.c \ -
trunk/ppImage/src/ppImage.h
r42890 r43038 36 36 bool doNonLin; // Non-linearity correction 37 37 bool doNewNonLin; // Non-linearity correction 38 bool doMaskBadOverscan; // Mask cells/readouts with out-of-range overscan 38 39 bool doOverscan; // Overscan subtraction 39 40 bool doNoiseMap; // Bias subtraction … … 180 181 bool ppImageDetrendBias(pmReadout *inputReadout, pmReadout *bias, pmReadout *dark, ppImageOptions *options); 181 182 183 bool ppImageMaskBadOverscan(pmReadout *input, pmConfig *config); 184 182 185 bool ppImageDetrendNewNonLinear(pmReadout *input, pmFPAview *linearity, pmConfig *config); 183 186 -
trunk/ppImage/src/ppImageArguments.c
r42382 r43038 26 26 fprintf(stderr, "\t-linearity/-linearlist: linearity correction file.\n"); 27 27 fprintf(stderr, "\t-newnonlin/-newnonlinlist: non-linearity correction file (v 2023.01).\n"); 28 fprintf(stderr, "\t-valid-overscan/-valid-overscan-list: overscan valid range file.\n"); 28 29 fprintf(stderr, "\n"); 29 30 exit (2); … … 118 119 pmConfigFileSetsMD (config->arguments, &argc, argv, "LINEARITY", "-linearity", "-linearlist"); 119 120 pmConfigFileSetsMD (config->arguments, &argc, argv, "NEWNONLIN", "-newnonlin", "-newnonlinlist"); 121 pmConfigFileSetsMD (config->arguments, &argc, argv, "VALID.OVERSCAN", "-valid-overscan", "-valid-overscan-list"); 120 122 pmConfigFileSetsMD (config->arguments, &argc, argv, "PATTERN.ROW.AMP", "-pattern-row-amplitude", "-not-defined"); 121 123 pmConfigFileSetsMD (config->arguments, &argc, argv, "PATTERN.DEAD.CELLS", "-pattern-dead-cells", "-not-defined"); -
trunk/ppImage/src/ppImageDetrendFree.c
r42340 r43038 15 15 "PPIMAGE.LINEARITY", 16 16 "PPIMAGE.NEWNONLIN", 17 "PPIMAGE.VALID.OVERSCAN", 17 18 NULL 18 19 }; -
trunk/ppImage/src/ppImageDetrendReadout.c
r42964 r43038 167 167 } 168 168 169 // Mask bad cells based on the overscan values 170 if (options->doMaskBadOverscan) { 171 if (!ppImageMaskBadOverscan(input, config)) { 172 psError(PS_ERR_UNKNOWN, false, "Unable to mask readout based on overscan"); 173 psFree(detview); 174 return(false); 175 } 176 } 177 169 178 // measure the overscan-subtracted readoutBackground here (or subtract the overscan value?) 170 179 // XXX this is the measurements and should be independent of the pattern masking -
trunk/ppImage/src/ppImageDetrendRecord.c
r42340 r43038 75 75 detrendRecord(options->doFringe, detrend, config, view, "PPIMAGE.FRINGE", "DETREND.FRINGE", "Fringe filename"); 76 76 77 detrendRecord(options->doNonLin, detrend, config, view, "PPIMAGE.LINEARITY","DETREND.NONLIN", "Non-linearity table filename"); 78 detrendRecord(options->doNewNonLin, detrend, config, view, "PPIMAGE.NEWNONLIN","DETREND.NEWNONLIN","Non-linearity table filename (v2023)"); 77 detrendRecord(options->doNonLin, detrend, config, view, "PPIMAGE.LINEARITY", "DETREND.NONLIN", "Non-linearity table filename"); 78 detrendRecord(options->doNewNonLin, detrend, config, view, "PPIMAGE.NEWNONLIN", "DETREND.NEWNONLIN", "Non-linearity table filename (v2023)"); 79 detrendRecord(options->doMaskBadOverscan, detrend, config, view, "PPIMAGE.VALID.OVERSCAN", "DETREND.VALID.OVERSCAN", "Valid Overscan table filename"); 79 80 80 81 detrendRecord(options->doDark & options->useVideoDark, detrend, config, view, "PPIMAGE.VIDEODARK", "DETREND.VIDEODARK", "VideoDark filename"); -
trunk/ppImage/src/ppImageOptions.c
r42890 r43038 29 29 options->doNonLin = false; // Non-linearity correction 30 30 options->doNewNonLin = false; // New Non-linearity correction (v2023) 31 options->doMaskBadOverscan = false; // Mask cells / readouts if overscan is out of bounds 31 32 options->doOverscan = false; // Overscan subtraction 32 33 options->doNoiseMap = false; // Apply Read Noise Map … … 182 183 } 183 184 185 // Mask cells/readouts with out-of-range overscan 186 // nominal overscan ranges are loaded from a file defined in the detrend system or on the command-line 187 if (psMetadataLookupBool(NULL, recipe, "MASK.BAD.OVERSCAN")) { 188 options->doMaskBadOverscan = true; 189 } 190 184 191 // XXX PAP: The overscan stuff needs to be updated following the reworked API 185 192 -
trunk/ppImage/src/ppImageParseCamera.c
r42382 r43038 117 117 if (!ppImageDefineFile(config, input->fpa, "PPIMAGE.NEWNONLIN", "NEWNONLIN", 118 118 PM_FPA_FILE_NEWNONLIN, PM_DETREND_TYPE_NEWNONLIN)) { 119 psError(PS_ERR_IO, false, "Can't find a new non-linearity correction source"); 120 psFree(options); 121 return NULL; 122 } 123 } 124 if (options->doMaskBadOverscan) { 125 // if the file has been specified on the command-line (-valid-overscan file), then the file 126 // is identified by the VALID.OVERSCAN entry in config->arguments. otherwise, load from the 127 // detrend system as type VALID.OVERSCAN 128 if (!ppImageDefineFile(config, input->fpa, "PPIMAGE.VALID.OVERSCAN", "VALID.OVERSCAN", 129 PM_FPA_FILE_VALID_OVERSCAN, PM_DETREND_TYPE_VALID_OVERSCAN)) { 119 130 psError(PS_ERR_IO, false, "Can't find a new non-linearity correction source"); 120 131 psFree(options); -
trunk/psModules/src/camera/pmFPAfile.c
r42379 r43038 542 542 if (!strcasecmp(type, "NEWNONLIN")) { 543 543 return PM_FPA_FILE_NEWNONLIN; 544 } 545 if (!strcasecmp(type, "VALID.OVERSCAN")) { 546 return PM_FPA_FILE_VALID_OVERSCAN; 544 547 } 545 548 if (!strcasecmp(type, "ASTROM")) { -
trunk/psModules/src/camera/pmFPAfile.h
r42379 r43038 56 56 PM_FPA_FILE_LINEARITY, 57 57 PM_FPA_FILE_NEWNONLIN, 58 PM_FPA_FILE_VALID_OVERSCAN, 58 59 PM_FPA_FILE_EXPNUM, 59 60 } pmFPAfileType; -
trunk/psModules/src/camera/pmFPAfileIO.c
r42379 r43038 286 286 case PM_FPA_FILE_LINEARITY: 287 287 case PM_FPA_FILE_NEWNONLIN: 288 case PM_FPA_FILE_VALID_OVERSCAN: 288 289 break; 289 290 default: … … 653 654 case PM_FPA_FILE_LINEARITY: 654 655 case PM_FPA_FILE_NEWNONLIN: 656 case PM_FPA_FILE_VALID_OVERSCAN: 655 657 case PM_FPA_FILE_EXPNUM: 656 658 psTrace ("psModules.camera", 5, "closing %s (%s) (%d:%d:%d)\n", file->filename, file->name, view->chip, view->cell, view->readout); … … 739 741 case PM_FPA_FILE_LINEARITY: 740 742 case PM_FPA_FILE_NEWNONLIN: 743 case PM_FPA_FILE_VALID_OVERSCAN: 741 744 psTrace ("psModules.camera", 5, "nothing to free for %s (%s)\n", file->filename, file->name); 742 745 return true; … … 900 903 case PM_FPA_FILE_LINEARITY: 901 904 case PM_FPA_FILE_NEWNONLIN: 905 case PM_FPA_FILE_VALID_OVERSCAN: 902 906 case PM_FPA_FILE_EXPNUM: 903 907 psTrace ("psModules.camera", 5, "opening %s (%s) (%d:%d:%d)\n", -
trunk/psModules/src/detrend/Makefile.am
r42338 r43038 11 11 pmNonLinear.c \ 12 12 pmNewNonLinear.c \ 13 pmMaskBadOverscan.c \ 13 14 pmBias.c \ 14 15 pmOverscan.c \ … … 32 33 pmNonLinear.h \ 33 34 pmNewNonLinear.h \ 35 pmMaskBadOverscan.h \ 34 36 pmBias.h \ 35 37 pmOverscan.h \ -
trunk/psModules/src/detrend/pmDetrendDB.h
r42379 r43038 44 44 PM_DETREND_TYPE_PATTERN_ROW_AMP, 45 45 PM_DETREND_TYPE_PATTERN_DEAD_CELLS, 46 PM_DETREND_TYPE_VALID_OVERSCAN, 46 47 } pmDetrendType; 47 48 -
trunk/psModules/src/psmodules.h
r42338 r43038 75 75 #include <pmFringeStats.h> 76 76 #include <pmMaskBadPixels.h> 77 #include <pmMaskBadOverscan.h> 77 78 #include <pmMaskStats.h> 78 79 #include <pmNonLinear.h>
Note:
See TracChangeset
for help on using the changeset viewer.
