Changeset 42371
- Timestamp:
- Feb 4, 2023, 12:14:11 PM (3 years ago)
- Location:
- branches/eam_branches/ipp-20220316/psModules
- Files:
-
- 13 edited
- 2 copied
-
. (modified) (1 prop)
-
src/camera/pmFPAfile.c (modified) (1 diff)
-
src/camera/pmFPAfile.h (modified) (1 diff)
-
src/camera/pmFPAfileDefine.c (modified) (1 diff)
-
src/camera/pmFPAfileIO.c (modified) (4 diffs)
-
src/concepts/pmConcepts.c (modified) (1 diff)
-
src/config/pmConfig.c (modified) (1 diff)
-
src/detrend/Makefile.am (modified) (2 diffs)
-
src/detrend/pmDetrendDB.h (modified) (1 diff)
-
src/detrend/pmNewNonLinear.c (copied) (copied from trunk/psModules/src/detrend/pmNewNonLinear.c )
-
src/detrend/pmNewNonLinear.h (copied) (copied from trunk/psModules/src/detrend/pmNewNonLinear.h )
-
src/detrend/pmOverscan.c (modified) (3 diffs)
-
src/objects/pmSourceMasks.h (modified) (1 diff)
-
src/objects/pmSourcePhotometry.c (modified) (8 diffs)
-
src/psmodules.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20220316/psModules
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20220316/psModules/src/camera/pmFPAfile.c
r42168 r42371 539 539 if (!strcasecmp(type, "LINEARITY")) { 540 540 return PM_FPA_FILE_LINEARITY; 541 } 542 if (!strcasecmp(type, "NEWNONLIN")) { 543 return PM_FPA_FILE_NEWNONLIN; 541 544 } 542 545 if (!strcasecmp(type, "ASTROM")) { -
branches/eam_branches/ipp-20220316/psModules/src/camera/pmFPAfile.h
r42168 r42371 55 55 PM_FPA_FILE_PATTERN_DEAD_CELLS, 56 56 PM_FPA_FILE_LINEARITY, 57 PM_FPA_FILE_NEWNONLIN, 57 58 PM_FPA_FILE_EXPNUM, 58 59 } pmFPAfileType; -
branches/eam_branches/ipp-20220316/psModules/src/camera/pmFPAfileDefine.c
r42092 r42371 821 821 822 822 // find the file in the config list & generate a pmFPAfile for it based on the filerule 823 // return values (return, status): 824 // (not NULL, true) : file defined on RUN and can be loaded 825 // (NULL, true) : file not defined on RUN 826 // (NULL, false) : file defined on RUN, cannot be loaded 823 827 pmFPAfile *pmFPAfileDefineFromRun(bool *success, pmFPAfile *bind, pmConfig *config, const char *filename) 824 828 { -
branches/eam_branches/ipp-20220316/psModules/src/camera/pmFPAfileIO.c
r42168 r42371 285 285 case PM_FPA_FILE_KAPA: 286 286 case PM_FPA_FILE_LINEARITY: 287 case PM_FPA_FILE_NEWNONLIN: 287 288 break; 288 289 default: … … 651 652 case PM_FPA_FILE_PATTERN_DEAD_CELLS: 652 653 case PM_FPA_FILE_LINEARITY: 654 case PM_FPA_FILE_NEWNONLIN: 653 655 case PM_FPA_FILE_EXPNUM: 654 656 psTrace ("psModules.camera", 5, "closing %s (%s) (%d:%d:%d)\n", file->filename, file->name, view->chip, view->cell, view->readout); … … 736 738 case PM_FPA_FILE_KAPA: 737 739 case PM_FPA_FILE_LINEARITY: 740 case PM_FPA_FILE_NEWNONLIN: 738 741 psTrace ("psModules.camera", 5, "nothing to free for %s (%s)\n", file->filename, file->name); 739 742 return true; … … 896 899 case PM_FPA_FILE_PATTERN_DEAD_CELLS: 897 900 case PM_FPA_FILE_LINEARITY: 901 case PM_FPA_FILE_NEWNONLIN: 898 902 case PM_FPA_FILE_EXPNUM: 899 903 psTrace ("psModules.camera", 5, "opening %s (%s) (%d:%d:%d)\n", -
branches/eam_branches/ipp-20220316/psModules/src/concepts/pmConcepts.c
r38729 r42371 315 315 conceptRegisterStr("FPA.SHUTOUTC", "Time of exposure open", NULL,NULL,NULL,false, PM_FPA_LEVEL_FPA); 316 316 conceptRegisterStr("FPA.SHUTCUTC", "Time of exposure close", NULL,NULL,NULL,false, PM_FPA_LEVEL_FPA); 317 conceptRegisterStr("FPA.SHMDOUTC", "Time of exposure open mid-focalplane", NULL,NULL,NULL,false, PM_FPA_LEVEL_FPA); 318 conceptRegisterStr("FPA.SHMDCUTC", "Time of exposure close mid-focalplane", NULL,NULL,NULL,false, PM_FPA_LEVEL_FPA); 317 319 318 320 conceptRegisterF32("FPA.TEMP", "Temperature of focal plane", NULL, NULL, NULL, false, PM_FPA_LEVEL_FPA); -
branches/eam_branches/ipp-20220316/psModules/src/config/pmConfig.c
r37051 r42371 1304 1304 while ((camerasItem = psMetadataGetAndIncrement(camerasIter))) { 1305 1305 // Open the camera information 1306 psTrace("psModules.config.format", 3, "Inspecting camera %s (%s)\n", camerasItem->name, 1307 camerasItem->comment); 1306 psTrace("psModules.config.format", 3, "Inspecting camera %s (%s)\n", camerasItem->name, camerasItem->comment); 1308 1307 assert(camerasItem->type == PS_DATA_METADATA); // It should be because we've read it in or deleted 1309 1308 psMetadata *testCamera = camerasItem->data.md; // Camera to test against what we've got: -
branches/eam_branches/ipp-20220316/psModules/src/detrend/Makefile.am
r28043 r42371 10 10 pmMaskStats.c \ 11 11 pmNonLinear.c \ 12 pmNewNonLinear.c \ 12 13 pmBias.c \ 13 14 pmOverscan.c \ … … 30 31 pmMaskStats.h \ 31 32 pmNonLinear.h \ 33 pmNewNonLinear.h \ 32 34 pmBias.h \ 33 35 pmOverscan.h \ -
branches/eam_branches/ipp-20220316/psModules/src/detrend/pmDetrendDB.h
r42168 r42371 39 39 PM_DETREND_TYPE_VIDEODARK, 40 40 PM_DETREND_TYPE_LINEARITY, 41 PM_DETREND_TYPE_NEWNONLIN, 41 42 PM_DETREND_TYPE_AUXMASK, 42 43 PM_DETREND_TYPE_KH_CORRECT, -
branches/eam_branches/ipp-20220316/psModules/src/detrend/pmOverscan.c
r42352 r42371 140 140 break; 141 141 case PM_FIT_SPLINE: 142 // XXX I don't think psSpline1D is up to scratch yet --- it has no mask, and requires an 143 // input spline 144 overscanOpts->spline = psVectorFitSpline1D(reduced, ordinate); 145 fitted = psSpline1DEvalVector(overscanOpts->spline, ordinate); 142 143 // XXX I don't think psSpline1D is up to scratch yet --- it has no mask, and it assumes 144 // a knot for every input point. it needs an argument like 'number of knots' for the 145 // output spline. EAM: still true 2023.01.22 146 147 // overscanOpts->spline = psVectorFitSpline1D(reduced, ordinate); 148 // fitted = psSpline1DEvalVector(overscanOpts->spline, ordinate); 149 psError(PS_ERR_UNKNOWN, true, "Spline overscan fitting is broken\n"); 146 150 break; 147 151 default: … … 189 193 } 190 194 case PM_FIT_SPLINE: { 195 /* 191 196 psSpline1D *spline = overscanOpts->spline; // The spline 192 197 for (int i = 0; i < spline->n; i++) { … … 201 206 comment = NULL; 202 207 } 208 */ 203 209 // write metadata header value 204 210 psMetadataAddF32(hdu->header, PS_LIST_TAIL, "OVER_VAL", PS_META_REPLACE, -
branches/eam_branches/ipp-20220316/psModules/src/objects/pmSourceMasks.h
r41705 r42371 72 72 PM_SOURCE_MODE2_ON_GHOST = 0x00800000, ///< > 25% of (PSF-weighted) pixels land on ghost 73 73 PM_SOURCE_MODE2_ON_CROSSTALK = 0x01000000, ///< peaks land on electronic crostalk 74 PM_SOURCE_MODE2_ON_CTE = 0x02000000, ///< peaks land on CTE region 74 75 75 76 -
branches/eam_branches/ipp-20220316/psModules/src/objects/pmSourcePhotometry.c
r41705 r42371 53 53 54 54 // make this a bit more clever and dynamic 55 static psImageMaskType maskSuspect = 0; 56 static psImageMaskType maskSpike = 0; 57 static psImageMaskType maskStarCore = 0; 58 static psImageMaskType maskBurntool = 0; 59 static psImageMaskType maskConvPoor = 0; 60 static psImageMaskType maskGhost = 0; 61 static psImageMaskType maskGlint = 0; 62 static psImageMaskType maskCrosstalk = 0; 55 static psImageMaskType maskSuspect = 0; 56 static psImageMaskType maskSpike = 0; 57 static psImageMaskType maskStarCore = 0; 58 static psImageMaskType maskBurntool = 0; 59 static psImageMaskType maskConvPoor = 0; 60 static psImageMaskType maskGhost = 0; 61 static psImageMaskType maskGlint = 0; 62 static psImageMaskType maskCrosstalk = 0; 63 static psImageMaskType maskCTE = 0; 63 64 64 65 bool pmSourceMagnitudesInit (pmConfig *config, psMetadata *recipe) … … 69 70 // we are going to test specially against these poor values 70 71 if (config) { 71 maskSpike = pmConfigMaskGet("SPIKE", config); 72 maskStarCore = pmConfigMaskGet("STARCORE", config); 73 maskBurntool = pmConfigMaskGet("BURNTOOL", config); 74 maskConvPoor = pmConfigMaskGet("CONV.POOR", config); 75 maskGhost = pmConfigMaskGet("GHOST", config); 76 maskGlint = pmConfigMaskGet("GHOST", config); 77 maskCrosstalk = pmConfigMaskGet("CROSSTALK", config); 78 maskSuspect = maskSpike | maskStarCore | maskBurntool | maskConvPoor; 72 maskSpike = pmConfigMaskGet("SPIKE", config); 73 maskStarCore = pmConfigMaskGet("STARCORE", config); 74 maskBurntool = pmConfigMaskGet("BURNTOOL", config); 75 maskConvPoor = pmConfigMaskGet("CONV.POOR", config); 76 maskGhost = pmConfigMaskGet("GHOST", config); 77 maskGlint = pmConfigMaskGet("GHOST", config); 78 maskCrosstalk = pmConfigMaskGet("CROSSTALK", config); 79 maskCTE = pmConfigMaskGet("CTE", config); 80 maskSuspect = maskSpike | maskStarCore | maskBurntool | maskConvPoor; 79 81 } 80 82 … … 440 442 float convpoorSum = 0; 441 443 float ghostSum = 0; 444 float cteSum = 0; 442 445 443 446 int Xo, Yo, dP; … … 534 537 convpoorSum += value; 535 538 } 539 // count pixels which are masked with an mask bit (bad or poor) 540 if (mask->data.PS_TYPE_IMAGE_MASK_DATA[my][mx] & maskCTE) { 541 cteSum += value; 542 } 543 536 544 } 537 545 } … … 555 563 if ((convpoorSum/modelSum) > 0.25) { 556 564 source->mode2 |= PM_SOURCE_MODE2_ON_CONVPOOR; 565 } 566 if ((cteSum/modelSum) > 0.25) { 567 source->mode2 |= PM_SOURCE_MODE2_ON_CTE; 557 568 } 558 569 … … 614 625 float convpoorSum = 0; 615 626 float ghostSum = 0; 627 float cteSum = 0; 616 628 617 629 int Xo, Yo, dP; … … 683 695 convpoorSum += 1.; 684 696 } 697 // count pixels which are masked with an mask bit (bad or poor) 698 if (mask->data.PS_TYPE_IMAGE_MASK_DATA[my][mx] & maskCTE) { 699 cteSum += 1.; 700 } 685 701 } 686 702 } … … 701 717 if ((convpoorSum/modelSum) > 0.25) { 702 718 source->mode2 |= PM_SOURCE_MODE2_ON_CONVPOOR; 719 } 720 if ((cteSum/modelSum) > 0.25) { 721 source->mode2 |= PM_SOURCE_MODE2_ON_CTE; 703 722 } 704 723 -
branches/eam_branches/ipp-20220316/psModules/src/psmodules.h
r36856 r42371 77 77 #include <pmMaskStats.h> 78 78 #include <pmNonLinear.h> 79 #include <pmNewNonLinear.h> 79 80 #include <pmOverscan.h> 80 81 #include <pmBias.h>
Note:
See TracChangeset
for help on using the changeset viewer.
