- Timestamp:
- Mar 30, 2012, 2:49:37 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20111122/pstamp/src/ppstampParseCamera.c
r29379 r33638 8 8 9 9 // Set up the ppstamp output Image file 10 bool setupOutput(pmConfig *config, pmFPAfile *input, p sString stage, bool doMask, bool doWeight)10 bool setupOutput(pmConfig *config, pmFPAfile *input, ppstampOptions *options, bool doMask, bool doWeight, pmFPAfile **pOutput) 11 11 { 12 pmFPAfile *output; 13 14 if (!stage || (strcmp(stage, "diff") != 0)) { 15 output = pmFPAfileDefineSkycell(config, NULL, "PPSTAMP.OUTPUT"); 12 if (!options->stage || (strcmp(options->stage, "diff") != 0)) { 13 if (options->nocompress) { 14 options->outputFileRule = "PPSTAMP.OUTPUT.NOCOMP"; 15 } else { 16 options->outputFileRule = "PPSTAMP.OUTPUT"; 17 } 16 18 } else { 17 19 // need special filerule for diff stage image to allow for negative values 18 output = pmFPAfileDefineSkycell(config, NULL, "PPSTAMP.OUTPUT.DIFF"); 20 if (options->nocompress) { 21 options->outputFileRule = "PPSTAMP.OUTPUT.DIFF.NOCOMP"; 22 } else { 23 options->outputFileRule = "PPSTAMP.OUTPUT.DIFF"; 24 } 19 25 } 26 pmFPAfile *output = pmFPAfileDefineSkycell(config, NULL, options->outputFileRule); 20 27 if (!output) { 21 28 psError(PS_ERR_UNKNOWN, false, "Unable to setup output."); 22 29 return false; 23 30 } 31 *pOutput = output; 24 32 25 33 output->save = true; 26 34 27 35 if (doMask) { 28 pmFPAfile *outMask = pmFPAfileDefineSkycell(config, output->fpa, "PPSTAMP.OUTPUT.MASK"); 36 char *rule; 37 if (options->nocompress) { 38 rule = "PPSTAMP.OUTPUT.MASK.NOCOMP"; 39 } else { 40 rule = "PPSTAMP.OUTPUT.MASK"; 41 } 42 pmFPAfile *outMask = pmFPAfileDefineSkycell(config, output->fpa, rule); 29 43 outMask->save = true; 30 44 } 31 45 if (doWeight) { 32 pmFPAfile *outWeight = pmFPAfileDefineSkycell(config, output->fpa, "PPSTAMP.OUTPUT.VARIANCE"); 46 char *rule; 47 if (options->nocompress) { 48 rule = "PPSTAMP.OUTPUT.VARIANCE.NOCOMP"; 49 } else { 50 rule = "PPSTAMP.OUTPUT.VARIANCE"; 51 } 52 pmFPAfile *outWeight = pmFPAfileDefineSkycell(config, output->fpa, rule); 33 53 outWeight->save = true; 34 54 } … … 76 96 77 97 78 79 98 // XXX: create a filerule for PPSTAMP.ASTROM 80 99 pmFPAfile *astrom = pmFPAfileDefineFromArgs(&status, config, "PSWARP.ASTROM", "ASTROM"); … … 95 114 96 115 // Set up the output target 97 if (!setupOutput(config, input, options->stage, doMask, doWeight)) { 116 pmFPAfile *output; 117 if (!setupOutput(config, input, options, doMask, doWeight, &output)) { 98 118 psError(PS_ERR_UNKNOWN, false, "Unable to setup output."); 99 119 return false; … … 110 130 } 111 131 132 if (options->writeJPEG) { 133 char *filerule = "PPSTAMP.OUTPUT.JPEG"; 134 pmFPAfile *jpg = pmFPAfileDefineSkycell(config, output->fpa, filerule); 135 if (!jpg) { 136 psError(PS_ERR_IO, false, "Unable to generate new file from %s", filerule); 137 return NULL; 138 } 139 if (jpg->type != PM_FPA_FILE_JPEG) { 140 psError(PS_ERR_IO, true, "%s is not of type JPEG", filerule); 141 return NULL; 142 } 143 jpg->save = true; 144 } 145 112 146 // XXX: TODO: only do the workaround if the file level is chip, skycells should be fine 113 147 if (!strcmp(config->cameraName, "MEGACAM")) {
Note:
See TracChangeset
for help on using the changeset viewer.
