Changeset 12709 for trunk/psModules/src/objects/pmSourceIO_SMPDATA.c
- Timestamp:
- Mar 31, 2007, 4:33:59 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/psModules/src/objects/pmSourceIO_SMPDATA.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/objects/pmSourceIO_SMPDATA.c
r12696 r12709 3 3 * @author EAM, IfA 4 4 * 5 * @version $Revision: 1. 3$ $Name: not supported by cvs2svn $6 * @date $Date: 2007-0 3-30 21:12:56$5 * @version $Revision: 1.4 $ $Name: not supported by cvs2svn $ 6 * @date $Date: 2007-04-01 02:33:59 $ 7 7 * 8 8 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 51 51 psEllipseShape shape; 52 52 psEllipseAxes axes; 53 psF32 xPos, yPos; 53 54 54 55 // find config information for output header … … 60 61 pmSource *source = (pmSource *) sources->data[i]; 61 62 pmModel *model = pmSourceSelectModel (source); 62 if (model == NULL) 63 continue; 64 65 PAR = model->params->data.F32; 66 dPAR = model->dparams->data.F32; 67 68 type = pmSourceDophotType (source); 69 lsky = (source->sky < 1.0) ? 0.0 : log10(source->sky); 70 71 shape.sx = PAR[PM_PAR_SXX]; 72 shape.sy = PAR[PM_PAR_SYY]; 73 shape.sxy = PAR[PM_PAR_SXY]; 74 axes = psEllipseShapeToAxes (shape, 20.0); 63 if (model != NULL) { 64 PAR = model->params->data.F32; 65 dPAR = model->dparams->data.F32; 66 xPos = PAR[PM_PAR_XPOS]; 67 yPos = PAR[PM_PAR_YPOS]; 68 69 type = pmSourceDophotType (source); 70 lsky = (source->sky < 1.0) ? 0.0 : log10(source->sky); 71 72 shape.sx = PAR[PM_PAR_SXX]; 73 shape.sy = PAR[PM_PAR_SYY]; 74 shape.sxy = PAR[PM_PAR_SXY]; 75 if ((shape.sx == 0) || (shape.sy == 0)) { 76 axes.major = 0.0; 77 axes.minor = 0.0; 78 axes.theta = 0.0; 79 } else { 80 axes = psEllipseShapeToAxes (shape, 20.0); 81 } 82 } else { 83 xPos = source->peak->xf; 84 yPos = source->peak->yf; 85 axes.major = 0.0; 86 axes.minor = 0.0; 87 axes.theta = 0.0; 88 } 75 89 76 90 row = psMetadataAlloc (); 77 psMetadataAdd (row, PS_LIST_TAIL, "X_PIX", PS_DATA_F32, "", PAR[PM_PAR_XPOS]);78 psMetadataAdd (row, PS_LIST_TAIL, "Y_PIX", PS_DATA_F32, "", PAR[PM_PAR_YPOS]);91 psMetadataAdd (row, PS_LIST_TAIL, "X_PIX", PS_DATA_F32, "", xPos); 92 psMetadataAdd (row, PS_LIST_TAIL, "Y_PIX", PS_DATA_F32, "", yPos); 79 93 psMetadataAdd (row, PS_LIST_TAIL, "MAG_RAW", PS_DATA_F32, "", PS_MIN (99.0, source->psfMag + ZERO_POINT)); 80 94 psMetadataAdd (row, PS_LIST_TAIL, "MAG_ERR", PS_DATA_F32, "", PS_MIN (999, 1000*source->errMag)); … … 159 173 axes.theta = psMetadataLookupF32 (&status, row, "THETA"); 160 174 161 shape = psEllipseAxesToShape (axes); 162 163 PAR[PM_PAR_SXX] = shape.sx; 164 PAR[PM_PAR_SYY] = shape.sy; 165 PAR[PM_PAR_SXY] = shape.sxy; 175 bool skip = false; 176 skip |= (axes.major <= 0); 177 skip |= (axes.minor <= 0); 178 if (!skip) { 179 shape = psEllipseAxesToShape (axes); 180 PAR[PM_PAR_SXX] = shape.sx; 181 PAR[PM_PAR_SYY] = shape.sy; 182 PAR[PM_PAR_SXY] = shape.sxy; 183 } else { 184 PAR[PM_PAR_SXX] = 0.0; 185 PAR[PM_PAR_SYY] = 0.0; 186 PAR[PM_PAR_SXY] = 0.0; 187 } 166 188 167 189 source->psfMag = psMetadataLookupF32 (&status, row, "MAG_RAW") - ZERO_POINT; … … 170 192 source->apMag = psMetadataLookupF32 (&status, row, "MAG_AP") - ZERO_POINT; 171 193 194 psF64 Area = 2.0 * M_PI * axes.major * axes.minor; 195 psF64 peakFlux = source->psfMag / Area; 196 197 source->peak = pmPeakAlloc(PAR[PM_PAR_XPOS], PAR[PM_PAR_YPOS], peakFlux, PM_PEAK_LONE); 172 198 sources->data[i] = source; 173 199 }
Note:
See TracChangeset
for help on using the changeset viewer.
