Changeset 36635 for trunk/ppBackground/src/ppBackgroundStackMath.c
- Timestamp:
- Apr 2, 2014, 1:13:06 PM (12 years ago)
- File:
-
- 1 edited
-
trunk/ppBackground/src/ppBackgroundStackMath.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppBackground/src/ppBackgroundStackMath.c
r36615 r36635 94 94 psImage *dec = psMetadataLookupPtr(NULL, chipItem->data.md, "bkg dec"); 95 95 96 psVector *obs = psVectorAlloc (image->numRows * image->numCols, PS_TYPE_F32);97 psVector *model= psVectorAlloc (image->numRows * image->numCols, PS_TYPE_F32);96 psVector *obs = psVectorAllocEmpty(image->numRows, PS_TYPE_F32); 97 psVector *model= psVectorAllocEmpty(image->numRows, PS_TYPE_F32); 98 98 99 99 for (v = 0; v < image->numRows; v++) { 100 100 for (u = 0; u < image->numCols; u++) { 101 obs->data.F32[v * image->numCols + u] = image->data.F32[v][u]; 102 model->data.F32[v * image->numCols + u] = psImageMapEval(data->modelMap,ra->data.F32[v][u],dec->data.F32[v][u]); 101 if ((ra->data.F32[v][u] < data->x_min)||(ra->data.F32[v][u] > data->x_max)|| 102 (dec->data.F32[v][u] < data->y_min)||(dec->data.F32[v][u] > data->y_max)) { continue; } 103 psVectorAppend(obs,image->data.F32[v][u]); 104 psVectorAppend(model, psImageMapEval(data->modelMap,ra->data.F32[v][u],dec->data.F32[v][u])); 105 // obs->data.F32[v * image->numCols + u] = image->data.F32[v][u]; 106 // model->data.F32[v * image->numCols + u] = psImageMapEval(data->modelMap,ra->data.F32[v][u],dec->data.F32[v][u]); 103 107 } 104 108 } … … 140 144 psImage *model = psMetadataLookupPtr(NULL, chipItem->data.md, "bkg calibrated data"); 141 145 psImage *camera= psMetadataLookupPtr(NULL, data->OTA_solutions, chipName); 146 psImage *ra = psMetadataLookupPtr(NULL, chipItem->data.md, "bkg ra"); 147 psImage *dec = psMetadataLookupPtr(NULL, chipItem->data.md, "bkg dec"); 142 148 143 149 psF32 offset = psMetadataLookupF32(NULL,chipItem->data.md,"bkg offset"); … … 146 152 for (v = 0; v < image->numRows; v++) { 147 153 for (u = 0; u < image->numCols; u++) { 154 if ((ra->data.F32[v][u] < data->x_min)||(ra->data.F32[v][u] > data->x_max)|| 155 (dec->data.F32[v][u] < data->y_min)||(dec->data.F32[v][u] > data->y_max)) { continue; } 156 148 157 model->data.F32[v][u] = scale * image->data.F32[v][u] - offset - camera->data.F32[v][u]; 149 158 } … … 164 173 int u,v; 165 174 175 long used; 166 176 psS16 N = psMetadataLookupS16(NULL, data->models, "N"); 167 psVector *X = psVectorAlloc (N * 60* 13 * 13,PS_TYPE_F32);168 psVector *Y = psVectorAlloc (N * 60* 13 * 13,PS_TYPE_F32);169 psVector *Z = psVectorAlloc (N * 60* 13 * 13,PS_TYPE_F32);170 psVector *E = psVectorAlloc (N * 60* 13 * 13,PS_TYPE_F32);171 psVector *mask = psVectorAlloc (N * 60* 13 * 13,PS_TYPE_VECTOR_MASK);177 psVector *X = psVectorAllocEmpty(N * 13 * 13,PS_TYPE_F32); 178 psVector *Y = psVectorAllocEmpty(N * 13 * 13,PS_TYPE_F32); 179 psVector *Z = psVectorAllocEmpty(N * 13 * 13,PS_TYPE_F32); 180 psVector *E = psVectorAllocEmpty(N * 13 * 13,PS_TYPE_F32); 181 psVector *mask = psVectorAllocEmpty(N * 13 * 13,PS_TYPE_VECTOR_MASK); 172 182 j = 0; 173 183 … … 187 197 psImage *ra = psMetadataLookupPtr(NULL, chipItem->data.md, "bkg ra"); 188 198 psImage *dec = psMetadataLookupPtr(NULL, chipItem->data.md, "bkg dec"); 199 // psImage *model = psMetadataLookupPtr(NULL, chipItem->data.md, "bkg image"); 189 200 for (v = 0; v < calib->numRows; v++) { 190 201 for (u = 0; u < calib->numCols; u++) { 191 X->data.F32[j] = ra->data.F32[v][u]; 192 Y->data.F32[j] = dec->data.F32[v][u]; 193 Z->data.F32[j] = calib->data.F32[v][u]; 194 E->data.F32[j] = 1.0; 195 mask->data.PS_TYPE_VECTOR_MASK_DATA[j] = 0; 202 if ((ra->data.F32[v][u] < data->x_min)||(ra->data.F32[v][u] > data->x_max)|| 203 (dec->data.F32[v][u] < data->y_min)||(dec->data.F32[v][u] > data->y_max)) { 204 j++; 205 continue; } 206 psVectorAppend(X,ra->data.F32[v][u]); 207 psVectorAppend(Y,dec->data.F32[v][u]); 208 psVectorAppend(Z,calib->data.F32[v][u]); 209 psVectorAppend(E,1.0); 210 psVectorAppend(mask,0); 211 /* X->data.F32[j] = ra->data.F32[v][u]; */ 212 /* Y->data.F32[j] = dec->data.F32[v][u]; */ 213 /* Z->data.F32[j] = calib->data.F32[v][u]; */ 214 /* E->data.F32[j] = 1.0; */ 215 /* mask->data.PS_TYPE_VECTOR_MASK_DATA[j] = 0; */ 216 used++; 196 217 j++; 218 219 /* printf("DATA %ld %ld %f %f %f %f\n", */ 220 /* j,used, */ 221 /* ra->data.F32[v][u], */ 222 /* dec->data.F32[v][u], */ 223 /* calib->data.F32[v][u], */ 224 /* model->data.F32[v][u]); */ 225 197 226 } 198 227 } … … 200 229 psFree(chipIter); 201 230 } // End smfs 202 231 printf("%ld %ld\n", j,used); 203 232 bool fitStatus; 204 bool status = psImageMapClipFit(&fitStatus,data->modelMap,stats, mask, 0, X, Y, Z, E);233 bool status = psImageMapClipFit(&fitStatus,data->modelMap,stats, mask, 1, X, Y, Z, E); 205 234 206 235 psFree(expIter);
Note:
See TracChangeset
for help on using the changeset viewer.
