Changeset 30031 for trunk/psModules/src/objects/pmPSF_IO.c
- Timestamp:
- Dec 14, 2010, 9:29:23 AM (15 years ago)
- Location:
- trunk/psModules/src/objects
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
pmPSF_IO.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/objects
-
Property svn:mergeinfo
set to
/branches/eam_branches/ipp-20101103/psModules/src/objects merged eligible /branches/eam_branches/ipp-20101205/psModules/src/objects merged eligible
-
Property svn:mergeinfo
set to
-
trunk/psModules/src/objects/pmPSF_IO.c
r29004 r30031 62 62 #include "pmSourceIO.h" 63 63 64 bool pmPSFmodelReadPSFClump (psMetadata *analysis, psMetadata *header); 65 64 66 bool pmPSFmodelCheckDataStatusForView (const pmFPAview *view, const pmFPAfile *file) 65 67 { … … 851 853 852 854 // read the psf clump data for each region 855 status = false; 853 856 if (roAnalysis) { 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]; 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 } 913 } 857 status = pmPSFmodelReadPSFClump (roAnalysis, header); 858 if (!status) { 859 psMetadataAddS32 (roAnalysis, PS_LIST_TAIL, "PSF.CLUMP.NREGIONS", PS_META_REPLACE, "psf clump regions", 0); 860 } 861 } 862 if (!roAnalysis || !status) { 863 psWarning ("no PSF.CLUMP data available for PSF model"); 914 864 } 915 865 … … 1123 1073 } 1124 1074 1125 // XXX pmPSF to/from Metadata functions were defined for 1.22 and earlier, but were dropped 1075 bool pmPSFmodelReadPSFClump (psMetadata *analysis, psMetadata *header) { 1076 1077 bool status = false;; 1078 1079 int nRegions = psMetadataLookupS32 (&status, header, "PSF_CLN"); 1080 if (!status) { 1081 // read old-style psf clump data 1082 1083 char regionName[64]; 1084 snprintf (regionName, 64, "PSF.CLUMP.REGION.000"); 1085 psMetadata *regionMD = psMetadataLookupPtr (&status, analysis, regionName); 1086 1087 if (!regionMD) { 1088 regionMD = psMetadataAlloc(); 1089 psMetadataAddMetadata (analysis, PS_LIST_TAIL, regionName, PS_META_REPLACE, "psf clump region", regionMD); 1090 psFree (regionMD); 1091 } 1092 1093 // psf clump data 1094 pmPSFClump psfClump; 1095 psfClump.X = psMetadataLookupF32 (&status, header, "PSF_CLX" ); if (!status) return false; 1096 psfClump.Y = psMetadataLookupF32 (&status, header, "PSF_CLY" ); if (!status) return false; 1097 psfClump.dX = psMetadataLookupF32 (&status, header, "PSF_CLDX"); if (!status) return false; 1098 psfClump.dY = psMetadataLookupF32 (&status, header, "PSF_CLDY"); if (!status) return false; 1099 1100 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.X", PS_META_REPLACE, "psf clump center", psfClump.X); 1101 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.Y", PS_META_REPLACE, "psf clump center", psfClump.Y); 1102 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.DX", PS_META_REPLACE, "psf clump center", psfClump.dX); 1103 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.DY", PS_META_REPLACE, "psf clump center", psfClump.dY); 1104 psMetadataAddS32 (analysis, PS_LIST_TAIL, "PSF.CLUMP.NREGIONS", PS_META_REPLACE, "psf clump regions", 1); 1105 } else { 1106 for (int i = 0; i < nRegions; i++) { 1107 char key[10]; 1108 char regionName[64]; 1109 snprintf (regionName, 64, "PSF.CLUMP.REGION.%03d", i); 1110 1111 psMetadata *regionMD = psMetadataLookupPtr (&status, analysis, regionName); 1112 if (!regionMD) { 1113 regionMD = psMetadataAlloc(); 1114 psMetadataAddMetadata (analysis, PS_LIST_TAIL, regionName, PS_META_REPLACE, "psf clump region", regionMD); 1115 psFree (regionMD); 1116 } 1117 1118 // psf clump data 1119 pmPSFClump psfClump; 1120 1121 snprintf (key, 9, "CLX_%03d", i); 1122 psfClump.X = psMetadataLookupF32 (&status, header, key); if (!status) return false; 1123 snprintf (key, 9, "CLY_%03d", i); 1124 psfClump.Y = psMetadataLookupF32 (&status, header, key); if (!status) return false; 1125 snprintf (key, 9, "CLDX_%03d", i); 1126 psfClump.dX = psMetadataLookupF32 (&status, header, key); if (!status) return false; 1127 snprintf (key, 9, "CLDY_%03d", i); 1128 psfClump.dY = psMetadataLookupF32 (&status, header, key); if (!status) return false; 1129 1130 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.X", PS_META_REPLACE, "psf clump center", psfClump.X); 1131 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.Y", PS_META_REPLACE, "psf clump center", psfClump.Y); 1132 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.DX", PS_META_REPLACE, "psf clump center", psfClump.dX); 1133 psMetadataAddF32 (regionMD, PS_LIST_TAIL, "PSF.CLUMP.DY", PS_META_REPLACE, "psf clump center", psfClump.dY); 1134 } 1135 psMetadataAddS32 (analysis, PS_LIST_TAIL, "PSF.CLUMP.NREGIONS", PS_META_REPLACE, "psf clump regions", nRegions); 1136 } 1137 return true; 1138 }
Note:
See TracChangeset
for help on using the changeset viewer.
