Changeset 6311 for trunk/psphot/src/psphotArguments.c
- Timestamp:
- Feb 2, 2006, 1:30:35 PM (20 years ago)
- File:
-
- 1 edited
-
trunk/psphot/src/psphotArguments.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psphot/src/psphotArguments.c
r6117 r6311 1 1 # include "psphot.h" 2 2 3 static void usage ( psMetadata *arguments);3 static void usage (void); 4 4 5 5 ppConfig *psphotArguments (int *argc, char **argv) { 6 6 7 7 int N; 8 9 if (*argc == 1) usage (); 8 10 9 11 // basic pslib options … … 22 24 23 25 // arguments (must be supplied for each run, or not used) 24 psMetadataAddStr(config->arguments, PS_LIST_TAIL, "-psf", 0, "input psf file", ""); 25 psMetadataAddStr(config->arguments, PS_LIST_TAIL, "-mask", 0, "Name of the mask image", ""); 26 psMetadataAddStr(config->arguments, PS_LIST_TAIL, "-resid", 0, "Name of the output residual image", ""); 27 psMetadataAddStr(config->arguments, PS_LIST_TAIL, "-weight", 0, "Name of the weight image", ""); 28 psMetadataAddS32(config->arguments, PS_LIST_TAIL, "-chip", 0, "Chip number to process (if positive)", -1); 29 26 // mask image (input) is used by psphotImageLoop 27 if ((N = psArgumentGet (*argc, argv, "-mask"))) { 28 psArgumentRemove (N, argc, argv); 29 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "MASK_IMAGE", PS_META_REPLACE, "", psStringCopy(argv[N])); 30 psArgumentRemove (N, argc, argv); 31 } 32 33 // weight image (input) is used by psphotImageLoop 34 if ((N = psArgumentGet (*argc, argv, "-weight"))) { 35 psArgumentRemove (N, argc, argv); 36 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "WEIGHT_IMAGE", PS_META_REPLACE, "", psStringCopy(argv[N])); 37 psArgumentRemove (N, argc, argv); 38 } 39 40 // residual image (output) is used by psphotOutput 41 if ((N = psArgumentGet (*argc, argv, "-resid"))) { 42 psArgumentRemove (N, argc, argv); 43 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "RESID_IMAGE", PS_META_REPLACE, "", psStringCopy(argv[N])); 44 psArgumentRemove (N, argc, argv); 45 } 46 47 // chip selection is used to limit chips to be processed 48 if ((N = psArgumentGet (*argc, argv, "-chip"))) { 49 psArgumentRemove (N, argc, argv); 50 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "CHIP_SELECTION", PS_META_REPLACE, "", psStringCopy(argv[N])); 51 psArgumentRemove (N, argc, argv); 52 } 53 30 54 // run the test model (requires X,Y coordinate) 31 55 if ((N = psArgumentGet (*argc, argv, "-modeltest"))) { … … 58 82 } 59 83 60 // Parse command-line overrides of recipe values61 psMetadata *recipe= psMetadataAlloc ();84 // these other options override the recipe options 85 config->options = psMetadataAlloc (); 62 86 63 psMetadataAddStr(config->arguments, PS_LIST_TAIL, "-photcode", 0, "photometry code", "NONE"); 64 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "-break", 0, "", "NONE"); 65 psMetadataAddS32 (config->arguments, PS_LIST_TAIL, "-fitmode", 0, "", 2); 66 67 // analysis region : XXX override recipe 68 if ((N = psArgumentGet (*argc, argv, "-photcode"))) { 87 // PSF : optional psf file to be loaded 88 if ((N = psArgumentGet (*argc, argv, "-psf"))) { 69 89 psArgumentRemove (N, argc, argv); 70 psMetadataAddStr ( recipe, PS_LIST_TAIL, "PHOTCODE", PS_META_REPLACE, "", psStringCopy(argv[N]));90 psMetadataAddStr (config->options, PS_LIST_TAIL, "PSF_INPUT_FILE", PS_META_REPLACE, "", psStringCopy(argv[N])); 71 91 psArgumentRemove (N, argc, argv); 72 92 } 73 93 74 // analysis region : XXX override recipe75 if ((N = psArgumentGet (*argc, argv, "- break"))) {94 // photcode : used in output to supplement header data (argument or recipe?) 95 if ((N = psArgumentGet (*argc, argv, "-photcode"))) { 76 96 psArgumentRemove (N, argc, argv); 77 psMetadataAddStr ( recipe, PS_LIST_TAIL, "BREAK_POINT", PS_META_REPLACE, "", psStringCopy(argv[N]));97 psMetadataAddStr (config->options, PS_LIST_TAIL, "PHOTCODE", PS_META_REPLACE, "", psStringCopy(argv[N])); 78 98 psArgumentRemove (N, argc, argv); 79 99 } 80 100 81 // analysis region : XXX override recipe82 if ((N = psArgumentGet (*argc, argv, "- fitmode"))) {101 // break : used from recipe throughout psphotReadout 102 if ((N = psArgumentGet (*argc, argv, "-break"))) { 83 103 psArgumentRemove (N, argc, argv); 84 psMetadataAddStr ( recipe, PS_LIST_TAIL, "FITMODE", PS_META_REPLACE, "", psStringCopy(argv[N]));104 psMetadataAddStr (config->options, PS_LIST_TAIL, "BREAK_POINT", PS_META_REPLACE, "", psStringCopy(argv[N])); 85 105 psArgumentRemove (N, argc, argv); 86 106 } 87 107 88 // analysis region : XXX override recipe 108 // fitmode : used from recipe throughout psphotReadout 109 if ((N = psArgumentGet (*argc, argv, "-fitmode"))) { 110 psArgumentRemove (N, argc, argv); 111 psMetadataAddStr (config->options, PS_LIST_TAIL, "FITMODE", PS_META_REPLACE, "", psStringCopy(argv[N])); 112 psArgumentRemove (N, argc, argv); 113 } 114 115 // analysis region : overrides recipe value, used in psphotReadout/psphotEnsemblePSF 89 116 if ((N = psArgumentGet (*argc, argv, "-region"))) { 90 117 psArgumentRemove (N, argc, argv); 91 psMetadataAddStr ( recipe, PS_LIST_TAIL, "ANALYSIS_REGION", 0, "", psStringCopy(argv[N]));118 psMetadataAddStr (config->options, PS_LIST_TAIL, "ANALYSIS_REGION", 0, "", psStringCopy(argv[N])); 92 119 psArgumentRemove (N, argc, argv); 93 120 } … … 96 123 while ((N = psArgumentGet (*argc, argv, "-D"))) { 97 124 psArgumentRemove (N, argc, argv); 98 psMetadataAddStr ( recipe, PS_LIST_TAIL, argv[N], 0, "", argv[N+1]);125 psMetadataAddStr (config->options, PS_LIST_TAIL, argv[N], 0, "", argv[N+1]); 99 126 psArgumentRemove (N, argc, argv); 100 127 psArgumentRemove (N, argc, argv); … … 104 131 while ((N = psArgumentGet (*argc, argv, "-Df"))) { 105 132 psArgumentRemove (N, argc, argv); 106 psMetadataAddF32 ( recipe, PS_LIST_TAIL, argv[N], 0, "", atof(argv[N+1]));133 psMetadataAddF32 (config->options, PS_LIST_TAIL, argv[N], 0, "", atof(argv[N+1])); 107 134 psArgumentRemove (N, argc, argv); 108 135 psArgumentRemove (N, argc, argv); … … 112 139 while ((N = psArgumentGet (*argc, argv, "-Di"))) { 113 140 psArgumentRemove (N, argc, argv); 114 psMetadataAddS32 ( recipe, PS_LIST_TAIL, argv[N], 0, "", atoi(argv[N+1]));141 psMetadataAddS32 (config->options, PS_LIST_TAIL, argv[N], 0, "", atoi(argv[N+1])); 115 142 psArgumentRemove (N, argc, argv); 116 143 psArgumentRemove (N, argc, argv); 117 144 } 118 145 119 // place the recipe options on the arguments stack 120 psMetadataAddPtr (config->arguments, PS_LIST_TAIL, "RECIPE.OPTIONS", PS_DATA_UNKNOWN, "", recipe); 121 122 if (!psArgumentParse(config->arguments, argc, argv)) usage (config->arguments); 123 if (*argc != 3) usage (config->arguments); 146 if (*argc != 3) usage (); 124 147 125 148 // input and output positions are fixed 126 psMetadataAddStr (config->arguments, PS_LIST_TAIL, " -input", PS_META_REPLACE, "", argv[1]);127 psMetadataAddStr (config->arguments, PS_LIST_TAIL, " -output", PS_META_REPLACE, "", argv[2]);149 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "INPUT_FILE", PS_META_REPLACE, "", argv[1]); 150 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "OUTPUT_ROOT", PS_META_REPLACE, "", argv[2]); 128 151 152 psTrace(__func__, 1, "Done with psphotArguments...\n"); 129 153 return (config); 130 154 } 131 155 132 static void usage ( psMetadata *arguments) {156 static void usage (void) { 133 157 134 158 fprintf (stderr, "USAGE: psphot (image) (output)\n"); 135 psArgumentHelp (arguments);136 159 exit (2); 137 160 }
Note:
See TracChangeset
for help on using the changeset viewer.
