Changeset 10213 for trunk/ppImage/src/ppImageLoop.c
- Timestamp:
- Nov 27, 2006, 6:32:23 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/ppImage/src/ppImageLoop.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppImage/src/ppImageLoop.c
r10164 r10213 16 16 17 17 bool mdok; // Status of MD lookup 18 psMetadata *extraOpts = psMetadataLookupMetadata(&mdok, config->arguments, "PPIMAGE.OPTIONS"); // Extra options 18 psMetadata *extraOpts = psMetadataLookupMetadata(&mdok, config->arguments, 19 "PPIMAGE.OPTIONS"); // Extra options 19 20 const char *statsName = psMetadataLookupStr(&mdok, extraOpts, "STATS"); // Filename for statistics 20 21 psMetadata *stats = NULL; // Container for statistics … … 29 30 } 30 31 31 pmFPAfile *input = psMetadataLookupPtr (&status, config->files, "PPIMAGE.INPUT");32 pmFPAfile *input = psMetadataLookupPtr(&status, config->files, "PPIMAGE.INPUT"); 32 33 if (!status) { 33 34 psErrorStackPrint(stderr, "Can't find input data!\n"); … … 35 36 } 36 37 37 pmFPAview *view = pmFPAviewAlloc (0);38 pmFPAview *view = pmFPAviewAlloc(0); 38 39 39 40 // files associated with the science image 40 if (!pmFPAfileIOChecks (config, view, PM_FPA_BEFORE)) return false; 41 if (!pmFPAfileIOChecks(config, view, PM_FPA_BEFORE)) { 42 return false; 43 } 41 44 42 while ((chip = pmFPAviewNextChip (view, input->fpa, 1)) != NULL) {45 while ((chip = pmFPAviewNextChip(view, input->fpa, 1)) != NULL) { 43 46 psLogMsg ("ppImageLoop", 4, "Chip %d: %x %x\n", view->chip, chip->file_exists, chip->process); 44 if (!chip->process || !chip->file_exists) { continue; } 47 if (!chip->process || !chip->file_exists) { 48 continue; 49 } 45 50 46 if (!pmFPAfileIOChecks (config, view, PM_FPA_BEFORE)) return false; 51 if (!pmFPAfileIOChecks(config, view, PM_FPA_BEFORE)) { 52 return false; 53 } 47 54 48 while ((cell = pmFPAviewNextCell (view, input->fpa, 1)) != NULL) {55 while ((cell = pmFPAviewNextCell(view, input->fpa, 1)) != NULL) { 49 56 psLogMsg ("ppImageLoop", 4, "Cell %d: %x %x\n", view->cell, cell->file_exists, cell->process); 50 if (!cell->process || !cell->file_exists) { continue; } 51 if (!pmFPAfileIOChecks (config, view, PM_FPA_BEFORE)) return false; 57 if (!cell->process || !cell->file_exists) { 58 continue; 59 } 60 if (!pmFPAfileIOChecks(config, view, PM_FPA_BEFORE)) { 61 return false; 62 } 52 63 53 64 // process each of the readouts 54 65 while ((readout = pmFPAviewNextReadout (view, input->fpa, 1)) != NULL) { 55 if (!pmFPAfileIOChecks (config, view, PM_FPA_BEFORE)) return false; 56 if (!readout->data_exists) { continue; } 66 if (!pmFPAfileIOChecks(config, view, PM_FPA_BEFORE)) { 67 return false; 68 } 69 if (!readout->data_exists) { 70 continue; 71 } 57 72 58 73 // perform the detrend analysis 59 if (!ppImageDetrendReadout (config, options, view)) return false; 74 if (!ppImageDetrendReadout(config, options, view)) { 75 psError(PS_ERR_UNKNOWN, false, "Unable to detrend readout.\n"); 76 return false; 77 } 60 78 61 79 } … … 72 90 // Go back over the cells to apply the fringe and do statistics 73 91 view->cell = view->readout = -1; 74 while ((cell = pmFPAviewNextCell (view, input->fpa, 1)) != NULL) { 75 if (!cell->process || !cell->file_exists) { continue; } 92 while ((cell = pmFPAviewNextCell(view, input->fpa, 1)) != NULL) { 93 if (!cell->process || !cell->file_exists) { 94 continue; 95 } 76 96 77 97 // Apply the fringe correction … … 80 100 pmCell *fringeCell = pmFPAfileThisCell(config->files, view, "PPIMAGE.FRINGE"); 81 101 psImage *fringe = ppImageDetrendFringeGenerate(cell, fringeCell); 82 while ((readout = pmFPAviewNextReadout (view, input->fpa, 1)) != NULL) { 83 if (!readout->data_exists) { continue; } 102 while ((readout = pmFPAviewNextReadout(view, input->fpa, 1)) != NULL) { 103 if (!readout->data_exists) { 104 continue; 105 } 84 106 85 107 // XXX: Make generic, so subregions may be subtracted as well 86 108 psBinaryOp(readout->image, readout->image, "-", fringe); 87 109 88 if (!pmFPAfileIOChecks (config, view, PM_FPA_AFTER)) return false; 110 if (!pmFPAfileIOChecks(config, view, PM_FPA_AFTER)) { 111 return false; 112 } 89 113 } 90 114 psFree(fringe); … … 102 126 } 103 127 104 if (!pmFPAfileIOChecks (config, view, PM_FPA_AFTER)) return false; 128 if (!pmFPAfileIOChecks(config, view, PM_FPA_AFTER)) { 129 return false; 130 } 105 131 } 106 132 107 ppImageMosaicChip (config, view, "PPIMAGE.OUTPUT.CHIP", "PPIMAGE.OUTPUT");108 ppImageRebinChip (config, view, "PPIMAGE.BIN1", "PPIMAGE.OUTPUT.CHIP");109 ppImageRebinChip (config, view, "PPIMAGE.BIN2", "PPIMAGE.OUTPUT.CHIP");133 ppImageMosaicChip(config, view, "PPIMAGE.OUTPUT.CHIP", "PPIMAGE.OUTPUT"); 134 ppImageRebinChip(config, view, "PPIMAGE.BIN1", "PPIMAGE.OUTPUT.CHIP"); 135 ppImageRebinChip(config, view, "PPIMAGE.BIN2", "PPIMAGE.OUTPUT.CHIP"); 110 136 111 137 // we perform photometry on the readouts of this chip in the output 112 if (options->doPhotom) ppImagePhotom (config, view); 138 if (options->doPhotom) { 139 ppImagePhotom(config, view); 140 } 113 141 114 if (!pmFPAfileIOChecks (config, view, PM_FPA_AFTER)) return false; 142 if (!pmFPAfileIOChecks(config, view, PM_FPA_AFTER)) { 143 return false; 144 } 115 145 } 116 146 … … 132 162 // it would require us to NOT free PPIMAGE.OUTPUT.CHIP until here 133 163 // ppImageMosaicFPA (config, "PPIMAGE.OUTPUT.FPA", "PPIMAGE.OUTPUT.CHIP"); 134 ppImageMosaicFPA (config, "PPIMAGE.OUTPUT.FPA1", "PPIMAGE.BIN1");135 ppImageMosaicFPA (config, "PPIMAGE.OUTPUT.FPA2", "PPIMAGE.BIN2");164 ppImageMosaicFPA(config, "PPIMAGE.OUTPUT.FPA1", "PPIMAGE.BIN1"); 165 ppImageMosaicFPA(config, "PPIMAGE.OUTPUT.FPA2", "PPIMAGE.BIN2"); 136 166 137 167 // we perform astrometry on all chips after sources have been detected 138 if (options->doAstromChip || options->doAstromMosaic) ppImageAstrom (config); 139 if (options->doAddstar) ppImageAddstar (config); 168 if (options->doAstromChip || options->doAstromMosaic) { 169 ppImageAstrom(config); 170 } 171 if (options->doAddstar) { 172 ppImageAddstar(config); 173 } 140 174 141 if (!pmFPAfileIOChecks (config, view, PM_FPA_AFTER)) return false; 175 if (!pmFPAfileIOChecks(config, view, PM_FPA_AFTER)) { 176 return false; 177 } 142 178 143 179 psFree(view);
Note:
See TracChangeset
for help on using the changeset viewer.
