Changeset 17911 for trunk/psModules/src/camera/pmFPAConstruct.c
- Timestamp:
- Jun 4, 2008, 3:32:28 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/psModules/src/camera/pmFPAConstruct.c (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/camera/pmFPAConstruct.c
r16912 r17911 1102 1102 // It returns a view corresponding to the PHU 1103 1103 static pmFPAview *addSource(pmFPA *fpa, // The FPA 1104 const char *fpa name, // The desired FPAname1104 const char *fpaObs, // The desired FPA observation name 1105 1105 const pmFPAview *phuView, // The view corresponding to the PHU, or NULL 1106 1106 const psMetadata *header, // The PHU header, or NULL … … 1115 1115 bool mdok; // Status of MD lookup 1116 1116 1117 // If FPA. NAMEis already defined, new name must match it; otherwise, warn the user that something1117 // If FPA.OBS is already defined, new name must match it; otherwise, warn the user that something 1118 1118 // potentially bad is happening. 1119 if (fpaname && install) { 1120 const char *currentName = psMetadataLookupStr(&mdok, fpa->concepts, "FPA.NAME"); // Current name 1121 if (mdok && currentName && strlen(currentName) > 0 && strcmp(currentName, fpaname) != 0) { 1122 psWarning("FPA.NAME for new source (%s) doesn't match FPA.NAME for current " 1123 "fpa (%s).\n", fpaname, currentName); 1124 } 1125 psMetadataAddStr(fpa->concepts, PS_LIST_HEAD, "FPA.NAME", PS_META_REPLACE, "Name of FPA", fpaname); 1126 } else if (!psMetadataLookup(fpa->concepts, "FPA.NAME")) { 1127 // Make sure there is an FPA.NAME 1128 psMetadataAddStr(fpa->concepts, PS_LIST_HEAD, "FPA.NAME", 0, "Name of FPA", "UNKNOWN"); 1119 if (fpaObs && install) { 1120 const char *currentName = psMetadataLookupStr(&mdok, fpa->concepts, "FPA.OBS"); // Current name 1121 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.OBS 1129 psMetadataAddStr(fpa->concepts, PS_LIST_HEAD, "FPA.OBS", 0, "Observation identifier", "UNKNOWN"); 1129 1130 } 1130 1131 … … 1308 1309 ////////////////////////////////////////////////////////////////////////////////////////////////////////////// 1309 1310 1310 pmFPA *pmFPAConstruct(const psMetadata *camera )1311 pmFPA *pmFPAConstruct(const psMetadata *camera, const char *cameraName) 1311 1312 { 1312 1313 PS_ASSERT_PTR_NON_NULL(camera, NULL); 1313 1314 1314 pmFPA *fpa = pmFPAAlloc(camera ); // The FPA to fill out1315 pmFPA *fpa = pmFPAAlloc(camera, cameraName); // The FPA to fill out 1315 1316 1316 1317 bool mdok = true; // Status from MD lookups … … 1349 1350 } 1350 1351 1351 bool pmFPAAddSourceFromFormat(pmFPA *fpa, const char *fpa name, const psMetadata *format)1352 bool pmFPAAddSourceFromFormat(pmFPA *fpa, const char *fpaObs, const psMetadata *format) 1352 1353 { 1353 1354 PS_ASSERT_PTR_NON_NULL(fpa, false); … … 1358 1359 pmFPAview *view = pmFPAviewAlloc(0);// View for current level 1359 1360 if (phuLevel == PM_FPA_LEVEL_FPA) { 1360 if (!pmFPAAddSourceFromView(fpa, fpa name, view, format)) {1361 if (!pmFPAAddSourceFromView(fpa, fpaObs, view, format)) { 1361 1362 psError(PS_ERR_UNKNOWN, false, "Unable to add PHU to FPA."); 1362 1363 psFree(view); … … 1367 1368 while ((chip = pmFPAviewNextChip(view, fpa, 1))) { 1368 1369 if (phuLevel == PM_FPA_LEVEL_CHIP) { 1369 if (!pmFPAAddSourceFromView(fpa, fpa name, view, format)) {1370 if (!pmFPAAddSourceFromView(fpa, fpaObs, view, format)) { 1370 1371 psError(PS_ERR_UNKNOWN, false, "Unable to add PHU to FPA."); 1371 1372 psFree(view); … … 1376 1377 while ((cell = pmFPAviewNextCell(view, fpa, 1))) { 1377 1378 if (phuLevel == PM_FPA_LEVEL_CELL) { 1378 if (!pmFPAAddSourceFromView(fpa, fpa name, view, format)) {1379 if (!pmFPAAddSourceFromView(fpa, fpaObs, view, format)) { 1379 1380 psError(PS_ERR_UNKNOWN, false, "Unable to add PHU to FPA."); 1380 1381 psFree(view); … … 1391 1392 } 1392 1393 1393 bool pmFPAAddSourceFromView(pmFPA *fpa, const char *fpa name, const pmFPAview *phuView,1394 bool pmFPAAddSourceFromView(pmFPA *fpa, const char *fpaObs, const pmFPAview *phuView, 1394 1395 const psMetadata *format) 1395 1396 { … … 1398 1399 PS_ASSERT_PTR_NON_NULL(format, false); 1399 1400 1400 pmFPAview *view = addSource(fpa, fpa name, phuView, NULL, format, true);1401 pmFPAview *view = addSource(fpa, fpaObs, phuView, NULL, format, true); 1401 1402 bool status = (view != NULL); 1402 1403 psFree(view); … … 1418 1419 1419 1420 // Check the name of the FPA 1420 psString fpa name = phuNameFromHeader("FPA.NAME", fileInfo, phu); // Newname for the FPA1421 if (!fpa name || strlen(fpaname) == 0) {1422 psWarning("Unable to determine FPA. NAME: check for FPA.NAMEin FILE in camera format");1423 } 1424 1425 pmFPAview *view = addSource(fpa, fpa name, NULL, phu, format, true); // View of PHU, to return1426 psFree(fpa name);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); 1427 1428 1428 1429 return view;
Note:
See TracChangeset
for help on using the changeset viewer.
