- Timestamp:
- Jul 30, 2010, 9:38:40 AM (16 years ago)
- Location:
- branches/eam_branches/ipp-20100621/psModules
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
src/objects/pmPSF_IO.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20100621/psModules
- Property svn:mergeinfo changed
/branches/pap/psModules merged: 28179,28484-28485,28499,28534-28535
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20100621/psModules/src/objects/pmPSF_IO.c
r28643 r28796 191 191 pmReadout *ro = pmFPAviewThisReadout(roView, chip->parent); // Readout with analysis data 192 192 psFree(roView); 193 PM_ASSERT_READOUT_NON_NULL(ro, false); 194 195 if (!pmPSFmodelWrite(chip->analysis, ro->analysis, view, file, config)) { 193 194 if (!pmPSFmodelWrite(chip->analysis, ro ? ro->analysis : NULL, view, file, config)) { 196 195 psError(psErrorCodeLast(), false, "Failed to write PSF for chip"); 197 196 return false; … … 222 221 } 223 222 if (!roAnalysis) { 224 psError(PM_ERR_PROG, true, "No analysis metadata for readout."); 225 return false; 223 psWarning("No analysis metadata for PSF, clump parameters cannot be saved."); 226 224 } 227 225 … … 369 367 370 368 // we now save clump parameters for each region : need to save all of those 371 int nRegions = psMetadataLookupS32 (&status, roAnalysis, "PSF.CLUMP.NREGIONS"); 372 psMetadataAddS32 (header, PS_LIST_TAIL, "PSF_CLN", PS_META_REPLACE, "number of psf clump regions", nRegions); 373 for (int i = 0; i < nRegions; i++) { 374 char regionName[64]; 375 snprintf (regionName, 64, "PSF.CLUMP.REGION.%03d", i); 376 psMetadata *regionMD = psMetadataLookupPtr (&status, roAnalysis, regionName); 377 378 psfClump.X = psMetadataLookupF32 (&status, regionMD, "PSF.CLUMP.X"); assert (status); 379 psfClump.Y = psMetadataLookupF32 (&status, regionMD, "PSF.CLUMP.Y"); assert (status); 380 psfClump.dX = psMetadataLookupF32 (&status, regionMD, "PSF.CLUMP.DX"); assert (status); 381 psfClump.dY = psMetadataLookupF32 (&status, regionMD, "PSF.CLUMP.DY"); assert (status); 382 383 char key[16]; 384 snprintf (key, 9, "CLX_%03d", i); 385 psMetadataAddF32 (header, PS_LIST_TAIL, key, PS_META_REPLACE, "psf clump center", psfClump.X); 386 snprintf (key, 9, "CLY_%03d", i); 387 psMetadataAddF32 (header, PS_LIST_TAIL, key, PS_META_REPLACE, "psf clump center", psfClump.Y); 388 snprintf (key, 9, "CLDX_%03d", i); 389 psMetadataAddF32 (header, PS_LIST_TAIL, key, PS_META_REPLACE, "psf clump size", psfClump.dX); 390 snprintf (key, 9, "CLDY_%03d", i); 391 psMetadataAddF32 (header, PS_LIST_TAIL, key, PS_META_REPLACE, "psf clump size", psfClump.dY); 369 if (roAnalysis) { 370 int nRegions = psMetadataLookupS32 (&status, roAnalysis, "PSF.CLUMP.NREGIONS"); 371 psMetadataAddS32 (header, PS_LIST_TAIL, "PSF_CLN", PS_META_REPLACE, "number of psf clump regions", nRegions); 372 for (int i = 0; i < nRegions; i++) { 373 char regionName[64]; 374 snprintf (regionName, 64, "PSF.CLUMP.REGION.%03d", i); 375 psMetadata *regionMD = psMetadataLookupPtr (&status, roAnalysis, regionName); 376 377 psfClump.X = psMetadataLookupF32 (&status, regionMD, "PSF.CLUMP.X"); assert (status); 378 psfClump.Y = psMetadataLookupF32 (&status, regionMD, "PSF.CLUMP.Y"); assert (status); 379 psfClump.dX = psMetadataLookupF32 (&status, regionMD, "PSF.CLUMP.DX"); assert (status); 380 psfClump.dY = psMetadataLookupF32 (&status, regionMD, "PSF.CLUMP.DY"); assert (status); 381 382 char key[16]; 383 snprintf (key, 9, "CLX_%03d", i); 384 psMetadataAddF32 (header, PS_LIST_TAIL, key, PS_META_REPLACE, "psf clump center", psfClump.X); 385 snprintf (key, 9, "CLY_%03d", i); 386 psMetadataAddF32 (header, PS_LIST_TAIL, key, PS_META_REPLACE, "psf clump center", psfClump.Y); 387 snprintf (key, 9, "CLDX_%03d", i); 388 psMetadataAddF32 (header, PS_LIST_TAIL, key, PS_META_REPLACE, "psf clump size", psfClump.dX); 389 snprintf (key, 9, "CLDY_%03d", i); 390 psMetadataAddF32 (header, PS_LIST_TAIL, key, PS_META_REPLACE, "psf clump size", psfClump.dY); 391 } 392 392 } 393 393 … … 787 787 { 788 788 PS_ASSERT_METADATA_NON_NULL(chipAnalysis, false); 789 PS_ASSERT_METADATA_NON_NULL(roAnalysis, false);790 789 PS_ASSERT_PTR_NON_NULL(view, false); 791 790 PS_ASSERT_PTR_NON_NULL(file, false); … … 852 851 853 852 // read the psf clump data for each region 854 int nRegions = psMetadataLookupS32 (&status, header, "PSF_CLN"); 855 if (!status) { 856 // read old-style psf clump data 857 858 char regionName[64]; 859 snprintf (regionName, 64, "PSF.CLUMP.REGION.000"); 860 psMetadataAddS32 (roAnalysis, PS_LIST_TAIL, "PSF.CLUMP.NREGIONS", PS_META_REPLACE, "psf clump regions", 1); 861 862 psMetadata *regionMD = psMetadataLookupPtr (&status, roAnalysis, regionName); 863 if (!regionMD) { 864 regionMD = psMetadataAlloc(); 865 psMetadataAddMetadata (roAnalysis, PS_LIST_TAIL, regionName, PS_META_REPLACE, "psf clump region", regionMD); 866 psFree (regionMD); 867 } 868 869 // psf clump data 870 pmPSFClump psfClump; 871 872 psfClump.X = psMetadataLookupF32 (&status, header, "PSF_CLX" ); assert(status); 873 psfClump.Y = psMetadataLookupF32 (&status, header, "PSF_CLY" ); assert(status); 874 psfClump.dX = psMetadataLookupF32 (&status, header, "PSF_CLDX"); assert(status); 875 psfClump.dY = psMetadataLookupF32 (&status, header, "PSF_CLDY"); assert(status); 876 877 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.X", PS_META_REPLACE, "psf clump center", psfClump.X); 878 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.Y", PS_META_REPLACE, "psf clump center", psfClump.Y); 879 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.DX", PS_META_REPLACE, "psf clump center", psfClump.dX); 880 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.DY", PS_META_REPLACE, "psf clump center", psfClump.dY); 881 } else { 882 psMetadataAddS32 (roAnalysis, PS_LIST_TAIL, "PSF.CLUMP.NREGIONS", PS_META_REPLACE, "psf clump regions", nRegions); 883 884 for (int i = 0; i < nRegions; i++) { 885 char key[10]; 853 if (roAnalysis) { 854 int nRegions = psMetadataLookupS32 (&status, header, "PSF_CLN"); 855 if (!status) { 856 // read old-style psf clump data 857 886 858 char regionName[64]; 887 snprintf (regionName, 64, "PSF.CLUMP.REGION.%03d", i); 859 snprintf (regionName, 64, "PSF.CLUMP.REGION.000"); 860 psMetadataAddS32 (roAnalysis, PS_LIST_TAIL, "PSF.CLUMP.NREGIONS", PS_META_REPLACE, "psf clump regions", 1); 888 861 889 862 psMetadata *regionMD = psMetadataLookupPtr (&status, roAnalysis, regionName); … … 897 870 pmPSFClump psfClump; 898 871 899 snprintf (key, 9, "CLX_%03d", i); 900 psfClump.X = psMetadataLookupF32 (&status, header, key); assert(status); 901 snprintf (key, 9, "CLY_%03d", i); 902 psfClump.Y = psMetadataLookupF32 (&status, header, key); assert(status); 903 snprintf (key, 9, "CLDX_%03d", i); 904 psfClump.dX = psMetadataLookupF32 (&status, header, key); assert(status); 905 snprintf (key, 9, "CLDY_%03d", i); 906 psfClump.dY = psMetadataLookupF32 (&status, header, key); assert(status); 872 psfClump.X = psMetadataLookupF32 (&status, header, "PSF_CLX" ); assert(status); 873 psfClump.Y = psMetadataLookupF32 (&status, header, "PSF_CLY" ); assert(status); 874 psfClump.dX = psMetadataLookupF32 (&status, header, "PSF_CLDX"); assert(status); 875 psfClump.dY = psMetadataLookupF32 (&status, header, "PSF_CLDY"); assert(status); 907 876 908 877 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.X", PS_META_REPLACE, "psf clump center", psfClump.X); … … 910 879 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.DX", PS_META_REPLACE, "psf clump center", psfClump.dX); 911 880 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.DY", PS_META_REPLACE, "psf clump center", psfClump.dY); 881 } else { 882 psMetadataAddS32 (roAnalysis, PS_LIST_TAIL, "PSF.CLUMP.NREGIONS", PS_META_REPLACE, "psf clump regions", nRegions); 883 884 for (int i = 0; i < nRegions; i++) { 885 char key[10]; 886 char regionName[64]; 887 snprintf (regionName, 64, "PSF.CLUMP.REGION.%03d", i); 888 889 psMetadata *regionMD = psMetadataLookupPtr (&status, roAnalysis, regionName); 890 if (!regionMD) { 891 regionMD = psMetadataAlloc(); 892 psMetadataAddMetadata (roAnalysis, PS_LIST_TAIL, regionName, PS_META_REPLACE, "psf clump region", regionMD); 893 psFree (regionMD); 894 } 895 896 // psf clump data 897 pmPSFClump psfClump; 898 899 snprintf (key, 9, "CLX_%03d", i); 900 psfClump.X = psMetadataLookupF32 (&status, header, key); assert(status); 901 snprintf (key, 9, "CLY_%03d", i); 902 psfClump.Y = psMetadataLookupF32 (&status, header, key); assert(status); 903 snprintf (key, 9, "CLDX_%03d", i); 904 psfClump.dX = psMetadataLookupF32 (&status, header, key); assert(status); 905 snprintf (key, 9, "CLDY_%03d", i); 906 psfClump.dY = psMetadataLookupF32 (&status, header, key); assert(status); 907 908 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.X", PS_META_REPLACE, "psf clump center", psfClump.X); 909 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.Y", PS_META_REPLACE, "psf clump center", psfClump.Y); 910 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.DX", PS_META_REPLACE, "psf clump center", psfClump.dX); 911 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.DY", PS_META_REPLACE, "psf clump center", psfClump.dY); 912 } 912 913 } 913 914 }
Note:
See TracChangeset
for help on using the changeset viewer.
