- Timestamp:
- Nov 25, 2008, 4:51:39 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branch_20081124/Ohana/src/opihi/dvo/imextract.c
r17246 r20839 165 165 166 166 /* create storage vector */ 167 REALLOCATE (vec[0].elements , float, Nimage);167 REALLOCATE (vec[0].elements.Flt, opihi_flt, Nimage); 168 168 vec[0].Nelements = Nimage; 169 169 … … 186 186 y = 0.5*image[j].NY; 187 187 XY_to_RD (&ra, &dec, x, y, &image[j].coords); 188 vec[0].elements [N] = ra;188 vec[0].elements.Flt[N] = ra; 189 189 break; 190 190 case DEC: … … 193 193 y = 0.5*image[j].NY; 194 194 XY_to_RD (&ra, &dec, x, y, &image[j].coords); 195 vec[0].elements [N] = dec;195 vec[0].elements.Flt[N] = dec; 196 196 break; 197 197 case Xm: 198 vec[0].elements [N] = pow(10.0, 0.01*image[j].Xm);198 vec[0].elements.Flt[N] = pow(10.0, 0.01*image[j].Xm); 199 199 break; 200 200 case AIRMASS: 201 vec[0].elements [N] = image[j].secz;201 vec[0].elements.Flt[N] = image[j].secz; 202 202 break; 203 203 case MCAL: 204 vec[0].elements [N] = image[j].Mcal;204 vec[0].elements.Flt[N] = image[j].Mcal; 205 205 break; 206 206 case dMCAL: 207 vec[0].elements [N] = image[j].dMcal;207 vec[0].elements.Flt[N] = image[j].dMcal; 208 208 break; 209 209 case PHOTCODE: 210 vec[0].elements [N] = image[j].photcode;210 vec[0].elements.Flt[N] = image[j].photcode; 211 211 break; 212 212 case TIME: 213 213 t = image[j].tzero + 0.5*image[j].NY * image[j].trate / 10000; 214 vec[0].elements [N] = TimeValue (t, TimeReference, TimeFormat);214 vec[0].elements.Flt[N] = TimeValue (t, TimeReference, TimeFormat); 215 215 break; 216 216 case FWHM: 217 vec[0].elements [N] = image[j].fwhm_x / 25.0;217 vec[0].elements.Flt[N] = image[j].fwhm_x / 25.0; 218 218 break; 219 219 case EXPTIME: 220 vec[0].elements [N] = image[j].exptime;220 vec[0].elements.Flt[N] = image[j].exptime; 221 221 break; 222 222 case NSTAR: 223 vec[0].elements [N] = image[j].nstar;223 vec[0].elements.Flt[N] = image[j].nstar; 224 224 break; 225 225 case NCAL: 226 vec[0].elements [N] = image[j].Mxxxx;226 vec[0].elements.Flt[N] = image[j].Mxxxx; 227 227 break; 228 228 case SKY: 229 vec[0].elements [N] = image[j].Myyyy + 0x8000;229 vec[0].elements.Flt[N] = image[j].Myyyy + 0x8000; 230 230 break; 231 231 case FLAG: 232 vec[0].elements [N] = image[j].code;232 vec[0].elements.Flt[N] = image[j].code; 233 233 break; 234 234 case NX_PIX: 235 vec[0].elements [N] = image[j].NX;235 vec[0].elements.Flt[N] = image[j].NX; 236 236 break; 237 237 case NY_PIX: 238 vec[0].elements [N] = image[j].NY;238 vec[0].elements.Flt[N] = image[j].NY; 239 239 break; 240 240 case IMAGE_ID: 241 vec[0].elements [N] = image[j].imageID;241 vec[0].elements.Flt[N] = image[j].imageID; 242 242 break; 243 243 case THETA: { … … 247 247 theta1 = DEG_RAD*atan2 (+s1*image[j].coords.pc1_2, s1*image[j].coords.pc1_1); 248 248 theta2 = DEG_RAD*atan2 (-s2*image[j].coords.pc2_1, s2*image[j].coords.pc2_2); 249 vec[0].elements [N] = 0.5*(theta1+theta2);249 vec[0].elements.Flt[N] = 0.5*(theta1+theta2); 250 250 break; } 251 251 case SKEW: { … … 255 255 theta1 = DEG_RAD*atan2 (+s1*image[j].coords.pc1_2, s1*image[j].coords.pc1_1); 256 256 theta2 = DEG_RAD*atan2 (-s2*image[j].coords.pc2_1, s2*image[j].coords.pc2_2); 257 vec[0].elements [N] = (theta1-theta2);257 vec[0].elements.Flt[N] = (theta1-theta2); 258 258 break; } 259 259 case SCALE: { … … 261 261 scale1 = fabs(image[j].coords.cdelt1); 262 262 scale2 = fabs(image[j].coords.cdelt2); 263 vec[0].elements [N] = 0.5*(scale1+scale2);263 vec[0].elements.Flt[N] = 0.5*(scale1+scale2); 264 264 break; } 265 265 case DSCALE: { … … 267 267 scale1 = fabs(image[j].coords.cdelt1); 268 268 scale2 = fabs(image[j].coords.cdelt2); 269 vec[0].elements [N] = (scale1-scale2);269 vec[0].elements.Flt[N] = (scale1-scale2); 270 270 break; } 271 271 … … 275 275 case Y_LR_CHIP: 276 276 case X_UL_CHIP: 277 vec[0].elements [N] = 0.0;277 vec[0].elements.Flt[N] = 0.0; 278 278 break; 279 279 case X_LR_CHIP: 280 280 case X_UR_CHIP: 281 vec[0].elements [N] = image[j].NX;281 vec[0].elements.Flt[N] = image[j].NX; 282 282 break; 283 283 case Y_UL_CHIP: 284 284 case Y_UR_CHIP: 285 vec[0].elements [N] = image[j].NX;285 vec[0].elements.Flt[N] = image[j].NX; 286 286 break; 287 287 … … 289 289 case Y_LL_FP: 290 290 XY_to_LM (&x, &y, 0.0, 0.0, &image[j].coords); 291 vec[0].elements [N] = (mode == X_LL_FP) ? x : y;291 vec[0].elements.Flt[N] = (mode == X_LL_FP) ? x : y; 292 292 break; 293 293 case X_LR_FP: 294 294 case Y_LR_FP: 295 295 XY_to_LM (&x, &y, image[j].NX, 0.0, &image[j].coords); 296 vec[0].elements [N] = (mode == X_LR_FP) ? x : y;296 vec[0].elements.Flt[N] = (mode == X_LR_FP) ? x : y; 297 297 break; 298 298 case X_UL_FP: 299 299 case Y_UL_FP: 300 300 XY_to_LM (&x, &y, 0.0, image[j].NY, &image[j].coords); 301 vec[0].elements [N] = (mode == X_UL_FP) ? x : y;301 vec[0].elements.Flt[N] = (mode == X_UL_FP) ? x : y; 302 302 break; 303 303 case X_UR_FP: 304 304 case Y_UR_FP: 305 305 XY_to_LM (&x, &y, image[j].NX, image[j].NY, &image[j].coords); 306 vec[0].elements [N] = (mode == X_UR_FP) ? x : y;306 vec[0].elements.Flt[N] = (mode == X_UR_FP) ? x : y; 307 307 break; 308 308 } … … 311 311 312 312 vec[0].Nelements = N; 313 REALLOCATE (vec[0].elements , float, N);313 REALLOCATE (vec[0].elements.Flt, opihi_flt, N); 314 314 315 315 free (subset);
Note:
See TracChangeset
for help on using the changeset viewer.
