Changeset 5980 for trunk/psphot/src/psphotArguments.c
- Timestamp:
- Jan 13, 2006, 8:24:10 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/psphot/src/psphotArguments.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psphot/src/psphotArguments.c
r5837 r5980 7 7 int N; 8 8 unsigned int Nfail; 9 int mode = PS_DATA_STRING | PS_META_REPLACE; 9 10 psMetadata *options = psMetadataAlloc (); 10 11 11 12 // basic pslib options … … 13 14 psArgumentVerbosity (argc, argv); 14 15 15 // optional mask image - add to config16 char *mask = NULL;16 // command-line options -- place on options MD 17 // mask image 17 18 if ((N = psArgumentGet (*argc, argv, "-mask"))) { 18 19 psArgumentRemove (N, argc, argv); 19 mask = psStringCopy (argv[N]);20 psMetadataAddStr (options, PS_LIST_TAIL, "MASK_IMAGE", 0, "", psStringCopy(argv[N])); 20 21 psArgumentRemove (N, argc, argv); 21 22 } 22 23 23 // optional weight image - add to config 24 char *weight = NULL; 24 // weight image 25 25 if ((N = psArgumentGet (*argc, argv, "-weight"))) { 26 26 psArgumentRemove (N, argc, argv); 27 weight = psStringCopy (argv[N]);27 psMetadataAddStr (options, PS_LIST_TAIL, "WEIGHT_IMAGE", 0, "", psStringCopy(argv[N])); 28 28 psArgumentRemove (N, argc, argv); 29 29 } 30 30 31 // optional output residual image - add to config 32 char *resid = NULL; 31 // output residual image 33 32 if ((N = psArgumentGet (*argc, argv, "-resid"))) { 34 33 psArgumentRemove (N, argc, argv); 35 resid = psStringCopy (argv[N]);34 psMetadataAddStr (options, PS_LIST_TAIL, "RESID_IMAGE", 0, "", psStringCopy(argv[N])); 36 35 psArgumentRemove (N, argc, argv); 37 36 } 38 37 39 // optional analysis region - add to config 40 char *region = NULL; 38 // analysis region 41 39 if ((N = psArgumentGet (*argc, argv, "-region"))) { 42 40 psArgumentRemove (N, argc, argv); 43 region = psStringCopy (argv[N]);41 psMetadataAddStr (options, PS_LIST_TAIL, "ANALYSIS_REGION", 0, "", psStringCopy(argv[N])); 44 42 psArgumentRemove (N, argc, argv); 45 43 } 46 44 47 // o ptional output residual image - add to config48 char *photcode = NULL;45 // output residual image 46 psMetadataAddStr (options, PS_LIST_TAIL, "PHOTCODE", 0, "", psStringCopy("NONE")); 49 47 if ((N = psArgumentGet (*argc, argv, "-photcode"))) { 50 48 psArgumentRemove (N, argc, argv); 51 p hotcode = psStringCopy (argv[N]);49 psMetadataAddStr (options, PS_LIST_TAIL, "PHOTCODE", PS_META_REPLACE, "", psStringCopy(argv[N])); 52 50 psArgumentRemove (N, argc, argv); 53 51 } 54 52 55 char *psffile = NULL;53 // input PSF file 56 54 if ((N = psArgumentGet (*argc, argv, "-psf"))) { 57 55 psArgumentRemove (N, argc, argv); 58 ps ffile = psStringCopy (argv[N]);56 psMetadataAddStr (options, PS_LIST_TAIL, "PSF_INPUT_FILE", 0, "", psStringCopy (argv[N])); 59 57 psArgumentRemove (N, argc, argv); 60 58 } 61 59 62 bool ModelTest = false; 63 float ModelTest_X = 0; 64 float ModelTest_Y = 0; 65 char *model = NULL; 66 char *fitset = NULL; 67 char *fitmode = NULL; 60 // run the 0ltest model (requires X,Y coordinate) 68 61 if ((N = psArgumentGet (*argc, argv, "-modeltest"))) { 69 ModelTest = true; 62 psMetadataAddBool (options, PS_LIST_TAIL, "TEST_FIT", 0, "", true); 63 psMetadataAddF32 (options, PS_LIST_TAIL, "TEST_FIT_X", 0, "", atof(argv[N+1])); 64 psMetadataAddF32 (options, PS_LIST_TAIL, "TEST_FIT_Y", 0, "", atof(argv[N+2])); 65 70 66 psArgumentRemove (N, argc, argv); 71 ModelTest_X = atof (argv[N]);72 67 psArgumentRemove (N, argc, argv); 73 ModelTest_Y = atof (argv[N]);74 68 psArgumentRemove (N, argc, argv); 75 69 70 // specify the modeltest model 76 71 if ((N = psArgumentGet (*argc, argv, "-model"))) { 77 72 psArgumentRemove (N, argc, argv); 78 model = psStringCopy (argv[N]);73 psMetadataAddStr (options, PS_LIST_TAIL, "TEST_FIT_MODEL", 0, "", psStringCopy (argv[N])); 79 74 psArgumentRemove (N, argc, argv); 80 75 } 81 76 77 // specify the test fit mode 82 78 if ((N = psArgumentGet (*argc, argv, "-fitmode"))) { 83 79 psArgumentRemove (N, argc, argv); 84 fitmode = psStringCopy (argv[N]);80 psMetadataAddStr (options, PS_LIST_TAIL, "TEST_FIT_MODE", 0, "", psStringCopy (argv[N])); 85 81 psArgumentRemove (N, argc, argv); 86 82 } 87 83 if ((N = psArgumentGet (*argc, argv, "-fitset"))) { 88 84 psArgumentRemove (N, argc, argv); 89 fitset = psStringCopy (argv[N]);85 psMetadataAddStr (options, PS_LIST_TAIL, "TEST_FIT_SET", 0, "", psStringCopy (argv[N])); 90 86 psArgumentRemove (N, argc, argv); 91 87 } 88 } 89 90 // other arbitrary options: -D key value (all added as string) 91 while ((N = psArgumentGet (*argc, argv, "-D"))) { 92 psArgumentRemove (N, argc, argv); 93 psMetadataAddStr (options, PS_LIST_TAIL, argv[N], 0, "", argv[N+1]); 94 psArgumentRemove (N, argc, argv); 95 psArgumentRemove (N, argc, argv); 96 } 97 98 // other arbitrary options: -Df key value (all added as float) 99 while ((N = psArgumentGet (*argc, argv, "-Df"))) { 100 psArgumentRemove (N, argc, argv); 101 psMetadataAddF32 (options, PS_LIST_TAIL, argv[N], 0, "", atof(argv[N+1])); 102 psArgumentRemove (N, argc, argv); 103 psArgumentRemove (N, argc, argv); 104 } 105 106 // other arbitrary options: -Di key value (all added as int) 107 while ((N = psArgumentGet (*argc, argv, "-Di"))) { 108 psArgumentRemove (N, argc, argv); 109 psMetadataAddS32 (options, PS_LIST_TAIL, argv[N], 0, "", atoi(argv[N+1])); 110 psArgumentRemove (N, argc, argv); 111 psArgumentRemove (N, argc, argv); 92 112 } 93 113 … … 96 116 // load config information 97 117 psMetadata *config = psMetadataAlloc (); 98 psMetadataAdd (config, PS_LIST_HEAD, "PSF_MODEL", PS_DATA_METADATA_MULTI, "folder for psf model entries", NULL); 118 119 psMetadataAdd (config, PS_LIST_TAIL, "PSF_MODEL", PS_DATA_METADATA_MULTI, "folder for psf model entries", NULL); 99 120 config = psMetadataConfigParse (config, &Nfail, argv[3], FALSE); 121 122 psMetadataItem *item = NULL; 123 psMetadataIterator *iter = psMetadataIteratorAlloc (options, PS_LIST_HEAD, NULL); 124 while ((item = psMetadataGetAndIncrement (iter)) != NULL) { 125 psMetadataAddItem (config, item, PS_LIST_TAIL, PS_META_REPLACE); 126 // psFree (item); 127 } 128 // psFree (iter); 100 129 101 130 // identify input image & optional weight & mask images 102 131 // command-line entries override config-file entries 103 psMetadataAdd (config, PS_LIST_HEAD, "IMAGE", mode, "", argv[1]);104 psMetadataAdd (config, PS_LIST_HEAD, "OUTPUT_FILE", mode, "", argv[2]);132 psMetadataAddStr (config, PS_LIST_TAIL, "IMAGE", PS_META_REPLACE, "", argv[1]); 133 psMetadataAddStr (config, PS_LIST_TAIL, "OUTPUT_FILE", PS_META_REPLACE, "", argv[2]); 105 134 106 if (mask != NULL) {107 psMetadataAdd (config, PS_LIST_HEAD, "MASK_IMAGE", mode, "", mask);108 }109 if (weight != NULL) {110 psMetadataAdd (config, PS_LIST_HEAD, "WEIGHT_IMAGE", mode, "", weight);111 }112 if (resid != NULL) {113 psMetadataAdd (config, PS_LIST_HEAD, "RESID_IMAGE", mode, "", resid);114 }115 if (region != NULL) {116 psMetadataAdd (config, PS_LIST_HEAD, "ANALYSIS_REGION", mode, "", region);117 }118 if (photcode != NULL) {119 psMetadataAdd (config, PS_LIST_HEAD, "PHOTCODE", mode, "", photcode);120 } else {121 psMetadataAdd (config, PS_LIST_HEAD, "PHOTCODE", mode, "", "NONE");122 }123 if (psffile != NULL) {124 psMetadataAdd (config, PS_LIST_HEAD, "PSF_INPUT_FILE", mode, "", psffile);125 }126 127 // model related options128 if (ModelTest) {129 psMetadataAdd (config, PS_LIST_HEAD, "TEST_FIT", PS_DATA_BOOL, "", true);130 131 int fmode = PS_DATA_F32 | PS_META_REPLACE;132 psMetadataAdd (config, PS_LIST_HEAD, "TEST_FIT_X", fmode, "", ModelTest_X);133 psMetadataAdd (config, PS_LIST_HEAD, "TEST_FIT_Y", fmode, "", ModelTest_Y);134 135 if (model != NULL) {136 psMetadataAdd (config, PS_LIST_HEAD, "TEST_FIT_MODEL", mode, "", model);137 }138 139 if (fitmode != NULL) {140 psMetadataAdd (config, PS_LIST_HEAD, "TEST_FIT_MODE", mode, "", fitmode);141 }142 if (fitset != NULL) {143 psMetadataAdd (config, PS_LIST_HEAD, "TEST_FIT_SET", mode, "", fitset);144 }145 }146 135 return (config); 147 136 }
Note:
See TracChangeset
for help on using the changeset viewer.
