Changeset 18918 for trunk/ppStack/src/ppStackArguments.c
- Timestamp:
- Aug 5, 2008, 11:18:27 AM (18 years ago)
- File:
-
- 1 edited
-
trunk/ppStack/src/ppStackArguments.c (modified) (15 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppStack/src/ppStackArguments.c
r18785 r18918 49 49 } \ 50 50 } \ 51 psMetadataAdd##TYPE( config->arguments, PS_LIST_TAIL, RECIPENAME, 0, NULL, value); \51 psMetadataAdd##TYPE(recipe, PS_LIST_TAIL, RECIPENAME, PS_META_REPLACE, NULL, value); \ 52 52 } 53 53 … … 64 64 } \ 65 65 } \ 66 psMetadataAdd##TYPE( config->arguments, PS_LIST_TAIL, RECIPENAME, 0, NULL, value); \66 psMetadataAdd##TYPE(recipe, PS_LIST_TAIL, RECIPENAME, PS_META_REPLACE, NULL, value); \ 67 67 } 68 68 … … 80 80 } \ 81 81 psMaskType value = pmConfigMaskGet(name, config); \ 82 psMetadataAddU8( config->arguments, PS_LIST_TAIL, RECIPENAME, 0, NULL, value); \82 psMetadataAddU8(recipe, PS_LIST_TAIL, RECIPENAME, PS_META_REPLACE, NULL, value); \ 83 83 } 84 84 … … 94 94 } \ 95 95 } \ 96 psMetadataAddS32(config->arguments, PS_LIST_TAIL, RECIPENAME, 0, NULL, psStatsOptionFromString(stat)); \ 96 psMetadataAddS32(recipe, PS_LIST_TAIL, RECIPENAME, PS_META_REPLACE, \ 97 NULL, psStatsOptionFromString(stat)); \ 97 98 } 98 99 … … 106 107 psString value = psMetadataLookupStr(NULL, arguments, argName); // Value of interest 107 108 if (value && strlen(value) > 0) { 108 return psMetadataAddStr(target, PS_LIST_TAIL, mdName, 0, NULL, value);109 return psMetadataAddStr(target, PS_LIST_TAIL, mdName, PS_META_REPLACE, NULL, value); 109 110 } 110 111 return false; … … 128 129 } 129 130 } 130 return psMetadataAddStr(target, PS_LIST_TAIL, mdName, 0, NULL, value);131 return psMetadataAddStr(target, PS_LIST_TAIL, mdName, PS_META_REPLACE, NULL, value); 131 132 } 132 133 … … 142 143 psMetadataAddStr(arguments, PS_LIST_TAIL, "-stats", 0, "Statistics file", NULL); 143 144 psMetadataAddS32(arguments, PS_LIST_TAIL, "-iter", 0, "Number of rejection iterations", 0); 144 psMetadataAddF32(arguments, PS_LIST_TAIL, "-combine-rej", 0, "Combination rejection thresold (sigma)", NAN); 145 psMetadataAddF32(arguments, PS_LIST_TAIL, "-combine-rej", 0, 146 "Combination rejection thresold (sigma)", NAN); 145 147 psMetadataAddU8(arguments, PS_LIST_TAIL, "-mask-bad", 0, "Mask value for bad pixels", 0); 146 148 psMetadataAddU8(arguments, PS_LIST_TAIL, "-mask-blank", 0, "Mask value for blank region", 0); 147 149 psMetadataAddF32(arguments, PS_LIST_TAIL, "-threshold-mask", 0, "Threshold for mask deconvolution", NAN); 148 psMetadataAddF32(arguments, PS_LIST_TAIL, "-image-rej", 0, "Pixel rejection fraction threshold for rejecting entire image", NAN); 150 psMetadataAddF32(arguments, PS_LIST_TAIL, "-image-rej", 0, 151 "Pixel rejection fraction threshold for rejecting entire image", NAN); 149 152 psMetadataAddS32(arguments, PS_LIST_TAIL, "-rows", 0, "Rows to read at once", 0); 150 153 psMetadataAddBool(arguments, PS_LIST_TAIL, "-photometry", 0, "Do photometry on stacked image?", false); 151 psMetadataAddS32(arguments, PS_LIST_TAIL, "-psf-instances", 0, "Number of instances for PSF generation", 0); 154 psMetadataAddS32(arguments, PS_LIST_TAIL, "-psf-instances", 0, 155 "Number of instances for PSF generation", 0); 152 156 psMetadataAddF32(arguments, PS_LIST_TAIL, "-psf-radius", 0, "Radius for PSF generation", NAN); 153 psMetadataAddStr(arguments, PS_LIST_TAIL, "-psf-model", 0, "Model name for PSF generation", "PS_MODEL_RGAUSS");157 psMetadataAddStr(arguments, PS_LIST_TAIL, "-psf-model", 0, "Model name for PSF generation", NULL); 154 158 psMetadataAddS32(arguments, PS_LIST_TAIL, "-psf-order", 0, "Spatial order for PSF generation", 0); 155 159 psMetadataAddBool(arguments, PS_LIST_TAIL, "-variance", 0, "Use variance for rejection?", false); 156 psMetadataAddBool(arguments, PS_LIST_TAIL, "-safe", 0, "Play safe with small numbers of pixels to combine?", false); 160 psMetadataAddBool(arguments, PS_LIST_TAIL, "-safe", 0, 161 "Play safe with small numbers of pixels to combine?", false); 157 162 psMetadataAddF32(arguments, PS_LIST_TAIL, "-source-radius", 0, "Source exclusion radius", NAN); 158 163 psMetadataAddS32(arguments, PS_LIST_TAIL, "-source-iter", 0, "Source clipping iterations", 0); … … 160 165 psMetadataAddS32(arguments, PS_LIST_TAIL, "-source-min", 0, "Source minimum overlap", 0); 161 166 psMetadataAddBool(arguments, PS_LIST_TAIL, "-renorm", 0, "Renormalise variance maps?", false); 162 psMetadataAddStr(arguments, PS_LIST_TAIL, "-renorm-mean", 0, "Statistic for mean in renormalisation", NULL); 163 psMetadataAddStr(arguments, PS_LIST_TAIL, "-renorm-stdev", 0, "Statistic for stdev in renormalisation", NULL); 167 psMetadataAddStr(arguments, PS_LIST_TAIL, "-renorm-mean", 0, 168 "Statistic for mean in renormalisation", NULL); 169 psMetadataAddStr(arguments, PS_LIST_TAIL, "-renorm-stdev", 0, 170 "Statistic for stdev in renormalisation", NULL); 164 171 psMetadataAddS32(arguments, PS_LIST_TAIL, "-renorm-width", 0, "Width of renormalisation boxes", 0); 165 172 psMetadataAddStr(arguments, PS_LIST_TAIL, "-temp-image", 0, "Suffix for temporary images", NULL); 166 173 psMetadataAddStr(arguments, PS_LIST_TAIL, "-temp-mask", 0, "Suffix for temporary masks", NULL); 167 174 psMetadataAddStr(arguments, PS_LIST_TAIL, "-temp-weight", 0, "Suffix for temporary weight maps", NULL); 168 psMetadataAddBool(arguments, PS_LIST_TAIL, "-temp-delete", 0, "Delete temporary files on completion?", false); 175 psMetadataAddBool(arguments, PS_LIST_TAIL, "-temp-delete", 0, 176 "Delete temporary files on completion?", false); 169 177 170 178 if (argc == 1 || !psArgumentParse(arguments, &argc, argv) || argc != 3) { … … 173 181 174 182 const char *stampsName = psMetadataLookupStr(NULL, arguments, "-stamps"); // Name of stamps file 175 psMetadataAddStr(config->arguments, PS_LIST_TAIL, "STAMPS", 0, "Stamps file", stampsName); 176 // if (!stampsName && !psMetadataLookupPtr(&mdok, config->arguments, "PPSTACK.SOURCES")) { 177 // psError(PS_ERR_BAD_PARAMETER_VALUE, true, "One of -sources or -stamps must be specified."); 178 //goto ERROR; 179 // } 183 psMetadataAddStr(arguments, PS_LIST_TAIL, "STAMPS", 0, "Stamps file", stampsName); 180 184 181 185 unsigned int numBad = 0; // Number of bad lines … … 185 189 return false; 186 190 } 187 psMetadataAddMetadata(config->arguments, PS_LIST_TAIL, "INPUTS", 0, 188 "Metadata with input details", inputs); 191 psMetadataAddMetadata(arguments, PS_LIST_TAIL, "INPUTS", 0, "Metadata with input details", inputs); 189 192 psFree(inputs); 190 psMetadataAddStr(config->arguments, PS_LIST_TAIL, "OUTPUT", 0, 191 "Root name of the output image list", argv[2]); 192 193 valueArgStr(arguments, "-stats", "STATS", config->arguments); 194 195 if (psMetadataLookupBool(NULL, arguments, "-photometry")) { 196 psMetadataAddBool(config->arguments, PS_LIST_TAIL, "PHOTOMETRY", PS_META_REPLACE, 197 "Do photometry on stacked image?", true); 198 } 193 psMetadataAddStr(arguments, PS_LIST_TAIL, "OUTPUT", 0, "Root name of the output image list", argv[2]); 194 195 valueArgStr(arguments, "-stats", "STATS", arguments); 196 197 psMetadataAddBool(arguments, PS_LIST_TAIL, "PHOTOMETRY", PS_META_REPLACE, 198 "Do photometry on stacked image?", 199 psMetadataLookupBool(NULL, arguments, "-photometry")); 199 200 200 201 return true; … … 207 208 psMetadata *arguments = config->arguments; // Command-line arguments 208 209 209 psMetadata *recipe = psMetadataLookupMetadata(NULL, config->recipes, PPSTACK_RECIPE); // Recipe for ppSim210 psMetadata *recipe = psMetadataLookupMetadata(NULL, config->recipes, PPSTACK_RECIPE); // Recipe 210 211 if (!recipe) { 211 212 psError(PS_ERR_UNEXPECTED_NULL, false, "Unable to find recipe %s", PPSTACK_RECIPE); … … 229 230 VALUE_ARG_RECIPE_FLOAT("-psf-radius", "PSF.RADIUS", F32); 230 231 VALUE_ARG_RECIPE_INT("-psf-order", "PSF.ORDER", S32, 0); 231 valueArg Str(arguments, "-psf-model", "PSF.MODEL", config->arguments);232 valueArgRecipeStr(arguments, recipe, "-psf-model", "PSF.MODEL", recipe); 232 233 233 234 if (psMetadataLookupBool(NULL, arguments, "-photometry") || 234 235 psMetadataLookupBool(NULL, recipe, "PHOTOMETRY")) { 235 psMetadataAddBool( config->arguments, PS_LIST_TAIL, "PHOTOMETRY", PS_META_REPLACE,236 psMetadataAddBool(arguments, PS_LIST_TAIL, "PHOTOMETRY", PS_META_REPLACE, 236 237 "Do photometry on stacked image?", true); 237 238 } … … 239 240 if (psMetadataLookupBool(NULL, arguments, "-variance") || 240 241 psMetadataLookupBool(NULL, recipe, "VARIANCE")) { 241 psMetadataAddBool(config->arguments, PS_LIST_TAIL, "VARIANCE", 0, 242 "Use variance for rejection?", true); 242 psMetadataAddBool(arguments, PS_LIST_TAIL, "VARIANCE", 0, "Use variance for rejection?", true); 243 243 } 244 244 245 245 if (psMetadataLookupBool(NULL, arguments, "-safe") || 246 246 psMetadataLookupBool(NULL, recipe, "SAFE")) { 247 psMetadataAddBool( config->arguments, PS_LIST_TAIL, "SAFE", 0,247 psMetadataAddBool(arguments, PS_LIST_TAIL, "SAFE", 0, 248 248 "Play safe with small number of pixels to combine?", true); 249 249 } … … 251 251 if (psMetadataLookupBool(NULL, arguments, "-renorm") || 252 252 psMetadataLookupBool(NULL, recipe, "RENORM")) { 253 psMetadataAddBool( config->arguments, PS_LIST_TAIL, "RENORM", 0, "Renormalise variance maps?", true);253 psMetadataAddBool(arguments, PS_LIST_TAIL, "RENORM", 0, "Renormalise variance maps?", true); 254 254 } 255 255 VALUE_ARG_RECIPE_INT("-renorm-width", "RENORM.WIDTH", S32, 0); … … 257 257 VALUE_ARG_RECIPE_STAT("-renorm-stdev", "RENORM.STDEV"); 258 258 259 valueArgRecipeStr(arguments, recipe, "-temp-image", "TEMP.IMAGE", config->arguments);260 valueArgRecipeStr(arguments, recipe, "-temp-mask", "TEMP.MASK", config->arguments);261 valueArgRecipeStr(arguments, recipe, "-temp-weight", "TEMP.WEIGHT", config->arguments);259 valueArgRecipeStr(arguments, recipe, "-temp-image", "TEMP.IMAGE", recipe); 260 valueArgRecipeStr(arguments, recipe, "-temp-mask", "TEMP.MASK", recipe); 261 valueArgRecipeStr(arguments, recipe, "-temp-weight", "TEMP.WEIGHT", recipe); 262 262 263 263 if (psMetadataLookupBool(NULL, arguments, "-temp-delete") || 264 264 psMetadataLookupBool(NULL, recipe, "TEMP.DELETE")) { 265 psMetadataAddBool( config->arguments, PS_LIST_TAIL, "TEMP.DELETE", 0,265 psMetadataAddBool(arguments, PS_LIST_TAIL, "TEMP.DELETE", 0, 266 266 "Delete temporary files on completion?", true); 267 267 } 268 268 269 psTrace("ppStack", 1, "Done reading command-line arguments\n"); 269 psTrace("ppStack", 1, "Done parsing arguments\n"); 270 271 // Dump configuration, now that's it's settled 272 { 273 pmConfigCamerasCull(config); 274 pmConfigRecipesCull(config, "PPSTACK,PPSUB,PPSTATS,PSPHOT,MASKS"); 275 276 const char *outroot = psMetadataLookupStr(NULL, arguments, "OUTPUT"); // Output root name 277 psAssert(outroot, "Should be there, we put it there!"); 278 279 pmFPAfile *input = psMetadataLookupPtr(NULL, config->files, "PPSTACK.INPUT"); // Input file 280 pmConfigDump(config, input->fpa, outroot); 281 } 282 270 283 return true; 271 284
Note:
See TracChangeset
for help on using the changeset viewer.
