Changeset 7677
- Timestamp:
- Jun 23, 2006, 5:33:37 PM (20 years ago)
- Location:
- trunk
- Files:
-
- 10 edited
-
ppImage/src/ppImage.c (modified) (1 diff)
-
ppImage/src/ppImage.h (modified) (1 diff)
-
ppImage/src/ppImageArguments.c (modified) (3 diffs)
-
ppImage/src/ppTest.c (modified) (6 diffs)
-
psastro/src/psastro.c (modified) (2 diffs)
-
psastro/src/psastro.h (modified) (1 diff)
-
psastro/src/psastroArguments.c (modified) (3 diffs)
-
psphot/src/psphot.c (modified) (2 diffs)
-
psphot/src/psphot.h (modified) (4 diffs)
-
psphot/src/psphotArguments.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppImage/src/ppImage.c
r7647 r7677 11 11 // Determine camera, format from header if not already defined 12 12 // Construct camera in preparation for reading 13 pmConfig *config = ppImageArguments( &argc, argv);13 pmConfig *config = ppImageArguments(argc, argv); 14 14 if (config == NULL) { 15 15 psErrorStackPrint(stderr, ""); -
trunk/ppImage/src/ppImage.h
r7639 r7677 13 13 14 14 // Get the configuration 15 pmConfig *ppImageArguments(int *argc, char **argv);15 pmConfig *ppImageArguments(int argc, char **argv); 16 16 17 17 // Determine what type of camera, and initialise -
trunk/ppImage/src/ppImageArguments.c
r7531 r7677 6 6 } 7 7 8 pmConfig *ppImageArguments(int *argc, char **argv) {8 pmConfig *ppImageArguments(int argc, char **argv) { 9 9 10 10 int N; 11 11 bool status; 12 12 13 if ( *argc == 1) usage ();13 if (argc == 1) usage (); 14 14 15 15 // load the site-wide configuration information … … 30 30 31 31 // recipe option: -usemask : override MASK setting in phase2.recipe 32 if ((N = psArgumentGet (*argc,argv, "-usemask"))) {33 psArgumentRemove (N, argc,argv);34 psMetadataAddBool (options, PS_LIST_TAIL, "MASK", PS_META_REPLACE, "", true);35 psArgumentRemove (N, argc,argv);32 if ((N = psArgumentGet(config->argc, config->argv, "-usemask"))) { 33 psArgumentRemove (N, &config->argc, config->argv); 34 psMetadataAddBool (options, PS_LIST_TAIL, "MASK", PS_META_REPLACE, "", true); 35 psArgumentRemove (N, &config->argc, config->argv); 36 36 } 37 37 38 // XXX add other PPIMAGE recipe options here 38 // XXX add other PPIMAGE recipe options here 39 39 40 40 // drop the local view on the options (saved on config->arguments) … … 42 42 43 43 // the input file is a required argument; if not found, we will exit 44 status = pmConfigFileSetsMD (config->arguments, argc, argv, "INPUT", "-file", "-list");44 status = pmConfigFileSetsMD (config->arguments, config, "INPUT", "-file", "-list"); 45 45 if (!status) { usage ();} 46 46 47 47 // if these command-line options are supplied, load the file name lists into config->arguments 48 48 // override any configuration-specified source for these files 49 pmConfigFileSetsMD (config->arguments, argc, argv, "BIAS", "-bias", "-biaslist");50 pmConfigFileSetsMD (config->arguments, argc, argv, "DARK", "-dark", "-darklist");51 pmConfigFileSetsMD (config->arguments, argc, argv, "FLAT", "-flat", "-flatlist");52 pmConfigFileSetsMD (config->arguments, argc, argv, "MASK", "-mask", "-masklist");53 pmConfigFileSetsMD (config->arguments, argc, argv, "FRINGE", "-fringe", "-fringelist");49 pmConfigFileSetsMD (config->arguments, config, "BIAS", "-bias", "-biaslist"); 50 pmConfigFileSetsMD (config->arguments, config, "DARK", "-dark", "-darklist"); 51 pmConfigFileSetsMD (config->arguments, config, "FLAT", "-flat", "-flatlist"); 52 pmConfigFileSetsMD (config->arguments, config, "MASK", "-mask", "-masklist"); 53 pmConfigFileSetsMD (config->arguments, config, "FRINGE", "-fringe", "-fringelist"); 54 54 55 55 // chip selection is used to limit chips to be processed 56 if ((N = psArgumentGet (*argc, argv, "-chip"))) { 57 psArgumentRemove (N, argc, argv); 58 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "CHIP_SELECTIONS", PS_DATA_STRING, "", argv[N]); 59 psArgumentRemove (N, argc, argv); 56 if ((N = psArgumentGet (config->argc, config->argv, "-chip"))) { 57 psArgumentRemove (N, &config->argc, config->argv); 58 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "CHIP_SELECTIONS", PS_DATA_STRING, "", 59 config->argv[N]); 60 psArgumentRemove (N, &config->argc, config->argv); 60 61 } 61 62 62 if ( *argc != 2) usage ();63 if (config->argc != 2) usage (); 63 64 64 65 // Add the input and output images (which remain on the command-line) to the arguments list 65 psMetadataAddStr(config->arguments, PS_LIST_TAIL, "OUTPUT", 0, "Name of the output image", argv[1]); 66 psMetadataAddStr(config->arguments, PS_LIST_TAIL, "OUTPUT", 0, "Name of the output image", 67 config->argv[1]); 66 68 67 69 return config; -
trunk/ppImage/src/ppTest.c
r7494 r7677 11 11 // ppImageConfig.c 12 12 ////////////////////////////////////////////////////////////////////////////////////////////////////////////// 13 pmConfig *config = pmConfigRead( &argc, argv);13 pmConfig *config = pmConfigRead(argc, argv); 14 14 if (! config) { 15 15 psErrorStackPrint(stderr, "Can't find site configuration!\n"); … … 27 27 psMetadataAddS32(config->arguments, PS_LIST_TAIL, "-chip", 0, "Chip number to process (if positive)", -1); 28 28 29 if (! psArgumentParse(config->arguments, & argc,argv) || argc != 3) {29 if (! psArgumentParse(config->arguments, &config->argc, config->argv) || argc != 3) { 30 30 printf("\nPan-STARRS Phase 2 processing\n\n"); 31 printf("Usage: %s INPUT.fits OUTPUT.fits\n\n", argv[0]);31 printf("Usage: %s INPUT.fits OUTPUT.fits\n\n", config->argv[0]); 32 32 psArgumentHelp(config->arguments); 33 33 psFree(config->arguments); … … 36 36 37 37 // Add the input and output images (which remain on the command-line) to the arguments list 38 psMetadataAddStr(config->arguments, PS_LIST_TAIL, "-input", 0, "Name of the input image", argv[1]); 39 psMetadataAddStr(config->arguments, PS_LIST_TAIL, "-output", 0, "Name of the output image", argv[2]); 38 psMetadataAddStr(config->arguments, PS_LIST_TAIL, "-input", 0, "Name of the input image", 39 config->argv[1]); 40 psMetadataAddStr(config->arguments, PS_LIST_TAIL, "-output", 0, "Name of the output image", 41 config->argv[2]); 40 42 41 43 // Define database handle, if used … … 103 105 pmFPAview *mosaicView = pmFPAviewAlloc(0); 104 106 pmFPAAddSourceFromView(mosaicFPA, mosaicView, mosaicFormat); 107 psFree(mosaicView); 105 108 #endif 106 109 … … 110 113 #if 0 111 114 psArray *chips = fpa->chips; 112 //pmFPAWrite(fpa, outFile, NULL, false);115 pmFPAWrite(fpa, outFile, NULL, false, false); 113 116 for (int i = 0; i < chips->n; i++) { 117 printf("Chip %d\n", i); 114 118 pmChip *chip = chips->data[i]; 119 pmChipRead(chip, inFile, NULL); 120 #if 0 115 121 //pmChipRead(chip, inFile, NULL); 116 122 //pmChipWrite(chip, outFile, NULL, false); … … 129 135 psFree(readout); 130 136 } 131 pmChipMosaic(mosaicFPA->chips->data[0], chip); 137 #endif 138 pmChipMosaic(mosaicFPA->chips->data[i], chip); 139 pmChipWrite(mosaicFPA->chips->data[i], outFile, NULL, true, true); 140 pmChipFreeData(chip); 141 pmChipFreeData(mosaicFPA->chips->data[i]); 132 142 } 133 143 #endif 134 144 145 #if 1 135 146 pmFPAMosaic(mosaicFPA, fpa); 136 137 #if 1138 147 pmFPAWrite(mosaicFPA, outFile, NULL, true, true); 139 pmFPAPrint(stdout, mosaicFPA, true, true);148 //pmFPAPrint(stdout, mosaicFPA, true, true); 140 149 psFree(mosaicCamera); 141 150 psFree(mosaicFormat); 142 151 psFree(mosaicView); 143 psFree(mosaicFPA);152 //psFree(mosaicFPA); 144 153 #endif 145 154 -
trunk/psastro/src/psastro.c
r7332 r7677 10 10 11 11 // load configuration information 12 pmConfig *config = psastroArguments ( &argc, argv);12 pmConfig *config = psastroArguments (argc, argv); 13 13 14 14 // load identify the data sources … … 26 26 psArray *refs = psastroLoadReferences (config); 27 27 28 psastroMosaicGetRefstars (config, refs); 28 psastroMosaicGetRefstars (config, refs); 29 29 30 30 char *mosastro = psMetadataLookupStr (NULL, config->arguments, "MOSASTRO"); 31 31 if (mosastro == NULL) { 32 psastroChipAstrom (config, refs);32 psastroChipAstrom (config, refs); 33 33 } else { 34 psastroMosaicAstrom (config, refs);34 psastroMosaicAstrom (config, refs); 35 35 } 36 36 -
trunk/psastro/src/psastro.h
r7636 r7677 14 14 # define toSky projection 15 15 16 pmConfig *psastroArguments (int *argc, char **argv);16 pmConfig *psastroArguments (int argc, char **argv); 17 17 bool psastroParseCamera (pmConfig *config); 18 18 bool psastroDataLoad (pmConfig *config); -
trunk/psastro/src/psastroArguments.c
r7573 r7677 8 8 } 9 9 10 pmConfig *psastroArguments (int *argc, char **argv) {10 pmConfig *psastroArguments (int argc, char **argv) { 11 11 12 12 bool status; 13 13 int N; 14 14 15 if ( *argc == 1) usage ();15 if (argc == 1) usage (); 16 16 17 17 // basic pslib options … … 22 22 23 23 // photcode : used in output to supplement header data (argument or recipe?) 24 if ((N = psArgumentGet ( *argc, argv, "-photcode"))) {25 psArgumentRemove (N,argc, argv);26 psMetadataAddStr (options, PS_LIST_TAIL, "PHOTCODE", PS_META_REPLACE, "", argv[N]);27 psArgumentRemove (N,argc, argv);24 if ((N = psArgumentGet (argc, argv, "-photcode"))) { 25 psArgumentRemove (N, &argc, argv); 26 psMetadataAddStr (options, PS_LIST_TAIL, "PHOTCODE", PS_META_REPLACE, "", argv[N]); 27 psArgumentRemove (N, &argc, argv); 28 28 } 29 29 30 // load config data from default locations 31 pmConfig *config = pmConfigRead ( argc,argv);30 // load config data from default locations 31 pmConfig *config = pmConfigRead (config->argc, config->argv); 32 32 33 33 // Storage for other command-line arguments … … 39 39 40 40 // chip selection is used to limit chips to be processed 41 if ((N = psArgumentGet ( *argc,argv, "-chip"))) {42 psArgumentRemove (N, argc,argv);43 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "CHIP_SELECTIONS", PS_DATA_STRING, "", psStringCopy(argv[N]));44 psArgumentRemove (N, argc,argv);41 if ((N = psArgumentGet (config->argc, config->argv, "-chip"))) { 42 psArgumentRemove (N, &config->argc, config->argv); 43 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "CHIP_SELECTIONS", PS_DATA_STRING, "", psStringCopy(config->argv[N])); 44 psArgumentRemove (N, &config->argc, config->argv); 45 45 } 46 46 47 47 // mosastro mode also specifies output header file 48 if ((N = psArgumentGet ( *argc,argv, "-mosastro"))) {49 psArgumentRemove (N, argc,argv);50 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "MOSASTRO", PS_DATA_STRING, "", psStringCopy(argv[N]));51 psArgumentRemove (N, argc,argv);48 if ((N = psArgumentGet (config->argc, config->argv, "-mosastro"))) { 49 psArgumentRemove (N, &config->argc, config->argv); 50 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "MOSASTRO", PS_DATA_STRING, "", psStringCopy(config->argv[N])); 51 psArgumentRemove (N, &config->argc, config->argv); 52 52 } 53 53 54 status = pmConfigFileSetsMD (config->arguments, argc, argv, "INPUT", "-file", "-list");54 status = pmConfigFileSetsMD (config->arguments, config, "INPUT", "-file", "-list"); 55 55 if (!status) { usage ();} 56 56 57 if ( *argc != 2) usage ();57 if (config->argc != 2) usage (); 58 58 59 59 // output positions is fixed 60 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "OUTPUT", 0, "", argv[2]);60 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "OUTPUT", 0, "", config->argv[2]); 61 61 62 62 psTrace(__func__, 1, "Done with psastroArguments...\n"); -
trunk/psphot/src/psphot.c
r7518 r7677 5 5 psTimerStart ("complete"); 6 6 7 psphotErrorRegister(); // register our error codes/messages7 psphotErrorRegister(); // register our error codes/messages 8 8 9 9 // basic pslib options … … 14 14 15 15 // load command-line arguments, options, and system config data 16 pmConfig *config = psphotArguments ( &argc, argv);16 pmConfig *config = psphotArguments (argc, argv); 17 17 if (config == NULL) { 18 psErrorStackPrint(stderr, "");19 exit(1);18 psErrorStackPrint(stderr, ""); 19 exit(1); 20 20 } 21 21 22 22 // load input data (config and images (signal, noise, mask) 23 23 if (!psphotParseCamera (config)) { 24 psErrorStackPrint(stderr, "");25 exit(1);24 psErrorStackPrint(stderr, ""); 25 exit(1); 26 26 } 27 27 -
trunk/psphot/src/psphot.h
r7638 r7677 12 12 13 13 // top-level psphot functions 14 pmConfig *psphotArguments (int *argc, char **argv);14 pmConfig *psphotArguments (int argc, char **argv); 15 15 bool psphotParseCamera (pmConfig *config); 16 16 bool psphotImageLoop (pmConfig *config); … … 31 31 pmPSF *psphotChoosePSF (pmReadout *readout, psArray *sources, psMetadata *recipe); 32 32 bool psphotPSFstats (pmReadout *readout, psMetadata *recipe, pmPSF *psf); 33 bool psphotEnsemblePSF (pmReadout *readout, psArray *sources, psMetadata *recipe, pmPSF *psf, bool final);33 bool psphotEnsemblePSF (pmReadout *readout, psArray *sources, psMetadata *recipe, pmPSF *psf, bool final); 34 34 bool psphotBlendFit (pmReadout *readout, psArray *sources, psMetadata *recipe, pmPSF *psf); 35 35 bool psphotReplaceUnfit (psArray *sources); … … 40 40 // basic support functions 41 41 void psphotModelGroupInit (void); 42 int psphotSortBySN (const void **a, const void **b);43 int psphotSortByY (const void **a, const void **b);42 int psphotSortBySN (const void **a, const void **b); 43 int psphotSortByY (const void **a, const void **b); 44 44 bool psphotGrowthCurve (pmReadout *readout, pmPSF *psf); 45 45 void psphotTestArguments (int *argc, char **argv); … … 48 48 49 49 // functions to set the correct source pixels 50 bool psphotInitRadiusPSF (psMetadata *recipe, pmModelType type);51 bool psphotCheckRadiusPSF (pmReadout *readout, pmSource *source, pmModel *model);52 bool psphotCheckRadiusPSFBlend (pmReadout *readout, pmSource *source, pmModel *model, float dR);53 bool psphotInitRadiusEXT (psMetadata *recipe, pmModelType type);54 bool psphotCheckRadiusEXT (pmReadout *readout, pmSource *source, pmModel *model);50 bool psphotInitRadiusPSF (psMetadata *recipe, pmModelType type); 51 bool psphotCheckRadiusPSF (pmReadout *readout, pmSource *source, pmModel *model); 52 bool psphotCheckRadiusPSFBlend (pmReadout *readout, pmSource *source, pmModel *model, float dR); 53 bool psphotInitRadiusEXT (psMetadata *recipe, pmModelType type); 54 bool psphotCheckRadiusEXT (pmReadout *readout, pmSource *source, pmModel *model); 55 55 56 56 // output functions 57 bool psphotDumpMoments (psMetadata *recipe, psArray *sources);57 bool psphotDumpMoments (psMetadata *recipe, psArray *sources); 58 58 psMetadata *psphotDefineHeader (psMetadata *recipe); 59 59 bool psphotWeightBias (pmReadout *readout, psArray *sources, psMetadata *recipe, pmPSF *psf); 60 60 61 61 // PSF / DBL / EXT evaluation functions 62 bool psphotEvalPSF (pmSource *source, pmModel *model);63 bool psphotEvalDBL (pmSource *source, pmModel *model);64 bool psphotEvalEXT (pmSource *source, pmModel *model);62 bool psphotEvalPSF (pmSource *source, pmModel *model); 63 bool psphotEvalDBL (pmSource *source, pmModel *model); 64 bool psphotEvalEXT (pmSource *source, pmModel *model); 65 65 66 66 // functions to support the source fitting process 67 bool psphotInitLimitsPSF (psMetadata *recipe);68 bool psphotInitLimitsEXT (psMetadata *recipe);69 bool psphotFitBlend (pmReadout *readout, pmSource *source, pmPSF *psf);70 bool psphotFitBlob (pmReadout *readout, pmSource *source, psArray *sources, pmPSF *psf);71 bool psphotFitPSF (pmReadout *readout, pmSource *source, pmPSF *psf);72 pmModel *psphotFitEXT (pmReadout *readout, pmSource *source);73 psArray *psphotFitDBL (pmReadout *readout, pmSource *source);67 bool psphotInitLimitsPSF (psMetadata *recipe); 68 bool psphotInitLimitsEXT (psMetadata *recipe); 69 bool psphotFitBlend (pmReadout *readout, pmSource *source, pmPSF *psf); 70 bool psphotFitBlob (pmReadout *readout, pmSource *source, psArray *sources, pmPSF *psf); 71 bool psphotFitPSF (pmReadout *readout, pmSource *source, pmPSF *psf); 72 pmModel *psphotFitEXT (pmReadout *readout, pmSource *source); 73 psArray *psphotFitDBL (pmReadout *readout, pmSource *source); 74 74 75 75 // functions to support simultaneous multi-source fitting 76 bool psphotFitSet (pmSource *oneSrc, pmModel *oneModel, char *fitset, pmSourceFitMode mode);76 bool psphotFitSet (pmSource *oneSrc, pmModel *oneModel, char *fitset, pmSourceFitMode mode); 77 77 -
trunk/psphot/src/psphotArguments.c
r7519 r7677 2 2 # include <glob.h> 3 3 4 pmConfig *psphotArguments (int *argc, char **argv) {4 pmConfig *psphotArguments(int argc, char **argv) { 5 5 6 6 int N; 7 7 bool status; 8 8 9 if ( *argc == 1) {10 psError(PSPHOT_ERR_ARGUMENTS, true, "Too few arguments: %d", *argc);11 return NULL;9 if (argc == 1) { 10 psError(PSPHOT_ERR_ARGUMENTS, true, "Too few arguments: %d", argc); 11 return NULL; 12 12 } 13 13 14 // load config data from default locations 14 // load config data from default locations 15 15 pmConfig *config = pmConfigRead(argc, argv); 16 16 if (config == NULL) { 17 psError(PSPHOT_ERR_CONFIG, false, "Can't find site configuration");18 return NULL;17 psError(PSPHOT_ERR_CONFIG, false, "Can't find site configuration"); 18 return NULL; 19 19 } 20 20 … … 29 29 30 30 // run the test model (requires X,Y coordinate) 31 if ((N = psArgumentGet ( *argc,argv, "-modeltest"))) {32 psMetadataAddBool (options, PS_LIST_TAIL, "TEST_FIT", 0, "", true);33 psMetadataAddF32 (options, PS_LIST_TAIL, "TEST_FIT_X", 0, "", atof(argv[N+1]));34 psMetadataAddF32 (options, PS_LIST_TAIL, "TEST_FIT_Y", 0, "", atof(argv[N+2]));31 if ((N = psArgumentGet (config->argc, config->argv, "-modeltest"))) { 32 psMetadataAddBool (options, PS_LIST_TAIL, "TEST_FIT", 0, "", true); 33 psMetadataAddF32 (options, PS_LIST_TAIL, "TEST_FIT_X", 0, "", atof(argv[N+1])); 34 psMetadataAddF32 (options, PS_LIST_TAIL, "TEST_FIT_Y", 0, "", atof(argv[N+2])); 35 35 36 psArgumentRemove (N, argc,argv);37 psArgumentRemove (N, argc,argv);38 psArgumentRemove (N, argc,argv);36 psArgumentRemove (N, &config->argc, config->argv); 37 psArgumentRemove (N, &config->argc, config->argv); 38 psArgumentRemove (N, &config->argc, config->argv); 39 39 40 // specify the modeltest model41 if ((N = psArgumentGet (*argc,argv, "-model"))) {42 psArgumentRemove (N, argc,argv);43 psMetadataAddStr (options, PS_LIST_TAIL, "TEST_FIT_MODEL", 0, "",argv[N]);44 psArgumentRemove (N, argc,argv);45 }40 // specify the modeltest model 41 if ((N = psArgumentGet (config->argc, config->argv, "-model"))) { 42 psArgumentRemove (N, &config->argc, config->argv); 43 psMetadataAddStr (options, PS_LIST_TAIL, "TEST_FIT_MODEL", 0, "", config->argv[N]); 44 psArgumentRemove (N, &config->argc, config->argv); 45 } 46 46 47 // specify the test fit mode48 if ((N = psArgumentGet (*argc,argv, "-fitmode"))) {49 psArgumentRemove (N, argc,argv);50 psMetadataAddStr (options, PS_LIST_TAIL, "TEST_FIT_MODE", 0, "",argv[N]);51 psArgumentRemove (N, argc,argv);52 }53 if ((N = psArgumentGet (*argc,argv, "-fitset"))) {54 psArgumentRemove (N, argc,argv);55 psMetadataAddStr (options, PS_LIST_TAIL, "TEST_FIT_SET", 0, "",argv[N]);56 psArgumentRemove (N, argc,argv);57 }47 // specify the test fit mode 48 if ((N = psArgumentGet (config->argc, config->argv, "-fitmode"))) { 49 psArgumentRemove (N, &config->argc, config->argv); 50 psMetadataAddStr (options, PS_LIST_TAIL, "TEST_FIT_MODE", 0, "", config->argv[N]); 51 psArgumentRemove (N, &config->argc, config->argv); 52 } 53 if ((N = psArgumentGet (config->argc, config->argv, "-fitset"))) { 54 psArgumentRemove (N, &config->argc, config->argv); 55 psMetadataAddStr (options, PS_LIST_TAIL, "TEST_FIT_SET", 0, "", config->argv[N]); 56 psArgumentRemove (N, &config->argc, config->argv); 57 } 58 58 } 59 59 60 60 // photcode : used in output to supplement header data (argument or recipe?) 61 if ((N = psArgumentGet ( *argc,argv, "-photcode"))) {62 psArgumentRemove (N, argc,argv);63 psMetadataAddStr (options, PS_LIST_TAIL, "PHOTCODE", PS_META_REPLACE, "",argv[N]);64 psArgumentRemove (N, argc,argv);61 if ((N = psArgumentGet (config->argc, config->argv, "-photcode"))) { 62 psArgumentRemove (N, &config->argc, config->argv); 63 psMetadataAddStr (options, PS_LIST_TAIL, "PHOTCODE", PS_META_REPLACE, "", config->argv[N]); 64 psArgumentRemove (N, &config->argc, config->argv); 65 65 } 66 66 67 // break : used from recipe throughout psphotReadout 68 if ((N = psArgumentGet ( *argc,argv, "-break"))) {69 psArgumentRemove (N, argc,argv);70 psMetadataAddStr (options, PS_LIST_TAIL, "BREAK_POINT", PS_META_REPLACE, "",argv[N]);71 psArgumentRemove (N, argc,argv);67 // break : used from recipe throughout psphotReadout 68 if ((N = psArgumentGet (config->argc, config->argv, "-break"))) { 69 psArgumentRemove (N, &config->argc, config->argv); 70 psMetadataAddStr (options, PS_LIST_TAIL, "BREAK_POINT", PS_META_REPLACE, "", config->argv[N]); 71 psArgumentRemove (N, &config->argc, config->argv); 72 72 } 73 73 74 // fitmode : used from recipe throughout psphotReadout 75 if ((N = psArgumentGet ( *argc,argv, "-fitmode"))) {76 psArgumentRemove (N, argc,argv);77 psMetadataAddStr (options, PS_LIST_TAIL, "FITMODE", PS_META_REPLACE, "",argv[N]);78 psArgumentRemove (N, argc,argv);74 // fitmode : used from recipe throughout psphotReadout 75 if ((N = psArgumentGet (config->argc, config->argv, "-fitmode"))) { 76 psArgumentRemove (N, &config->argc, config->argv); 77 psMetadataAddStr (options, PS_LIST_TAIL, "FITMODE", PS_META_REPLACE, "", config->argv[N]); 78 psArgumentRemove (N, &config->argc, config->argv); 79 79 } 80 80 81 81 // analysis region : overrides recipe value, used in psphotReadout/psphotEnsemblePSF 82 if ((N = psArgumentGet ( *argc,argv, "-region"))) {83 psArgumentRemove (N, argc,argv);84 psMetadataAddStr (options, PS_LIST_TAIL, "ANALYSIS_REGION", 0, "",argv[N]);85 psArgumentRemove (N, argc,argv);82 if ((N = psArgumentGet (config->argc, config->argv, "-region"))) { 83 psArgumentRemove (N, &config->argc, config->argv); 84 psMetadataAddStr (options, PS_LIST_TAIL, "ANALYSIS_REGION", 0, "", config->argv[N]); 85 psArgumentRemove (N, &config->argc, config->argv); 86 86 } 87 87 88 88 // other arbitrary recipe values: -D key value (all added as string) 89 while ((N = psArgumentGet ( *argc,argv, "-D"))) {90 psArgumentRemove (N, argc,argv);91 psMetadataAddStr (options, PS_LIST_TAIL, argv[N], 0, "",argv[N+1]);92 psArgumentRemove (N, argc,argv);93 psArgumentRemove (N, argc,argv);89 while ((N = psArgumentGet (config->argc, config->argv, "-D"))) { 90 psArgumentRemove (N, &config->argc, config->argv); 91 psMetadataAddStr (options, PS_LIST_TAIL, config->argv[N], 0, "", config->argv[N+1]); 92 psArgumentRemove (N, &config->argc, config->argv); 93 psArgumentRemove (N, &config->argc, config->argv); 94 94 } 95 95 96 96 // other arbitrary recipe values: -Df key value (all added as float) 97 while ((N = psArgumentGet ( *argc,argv, "-Df"))) {98 psArgumentRemove (N, argc,argv);99 psMetadataAddF32 (options, PS_LIST_TAIL, argv[N], 0, "", atof(argv[N+1]));100 psArgumentRemove (N, argc,argv);101 psArgumentRemove (N, argc,argv);97 while ((N = psArgumentGet (config->argc, config->argv, "-Df"))) { 98 psArgumentRemove (N, &config->argc, config->argv); 99 psMetadataAddF32 (options, PS_LIST_TAIL, config->argv[N], 0, "", atof(config->argv[N+1])); 100 psArgumentRemove (N, &config->argc, config->argv); 101 psArgumentRemove (N, &config->argc, config->argv); 102 102 } 103 103 104 104 // other arbitrary recipe values: -Di key value (all added as int) 105 while ((N = psArgumentGet ( *argc,argv, "-Di"))) {106 psArgumentRemove (N, argc,argv);107 psMetadataAddS32 (options, PS_LIST_TAIL, argv[N], 0, "", atoi(argv[N+1]));108 psArgumentRemove (N, argc,argv);109 psArgumentRemove (N, argc,argv);105 while ((N = psArgumentGet (config->argc, config->argv, "-Di"))) { 106 psArgumentRemove (N, &config->argc, config->argv); 107 psMetadataAddS32 (options, PS_LIST_TAIL, config->argv[N], 0, "", atoi(config->argv[N+1])); 108 psArgumentRemove (N, &config->argc, config->argv); 109 psArgumentRemove (N, &config->argc, config->argv); 110 110 } 111 111 112 112 // drop the local view on the options (saved on config->arguments) 113 113 psFree (options); 114 114 115 115 // the input file is a required argument; if not found, we will exit 116 status = pmConfigFileSetsMD (config->arguments, argc, argv, "INPUT", "-file", "-list");116 status = pmConfigFileSetsMD (config->arguments, config, "INPUT", "-file", "-list"); 117 117 if (!status) { 118 psError(PSPHOT_ERR_ARGUMENTS, false, "pmConfigFileSetsMD failed to parse arguments");119 return NULL;118 psError(PSPHOT_ERR_ARGUMENTS, false, "pmConfigFileSetsMD failed to parse arguments"); 119 return NULL; 120 120 } 121 121 122 122 // chip selection is used to limit chips to be processed 123 if ((N = psArgumentGet ( *argc,argv, "-chip"))) {124 psArgumentRemove (N, argc,argv);125 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "CHIP_SELECTIONS", PS_DATA_STRING, "", psStringCopy(argv[N]));126 psArgumentRemove (N, argc,argv);123 if ((N = psArgumentGet (config->argc, config->argv, "-chip"))) { 124 psArgumentRemove (N, &config->argc, config->argv); 125 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "CHIP_SELECTIONS", PS_DATA_STRING, "", psStringCopy(config->argv[N])); 126 psArgumentRemove (N, &config->argc, config->argv); 127 127 } 128 128 129 if ( *argc != 2) {130 psError(PSPHOT_ERR_ARGUMENTS, true, "Expected to see one more argument; saw %d", *argc - 1);131 return NULL;129 if (config->argc != 2) { 130 psError(PSPHOT_ERR_ARGUMENTS, true, "Expected to see one more argument; saw %d", config->argc - 1); 131 return NULL; 132 132 } 133 133 134 134 // output position is fixed 135 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "OUTPUT", 0, "", argv[1]);135 psMetadataAddStr (config->arguments, PS_LIST_TAIL, "OUTPUT", 0, "", config->argv[1]); 136 136 137 137 psTrace(__func__, 1, "Done with psphotArguments...\n");
Note:
See TracChangeset
for help on using the changeset viewer.
