Changeset 37622
- Timestamp:
- Nov 18, 2014, 1:58:02 AM (12 years ago)
- Location:
- branches/eam_branches/ipp-20140904/Ohana/src/relastro
- Files:
-
- 11 edited
-
include/relastro.h (modified) (1 diff)
-
src/FitChip.c (modified) (1 diff)
-
src/FrameCorrection.c (modified) (7 diffs)
-
src/ICRF.c (modified) (1 diff)
-
src/ImageOps.c (modified) (1 diff)
-
src/UpdateMeasures.c (modified) (2 diffs)
-
src/UpdateObjectOffsets.c (modified) (1 diff)
-
src/UpdateObjects.c (modified) (3 diffs)
-
src/bcatalog.c (modified) (1 diff)
-
src/fitpoly.c (modified) (1 diff)
-
src/relastro_images.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20140904/Ohana/src/relastro/include/relastro.h
r37606 r37622 583 583 int FrameCorrectionFitLocal (Catalog *catalog, int Ncatalog, AstromOffsetMap *map, Coords *coords); 584 584 int FrameCorrectionApply (Catalog *catalog, int Ncatalog, FrameCorrectionType *frame, AstromOffsetMap *map, Coords *coords, int POLE); 585 586 int dump_stardata_pts (StarData *raw, int Npts, char *filename); 587 void printNcatTotal (); 588 -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/FitChip.c
r37606 r37622 323 323 return TRUE; 324 324 } 325 326 int dump_stardata_pts (StarData *raw, int Npts, char *filename) { 327 328 FILE *f = fopen (filename, "w"); 329 if (!f) { 330 fprintf (stderr, "failed to open file %s\n", filename); 331 return FALSE; 332 } 333 334 int i; 335 for (i = 0; i < Npts; i++) { 336 fprintf (f, "%4d %10.6f %10.6f %10.6f %10.6f %9.2f %9.2f %9.2f %9.2f\n", 337 i, raw[i].R, raw[i].D, raw[i].P, raw[i].Q, raw[i].L, raw[i].M, raw[i].X, raw[i].Y); 338 } 339 fclose (f); 340 341 return TRUE; 342 } -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/FrameCorrection.c
r37604 r37622 1 1 # include "relastro.h" 2 int FrameCorrectionWriteImageSH (FrameCorrectionType *frame, char *filename, int raDirection); 2 3 3 4 /* The sequence of calibration is something like this: … … 27 28 28 29 // binD = (DEC + 89.0) / scale 29 ALLOCATE (frame->Nra, int, frame->Ndec); 30 ALLOCATE (frame->Nra, int, frame->Ndec); 31 ALLOCATE (frame->dR, double, frame->Ndec); 30 32 ALLOCATE (frame->Roff, double *, frame->Ndec); 31 33 ALLOCATE (frame->Doff, double *, frame->Ndec); … … 86 88 FrameCorrectionType *frame = NULL; 87 89 88 # define LOCAL_FRAME 189 # define SH_FRAME 090 # define LOCAL_FRAME 0 91 # define SH_FRAME 1 90 92 91 93 int POLE = FALSE; … … 144 146 145 147 // XXX write out an image to represent the correction 148 FrameCorrectionWriteImageSH (frame, "map.dR.fits", TRUE); 149 FrameCorrectionWriteImageSH (frame, "map.dD.fits", FALSE); 146 150 147 151 SHtermsFree (dRc); … … 166 170 167 171 int Nicrf = ICRFmax(); 172 fprintf (stderr, "start Fit %d SH l-modes for %d QSOs\n", dRc->lmax, Nicrf); 168 173 169 174 int i, j; … … 186 191 double dR = average->R - measure->R; 187 192 double dD = average->D - measure->D; 193 194 if (isnan(dR)) continue; 195 if (isnan(dD)) continue; 188 196 189 197 // get the value of Ylm at this coordinate … … 238 246 } 239 247 248 // write out the maps as images 249 int FrameCorrectionWriteImageSH (FrameCorrectionType *frame, char *filename, int raDirection) { 250 251 Header header; 252 Matrix matrix; 253 Coords coords; 254 255 gfits_init_header (&header); 256 header.bitpix = -32; 257 header.Naxes = 2; 258 header.Naxis[0] = 370.0 / frame->scale; 259 header.Naxis[1] = 190.0 / frame->scale; 260 261 int Nx = header.Naxis[0]; 262 int Ny = header.Naxis[1]; 263 264 gfits_create_header (&header); 265 gfits_create_matrix (&header, &matrix); 266 267 InitCoords (&coords, "DEC--AIT"); 268 coords.cdelt1 = coords.cdelt2 = frame->scale; 269 coords.crval1 = 0.0; // SAS center 270 coords.crval2 = 0.0; 271 coords.crpix1 = 0.5*Nx; // middle of projection is middle of map 272 coords.crpix2 = 0.5*Ny; // middle of projection is middle of map 273 274 PutCoords (&coords, &header); 275 276 float *buffer = (float *)matrix.buffer; 277 278 int ix, iy; 279 for (ix = 0; ix < Nx; ix++) { 280 for (iy = 0; iy < Ny; iy++) { 281 double R, D; 282 int status = XY_to_RD (&R, &D, ix, iy, &coords); 283 if (!status) continue; 284 285 int iD = (D + 89.0) / frame->scale; 286 int iR = R / frame->dR[iD]; 287 288 float value = NAN; 289 if (raDirection) { 290 value = frame->Roff[iD][iR]; 291 } else { 292 value = frame->Doff[iD][iR]; 293 } 294 buffer[ix + Nx*iy] = value; 295 } 296 } 297 gfits_write_header (filename, &header); 298 gfits_write_matrix (filename, &matrix); 299 return TRUE; 300 } 301 240 302 int FrameCorrectionFitLocal (Catalog *catalog, int Ncatalog, AstromOffsetMap *map, Coords *coords) { 241 303 -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/ICRF.c
r37604 r37622 18 18 int ICRFsave (int cat, int ave, int meas) { 19 19 20 fprintf (stderr, "ICRF: %d %d %d\n", cat, ave, meas);20 // fprintf (stderr, "ICRF: %d %d %d\n", cat, ave, meas); 21 21 22 22 ICRFtoCatalog[Nicrf] = cat; -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/ImageOps.c
r37606 r37622 816 816 // XXX subtract off dR,dD GAL here 817 817 if (USE_GALAXY_MODEL) { 818 myAssert (!isnan(measure[0].RoffGAL), "oops"); 819 myAssert (!isnan(measure[0].DoffGAL), "oops"); 818 820 ref[i].R += measure[0].RoffGAL / 3600.0; 819 821 ref[i].D += measure[0].DoffGAL / 3600.0; -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/UpdateMeasures.c
r35763 r37622 1 1 # include "relastro.h" 2 3 void printNcatTotal ();4 2 5 3 // this function operates on Measure, not MeasureTiny … … 32 30 } 33 31 34 printNcatTotal ();32 // printNcatTotal (); 35 33 36 34 return (TRUE); -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/UpdateObjectOffsets.c
r37606 r37622 74 74 save_catalogs (&catalog, 1); 75 75 } 76 76 printNcatTotal(); 77 77 return (TRUE); 78 78 } -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/UpdateObjects.c
r37606 r37622 132 132 UpdateObjects_Chips(average, secfilt, measure, measureBig, Nsecfilt, &fitStatsChips, i, m, Nloop); 133 133 } 134 if (VERBOSE ) fprintf (stderr, "catalog %d : chips "OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par : Nskip "OFF_T_FMT", Noffset "OFF_T_FMT"\n", i, fitStatsChips.Nave, fitStatsChips.Npm, fitStatsChips.Npar, fitStatsChips.Nskip, fitStatsChips.Noffset);135 if (VERBOSE ) fprintf (stderr, "catalog %d : stack "OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par : Nskip "OFF_T_FMT", Noffset "OFF_T_FMT"\n", i, fitStatsStack.Nave, fitStatsStack.Npm, fitStatsStack.Npar, fitStatsStack.Nskip, fitStatsStack.Noffset);134 if (VERBOSE2) fprintf (stderr, "catalog %d : chips "OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par : Nskip "OFF_T_FMT", Noffset "OFF_T_FMT"\n", i, fitStatsChips.Nave, fitStatsChips.Npm, fitStatsChips.Npar, fitStatsChips.Nskip, fitStatsChips.Noffset); 135 if (VERBOSE2) fprintf (stderr, "catalog %d : stack "OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par : Nskip "OFF_T_FMT", Noffset "OFF_T_FMT"\n", i, fitStatsStack.Nave, fitStatsStack.Npm, fitStatsStack.Npar, fitStatsStack.Nskip, fitStatsStack.Noffset); 136 136 sumFitStats (&fitStatsChips, &sumStatsChips); 137 137 sumFitStats (&fitStatsStack, &sumStatsStack); … … 139 139 freeObjectData (); 140 140 141 if (VERBOSE ) fprintf (stderr, "fitted "OFF_T_FMT" objects ("OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par), skipped "OFF_T_FMT", "OFF_T_FMT" have too large an offset\n", (sumStatsChips.Nave + sumStatsChips.Npm + sumStatsChips.Npar), sumStatsChips.Nave, sumStatsChips.Npm, sumStatsChips.Npar, sumStatsChips.Nskip, sumStatsChips.Noffset);142 if (VERBOSE ) fprintf (stderr, "fitted "OFF_T_FMT" objects ("OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par), skipped "OFF_T_FMT", "OFF_T_FMT" have too large an offset\n", (sumStatsStack.Nave + sumStatsStack.Npm + sumStatsStack.Npar), sumStatsStack.Nave, sumStatsStack.Npm, sumStatsStack.Npar, sumStatsStack.Nskip, sumStatsStack.Noffset);141 if (VERBOSE && (Ncatalog > 1)) fprintf (stderr, "fitted "OFF_T_FMT" objects ("OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par), skipped "OFF_T_FMT", "OFF_T_FMT" have too large an offset\n", (sumStatsChips.Nave + sumStatsChips.Npm + sumStatsChips.Npar), sumStatsChips.Nave, sumStatsChips.Npm, sumStatsChips.Npar, sumStatsChips.Nskip, sumStatsChips.Noffset); 142 if (VERBOSE && (Ncatalog > 1)) fprintf (stderr, "fitted "OFF_T_FMT" objects ("OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par), skipped "OFF_T_FMT", "OFF_T_FMT" have too large an offset\n", (sumStatsStack.Nave + sumStatsStack.Npm + sumStatsStack.Npar), sumStatsStack.Nave, sumStatsStack.Npm, sumStatsStack.Npar, sumStatsStack.Nskip, sumStatsStack.Noffset); 143 143 return (TRUE); 144 144 } … … 501 501 coords.crval1 = average[0].R; 502 502 coords.crval2 = average[0].D; 503 if (isnan(coords.crval1)) { 504 return (FALSE); 505 } 506 if (isnan(coords.crval2)) { 507 return (FALSE); 508 } 503 509 504 510 double dXoff, dYoff; -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/bcatalog.c
r37604 r37622 247 247 } 248 248 249 fprintf (stderr, "added %d ICRF QSO\n", Nicrf);249 // fprintf (stderr, "added %d ICRF QSO\n", Nicrf); 250 250 251 251 return (TRUE); -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/fitpoly.c
r37438 r37622 353 353 /* keep the order and type from initial values */ 354 354 355 if (isnan(coords[0].crval1)) { 356 return FALSE; 357 } 358 if (isnan(coords[0].crval2)) { 359 return FALSE; 360 } 361 if (isnan(coords[0].crpix1)) { 362 return FALSE; 363 } 364 if (isnan(coords[0].crpix2)) { 365 return FALSE; 366 } 367 355 368 return (TRUE); 356 369 } -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/relastro_images.c
r37606 r37622 74 74 // XXX is is really possible that I do not update the measure.R,D on each loop?? 75 75 UpdateObjects (catalog, Ncatalog, i); // calculate <R>,<D> 76 if (i > 2) FrameCorrection (catalog, Ncatalog); 76 FrameCorrection (catalog, Ncatalog); 77 // if (i > 2) FrameCorrection (catalog, Ncatalog); 77 78 UpdateChips (catalog, Ncatalog); // measure.X,Y -> R,D, fit image.coords 78 79 MARKTIME("update chips: %f sec\n", dtime);
Note:
See TracChangeset
for help on using the changeset viewer.
