Changeset 27989
- Timestamp:
- May 17, 2010, 5:49:51 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 13 edited
-
ppImage/src/ppImageMosaic.c (modified) (2 diffs)
-
ppMerge/src/ppMergeCamera.c (modified) (4 diffs)
-
ppSim/src/ppSimCreate.c (modified) (3 diffs)
-
ppSim/src/ppSimMosaicChip.c (modified) (1 diff)
-
ppStack/src/ppStackCamera.c (modified) (4 diffs)
-
psModules/src/camera/pmFPAConstruct.c (modified) (11 diffs)
-
psModules/src/camera/pmFPAConstruct.h (modified) (2 diffs)
-
psModules/src/camera/pmFPAfileFitsIO.c (modified) (1 diff)
-
psModules/src/camera/pmFPAfileIO.c (modified) (1 diff)
-
psphot/src/psphotMosaicChip.c (modified) (1 diff)
-
pstamp/src/ppstampMakeStamp.c (modified) (3 diffs)
-
pstamp/src/ppstampMosaic.c (modified) (1 diff)
-
pswarp/src/pswarpDefine.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppImage/src/ppImageMosaic.c
r18709 r27989 25 25 pmChip *inChip = pmFPAviewThisChip(view, in->fpa); 26 26 if (!outChip->hdu && !outChip->parent->hdu) { 27 const char *name = psMetadataLookupStr(&status, in->fpa->concepts, "FPA.OBS"); // Name of FPA 28 pmFPAAddSourceFromView(out->fpa, name, view, out->format); 27 pmFPAAddSourceFromView(out->fpa, view, out->format); 29 28 } 30 29 … … 66 65 #endif 67 66 68 const char *name = psMetadataLookupStr(&status, in->fpa->concepts, "FPA.OBS"); // Name of FPA69 70 67 pmFPAview *view = pmFPAviewAlloc(0); 71 pmFPAAddSourceFromView(out->fpa, name,view, out->format);68 pmFPAAddSourceFromView(out->fpa, view, out->format); 72 69 psFree(view); 73 70 -
trunk/ppMerge/src/ppMergeCamera.c
r24782 r27989 19 19 const char *name, ///< Name of output file 20 20 pmFPAfileType type, ///< Type of file 21 const char *description, ///< Description of file22 21 psMetadata *format, ///< Camera format 23 22 pmFPAview *view ///< View for PHU … … 84 83 output->save = true; 85 84 86 if (!pmFPAAddSourceFromView(fpa, description,view, format)) {85 if (!pmFPAAddSourceFromView(fpa, view, format)) { 87 86 psError(PS_ERR_UNKNOWN, false, "Unable to generate output FPA."); 88 87 return false; … … 337 336 case PPMERGE_TYPE_FRINGE: 338 337 fileType = PM_FPA_FILE_FRINGE; 339 break;338 break; 340 339 default: 341 340 psAbort("Unknown frame type: %x", type); 342 341 } 343 342 344 if (!outputFile(config, outName, fileType, "Merged detrend",format, phuView)) {343 if (!outputFile(config, outName, fileType, format, phuView)) { 345 344 psFree(outName); 346 345 psFree(phuView); … … 349 348 psFree(outName); 350 349 351 if (!outputFile(config, "PPMERGE.OUTPUT.SIGMA", PM_FPA_FILE_IMAGE, "Merge sigma",format, phuView)) {350 if (!outputFile(config, "PPMERGE.OUTPUT.SIGMA", PM_FPA_FILE_IMAGE, format, phuView)) { 352 351 psFree(phuView); 353 352 return false; 354 353 } 355 354 356 if (!outputFile(config, "PPMERGE.OUTPUT.COUNT", PM_FPA_FILE_IMAGE, "Merged count",format, phuView)) {355 if (!outputFile(config, "PPMERGE.OUTPUT.COUNT", PM_FPA_FILE_IMAGE, format, phuView)) { 357 356 psFree(phuView); 358 357 return false; -
trunk/ppSim/src/ppSimCreate.c
r23836 r27989 198 198 199 199 if (phuLevel == PM_FPA_LEVEL_FPA) { 200 if (!pmFPAAddSourceFromView(fpa, "Simulation",view, output->format)) {200 if (!pmFPAAddSourceFromView(fpa, view, output->format)) { 201 201 psError(PS_ERR_UNKNOWN, false, "Unable to add PHU to FPA."); 202 202 psFree(fpa); … … 209 209 while ((chip = pmFPAviewNextChip(view, fpa, 1))) { 210 210 if (phuLevel == PM_FPA_LEVEL_CHIP) { 211 if (!pmFPAAddSourceFromView(fpa, "Simulation",view, output->format)) {211 if (!pmFPAAddSourceFromView(fpa, view, output->format)) { 212 212 psError(PS_ERR_UNKNOWN, false, "Unable to add PHU to FPA."); 213 213 psFree(fpa); … … 220 220 while ((cell = pmFPAviewNextCell(view, fpa, 1))) { 221 221 if (phuLevel == PM_FPA_LEVEL_CELL) { 222 if (!pmFPAAddSourceFromView(fpa, "Simulation",view, output->format)) {222 if (!pmFPAAddSourceFromView(fpa, view, output->format)) { 223 223 psError(PS_ERR_UNKNOWN, false, "Unable to add PHU to FPA."); 224 224 psFree(fpa); -
trunk/ppSim/src/ppSimMosaicChip.c
r21183 r27989 22 22 pmChip *inChip = pmFPAviewThisChip(view, in->fpa); 23 23 if (!outChip->hdu && !outChip->parent->hdu) { 24 const char *name = psMetadataLookupStr(&status, in->fpa->concepts, "FPA.OBS"); // Name of FPA 25 pmFPAAddSourceFromView(out->fpa, name, view, out->format); 24 pmFPAAddSourceFromView(out->fpa, view, out->format); 26 25 } 27 26 -
trunk/ppStack/src/ppStackCamera.c
r27417 r27989 252 252 output->save = true; 253 253 254 if (!pmFPAAddSourceFromFormat(outFPA, "Stack",output->format)) {254 if (!pmFPAAddSourceFromFormat(outFPA, output->format)) { 255 255 psError(psErrorCodeLast(), false, "Unable to generate output FPA."); 256 256 return false; … … 302 302 exp->save = true; 303 303 304 if (!pmFPAAddSourceFromFormat(expFPA, "Stack",exp->format)) {304 if (!pmFPAAddSourceFromFormat(expFPA, exp->format)) { 305 305 psError(psErrorCodeLast(), false, "Unable to generate output FPA."); 306 306 return false; … … 369 369 unConv->save = true; 370 370 371 if (!pmFPAAddSourceFromFormat(unconvFPA, "Stack",unConv->format)) {371 if (!pmFPAAddSourceFromFormat(unconvFPA, unConv->format)) { 372 372 psError(psErrorCodeLast(), false, "Unable to generate output FPA."); 373 373 return false; … … 419 419 unconvExp->save = true; 420 420 421 if (!pmFPAAddSourceFromFormat(unconvExpFPA, "Stack",unconvExp->format)) {421 if (!pmFPAAddSourceFromFormat(unconvExpFPA, unconvExp->format)) { 422 422 psError(psErrorCodeLast(), false, "Unable to generate output FPA."); 423 423 return false; -
trunk/psModules/src/camera/pmFPAConstruct.c
r27762 r27989 100 100 101 101 return num; 102 }103 104 // Get the name of a PHU chip or cell from the header105 static psString phuNameFromHeader(const char *name, // The name to lookup: "CELL.NAME" or "CHIP.NAME"106 const psMetadata *fileInfo, // FILE within the camera format description107 const psMetadata *header // Primary header108 )109 {110 assert(name && strlen(name) > 0);111 assert(fileInfo);112 assert(header);113 114 bool mdok = true; // Result of MD lookup115 psString keyword = psMetadataLookupStr(&mdok, fileInfo, name);116 if (!mdok || strlen(keyword) == 0) {117 return false;118 }119 psMetadataItem *resultItem = psMetadataLookup(header, keyword);120 if (!resultItem) {121 psError(PS_ERR_IO, true, "Unable to find %s in primary header to identify %s.\n", keyword, name);122 return NULL;123 }124 return psMetadataItemParseString(resultItem);125 102 } 126 103 … … 1102 1079 // It returns a view corresponding to the PHU 1103 1080 static pmFPAview *addSource(pmFPA *fpa, // The FPA 1104 const char *fpaObs, // The desired FPA observation name1105 1081 const pmFPAview *phuView, // The view corresponding to the PHU, or NULL 1106 1082 const psMetadata *header, // The PHU header, or NULL … … 1114 1090 1115 1091 bool mdok; // Status of MD lookup 1116 1117 // If FPA.OBS is already defined, new name must match it; otherwise, warn the user that something1118 // potentially bad is happening.1119 if (fpaObs && install) {1120 const char *currentName = psMetadataLookupStr(&mdok, fpa->concepts, "FPA.OBS"); // Current name1121 if (mdok && currentName && strlen(currentName) > 0 && strcmp(currentName, fpaObs) != 0) {1122 psWarning("FPA.OBS for new source (%s) doesn't match FPA.OBS for current fpa (%s).",1123 fpaObs, currentName);1124 }1125 psMetadataAddStr(fpa->concepts, PS_LIST_HEAD, "FPA.OBS", PS_META_REPLACE, "Observation identifier",1126 fpaObs);1127 } else if (!psMetadataLookup(fpa->concepts, "FPA.OBS")) {1128 // Make sure there is an FPA.OBS1129 psMetadataAddStr(fpa->concepts, PS_LIST_HEAD, "FPA.OBS", 0, "Observation identifier", "UNKNOWN");1130 }1131 1092 1132 1093 psMetadata *fileInfo = psMetadataLookupMetadata(&mdok, format, "FILE"); // The file information … … 1350 1311 } 1351 1312 1352 bool pmFPAAddSourceFromFormat(pmFPA *fpa, const char *fpaObs, constpsMetadata *format)1313 bool pmFPAAddSourceFromFormat(pmFPA *fpa, const psMetadata *format) 1353 1314 { 1354 1315 PS_ASSERT_PTR_NON_NULL(fpa, false); … … 1359 1320 pmFPAview *view = pmFPAviewAlloc(0);// View for current level 1360 1321 if (phuLevel == PM_FPA_LEVEL_FPA) { 1361 if (!pmFPAAddSourceFromView(fpa, fpaObs,view, format)) {1322 if (!pmFPAAddSourceFromView(fpa, view, format)) { 1362 1323 psError(PS_ERR_UNKNOWN, false, "Unable to add PHU to FPA."); 1363 1324 psFree(view); … … 1368 1329 while ((chip = pmFPAviewNextChip(view, fpa, 1))) { 1369 1330 if (phuLevel == PM_FPA_LEVEL_CHIP) { 1370 if (!pmFPAAddSourceFromView(fpa, fpaObs,view, format)) {1331 if (!pmFPAAddSourceFromView(fpa, view, format)) { 1371 1332 psError(PS_ERR_UNKNOWN, false, "Unable to add PHU to FPA."); 1372 1333 psFree(view); … … 1377 1338 while ((cell = pmFPAviewNextCell(view, fpa, 1))) { 1378 1339 if (phuLevel == PM_FPA_LEVEL_CELL) { 1379 if (!pmFPAAddSourceFromView(fpa, fpaObs,view, format)) {1340 if (!pmFPAAddSourceFromView(fpa, view, format)) { 1380 1341 psError(PS_ERR_UNKNOWN, false, "Unable to add PHU to FPA."); 1381 1342 psFree(view); … … 1392 1353 } 1393 1354 1394 bool pmFPAAddSourceFromView(pmFPA *fpa, const char *fpaObs, constpmFPAview *phuView,1355 bool pmFPAAddSourceFromView(pmFPA *fpa, const pmFPAview *phuView, 1395 1356 const psMetadata *format) 1396 1357 { … … 1399 1360 PS_ASSERT_PTR_NON_NULL(format, false); 1400 1361 1401 pmFPAview *view = addSource(fpa, fpaObs,phuView, NULL, format, true);1362 pmFPAview *view = addSource(fpa, phuView, NULL, format, true); 1402 1363 bool status = (view != NULL); 1403 1364 psFree(view); … … 1418 1379 } 1419 1380 1420 // Check the name of the FPA 1421 psString fpaObs = phuNameFromHeader("FPA.OBS", fileInfo, phu); // New observation name for the FPA 1422 if (!fpaObs || strlen(fpaObs) == 0) { 1423 psWarning("Unable to determine FPA.OBS: check for FPA.OBS in FILE in camera format"); 1424 } 1425 1426 pmFPAview *view = addSource(fpa, fpaObs, NULL, phu, format, true); // View of PHU, to return 1427 psFree(fpaObs); 1381 pmFPAview *view = addSource(fpa, NULL, phu, format, true); // View of PHU, to return 1428 1382 1429 1383 return view; … … 1437 1391 PS_ASSERT_PTR_NON_NULL(format, NULL); 1438 1392 1439 return addSource(fpa, NULL, NULL,phu, format, false);1393 return addSource(fpa, NULL, phu, format, false); 1440 1394 } 1441 1395 -
trunk/psModules/src/camera/pmFPAConstruct.h
r17911 r27989 29 29 /// This is suitable for generating an output FPA given the desired format. 30 30 bool pmFPAAddSourceFromFormat(pmFPA *fpa, ///< The FPA 31 const char *fpaObs, ///< FPA.NAME for the source32 31 const psMetadata *format ///< Format of file 33 32 ); … … 38 37 /// configuration is required in order to describe how the FPA is laid out in terms of disk files. 39 38 bool pmFPAAddSourceFromView(pmFPA *fpa, ///< The FPA 40 const char *fpaObs, ///< FPA.NAME for the source41 39 const pmFPAview *phuView, ///< The view, corresponding to the PHU 42 40 const psMetadata *format ///< Format of file -
trunk/psModules/src/camera/pmFPAfileFitsIO.c
r25878 r27989 75 75 } 76 76 77 pmFPA *nameSource = file->src; // Source of FPA.OBS78 if (!nameSource) {79 nameSource = file->fpa;80 }81 bool mdok; // Status of MD lookup82 const char *fpaObs = psMetadataLookupStr(&mdok, nameSource->concepts, "FPA.OBS"); // Observation id83 84 77 pmFPA *copy = pmFPAConstruct(file->camera, file->cameraName); // FPA to return 85 if (!pmFPAAddSourceFromView(copy, fpaObs,phuView, file->format)) {78 if (!pmFPAAddSourceFromView(copy, phuView, file->format)) { 86 79 psError(PS_ERR_UNKNOWN, false, "Unable to insert HDU into FPA for writing.\n"); 87 80 psFree(copy); -
trunk/psModules/src/camera/pmFPAfileIO.c
r26893 r27989 286 286 } 287 287 288 pmFPA *nameSource = file->src; // Source of FPA.OBS 289 if (!nameSource) { 290 nameSource = file->fpa; 291 } 292 bool mdok; // Status of MD lookup 293 const char *fpaObs = psMetadataLookupStr(&mdok, nameSource->concepts, "FPA.OBS"); // Obs. id 294 295 pmFPAAddSourceFromView(file->fpa, fpaObs, view, format); 288 pmFPAAddSourceFromView(file->fpa, view, format); 296 289 psTrace ("psModules.camera", 5, "created fpa data elements for %s (%s) (%d:%d:%d)\n", 297 290 file->name, file->name, view->chip, view->cell, view->readout); -
trunk/psphot/src/psphotMosaicChip.c
r21183 r27989 21 21 pmChip *inChip = pmFPAviewThisChip(view, in->fpa); 22 22 if (!outChip->hdu && !outChip->parent->hdu) { 23 const char *name = psMetadataLookupStr(&status, in->fpa->concepts, "FPA.OBS"); // Name of FPA 24 pmFPAAddSourceFromView(out->fpa, name, view, out->format); 23 pmFPAAddSourceFromView(out->fpa, view, out->format); 25 24 } 26 25 -
trunk/pstamp/src/ppstampMakeStamp.c
r27461 r27989 36 36 double d_before = check->sky->d; 37 37 psLogMsg("ppstampMakeStamp", 2, "Before fit Center Pixel RA: %f DEC: %f (degrees)\n", 38 r_before * PS_DEG_RAD, d_before * PS_DEG_RAD);38 r_before * PS_DEG_RAD, d_before * PS_DEG_RAD); 39 39 40 40 if (outFPA->toSky->type != PS_PROJ_TAN) { 41 // we need to make astrometry terms for the output which are centered on the output chip center,42 // but we keep the original plate scale43 psFree(outFPA->toSky);44 outFPA->toSky = psProjectionAlloc (r_before, d_before, inFPA->toSky->Xs, inFPA->toSky->Ys, PS_PROJ_TAN);45 46 if (!pmAstromLinearizeToSky(inFPA, inChip, outFPA, outChip, roi)) {41 // we need to make astrometry terms for the output which are centered on the output chip center, 42 // but we keep the original plate scale 43 psFree(outFPA->toSky); 44 outFPA->toSky = psProjectionAlloc (r_before, d_before, inFPA->toSky->Xs, inFPA->toSky->Ys, PS_PROJ_TAN); 45 46 if (!pmAstromLinearizeToSky(inFPA, inChip, outFPA, outChip, roi)) { 47 47 psFree(check); 48 48 psError(PS_ERR_UNKNOWN, false, "Failed to linearize astrometry\n"); … … 56 56 57 57 psLogMsg("ppstampMakeStamp", 2, "After fit: Center Pixel RA: %f DEC: %f (degrees)\n", 58 r_after * PS_DEG_RAD, d_after * PS_DEG_RAD);59 psLogMsg("ppstampMakeStamp", 2, "Error in fit to astrometry %.2f %.2f (arcseconds)\n", 60 (r_after - r_before) * PS_DEG_RAD * 3600, (d_after - d_before) * PS_DEG_RAD * 3600);58 r_after * PS_DEG_RAD, d_after * PS_DEG_RAD); 59 psLogMsg("ppstampMakeStamp", 2, "Error in fit to astrometry %.2f %.2f (arcseconds)\n", 60 (r_after - r_before) * PS_DEG_RAD * 3600, (d_after - d_before) * PS_DEG_RAD * 3600); 61 61 62 62 // XXX: should we fail if the fit is bad ?? … … 238 238 return PS_EXIT_DATA_ERROR; 239 239 } 240 char *fpaName = psMetadataLookupStr(NULL, input->fpa->concepts, "FPA.OBS"); // Name of FPA241 240 pmFPAview *outview = pmFPAviewAlloc(0); 242 pmFPAAddSourceFromView(output->fpa, fpaName,outview, output->format);241 pmFPAAddSourceFromView(output->fpa, outview, output->format); 243 242 244 243 outview->chip = 0; -
trunk/pstamp/src/ppstampMosaic.c
r18712 r27989 24 24 pmChip *inChip = pmFPAviewThisChip(view, input->fpa); 25 25 if (!mChip->hdu && !mChip->parent->hdu) { 26 const char *name = psMetadataLookupStr(&status, input->fpa->concepts, "FPA.OBS"); // Name of FPA 27 pmFPAAddSourceFromView(mosaic->fpa, name, mosaicView, mosaic->format); 26 pmFPAAddSourceFromView(mosaic->fpa, mosaicView, mosaic->format); 28 27 } 29 28 psFree(mosaicView); -
trunk/pswarp/src/pswarpDefine.c
r27096 r27989 124 124 } 125 125 126 const char *name = psMetadataLookupStr(NULL, input->fpa->concepts, "FPA.OBS"); ///< Name of FPA127 126 view->chip = view->cell = view->readout = -1; 128 pmFPAAddSourceFromView(output->fpa, name,view, output->format);127 pmFPAAddSourceFromView(output->fpa, view, output->format); 129 128 130 129 psFree (view);
Note:
See TracChangeset
for help on using the changeset viewer.
