Changeset 7080
- Timestamp:
- May 5, 2006, 5:44:26 PM (20 years ago)
- Location:
- trunk/Ohana
- Files:
-
- 1 added
- 2 deleted
- 277 edited
-
configure (modified) (2 diffs)
-
src/addstar/doc/ChangeLog.txt (modified) (1 diff)
-
src/addstar/src/RegionOps.c (modified) (1 diff)
-
src/addstar/src/Shutdown.c (modified) (1 diff)
-
src/addstar/src/args.c (modified) (2 diffs)
-
src/addstar/src/args_client.c (modified) (2 diffs)
-
src/addstar/src/gcatalog.c (modified) (1 diff)
-
src/addstar/src/gimages.c (modified) (1 diff)
-
src/addstar/src/gstars.c (modified) (10 diffs)
-
src/addstar/src/image-db.c (modified) (3 diffs)
-
src/addstar/src/mkcatalog.c (modified) (7 diffs)
-
src/addstar/src/parse_time.c (modified) (4 diffs)
-
src/addstar/src/rfits.c (modified) (1 diff)
-
src/addstar/src/wcatalog.c (modified) (2 diffs)
-
src/addstar/src/wimage.c (modified) (1 diff)
-
src/delstar/doc/ChangeLog.txt (modified) (1 diff)
-
src/delstar/src/RegionOps.c (modified) (1 diff)
-
src/delstar/src/Shutdown.c (modified) (1 diff)
-
src/delstar/src/delete_imagefile.c (modified) (1 diff)
-
src/delstar/src/delete_imagename.c (modified) (2 diffs)
-
src/delstar/src/delete_times.c (modified) (2 diffs)
-
src/delstar/src/find_image_db.c (modified) (3 diffs)
-
src/delstar/src/gimages.c (modified) (3 diffs)
-
src/delstar/src/parse_time.c (modified) (4 diffs)
-
src/delstar/src/wcatalog.c (modified) (1 diff)
-
src/elixir/doc/ChangeLog.txt (modified) (1 diff)
-
src/elixir/src/Photcodes.c (modified) (7 diffs)
-
src/fixcat/src/find_images.c (modified) (1 diff)
-
src/fixcat/src/gcatalog.c (modified) (2 diffs)
-
src/fixcat/src/gcatstats.c (modified) (1 diff)
-
src/fixcat/src/wcatalog.c (modified) (1 diff)
-
src/gastro/doc/ChangeLog.txt (modified) (1 diff)
-
src/gastro/src/gheader.c (modified) (2 diffs)
-
src/gastro/src/gstars.c (modified) (7 diffs)
-
src/gastro2/doc/ChangeLog.txt (modified) (1 diff)
-
src/gastro2/src/gheader2.c (modified) (2 diffs)
-
src/gastro2/src/gstars2.c (modified) (4 diffs)
-
src/gastro2/src/rfits.c (modified) (1 diff)
-
src/getstar/src/Shutdown.c (modified) (1 diff)
-
src/getstar/src/mkcatalog.c (modified) (7 diffs)
-
src/gophot/src/dophot.c (modified) (3 diffs)
-
src/gophot/src/gophot.c (modified) (2 diffs)
-
src/imclean/doc/ChangeLog.txt (modified) (1 diff)
-
src/imclean/src/AdjustHeader.c (modified) (5 diffs)
-
src/imclean/src/LoadStarsChad.c (modified) (1 diff)
-
src/imclean/src/LoadStarsDophot.c (modified) (1 diff)
-
src/imclean/src/LoadStarsSex.c (modified) (1 diff)
-
src/imclean/src/find_line.c (modified) (1 diff)
-
src/imclean/src/imclean.c (modified) (1 diff)
-
src/imclean/src/star_stats.c (modified) (1 diff)
-
src/imclean/src/wfits.c (modified) (1 diff)
-
src/imregister/base/ConfigCamera.c (modified) (1 diff)
-
src/imregister/base/fits_scan_nchar.c (modified) (4 diffs)
-
src/imregister/base/version.c (modified) (1 diff)
-
src/imregister/detrend/altpath.c (modified) (3 diffs)
-
src/imregister/detrend/delete.c (modified) (2 diffs)
-
src/imregister/detrend/image.c (modified) (4 diffs)
-
src/imregister/detrend/imdef.c (modified) (9 diffs)
-
src/imregister/detrend/modify.c (modified) (1 diff)
-
src/imregister/detrend/mosaic.c (modified) (3 diffs)
-
src/imregister/detrend/output.c (modified) (4 diffs)
-
src/imregister/doc/Change.log (deleted)
-
src/imregister/doc/ChangeLog.txt (added)
-
src/imregister/imphot/db_load.c (modified) (1 diff)
-
src/imregister/imphot/dumpfits.c (modified) (5 diffs)
-
src/imregister/imphot/modify.c (modified) (1 diff)
-
src/imregister/imphot/rfits.c (modified) (1 diff)
-
src/imregister/imphot/rtext.c (modified) (3 diffs)
-
src/imregister/imreg/cadc.c (modified) (3 diffs)
-
src/imregister/imreg/delete.c (modified) (2 diffs)
-
src/imregister/imreg/iminfo.c (modified) (7 diffs)
-
src/imregister/imreg/imregclient.c (modified) (1 diff)
-
src/imregister/imreg/modify.c (modified) (1 diff)
-
src/imregister/imreg/output.c (modified) (5 diffs)
-
src/imregister/include/imregister.h (modified) (1 diff)
-
src/imregister/photreg/delete.c (modified) (2 diffs)
-
src/imregister/photreg/getImageData.c (modified) (4 diffs)
-
src/imregister/photreg/output.c (modified) (5 diffs)
-
src/imregister/spreg/delete.c (modified) (2 diffs)
-
src/imregister/spreg/modify.c (modified) (1 diff)
-
src/imregister/spreg/output.c (modified) (7 diffs)
-
src/imregister/spreg/spinfo.c (modified) (2 diffs)
-
src/imregister/src/convertimreg.c (modified) (4 diffs)
-
src/imregister/src/detregister.c (modified) (2 diffs)
-
src/imregister/src/detsearch.c (modified) (3 diffs)
-
src/imregister/src/imphotmerge.c (modified) (4 diffs)
-
src/imregister/src/imphotsearch.c (modified) (2 diffs)
-
src/imregister/src/imregister.c (modified) (2 diffs)
-
src/imregister/src/imregtable.c (modified) (2 diffs)
-
src/imregister/src/imsearch.c (modified) (2 diffs)
-
src/imregister/src/imstatreg.c (modified) (7 diffs)
-
src/imregister/src/photcode.c (modified) (3 diffs)
-
src/imregister/src/photreg.c (modified) (3 diffs)
-
src/imregister/src/photsearch.c (modified) (3 diffs)
-
src/imregister/src/spregister.c (modified) (2 diffs)
-
src/imregister/src/spsearch.c (modified) (2 diffs)
-
src/kapa/doc/ChangeLog.txt (modified) (1 diff)
-
src/kii/doc/ChangeLog.txt (modified) (1 diff)
-
src/kii/picture/NewPicture.c (modified) (1 diff)
-
src/kii/picture/TestPicture.c (modified) (2 diffs)
-
src/libautocode/def/autocode.c (modified) (8 diffs)
-
src/libautocode/def/autocode.h (modified) (1 diff)
-
src/libautocode/doc/ChangeLog.txt (modified) (1 diff)
-
src/libautocode/generate (modified) (2 diffs)
-
src/libdvo/doc/ChangeLog.txt (modified) (1 diff)
-
src/libdvo/include/dvo.h (modified) (2 diffs)
-
src/libdvo/src/coordops.c (modified) (9 diffs)
-
src/libdvo/src/dvo_catalog.c (modified) (1 diff)
-
src/libdvo/src/dvo_catalog_mef.c (modified) (12 diffs)
-
src/libdvo/src/dvo_catalog_raw.c (modified) (32 diffs)
-
src/libdvo/src/dvo_catalog_split.c (modified) (33 diffs)
-
src/libdvo/src/dvo_convert.c (modified) (35 diffs)
-
src/libdvo/src/dvo_image.c (modified) (6 diffs)
-
src/libdvo/src/dvo_image_raw.c (modified) (8 diffs)
-
src/libdvo/src/fits_db.c (modified) (15 diffs)
-
src/libdvo/src/skyregion_gsc.c (modified) (2 diffs)
-
src/libdvo/src/skyregion_io.c (modified) (7 diffs)
-
src/libdvo/src/skyregion_ops.c (modified) (1 diff)
-
src/libkapa/include/kapa.h (modified) (1 diff)
-
src/libkapa/src/KapaColors.c (modified) (1 diff)
-
src/libohana/include/dvo.h (deleted)
-
src/lightcurve/src/alter_headers.c (modified) (2 diffs)
-
src/lightcurve/src/fix_header.c (modified) (1 diff)
-
src/lightcurve/src/get_info.c (modified) (5 diffs)
-
src/markrock/src/gcatstats.c (modified) (1 diff)
-
src/markrock/src/wcatalog.c (modified) (1 diff)
-
src/markstar/src/find_images.c (modified) (1 diff)
-
src/markstar/src/gcatstats.c (modified) (1 diff)
-
src/markstar/src/wcatalog.c (modified) (1 diff)
-
src/misc/doc/ChangeLog.txt (modified) (1 diff)
-
src/misc/src/SAOobjects.c (modified) (1 diff)
-
src/misc/src/addastro.c (modified) (2 diffs)
-
src/misc/src/applyscat.c (modified) (5 diffs)
-
src/misc/src/ckfits.c (modified) (2 diffs)
-
src/misc/src/cubefilter.c (modified) (3 diffs)
-
src/misc/src/dastro.c (modified) (3 diffs)
-
src/misc/src/fakecmp.c (modified) (3 diffs)
-
src/misc/src/fakedist.c (modified) (7 diffs)
-
src/misc/src/fakedump.c (modified) (3 diffs)
-
src/misc/src/fakepop.c (modified) (2 diffs)
-
src/misc/src/fakestars.c (modified) (3 diffs)
-
src/misc/src/fhead.c (modified) (2 diffs)
-
src/misc/src/fields.c (modified) (3 diffs)
-
src/misc/src/fitdist.c (modified) (6 diffs)
-
src/misc/src/fits_insert.c (modified) (4 diffs)
-
src/misc/src/fiximg.c (modified) (3 diffs)
-
src/misc/src/fixsimple.c (modified) (3 diffs)
-
src/misc/src/ftable.c (modified) (13 diffs)
-
src/misc/src/gtfringetable.c (modified) (3 diffs)
-
src/misc/src/magtoage.c (modified) (3 diffs)
-
src/misc/src/magtomass.c (modified) (4 diffs)
-
src/misc/src/medianfilter.c (modified) (3 diffs)
-
src/misc/src/mefhead.c (modified) (5 diffs)
-
src/misc/src/mkfringetable.c (modified) (3 diffs)
-
src/misc/src/posscontour.c (modified) (3 diffs)
-
src/misc/src/smaeder.c (modified) (6 diffs)
-
src/misc/src/striphead.c (modified) (2 diffs)
-
src/misc/src/test.c (modified) (2 diffs)
-
src/misc/src/usmaeder.c (modified) (12 diffs)
-
src/mosastro/doc/ChangeLog.txt (modified) (1 diff)
-
src/mosastro/src/LoadStars.c (modified) (6 diffs)
-
src/mosastro/src/SaveResiduals.c (modified) (2 diffs)
-
src/mosastro/src/field.c (modified) (1 diff)
-
src/mosastro/src/mkheader.c (modified) (1 diff)
-
src/mosastro/src/mkmosaic.c (modified) (4 diffs)
-
src/mosastro/src/mkobs.c (modified) (1 diff)
-
src/mosastro/src/mkstandards.c (modified) (1 diff)
-
src/mosastro/src/parse_time.c (modified) (4 diffs)
-
src/mosastro/src/rfits.c (modified) (2 diffs)
-
src/mosastro/src/rtext.c (modified) (1 diff)
-
src/mosastro/src/wfits.c (modified) (1 diff)
-
src/opihi/cmd.astro/cgrid.c (modified) (1 diff)
-
src/opihi/cmd.astro/cplot.c (modified) (3 diffs)
-
src/opihi/cmd.astro/czplot.c (modified) (3 diffs)
-
src/opihi/cmd.astro/getvel.c (modified) (1 diff)
-
src/opihi/cmd.astro/medianmap.c (modified) (1 diff)
-
src/opihi/cmd.astro/polar.c (modified) (1 diff)
-
src/opihi/cmd.astro/rotcurve.c (modified) (1 diff)
-
src/opihi/cmd.data/create.c (modified) (2 diffs)
-
src/opihi/cmd.data/cursor.c (modified) (1 diff)
-
src/opihi/cmd.data/dimenup.c (modified) (2 diffs)
-
src/opihi/cmd.data/dot.c (modified) (2 diffs)
-
src/opihi/cmd.data/extract.c (modified) (2 diffs)
-
src/opihi/cmd.data/fft2d.c (modified) (4 diffs)
-
src/opihi/cmd.data/gridify.c (modified) (1 diff)
-
src/opihi/cmd.data/keyword.c (modified) (6 diffs)
-
src/opihi/cmd.data/line.c (modified) (2 diffs)
-
src/opihi/cmd.data/list_header.c (modified) (2 diffs)
-
src/opihi/cmd.data/mcreate.c (modified) (2 diffs)
-
src/opihi/cmd.data/minterpolate.c (modified) (2 diffs)
-
src/opihi/cmd.data/plot.c (modified) (3 diffs)
-
src/opihi/cmd.data/rd.c (modified) (9 diffs)
-
src/opihi/cmd.data/rdseg.c (modified) (3 diffs)
-
src/opihi/cmd.data/read_vectors.c (modified) (5 diffs)
-
src/opihi/cmd.data/rebin.c (modified) (4 diffs)
-
src/opihi/cmd.data/rotate.c (modified) (13 diffs)
-
src/opihi/cmd.data/spline_apply.c (modified) (2 diffs)
-
src/opihi/cmd.data/spline_construct.c (modified) (1 diff)
-
src/opihi/cmd.data/style.c (modified) (2 diffs)
-
src/opihi/cmd.data/subraster.c (modified) (2 diffs)
-
src/opihi/cmd.data/svd.c (modified) (1 diff)
-
src/opihi/cmd.data/vgrid.c (modified) (1 diff)
-
src/opihi/cmd.data/wd.c (modified) (5 diffs)
-
src/opihi/dimm/Image.c (modified) (2 diffs)
-
src/opihi/dimm/camera.c (modified) (2 diffs)
-
src/opihi/dimm/version.c (modified) (1 diff)
-
src/opihi/doc/ChangeLog.txt (modified) (1 diff)
-
src/opihi/dvo/LoadImages.c (modified) (2 diffs)
-
src/opihi/dvo/cmpRead.c (modified) (1 diff)
-
src/opihi/dvo/cmpload.c (modified) (4 diffs)
-
src/opihi/dvo/cmpread.c (modified) (7 diffs)
-
src/opihi/dvo/ddmags.c (modified) (3 diffs)
-
src/opihi/dvo/detrend.c (modified) (4 diffs)
-
src/opihi/dvo/dmags.c (modified) (1 diff)
-
src/opihi/dvo/fitcolors.c (modified) (15 diffs)
-
src/opihi/dvo/gstar.c (modified) (6 diffs)
-
src/opihi/dvo/images.c (modified) (2 diffs)
-
src/opihi/dvo/imbox.c (modified) (5 diffs)
-
src/opihi/dvo/imrough.c (modified) (7 diffs)
-
src/opihi/dvo/imsearch.c (modified) (4 diffs)
-
src/opihi/dvo/photometry.c (modified) (3 diffs)
-
src/opihi/dvo/pmeasure.c (modified) (3 diffs)
-
src/opihi/dvo/simage.c (modified) (2 diffs)
-
src/opihi/dvo/skycat.c (modified) (2 diffs)
-
src/opihi/dvo/skycoverage.c (modified) (2 diffs)
-
src/opihi/dvo/version.c (modified) (1 diff)
-
src/opihi/include/data.h (modified) (2 diffs)
-
src/opihi/include/dvomath.h (modified) (1 diff)
-
src/opihi/lib.data/Makefile (modified) (1 diff)
-
src/opihi/lib.data/sort.c (modified) (1 diff)
-
src/opihi/lib.data/starfuncs.c (modified) (2 diffs)
-
src/opihi/lib.shell/BufferOps.c (modified) (4 diffs)
-
src/opihi/lib.shell/stack_math.c (modified) (1 diff)
-
src/opihi/mana/version.c (modified) (1 diff)
-
src/opihi/pantasks/version.c (modified) (1 diff)
-
src/opihi/pclient/version.c (modified) (1 diff)
-
src/opihi/pcontrol/version.c (modified) (1 diff)
-
src/photdbc/src/Shutdown.c (modified) (1 diff)
-
src/photdbc/src/find_images.c (modified) (1 diff)
-
src/photdbc/src/flag_measures.c (modified) (1 diff)
-
src/photdbc/src/load_images.c (modified) (1 diff)
-
src/photdbc/src/name_region.c (modified) (1 diff)
-
src/photdbc/src/wcatalog.c (modified) (1 diff)
-
src/relastro/src/GridOps.v1.c (modified) (3 diffs)
-
src/relastro/src/GridOps.v2.c (modified) (5 diffs)
-
src/relastro/src/Shutdown.c (modified) (1 diff)
-
src/relastro/src/find_images.c (modified) (1 diff)
-
src/relastro/src/load_images.c (modified) (1 diff)
-
src/relastro/src/name_region.c (modified) (1 diff)
-
src/relastro/src/wcatalog.c (modified) (1 diff)
-
src/relastro/src/wimages.c (modified) (1 diff)
-
src/relastro/src/write_coords.c (modified) (1 diff)
-
src/relphot/Makefile (modified) (3 diffs)
-
src/relphot/doc/ChangeLog.txt (modified) (1 diff)
-
src/relphot/doc/notes.txt (modified) (1 diff)
-
src/relphot/include/relphot.h (modified) (10 diffs)
-
src/relphot/src/ConfigInit.c (modified) (1 diff)
-
src/relphot/src/GridOps.v1.c (modified) (3 diffs)
-
src/relphot/src/GridOps.v2.c (modified) (5 diffs)
-
src/relphot/src/Shutdown.c (modified) (1 diff)
-
src/relphot/src/args.c (modified) (3 diffs)
-
src/relphot/src/bcatalog.c (modified) (2 diffs)
-
src/relphot/src/find_images.c (modified) (1 diff)
-
src/relphot/src/initialize.c (modified) (1 diff)
-
src/relphot/src/load_catalogs.c (modified) (3 diffs)
-
src/relphot/src/load_images.c (modified) (1 diff)
-
src/relphot/src/name_region.c (modified) (1 diff)
-
src/relphot/src/reload_catalogs.c (modified) (2 diffs)
-
src/relphot/src/relphot.c (modified) (3 diffs)
-
src/relphot/src/wcatalog.c (modified) (1 diff)
-
src/relphot/src/wimages.c (modified) (1 diff)
-
src/relphot/src/write_coords.c (modified) (1 diff)
-
src/uniphot/doc/ChangeLog.txt (modified) (1 diff)
-
src/uniphot/src/Shutdown.c (modified) (1 diff)
-
src/uniphot/src/find_image_sgroups.c (modified) (1 diff)
-
src/uniphot/src/find_image_tgroups.c (modified) (1 diff)
-
src/uniphot/src/subset_images.c (modified) (2 diffs)
-
src/uniphot/src/update.c (modified) (2 diffs)
-
src/uniphot/src/wcatalog.c (modified) (1 diff)
-
src/uniphot/src/wimages.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/configure
r6681 r7080 35 35 set vararch = 1 36 36 breaksw; 37 case --enable-optim ze37 case --enable-optimize 38 38 set optflags = "-O2" 39 39 breaksw; … … 63 63 breaksw; 64 64 case --help: 65 goto usage 65 66 case -*: 67 echo "" 68 echo "Unknown option: $1" 66 69 goto usage 67 breaksw;68 70 default: 69 71 set args=($args $1); -
trunk/Ohana/src/addstar/doc/ChangeLog.txt
r6764 r7080 1 2 - addstar 1.7 3 * converted to gfits APIs (forces libfits 1.6) 4 * added the -resort option 5 * added timeout for large operations 1 6 2 7 - addstar 1.6 -
trunk/Ohana/src/addstar/src/RegionOps.c
r4810 r7080 39 39 /* init & load in table data */ 40 40 table.header = &theader; 41 if (! fits_fread_header (f, &header)) Shutdown ("can't read primary header for GSC Region table");42 if (! fits_fread_matrix (f, &matrix, &header)) Shutdown ("can't read primary matrix for GSC Region table");43 if (! fits_fread_ftable (f, &table, "REGIONS")) Shutdown ("can't read GSC Region table");44 45 fits_scan (table.header, "NAXIS1", "%d", 1, &Nx);46 fits_scan (table.header, "NAXIS2", "%d", 1, &Ny);41 if (!gfits_fread_header (f, &header)) Shutdown ("can't read primary header for GSC Region table"); 42 if (!gfits_fread_matrix (f, &matrix, &header)) Shutdown ("can't read primary matrix for GSC Region table"); 43 if (!gfits_fread_ftable (f, &table, "REGIONS")) Shutdown ("can't read GSC Region table"); 44 45 gfits_scan (table.header, "NAXIS1", "%d", 1, &Nx); 46 gfits_scan (table.header, "NAXIS2", "%d", 1, &Ny); 47 47 48 48 Nregions = 0; -
trunk/Ohana/src/addstar/src/Shutdown.c
r4864 r7080 22 22 23 23 SetProtect (TRUE); 24 fits_db_close (db);24 gfits_db_close (db); 25 25 fprintf (stderr, "ERROR: addstar halted\n"); 26 26 exit (1); -
trunk/Ohana/src/addstar/src/args.c
r6993 r7080 106 106 107 107 remove_argument (N, &argc, argv); 108 if (! fits_read_header (argv[N], &header)) {108 if (!gfits_read_header (argv[N], &header)) { 109 109 fprintf (stderr, "ERROR: can't read header for mosaic %s\n", argv[N]); 110 110 exit (1); … … 119 119 } 120 120 remove_argument (N, &argc, argv); 121 fits_free_header (&header);121 gfits_free_header (&header); 122 122 options.mosaic = TRUE; 123 123 } -
trunk/Ohana/src/addstar/src/args_client.c
r5445 r7080 69 69 70 70 remove_argument (N, &argc, argv); 71 if (! fits_read_header (argv[N], &header)) {71 if (!gfits_read_header (argv[N], &header)) { 72 72 fprintf (stderr, "ERROR: can't read header for mosaic %s\n", argv[N]); 73 73 exit (1); … … 82 82 } 83 83 remove_argument (N, &argc, argv); 84 fits_free_header (&header);84 gfits_free_header (&header); 85 85 options.mosaic = TRUE; 86 86 } -
trunk/Ohana/src/addstar/src/gcatalog.c
r5347 r7080 14 14 15 15 /* should this be moved into save_catalog?? */ 16 status = fits_scan (&catalog[0].header, "SORTED", "%t", 1, &catalog[0].sorted);16 status = gfits_scan (&catalog[0].header, "SORTED", "%t", 1, &catalog[0].sorted); 17 17 if (!status) catalog[0].sorted = TRUE; 18 18 /* XXX EAM - is this a good choice? should the default be 'FALSE'? */ -
trunk/Ohana/src/addstar/src/gimages.c
r5443 r7080 26 26 Shutdown ("can't read image catalog %s", db[0].filename); 27 27 } 28 timage = fits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped);28 timage = gfits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped); 29 29 30 fits_scan (&db[0].header, "ZERO_PT", "%lf", 1, &zeropt);30 gfits_scan (&db[0].header, "ZERO_PT", "%lf", 1, &zeropt); 31 31 if (fabs (ZeroPt - zeropt) > 1e-4) { 32 32 Shutdown ("zero point in image (%f:%s) inconsistent with zero point in catalog (%f)", -
trunk/Ohana/src/addstar/src/gstars.c
r5384 r7080 11 11 Header header; 12 12 13 if (! fits_read_header (file, &header)) {13 if (!gfits_read_header (file, &header)) { 14 14 fprintf (stderr, "ERROR: can't read header for %s\n", file); 15 15 exit (1); … … 27 27 } 28 28 itmp = 0; 29 fits_scan (&header, "NASTRO", "%d", 1, &itmp);29 gfits_scan (&header, "NASTRO", "%d", 1, &itmp); 30 30 if ((itmp == 0) && !ACCEPT_ASTROM) { 31 31 fprintf (stderr, "ERROR: bad astrometric solution in header\n"); … … 45 45 46 46 /* get ST (used for airmass calculation) */ 47 fits_scan (&header, STKeyword, "%s", 1, line);47 gfits_scan (&header, STKeyword, "%s", 1, line); 48 48 /* remove ':' characters */ 49 49 for (c = strchr (line, ':'); c != (char *) NULL; c = strchr (line, ':')) { *c = ' '; } … … 53 53 54 54 /* CERROR in data file is in arcsec */ 55 if (! fits_scan (&header, "CERROR", "%lf", 1, &tmp)) tmp = 1.0;55 if (!gfits_scan (&header, "CERROR", "%lf", 1, &tmp)) tmp = 1.0; 56 56 image[0].cerror = tmp * 50.0; 57 fits_scan (&header, "NAXIS1", "%hd", 1, &image[0].NX);58 fits_scan (&header, "NAXIS2", "%hd", 1, &image[0].NY);57 gfits_scan (&header, "NAXIS1", "%hd", 1, &image[0].NX); 58 gfits_scan (&header, "NAXIS2", "%hd", 1, &image[0].NY); 59 59 60 60 /* get photcode from header */ 61 61 if (photcode == 0) { 62 if (! fits_scan (&header, "PHOTCODE", "%s", 1, photname)) {62 if (!gfits_scan (&header, "PHOTCODE", "%s", 1, photname)) { 63 63 fprintf (stderr, "ERROR: photcode not supplied in header\n"); 64 64 exit (1); … … 78 78 image[0].NX -= XOVERSCAN; 79 79 image[0].NY -= YOVERSCAN; 80 fits_scan (&header, ExptimeKeyword, "%lf", 1, &tmp);80 gfits_scan (&header, ExptimeKeyword, "%lf", 1, &tmp); 81 81 image[0].exptime = tmp; 82 82 83 83 /*** why are we no longer using APMIFIT?? ***/ 84 84 tmp = 0; 85 /* fits_scan (&header, "APMIFIT", "%lf", 1, &tmp); */85 /* gfits_scan (&header, "APMIFIT", "%lf", 1, &tmp); */ 86 86 image[0].apmifit_PS = tmp; 87 87 88 88 tmp = 0; 89 /* fits_scan (&header, "dAPMIFIT", "%lf", 1, &tmp); */89 /* gfits_scan (&header, "dAPMIFIT", "%lf", 1, &tmp); */ 90 90 image[0].dapmifit_PS = tmp; 91 91 92 92 tmp = 0; 93 fits_scan (&header, "FLIMIT", "%lf", 1, &tmp);93 gfits_scan (&header, "FLIMIT", "%lf", 1, &tmp); 94 94 image[0].detection_limit = tmp * 10.0; 95 95 96 96 tmp = 0; 97 fits_scan (&header, "FSATUR", "%lf", 1, &tmp);97 gfits_scan (&header, "FSATUR", "%lf", 1, &tmp); 98 98 image[0].saturation_limit = tmp * 10.0; 99 99 100 100 tmp = 0; 101 fits_scan (&header, "FWHM_X", "%lf", 1, &tmp);101 gfits_scan (&header, "FWHM_X", "%lf", 1, &tmp); 102 102 image[0].fwhm_x = tmp * 25.0 * image[0].coords.cdelt1 * 3600.0; 103 103 104 104 tmp = 0; 105 fits_scan (&header, "FWHM_Y", "%lf", 1, &tmp);105 gfits_scan (&header, "FWHM_Y", "%lf", 1, &tmp); 106 106 image[0].fwhm_y = tmp * 25.0 * image[0].coords.cdelt1 * 3600.0; 107 107 108 if (! fits_scan (&header, "TZERO", "%d", 1, &image[0].tzero)) {108 if (!gfits_scan (&header, "TZERO", "%d", 1, &image[0].tzero)) { 109 109 image[0].tzero = parse_time (&header); 110 110 } 111 111 112 112 tmp = 0; 113 fits_scan (&header, "TRATE", "%lf", 1, &tmp);113 gfits_scan (&header, "TRATE", "%lf", 1, &tmp); 114 114 image[0].trate = 10000 * tmp; 115 115 116 116 tmp = 0; 117 fits_scan (&header, AirmassKeyword, "%lf", 1, &tmp);117 gfits_scan (&header, AirmassKeyword, "%lf", 1, &tmp); 118 118 image[0].secz_PS = MIN (NO_MAG, tmp); 119 119 120 if (! fits_scan (&header, CCDNumKeyword, "%d", 1, &itmp)) {120 if (!gfits_scan (&header, CCDNumKeyword, "%d", 1, &itmp)) { 121 121 image[0].ccdnum = 0xff; 122 122 } else { … … 124 124 } 125 125 126 fits_scan (&header, "ZERO_PT", "%lf", 1, &ZeroPt);126 gfits_scan (&header, "ZERO_PT", "%lf", 1, &ZeroPt); 127 127 SetZeroPoint (ZeroPt); 128 128 … … 134 134 135 135 /* find expected number of stars */ 136 if (! fits_scan (&header, "NSTARS", "%d", 1, &image[0].nstar)) {136 if (!gfits_scan (&header, "NSTARS", "%d", 1, &image[0].nstar)) { 137 137 fprintf (stderr, "ERROR: can't get NSTARS from header\n"); 138 138 exit (1); … … 154 154 155 155 sky = 0; 156 fits_scan (&header, "HISTORY", "%S", 10, line);156 gfits_scan (&header, "HISTORY", "%S", 10, line); 157 157 p = strstr (line, "|I="); 158 158 if (p != (char *) NULL) { … … 178 178 /* read from FITS table or from text table */ 179 179 extend = FALSE; 180 fits_scan (&header, "EXTEND", "%t", 1, &extend);180 gfits_scan (&header, "EXTEND", "%t", 1, &extend); 181 181 if (extend && !TEXTMODE) { 182 Nbytes = fits_matrix_size (&header);182 Nbytes = gfits_matrix_size (&header); 183 183 fseek (f, Nbytes, SEEK_CUR); 184 184 rdstars = rfits (f, &image[0].nstar); … … 189 189 } else { 190 190 /* allocate space for stars */ 191 if (! fits_scan (&header, "NSTARS", "%d", 1, &image[0].nstar)) {191 if (!gfits_scan (&header, "NSTARS", "%d", 1, &image[0].nstar)) { 192 192 fprintf (stderr, "ERROR: failed to find NSTARS\n"); 193 193 exit (1); -
trunk/Ohana/src/addstar/src/image-db.c
r6684 r7080 6 6 7 7 /* create new header */ 8 fits_init_header (&db[0].header);8 gfits_init_header (&db[0].header); 9 9 10 10 /* set the recommended mode */ … … 16 16 db[0].header.Naxis[0] = 1; 17 17 db[0].header.Naxis[1] = 1; 18 fits_create_header (&db[0].header);18 gfits_create_header (&db[0].header); 19 19 db[0].mode = DVO_MODE_RAW; 20 20 } 21 21 if (!strcasecmp (CATMODE, "MEF") || !strcasecmp (CATMODE, "SPLIT")) { 22 22 db[0].header.extend = TRUE; 23 fits_create_header (&db[0].header);23 gfits_create_header (&db[0].header); 24 24 db[0].mode = DVO_MODE_MEF; 25 25 } … … 41 41 } 42 42 43 fits_create_matrix (&db[0].header, &db[0].matrix);44 fits_table_set_Image (&db[0].ftable, NULL, 0);43 gfits_create_matrix (&db[0].header, &db[0].matrix); 44 gfits_table_set_Image (&db[0].ftable, NULL, 0); 45 45 46 46 /* assign Zero Point provided by first image in dB */ 47 fits_modify (&db[0].header, "ZERO_PT", "%lf", 1, ZeroPt);48 fits_modify (&db[0].header, "NIMAGES", "%d", 1, 0);47 gfits_modify (&db[0].header, "ZERO_PT", "%lf", 1, ZeroPt); 48 gfits_modify (&db[0].header, "NIMAGES", "%d", 1, 0); 49 49 50 if (db[0].format == DVO_FORMAT_INTERNAL) fits_modify (&db[0].header, "FORMAT", "%s", 1, "INTERNAL");51 if (db[0].format == DVO_FORMAT_LONEOS) fits_modify (&db[0].header, "FORMAT", "%s", 1, "LONEOS");52 if (db[0].format == DVO_FORMAT_ELIXIR) fits_modify (&db[0].header, "FORMAT", "%s", 1, "ELIXIR");53 if (db[0].format == DVO_FORMAT_PANSTARRS) fits_modify (&db[0].header, "FORMAT", "%s", 1, "PANSTARRS");54 if (db[0].format == DVO_FORMAT_PMTEST) fits_modify (&db[0].header, "FORMAT", "%s", 1, "PMTEST");50 if (db[0].format == DVO_FORMAT_INTERNAL) gfits_modify (&db[0].header, "FORMAT", "%s", 1, "INTERNAL"); 51 if (db[0].format == DVO_FORMAT_LONEOS) gfits_modify (&db[0].header, "FORMAT", "%s", 1, "LONEOS"); 52 if (db[0].format == DVO_FORMAT_ELIXIR) gfits_modify (&db[0].header, "FORMAT", "%s", 1, "ELIXIR"); 53 if (db[0].format == DVO_FORMAT_PANSTARRS) gfits_modify (&db[0].header, "FORMAT", "%s", 1, "PANSTARRS"); 54 if (db[0].format == DVO_FORMAT_PMTEST) gfits_modify (&db[0].header, "FORMAT", "%s", 1, "PMTEST"); 55 55 } -
trunk/Ohana/src/addstar/src/mkcatalog.c
r6684 r7080 31 31 } 32 32 33 fits_init_header (&catalog[0].header);33 gfits_init_header (&catalog[0].header); 34 34 35 35 if (catalog[0].catmode == DVO_MODE_RAW) { … … 41 41 } 42 42 43 fits_create_header (&catalog[0].header);43 gfits_create_header (&catalog[0].header); 44 44 45 45 if (catalog[0].catmode == DVO_MODE_SPLIT) { … … 50 50 /* define measure catalog file */ 51 51 ALLOCATE (catalog[0].measure_catalog, Catalog, 1); 52 fits_init_header (&catalog[0].measure_catalog[0].header);53 fits_create_header (&catalog[0].measure_catalog[0].header);52 gfits_init_header (&catalog[0].measure_catalog[0].header); 53 gfits_create_header (&catalog[0].measure_catalog[0].header); 54 54 ALLOCATE (catalog[0].measure_catalog[0].filename, char, length); 55 55 sprintf (catalog[0].measure_catalog[0].filename, "%s/%s.cpm", path, root); … … 60 60 } 61 61 file = filebasename (catalog[0].measure_catalog[0].filename); 62 fits_modify (&catalog[0].header, "MEASURE", "%s", 1, file);62 gfits_modify (&catalog[0].header, "MEASURE", "%s", 1, file); 63 63 free (file); 64 64 65 65 /* define missing catalog file */ 66 66 ALLOCATE (catalog[0].missing_catalog, Catalog, 1); 67 fits_init_header (&catalog[0].missing_catalog[0].header);68 fits_create_header (&catalog[0].missing_catalog[0].header);67 gfits_init_header (&catalog[0].missing_catalog[0].header); 68 gfits_create_header (&catalog[0].missing_catalog[0].header); 69 69 ALLOCATE (catalog[0].missing_catalog[0].filename, char, length); 70 70 sprintf (catalog[0].missing_catalog[0].filename, "%s/%s.cpn", path, root); … … 74 74 } 75 75 file = filebasename (catalog[0].missing_catalog[0].filename); 76 fits_modify (&catalog[0].header, "MISSING", "%s", 1, file);76 gfits_modify (&catalog[0].header, "MISSING", "%s", 1, file); 77 77 free (file); 78 78 79 79 /* define secfilt catalog file */ 80 80 ALLOCATE (catalog[0].secfilt_catalog, Catalog, 1); 81 fits_init_header (&catalog[0].secfilt_catalog[0].header);82 fits_create_header (&catalog[0].secfilt_catalog[0].header);81 gfits_init_header (&catalog[0].secfilt_catalog[0].header); 82 gfits_create_header (&catalog[0].secfilt_catalog[0].header); 83 83 ALLOCATE (catalog[0].secfilt_catalog[0].filename, char, length); 84 84 sprintf (catalog[0].secfilt_catalog[0].filename, "%s/%s.cps", path, root); … … 88 88 } 89 89 file = filebasename (catalog[0].secfilt_catalog[0].filename); 90 fits_modify (&catalog[0].header, "SECFILT", "%s", 1, file);90 gfits_modify (&catalog[0].header, "SECFILT", "%s", 1, file); 91 91 free (file); 92 92 free (path); … … 95 95 96 96 /* write RA,DEC range in header */ 97 fits_modify (&catalog[0].header, "RA0", "%lf", 1, region[0].Rmin);98 fits_modify (&catalog[0].header, "DEC0", "%lf", 1, region[0].Dmin);99 fits_modify (&catalog[0].header, "RA1", "%lf", 1, region[0].Rmax);100 fits_modify (&catalog[0].header, "DEC1", "%lf", 1, region[0].Dmax);97 gfits_modify (&catalog[0].header, "RA0", "%lf", 1, region[0].Rmin); 98 gfits_modify (&catalog[0].header, "DEC0", "%lf", 1, region[0].Dmin); 99 gfits_modify (&catalog[0].header, "RA1", "%lf", 1, region[0].Rmax); 100 gfits_modify (&catalog[0].header, "DEC1", "%lf", 1, region[0].Dmax); 101 101 102 102 /* write creation date in header */ 103 103 str_to_time ("now", &now); 104 104 line = sec_to_date (now); 105 fits_modify (&catalog[0].header, "DATE", "%s", 1, line);105 gfits_modify (&catalog[0].header, "DATE", "%s", 1, line); 106 106 free (line); 107 107 -
trunk/Ohana/src/addstar/src/parse_time.c
r3517 r7080 14 14 if (strcasecmp (JDKeyword, "NONE")) { 15 15 uppercase (JDKeyword); 16 fits_scan (header, JDKeyword, "%lf", 1, &jd);16 gfits_scan (header, JDKeyword, "%lf", 1, &jd); 17 17 Nsec = (jd - 2440587.5)*86400; 18 18 return (Nsec); … … 22 22 if (strcasecmp (MJDKeyword, "NONE")) { 23 23 uppercase (MJDKeyword); 24 fits_scan (header, MJDKeyword, "%lf", 1, &jd);24 gfits_scan (header, MJDKeyword, "%lf", 1, &jd); 25 25 Nsec = (jd - 40587.0)*86400; 26 26 return (Nsec); … … 29 29 /* get UT and DATE */ 30 30 uppercase (UTKeyword); 31 fits_scan (header, UTKeyword, "%s", 1, line);31 gfits_scan (header, UTKeyword, "%s", 1, line); 32 32 /* remove ':' characters */ 33 33 for (c = strchr (line, 0x3a); c != (char *) NULL; c = strchr (line, 0x3a)) { *c = ' '; } … … 68 68 /* parse date entry */ 69 69 uppercase (DateKeyword); 70 fits_scan (header, DateKeyword, "%s", 1, line);70 gfits_scan (header, DateKeyword, "%s", 1, line); 71 71 /* remove possible separators: ':', '/' '.', '-' */ 72 72 for (c = strchr (line, 0x3a); c != (char *) NULL; c = strchr (line, 0x3a)) { *c = ' '; } -
trunk/Ohana/src/addstar/src/rfits.c
r6641 r7080 14 14 /* init & load in table data */ 15 15 table.header = &theader; 16 if (! fits_fread_ftable (f, &table, "SMPFILE")) goto escape;16 if (!gfits_fread_ftable (f, &table, "SMPFILE")) goto escape; 17 17 18 smpdata = fits_table_get_SMPData (&table, &Nstars, NULL);18 smpdata = gfits_table_get_SMPData (&table, &Nstars, NULL); 19 19 20 20 ALLOCATE (stars, Stars, Nstars); -
trunk/Ohana/src/addstar/src/wcatalog.c
r5322 r7080 7 7 8 8 /* should this be moved into save_catalog?? */ 9 fits_modify (&catalog[0].header, "SORTED", "%t", 1, catalog[0].sorted);9 gfits_modify (&catalog[0].header, "SORTED", "%t", 1, catalog[0].sorted); 10 10 11 11 /* if partial load, must use update */ … … 40 40 catalog[0].Nsecfilt = 0; 41 41 } 42 fits_free_header (&catalog[0].header);42 gfits_free_header (&catalog[0].header); 43 43 } 44 44 -
trunk/Ohana/src/addstar/src/wimage.c
r4864 r7080 12 12 /* adjust header */ 13 13 Nimages = 0; 14 fits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimages);14 gfits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimages); 15 15 Nimages ++; 16 fits_modify (&db[0].header, "NIMAGES", "%d", 1, Nimages);16 gfits_modify (&db[0].header, "NIMAGES", "%d", 1, Nimages); 17 17 18 fits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0);18 gfits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0); 19 19 for (i = 0; i < Nimage; i++) { 20 fits_vadd_rows (&db[0].vtable, (char *) image, 1, sizeof(Image));20 gfits_vadd_rows (&db[0].vtable, (char *) image, 1, sizeof(Image)); 21 21 } 22 22 -
trunk/Ohana/src/delstar/doc/ChangeLog.txt
r6693 r7080 1 2 - delstar 1.6 : 3 * converted to gfits APIs (forces libfits 1.6) 1 4 2 5 - delstar 1.5 : 2006.03.26 -
trunk/Ohana/src/delstar/src/RegionOps.c
r5451 r7080 39 39 /* init & load in table data */ 40 40 table.header = &theader; 41 if (! fits_fread_header (f, &header)) Shutdown ("can't read primary header for GSC Region table");42 if (! fits_fread_matrix (f, &matrix, &header)) Shutdown ("can't read primary matrix for GSC Region table");43 if (! fits_fread_ftable (f, &table, "REGIONS")) Shutdown ("can't read GSC Region table");44 45 fits_scan (table.header, "NAXIS1", "%d", 1, &Nx);46 fits_scan (table.header, "NAXIS2", "%d", 1, &Ny);41 if (!gfits_fread_header (f, &header)) Shutdown ("can't read primary header for GSC Region table"); 42 if (!gfits_fread_matrix (f, &matrix, &header)) Shutdown ("can't read primary matrix for GSC Region table"); 43 if (!gfits_fread_ftable (f, &table, "REGIONS")) Shutdown ("can't read GSC Region table"); 44 45 gfits_scan (table.header, "NAXIS1", "%d", 1, &Nx); 46 gfits_scan (table.header, "NAXIS2", "%d", 1, &Ny); 47 47 48 48 Nregions = 0; -
trunk/Ohana/src/delstar/src/Shutdown.c
r4864 r7080 22 22 23 23 SetProtect (TRUE); 24 fits_db_close (db);24 gfits_db_close (db); 25 25 fprintf (stderr, "ERROR: delstar halted\n"); 26 26 exit (1); -
trunk/Ohana/src/delstar/src/delete_imagefile.c
r6677 r7080 55 55 if (!Nimlist) Shutdown ("image %s not found in db", filename); 56 56 57 fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, imlist, Nimlist);57 gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, imlist, Nimlist); 58 58 dvo_image_update (db, VERBOSE); 59 59 dvo_image_unlock (db); -
trunk/Ohana/src/delstar/src/delete_imagename.c
r6237 r7080 17 17 SkyTableSetFilenames (sky, CATDIR, "cpt"); 18 18 19 image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);19 image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped); 20 20 21 21 /* find image in db by name */ … … 63 63 64 64 /* delete the identified images */ 65 fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, imlist, Nimlist);65 gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, imlist, Nimlist); 66 66 dvo_image_update (db, VERBOSE); 67 67 dvo_image_unlock (db); -
trunk/Ohana/src/delstar/src/delete_times.c
r6677 r7080 23 23 ALLOCATE (skylist[0].regions, SkyRegion *, NREGIONS); 24 24 25 image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);25 image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped); 26 26 27 27 /* find images for time range, delete each image */ … … 77 77 78 78 /* delete the identified images */ 79 fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, imlist, Nimlist);79 gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, imlist, Nimlist); 80 80 dvo_image_update (db, VERBOSE); 81 81 dvo_image_unlock (db); -
trunk/Ohana/src/delstar/src/find_image_db.c
r4864 r7080 16 16 } 17 17 18 image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);18 image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped); 19 19 20 20 Nlist = 0; … … 42 42 int code; 43 43 44 image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);44 image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped); 45 45 46 46 start = timage[0].tzero - MAX(0.05*timage[0].trate*timage[0].NY, 1); … … 72 72 Image *image; 73 73 74 image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);74 image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped); 75 75 76 76 Nlist = 0; -
trunk/Ohana/src/delstar/src/gimages.c
r5014 r7080 16 16 ALLOCATE (image, Image, 1); 17 17 /* load header */ 18 if (! fits_read_header (filename, &header)) {18 if (!gfits_read_header (filename, &header)) { 19 19 Shutdown ("ERROR: can't find image file %s", filename); 20 20 } … … 48 48 49 49 /* get other header info */ 50 fits_scan (&header, "NAXIS1", "%hd", 1, &image[0].NX);51 fits_scan (&header, "NAXIS2", "%hd", 1, &image[0].NY);50 gfits_scan (&header, "NAXIS1", "%hd", 1, &image[0].NX); 51 gfits_scan (&header, "NAXIS2", "%hd", 1, &image[0].NY); 52 52 53 fits_scan (&header, "PHOTCODE", "%s", 1, photcode);53 gfits_scan (&header, "PHOTCODE", "%s", 1, photcode); 54 54 Nc = GetPhotcodeCodebyName (photcode); 55 55 if (!Nc) { … … 59 59 60 60 tmp = 0; 61 fits_scan (&header, "FLIMIT", "%lf", 1, &tmp);61 gfits_scan (&header, "FLIMIT", "%lf", 1, &tmp); 62 62 image[0].detection_limit = tmp * 10.0; 63 63 64 64 tmp = 0; 65 fits_scan (&header, "FSATUR", "%lf", 1, &tmp);65 gfits_scan (&header, "FSATUR", "%lf", 1, &tmp); 66 66 image[0].saturation_limit = tmp * 10.0; 67 67 68 if (! fits_scan (&header, "TZERO", "%d", 1, &image[0].tzero)) {68 if (!gfits_scan (&header, "TZERO", "%d", 1, &image[0].tzero)) { 69 69 image[0].tzero = parse_time (&header); 70 70 } 71 71 72 72 tmp = 0; 73 fits_scan (&header, "TRATE", "%lf", 1, &tmp);73 gfits_scan (&header, "TRATE", "%lf", 1, &tmp); 74 74 image[0].trate = 10000 * tmp; 75 75 76 76 tmp = 0; 77 fits_scan (&header, "AIRMASS", "%lf", 1, &tmp);77 gfits_scan (&header, "AIRMASS", "%lf", 1, &tmp); 78 78 image[0].secz_PS = tmp; 79 79 -
trunk/Ohana/src/delstar/src/parse_time.c
r4680 r7080 14 14 if (strcasecmp (JDKeyword, "NONE")) { 15 15 uppercase (JDKeyword); 16 fits_scan (header, JDKeyword, "%lf", 1, &jd);16 gfits_scan (header, JDKeyword, "%lf", 1, &jd); 17 17 Nsec = (jd - 2440587.5)*86400; 18 18 return (Nsec); … … 22 22 if (strcasecmp (MJDKeyword, "NONE")) { 23 23 uppercase (MJDKeyword); 24 fits_scan (header, MJDKeyword, "%lf", 1, &jd);24 gfits_scan (header, MJDKeyword, "%lf", 1, &jd); 25 25 Nsec = (jd - 40587.0)*86400; 26 26 return (Nsec); … … 29 29 /* get UT and DATE */ 30 30 uppercase (UTKeyword); 31 fits_scan (header, UTKeyword, "%s", 1, line);31 gfits_scan (header, UTKeyword, "%s", 1, line); 32 32 /* remove ':' characters */ 33 33 for (c = strchr (line, 0x3a); c != (char *) NULL; c = strchr (line, 0x3a)) { *c = ' '; } … … 63 63 /* parse date entry */ 64 64 uppercase (DateKeyword); 65 fits_scan (header, DateKeyword, "%s", 1, line);65 gfits_scan (header, DateKeyword, "%s", 1, line); 66 66 /* remove possible separators: ':', '/' '.', '-' */ 67 67 for (c = strchr (line, 0x3a); c != (char *) NULL; c = strchr (line, 0x3a)) { *c = ' '; } -
trunk/Ohana/src/delstar/src/wcatalog.c
r5014 r7080 29 29 catalog[0].Nsecfilt = 0; 30 30 } 31 fits_free_header (&catalog[0].header);31 gfits_free_header (&catalog[0].header); 32 32 33 33 return (TRUE); -
trunk/Ohana/src/elixir/doc/ChangeLog.txt
r6693 r7080 1 2 - elixir-1-5: 3 * converted to gfits APIs (forces libfits 1.6) 1 4 2 5 elixir-1-4: -
trunk/Ohana/src/elixir/src/Photcodes.c
r2428 r7080 9 9 10 10 /* read in image header, open image data region */ 11 if (! fits_read_header (file, &header)) {11 if (!gfits_read_header (file, &header)) { 12 12 fprintf (stderr, "ERROR: can't find image file %s (1)\n", file); 13 13 exit(0); … … 15 15 16 16 /** WARNING: this should use the abstracted keyword names **/ 17 fits_scan (&header, "DETECTOR", "%s", 1, detector);18 fits_scan (&header, "FILTER", "%s", 1, filter);19 fits_scan (&header, "IMAGEID", "%d", 1, &imageid);20 21 fits_free_header (&header);17 gfits_scan (&header, "DETECTOR", "%s", 1, detector); 18 gfits_scan (&header, "FILTER", "%s", 1, filter); 19 gfits_scan (&header, "IMAGEID", "%d", 1, &imageid); 20 21 gfits_free_header (&header); 22 22 23 23 for (i = 0; i < strlen(detector); i++) { detector[i] = toupper (detector[i]); } … … 47 47 48 48 /* read in image header, open image data region */ 49 if (! fits_read_header (filename, &header)) {49 if (!gfits_read_header (filename, &header)) { 50 50 fprintf (stderr, "ERROR: can't find image file %s (1)\n", file); 51 51 exit(0); … … 53 53 free (filename); 54 54 55 fits_scan (&header, "DETECTOR", "%s", 1, detector);56 fits_scan (&header, "FILTER", "%s", 1, filter);57 fits_free_header (&header);55 gfits_scan (&header, "DETECTOR", "%s", 1, detector); 56 gfits_scan (&header, "FILTER", "%s", 1, filter); 57 gfits_free_header (&header); 58 58 59 59 for (i = 0; i < strlen(detector); i++) { detector[i] = toupper (detector[i]); } … … 83 83 } 84 84 85 if (! fits_read_header (fullname, &header)) {85 if (!gfits_read_header (fullname, &header)) { 86 86 fprintf (stderr, "ERROR: can't find image file %s (1)\n", fullname); 87 87 exit(0); 88 88 } 89 fits_scan (&header, "DETECTOR", "%s", 1, detector);90 fits_scan (&header, "FILTER", "%s", 1, filter);91 fits_free_header (&header);89 gfits_scan (&header, "DETECTOR", "%s", 1, detector); 90 gfits_scan (&header, "FILTER", "%s", 1, filter); 91 gfits_free_header (&header); 92 92 93 93 for (i = 0; i < strlen(detector); i++) { detector[i] = toupper (detector[i]); } … … 138 138 139 139 /* read in image header, open image data region */ 140 if (! fits_read_Xheader (filename, &header, extend)) {140 if (!gfits_read_Xheader (filename, &header, extend)) { 141 141 fprintf (stderr, "ERROR: can't find image file %s (1)\n", file); 142 142 exit(0); … … 144 144 free (filename); 145 145 146 fits_scan (&header, "DETECTOR", "%s", 1, detector);147 fits_scan (&header, "FILTER", "%s", 1, filter);148 fits_scan (&header, "IMAGEID", "%d", 1, &imageid);149 fits_free_header (&header);146 gfits_scan (&header, "DETECTOR", "%s", 1, detector); 147 gfits_scan (&header, "FILTER", "%s", 1, filter); 148 gfits_scan (&header, "IMAGEID", "%d", 1, &imageid); 149 gfits_free_header (&header); 150 150 151 151 for (i = 0; i < strlen(detector); i++) { detector[i] = toupper (detector[i]); } -
trunk/Ohana/src/fixcat/src/find_images.c
r2490 r7080 56 56 57 57 /* check if image datafile exists, get header, number of images */ 58 if (! fits_read_header (ImageCat, &header)) {58 if (!gfits_read_header (ImageCat, &header)) { 59 59 fprintf (stderr, "ERROR: No images in catalog %s (1)\n", ImageCat); 60 60 exit (0); 61 61 } 62 62 Nimage = 0; 63 fits_scan (&header, "NIMAGES", "%d", 1, &Nimage);63 gfits_scan (&header, "NIMAGES", "%d", 1, &Nimage); 64 64 if (Nimage == 0) { 65 65 fprintf (stderr, "ERROR: No images in catalog %s (1)\n", ImageCat); -
trunk/Ohana/src/fixcat/src/gcatalog.c
r2490 r7080 18 18 19 19 /* read catalog header */ 20 if (! fits_read_header (filename, &catalog[0].header)) {20 if (!gfits_read_header (filename, &catalog[0].header)) { 21 21 fprintf (stderr, "ERROR: file doesn't exist %s\n", filename); 22 22 exit (0); … … 32 32 /** find number of stars, measurements **/ 33 33 catalog[0].Nmissing = catalog[0].Naverage = catalog[0].Nmeasure = 0; 34 fits_scan (&catalog[0].header, "NSTARS", "%d", 1, &catalog[0].Naverage);35 fits_scan (&catalog[0].header, "NMEAS", "%d", 1, &catalog[0].Nmeasure);36 fits_scan (&catalog[0].header, "NMISS", "%d", 1, &catalog[0].Nmissing);34 gfits_scan (&catalog[0].header, "NSTARS", "%d", 1, &catalog[0].Naverage); 35 gfits_scan (&catalog[0].header, "NMEAS", "%d", 1, &catalog[0].Nmeasure); 36 gfits_scan (&catalog[0].header, "NMISS", "%d", 1, &catalog[0].Nmissing); 37 37 38 38 ALLOCATE (catalog[0].average, Average, MAX (catalog[0].Naverage, 1)); -
trunk/Ohana/src/fixcat/src/gcatstats.c
r2490 r7080 13 13 Coords tcoords; 14 14 15 fits_scan (&catalog[0].header, "RA0", "%lf", 1, &MinRA);16 fits_scan (&catalog[0].header, "RA1", "%lf", 1, &MaxRA);17 fits_scan (&catalog[0].header, "DEC0", "%lf", 1, &MinDEC);18 fits_scan (&catalog[0].header, "DEC1", "%lf", 1, &MaxDEC);15 gfits_scan (&catalog[0].header, "RA0", "%lf", 1, &MinRA); 16 gfits_scan (&catalog[0].header, "RA1", "%lf", 1, &MaxRA); 17 gfits_scan (&catalog[0].header, "DEC0", "%lf", 1, &MinDEC); 18 gfits_scan (&catalog[0].header, "DEC1", "%lf", 1, &MaxDEC); 19 19 20 20 /* double check on region RA and DEC ranges */ -
trunk/Ohana/src/fixcat/src/wcatalog.c
r2490 r7080 36 36 chmod (filename, mode); 37 37 38 fits_modify (&catalog[0].header, "NSTARS", "%d", 1, catalog[0].Naverage);39 fits_modify (&catalog[0].header, "NMEAS", "%d", 1, catalog[0].Nmeasure);40 fits_modify (&catalog[0].header, "NMISS", "%d", 1, catalog[0].Nmissing);38 gfits_modify (&catalog[0].header, "NSTARS", "%d", 1, catalog[0].Naverage); 39 gfits_modify (&catalog[0].header, "NMEAS", "%d", 1, catalog[0].Nmeasure); 40 gfits_modify (&catalog[0].header, "NMISS", "%d", 1, catalog[0].Nmissing); 41 41 42 fits_modify (&catalog[0].header, "MARKSTAR", "%t", 1, TRUE);42 gfits_modify (&catalog[0].header, "MARKSTAR", "%t", 1, TRUE); 43 43 44 44 nitems = Fwrite (catalog[0].header.buffer, 1, catalog[0].header.size, f, "char"); -
trunk/Ohana/src/gastro/doc/ChangeLog.txt
r6693 r7080 1 2 gastro-1-4: 3 * converted to gfits APIs (forces libfits 1.6) 1 4 2 5 gastro-1-3: -
trunk/Ohana/src/gastro/src/gheader.c
r3335 r7080 8 8 char line[1024]; 9 9 10 if (! fits_read_header (file, &header)) {10 if (!gfits_read_header (file, &header)) { 11 11 fprintf (stderr, "ERROR: can't find image file %s (3)\n", file); 12 12 exit(0); … … 26 26 exit (0); 27 27 } 28 fits_modify (&header, "PHOTCODE", "%s", 1, PHOTCODE);28 gfits_modify (&header, "PHOTCODE", "%s", 1, PHOTCODE); 29 29 } 30 30 31 31 if (Nmatch < 2) { 32 fits_modify (&header, "NASTRO", "%d", 1, 0);33 fits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry");32 gfits_modify (&header, "NASTRO", "%d", 1, 0); 33 gfits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry"); 34 34 goto skipstuff; 35 35 } 36 36 37 fits_modify (&header, "NASTRO", "%d", 1, Nmatch);38 fits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry");37 gfits_modify (&header, "NASTRO", "%d", 1, Nmatch); 38 gfits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry"); 39 39 40 40 /*** use PutCoords to update header ***/ 41 41 if (coords.Npolyterms > 1) { 42 fits_modify (&header, "CTYPE1", "%s", 1, "RA---PLY");43 fits_modify (&header, "CTYPE2", "%s", 1, "DEC--PLY");42 gfits_modify (&header, "CTYPE1", "%s", 1, "RA---PLY"); 43 gfits_modify (&header, "CTYPE2", "%s", 1, "DEC--PLY"); 44 44 } else { 45 fits_modify (&header, "CTYPE1", "%s", 1, "RA---TAN");46 fits_modify (&header, "CTYPE2", "%s", 1, "DEC--TAN");45 gfits_modify (&header, "CTYPE1", "%s", 1, "RA---TAN"); 46 gfits_modify (&header, "CTYPE2", "%s", 1, "DEC--TAN"); 47 47 } 48 fits_modify (&header, "CDELT1", "%le", 1, coords.cdelt1);49 fits_modify (&header, "CDELT2", "%le", 1, coords.cdelt2);50 fits_modify (&header, "CRVAL1", "%lf", 1, coords.crval1);51 fits_modify (&header, "CRVAL2", "%lf", 1, coords.crval2);52 fits_modify (&header, "CRPIX1", "%lf", 1, coords.crpix1);53 fits_modify (&header, "CRPIX2", "%lf", 1, coords.crpix2);54 fits_modify (&header, "PC001001", "%le", 1, coords.pc1_1);55 fits_modify (&header, "PC001002", "%le", 1, coords.pc1_2);56 fits_modify (&header, "PC002001", "%le", 1, coords.pc2_1);57 fits_modify (&header, "PC002002", "%le", 1, coords.pc2_2);58 fits_modify (&header, "NPLYTERM", "%d", 1, coords.Npolyterms);48 gfits_modify (&header, "CDELT1", "%le", 1, coords.cdelt1); 49 gfits_modify (&header, "CDELT2", "%le", 1, coords.cdelt2); 50 gfits_modify (&header, "CRVAL1", "%lf", 1, coords.crval1); 51 gfits_modify (&header, "CRVAL2", "%lf", 1, coords.crval2); 52 gfits_modify (&header, "CRPIX1", "%lf", 1, coords.crpix1); 53 gfits_modify (&header, "CRPIX2", "%lf", 1, coords.crpix2); 54 gfits_modify (&header, "PC001001", "%le", 1, coords.pc1_1); 55 gfits_modify (&header, "PC001002", "%le", 1, coords.pc1_2); 56 gfits_modify (&header, "PC002001", "%le", 1, coords.pc2_1); 57 gfits_modify (&header, "PC002002", "%le", 1, coords.pc2_2); 58 gfits_modify (&header, "NPLYTERM", "%d", 1, coords.Npolyterms); 59 59 if (coords.Npolyterms > 1) { 60 60 /* RA Terms */ 61 fits_modify (&header, "PCA1X2Y0", "%le", 1, coords.polyterms[0][0]); /* polyterms[0]); */62 fits_modify (&header, "PCA1X1Y1", "%le", 1, coords.polyterms[1][0]); /* polyterms[1]); */63 fits_modify (&header, "PCA1X0Y2", "%le", 1, coords.polyterms[2][0]); /* polyterms[2]); */61 gfits_modify (&header, "PCA1X2Y0", "%le", 1, coords.polyterms[0][0]); /* polyterms[0]); */ 62 gfits_modify (&header, "PCA1X1Y1", "%le", 1, coords.polyterms[1][0]); /* polyterms[1]); */ 63 gfits_modify (&header, "PCA1X0Y2", "%le", 1, coords.polyterms[2][0]); /* polyterms[2]); */ 64 64 65 65 if (coords.Npolyterms > 2) { 66 fits_modify (&header, "PCA1X3Y0", "%le", 1, coords.polyterms[3][0]); /* polyterms[3]); */67 fits_modify (&header, "PCA1X2Y1", "%le", 1, coords.polyterms[4][0]); /* polyterms[4]); */68 fits_modify (&header, "PCA1X1Y2", "%le", 1, coords.polyterms[5][0]); /* polyterms[5]); */69 fits_modify (&header, "PCA1X0Y3", "%le", 1, coords.polyterms[6][0]); /* polyterms[6]); */66 gfits_modify (&header, "PCA1X3Y0", "%le", 1, coords.polyterms[3][0]); /* polyterms[3]); */ 67 gfits_modify (&header, "PCA1X2Y1", "%le", 1, coords.polyterms[4][0]); /* polyterms[4]); */ 68 gfits_modify (&header, "PCA1X1Y2", "%le", 1, coords.polyterms[5][0]); /* polyterms[5]); */ 69 gfits_modify (&header, "PCA1X0Y3", "%le", 1, coords.polyterms[6][0]); /* polyterms[6]); */ 70 70 } 71 71 /* Dec Terms */ 72 fits_modify (&header, "PCA2X2Y0", "%le", 1, coords.polyterms[0][1]); /* polyterms[7]); */73 fits_modify (&header, "PCA2X1Y1", "%le", 1, coords.polyterms[1][1]); /* polyterms[8]); */74 fits_modify (&header, "PCA2X0Y2", "%le", 1, coords.polyterms[2][1]); /* polyterms[9]); */72 gfits_modify (&header, "PCA2X2Y0", "%le", 1, coords.polyterms[0][1]); /* polyterms[7]); */ 73 gfits_modify (&header, "PCA2X1Y1", "%le", 1, coords.polyterms[1][1]); /* polyterms[8]); */ 74 gfits_modify (&header, "PCA2X0Y2", "%le", 1, coords.polyterms[2][1]); /* polyterms[9]); */ 75 75 76 76 if (coords.Npolyterms > 2) { 77 fits_modify (&header, "PCA2X3Y0", "%le", 1, coords.polyterms[3][1]); /* polyterms[10]); */78 fits_modify (&header, "PCA2X2Y1", "%le", 1, coords.polyterms[4][1]); /* polyterms[11]); */79 fits_modify (&header, "PCA2X1Y2", "%le", 1, coords.polyterms[5][1]); /* polyterms[12]); */80 fits_modify (&header, "PCA2X0Y3", "%le", 1, coords.polyterms[6][1]); /* polyterms[13]); */77 gfits_modify (&header, "PCA2X3Y0", "%le", 1, coords.polyterms[3][1]); /* polyterms[10]); */ 78 gfits_modify (&header, "PCA2X2Y1", "%le", 1, coords.polyterms[4][1]); /* polyterms[11]); */ 79 gfits_modify (&header, "PCA2X1Y2", "%le", 1, coords.polyterms[5][1]); /* polyterms[12]); */ 80 gfits_modify (&header, "PCA2X0Y3", "%le", 1, coords.polyterms[6][1]); /* polyterms[13]); */ 81 81 } 82 82 } 83 fits_modify (&header, "CERROR", "%lf", 1, dR);84 fits_modify (&header, "CERROR", "%C", 1, "scatter in astrometry soln (arcsec)");85 fits_modify (&header, "CPRECISE", "%lf", 1, dR / sqrt(1.0*Nmatch));86 fits_modify (&header, "CPRECISE", "%C", 1, "precision of astrometry soln (arcsec)");87 fits_modify (&header, "EQUINOX", "%lf", 1, 2000.0);83 gfits_modify (&header, "CERROR", "%lf", 1, dR); 84 gfits_modify (&header, "CERROR", "%C", 1, "scatter in astrometry soln (arcsec)"); 85 gfits_modify (&header, "CPRECISE", "%lf", 1, dR / sqrt(1.0*Nmatch)); 86 gfits_modify (&header, "CPRECISE", "%C", 1, "precision of astrometry soln (arcsec)"); 87 gfits_modify (&header, "EQUINOX", "%lf", 1, 2000.0); 88 88 /* we force equinox to be 2000.0 for all images */ 89 89 -
trunk/Ohana/src/gastro/src/gstars.c
r2435 r7080 23 23 24 24 /* read in image header, open image data region */ 25 if (! fits_read_header (file, &header)) {25 if (!gfits_read_header (file, &header)) { 26 26 fprintf (stderr, "ERROR: can't find image file %s (1)\n", file); 27 27 exit(0); 28 28 } 29 29 /* get complete info from header */ 30 fits_scan (&header, "NAXIS1", "%d", 1, NX);31 fits_scan (&header, "NAXIS2", "%d", 1, NY);30 gfits_scan (&header, "NAXIS1", "%d", 1, NX); 31 gfits_scan (&header, "NAXIS2", "%d", 1, NY); 32 32 33 33 /* attempt to get detailed astrometric information from header */ … … 36 36 GetCoords (coords, &header); 37 37 } else { 38 fits_read_header (HEADER, &theader);38 gfits_read_header (HEADER, &theader); 39 39 GetCoords (coords, &theader); 40 40 } … … 78 78 if (!FORCE) { 79 79 /* RA (in hours, not degrees) */ 80 if (! fits_scan (&header, "RA", "%s", 1, line)) {80 if (!gfits_scan (&header, "RA", "%s", 1, line)) { 81 81 fprintf (stderr, "ERROR: no astrometry in header\n"); 82 82 exit (1); … … 86 86 87 87 /* DEC */ 88 if (! fits_scan (&header, "DEC", "%s", 1, line)) {88 if (!gfits_scan (&header, "DEC", "%s", 1, line)) { 89 89 fprintf (stderr, "ERROR: no astrometry in header\n"); 90 90 exit (1); … … 104 104 /* the following two sections are LONEOS derived and may not be needed elsewhere */ 105 105 if (LONEOS_COORDS) { 106 fits_scan (&header, "COMMENT", "%s", 1, line);106 gfits_scan (&header, "COMMENT", "%s", 1, line); 107 107 sscanf (line, "%*s%d%s", &rnumber, side); 108 108 if (get_region_coords (&ra, &dec, rnumber, side)) { … … 137 137 138 138 Nstars = 0; 139 fits_scan (&header, "NSTARS", "%d", 1, &Nstars);139 gfits_scan (&header, "NSTARS", "%d", 1, &Nstars); 140 140 if (Nstars == -1) { 141 141 fprintf (stderr, "ERROR: failed to find NSTARS\n"); … … 238 238 /*** this is tailored for LONEOS ***/ 239 239 Nccd = -1; 240 fits_scan (&header, "NCCD", "%d", 1, &Nccd);240 gfits_scan (&header, "NCCD", "%d", 1, &Nccd); 241 241 if (Nccd == -1) { /* no ccd info in header, not loneos */ 242 242 coords[0].crpix1 = 0.5*(*NX); -
trunk/Ohana/src/gastro2/doc/ChangeLog.txt
r6693 r7080 1 2 gastro-2-3: 3 * converted to gfits APIs (forces libfits 1.6) 1 4 2 5 gastro-2-2: -
trunk/Ohana/src/gastro2/src/gheader2.c
r3335 r7080 9 9 char line[1024]; 10 10 11 if (! fits_read_header (file, &header)) {11 if (!gfits_read_header (file, &header)) { 12 12 fprintf (stderr, "ERROR: can't find image file %s (3)\n", file); 13 13 exit(0); … … 16 16 17 17 if (Target[0].answer.N < 6) { 18 fits_modify (&header, "NASTRO", "%d", 1, 0);19 fits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry");18 gfits_modify (&header, "NASTRO", "%d", 1, 0); 19 gfits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry"); 20 20 goto skipstuff; 21 21 } 22 22 23 fits_modify (&header, "NASTRO", "%d", 1, Target[0].answer.N);24 fits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry");23 gfits_modify (&header, "NASTRO", "%d", 1, Target[0].answer.N); 24 gfits_modify (&header, "NASTRO", "%C", 1, "number of stars used for astrometry"); 25 25 26 26 /*** use PutCoords to update header ***/ 27 27 if (Target[0].coords.Npolyterms > 1) { 28 fits_modify (&header, "CTYPE1", "%s", 1, "RA---PLY");29 fits_modify (&header, "CTYPE2", "%s", 1, "DEC--PLY");28 gfits_modify (&header, "CTYPE1", "%s", 1, "RA---PLY"); 29 gfits_modify (&header, "CTYPE2", "%s", 1, "DEC--PLY"); 30 30 } else { 31 fits_modify (&header, "CTYPE1", "%s", 1, "RA---TAN");32 fits_modify (&header, "CTYPE2", "%s", 1, "DEC--TAN");31 gfits_modify (&header, "CTYPE1", "%s", 1, "RA---TAN"); 32 gfits_modify (&header, "CTYPE2", "%s", 1, "DEC--TAN"); 33 33 } 34 fits_modify (&header, "CDELT1", "%le", 1, Target[0].coords.cdelt1);35 fits_modify (&header, "CDELT2", "%le", 1, Target[0].coords.cdelt2);36 fits_modify (&header, "CRVAL1", "%lf", 1, Target[0].coords.crval1);37 fits_modify (&header, "CRVAL2", "%lf", 1, Target[0].coords.crval2);38 fits_modify (&header, "CRPIX1", "%lf", 1, Target[0].coords.crpix1);39 fits_modify (&header, "CRPIX2", "%lf", 1, Target[0].coords.crpix2);40 fits_modify (&header, "PC001001", "%le", 1, Target[0].coords.pc1_1);41 fits_modify (&header, "PC001002", "%le", 1, Target[0].coords.pc1_2);42 fits_modify (&header, "PC002001", "%le", 1, Target[0].coords.pc2_1);43 fits_modify (&header, "PC002002", "%le", 1, Target[0].coords.pc2_2);44 fits_modify (&header, "NPLYTERM", "%d", 1, Target[0].coords.Npolyterms);34 gfits_modify (&header, "CDELT1", "%le", 1, Target[0].coords.cdelt1); 35 gfits_modify (&header, "CDELT2", "%le", 1, Target[0].coords.cdelt2); 36 gfits_modify (&header, "CRVAL1", "%lf", 1, Target[0].coords.crval1); 37 gfits_modify (&header, "CRVAL2", "%lf", 1, Target[0].coords.crval2); 38 gfits_modify (&header, "CRPIX1", "%lf", 1, Target[0].coords.crpix1); 39 gfits_modify (&header, "CRPIX2", "%lf", 1, Target[0].coords.crpix2); 40 gfits_modify (&header, "PC001001", "%le", 1, Target[0].coords.pc1_1); 41 gfits_modify (&header, "PC001002", "%le", 1, Target[0].coords.pc1_2); 42 gfits_modify (&header, "PC002001", "%le", 1, Target[0].coords.pc2_1); 43 gfits_modify (&header, "PC002002", "%le", 1, Target[0].coords.pc2_2); 44 gfits_modify (&header, "NPLYTERM", "%d", 1, Target[0].coords.Npolyterms); 45 45 if (Target[0].coords.Npolyterms > 1) { 46 46 /* RA Terms */ 47 fits_modify (&header, "PCA1X2Y0", "%le", 1, Target[0].coords.polyterms[0][0]); /* polyterms[0]); */48 fits_modify (&header, "PCA1X1Y1", "%le", 1, Target[0].coords.polyterms[1][0]); /* polyterms[1]); */49 fits_modify (&header, "PCA1X0Y2", "%le", 1, Target[0].coords.polyterms[2][0]); /* polyterms[2]); */47 gfits_modify (&header, "PCA1X2Y0", "%le", 1, Target[0].coords.polyterms[0][0]); /* polyterms[0]); */ 48 gfits_modify (&header, "PCA1X1Y1", "%le", 1, Target[0].coords.polyterms[1][0]); /* polyterms[1]); */ 49 gfits_modify (&header, "PCA1X0Y2", "%le", 1, Target[0].coords.polyterms[2][0]); /* polyterms[2]); */ 50 50 51 51 if (Target[0].coords.Npolyterms > 2) { 52 fits_modify (&header, "PCA1X3Y0", "%le", 1, Target[0].coords.polyterms[3][0]); /* polyterms[3]); */53 fits_modify (&header, "PCA1X2Y1", "%le", 1, Target[0].coords.polyterms[4][0]); /* polyterms[4]); */54 fits_modify (&header, "PCA1X1Y2", "%le", 1, Target[0].coords.polyterms[5][0]); /* polyterms[5]); */55 fits_modify (&header, "PCA1X0Y3", "%le", 1, Target[0].coords.polyterms[6][0]); /* polyterms[6]); */52 gfits_modify (&header, "PCA1X3Y0", "%le", 1, Target[0].coords.polyterms[3][0]); /* polyterms[3]); */ 53 gfits_modify (&header, "PCA1X2Y1", "%le", 1, Target[0].coords.polyterms[4][0]); /* polyterms[4]); */ 54 gfits_modify (&header, "PCA1X1Y2", "%le", 1, Target[0].coords.polyterms[5][0]); /* polyterms[5]); */ 55 gfits_modify (&header, "PCA1X0Y3", "%le", 1, Target[0].coords.polyterms[6][0]); /* polyterms[6]); */ 56 56 } 57 57 /* Dec Terms */ 58 fits_modify (&header, "PCA2X2Y0", "%le", 1, Target[0].coords.polyterms[0][1]); /* polyterms[7]); */59 fits_modify (&header, "PCA2X1Y1", "%le", 1, Target[0].coords.polyterms[1][1]); /* polyterms[8]); */60 fits_modify (&header, "PCA2X0Y2", "%le", 1, Target[0].coords.polyterms[2][1]); /* polyterms[9]); */58 gfits_modify (&header, "PCA2X2Y0", "%le", 1, Target[0].coords.polyterms[0][1]); /* polyterms[7]); */ 59 gfits_modify (&header, "PCA2X1Y1", "%le", 1, Target[0].coords.polyterms[1][1]); /* polyterms[8]); */ 60 gfits_modify (&header, "PCA2X0Y2", "%le", 1, Target[0].coords.polyterms[2][1]); /* polyterms[9]); */ 61 61 62 62 if (Target[0].coords.Npolyterms > 2) { 63 fits_modify (&header, "PCA2X3Y0", "%le", 1, Target[0].coords.polyterms[3][1]); /* polyterms[10]); */64 fits_modify (&header, "PCA2X2Y1", "%le", 1, Target[0].coords.polyterms[4][1]); /* polyterms[11]); */65 fits_modify (&header, "PCA2X1Y2", "%le", 1, Target[0].coords.polyterms[5][1]); /* polyterms[12]); */66 fits_modify (&header, "PCA2X0Y3", "%le", 1, Target[0].coords.polyterms[6][1]); /* polyterms[13]); */63 gfits_modify (&header, "PCA2X3Y0", "%le", 1, Target[0].coords.polyterms[3][1]); /* polyterms[10]); */ 64 gfits_modify (&header, "PCA2X2Y1", "%le", 1, Target[0].coords.polyterms[4][1]); /* polyterms[11]); */ 65 gfits_modify (&header, "PCA2X1Y2", "%le", 1, Target[0].coords.polyterms[5][1]); /* polyterms[12]); */ 66 gfits_modify (&header, "PCA2X0Y3", "%le", 1, Target[0].coords.polyterms[6][1]); /* polyterms[13]); */ 67 67 } 68 68 } 69 69 70 70 dR = fabs (Target[0].answer.dR*Target[0].coords.cdelt1*3600.0); 71 fits_modify (&header, "CERROR", "%lf", 1, dR);72 fits_modify (&header, "CERROR", "%C", 1, "scatter in astrometry soln (arcsec)");73 fits_modify (&header, "CPRECISE", "%lf", 1, dR / sqrt(1.0*Target[0].answer.N));74 fits_modify (&header, "CPRECISE", "%C", 1, "precision of astrometry soln (arcsec)");75 fits_modify (&header, "EQUINOX", "%lf", 1, 2000.0);71 gfits_modify (&header, "CERROR", "%lf", 1, dR); 72 gfits_modify (&header, "CERROR", "%C", 1, "scatter in astrometry soln (arcsec)"); 73 gfits_modify (&header, "CPRECISE", "%lf", 1, dR / sqrt(1.0*Target[0].answer.N)); 74 gfits_modify (&header, "CPRECISE", "%C", 1, "precision of astrometry soln (arcsec)"); 75 gfits_modify (&header, "EQUINOX", "%lf", 1, 2000.0); 76 76 /* we force equinox to be 2000.0 for all images */ 77 77 -
trunk/Ohana/src/gastro2/src/gstars2.c
r3520 r7080 16 16 exit (1); 17 17 } 18 if (! fits_fread_header (f, &Target[0].header)) {18 if (!gfits_fread_header (f, &Target[0].header)) { 19 19 fprintf (stderr, "ERROR: can't read image header\n"); 20 20 exit (1); … … 43 43 Header header; 44 44 45 if (! fits_read_header (HEADER, &header)) {45 if (!gfits_read_header (HEADER, &header)) { 46 46 fprintf (stderr, "ERROR: can't load external header\n"); 47 47 exit (1); 48 48 } 49 49 FoundAstrom = GetCoords (&Target[0].coords, &header); 50 fits_free_header (&header);50 gfits_free_header (&header); 51 51 } 52 52 if (!FoundAstrom) { … … 71 71 /* get RA & DEC from header */ 72 72 FoundAstrom = TRUE; 73 FoundAstrom &= fits_scan (&Target[0].header, "RA", "%s", 1, line);73 FoundAstrom &= gfits_scan (&Target[0].header, "RA", "%s", 1, line); 74 74 dms_to_ddd (&Target[0].coords.crval1, line); 75 75 Target[0].coords.crval1 = Target[0].coords.crval1 * 15.0; 76 FoundAstrom &= fits_scan (&Target[0].header, "DEC", "%s", 1, line);76 FoundAstrom &= gfits_scan (&Target[0].header, "DEC", "%s", 1, line); 77 77 dms_to_ddd (&Target[0].coords.crval2, line); 78 78 } … … 125 125 /* read from FITS table or from text table */ 126 126 extend = FALSE; 127 fits_scan (&Target[0].header, "EXTEND", "%t", 1, &extend);127 gfits_scan (&Target[0].header, "EXTEND", "%t", 1, &extend); 128 128 if (extend) { 129 Nskip = fits_matrix_size (&Target[0].header);129 Nskip = gfits_matrix_size (&Target[0].header); 130 130 fseek (f, Nskip, SEEK_CUR); 131 131 stars = rfits (f, &Nstars); 132 132 } else { 133 133 /* allocate space for stars */ 134 if (! fits_scan (&Target[0].header, "NSTARS", "%d", 1, &Nstars)) {134 if (!gfits_scan (&Target[0].header, "NSTARS", "%d", 1, &Nstars)) { 135 135 fprintf (stderr, "ERROR: failed to find NSTARS\n"); 136 136 exit (1); -
trunk/Ohana/src/gastro2/src/rfits.c
r4864 r7080 11 11 /* init & load in table data */ 12 12 table.header = &theader; 13 if (! fits_fread_ftable (f, &table, "SMPFILE")) goto escape;13 if (!gfits_fread_ftable (f, &table, "SMPFILE")) goto escape; 14 14 15 stars = fits_table_get_SMPData (&table, &Nstars, NULL);15 stars = gfits_table_get_SMPData (&table, &Nstars, NULL); 16 16 17 17 ALLOCATE (stardata, StarData, Nstars); -
trunk/Ohana/src/getstar/src/Shutdown.c
r6812 r7080 22 22 23 23 SetProtect (TRUE); 24 fits_db_close (db);24 gfits_db_close (db); 25 25 fprintf (stderr, "ERROR: getstar halted\n"); 26 26 exit (1); -
trunk/Ohana/src/getstar/src/mkcatalog.c
r6995 r7080 33 33 } 34 34 35 fits_init_header (&catalog[0].header);35 gfits_init_header (&catalog[0].header); 36 36 37 37 if (catalog[0].catmode == DVO_MODE_RAW) { … … 43 43 } 44 44 45 fits_create_header (&catalog[0].header);45 gfits_create_header (&catalog[0].header); 46 46 47 47 if (catalog[0].catmode == DVO_MODE_SPLIT) { … … 52 52 /* define measure catalog file */ 53 53 ALLOCATE (catalog[0].measure_catalog, Catalog, 1); 54 fits_init_header (&catalog[0].measure_catalog[0].header);55 fits_create_header (&catalog[0].measure_catalog[0].header);54 gfits_init_header (&catalog[0].measure_catalog[0].header); 55 gfits_create_header (&catalog[0].measure_catalog[0].header); 56 56 ALLOCATE (catalog[0].measure_catalog[0].filename, char, length); 57 57 sprintf (catalog[0].measure_catalog[0].filename, "%s/%s.cpm", path, root); … … 62 62 } 63 63 file = filebasename (catalog[0].measure_catalog[0].filename); 64 fits_modify (&catalog[0].header, "MEASURE", "%s", 1, file);64 gfits_modify (&catalog[0].header, "MEASURE", "%s", 1, file); 65 65 free (file); 66 66 67 67 /* define missing catalog file */ 68 68 ALLOCATE (catalog[0].missing_catalog, Catalog, 1); 69 fits_init_header (&catalog[0].missing_catalog[0].header);70 fits_create_header (&catalog[0].missing_catalog[0].header);69 gfits_init_header (&catalog[0].missing_catalog[0].header); 70 gfits_create_header (&catalog[0].missing_catalog[0].header); 71 71 ALLOCATE (catalog[0].missing_catalog[0].filename, char, length); 72 72 sprintf (catalog[0].missing_catalog[0].filename, "%s/%s.cpn", path, root); … … 76 76 } 77 77 file = filebasename (catalog[0].missing_catalog[0].filename); 78 fits_modify (&catalog[0].header, "MISSING", "%s", 1, file);78 gfits_modify (&catalog[0].header, "MISSING", "%s", 1, file); 79 79 free (file); 80 80 81 81 /* define secfilt catalog file */ 82 82 ALLOCATE (catalog[0].secfilt_catalog, Catalog, 1); 83 fits_init_header (&catalog[0].secfilt_catalog[0].header);84 fits_create_header (&catalog[0].secfilt_catalog[0].header);83 gfits_init_header (&catalog[0].secfilt_catalog[0].header); 84 gfits_create_header (&catalog[0].secfilt_catalog[0].header); 85 85 ALLOCATE (catalog[0].secfilt_catalog[0].filename, char, length); 86 86 sprintf (catalog[0].secfilt_catalog[0].filename, "%s/%s.cps", path, root); … … 90 90 } 91 91 file = filebasename (catalog[0].secfilt_catalog[0].filename); 92 fits_modify (&catalog[0].header, "SECFILT", "%s", 1, file);92 gfits_modify (&catalog[0].header, "SECFILT", "%s", 1, file); 93 93 free (file); 94 94 free (path); … … 109 109 110 110 /* write RA,DEC range in header */ 111 fits_modify (&catalog[0].header, "RA0", "%lf", 1, Rmin);112 fits_modify (&catalog[0].header, "DEC0", "%lf", 1, Dmin);113 fits_modify (&catalog[0].header, "RA1", "%lf", 1, Rmax);114 fits_modify (&catalog[0].header, "DEC1", "%lf", 1, Dmax);111 gfits_modify (&catalog[0].header, "RA0", "%lf", 1, Rmin); 112 gfits_modify (&catalog[0].header, "DEC0", "%lf", 1, Dmin); 113 gfits_modify (&catalog[0].header, "RA1", "%lf", 1, Rmax); 114 gfits_modify (&catalog[0].header, "DEC1", "%lf", 1, Dmax); 115 115 116 116 /* write creation date in header */ 117 117 str_to_time ("now", &now); 118 118 line = sec_to_date (now); 119 fits_modify (&catalog[0].header, "DATE", "%s", 1, line);119 gfits_modify (&catalog[0].header, "DATE", "%s", 1, line); 120 120 free (line); 121 121 } -
trunk/Ohana/src/gophot/src/dophot.c
r6676 r7080 31 31 (now.tv_sec - then.tv_sec) + 1e-6*(now.tv_usec - then.tv_usec)); 32 32 33 fits_write_header ("test.sub", &header);34 fits_write_matrix ("test.sub", &matrix);33 gfits_write_header ("test.sub", &header); 34 gfits_write_matrix ("test.sub", &matrix); 35 35 exit (0); 36 36 */ … … 68 68 69 69 # if (0) 70 fits_write_header ("test.sub", &header);71 fits_write_matrix ("test.sub", &matrix);70 gfits_write_header ("test.sub", &header); 71 gfits_write_matrix ("test.sub", &matrix); 72 72 73 73 completeout (nstot); … … 85 85 86 86 /* 87 fits_write_header ("test.sub", &header);88 fits_write_matrix ("test.sub", &matrix);87 gfits_write_header ("test.sub", &header); 88 gfits_write_matrix ("test.sub", &matrix); 89 89 completeout (nstot); 90 90 fprintf (stderr, "type return to continue: "); -
trunk/Ohana/src/gophot/src/gophot.c
r6676 r7080 17 17 18 18 /* load image header and data */ 19 if (! fits_read_header (argv[1], &header)) {19 if (!gfits_read_header (argv[1], &header)) { 20 20 fprintf (stderr, "ERROR: can't open FITS header %s\n", argv[1]); 21 21 exit (1); 22 22 } 23 if (! fits_read_matrix (argv[1], &matrix)) {23 if (!gfits_read_matrix (argv[1], &matrix)) { 24 24 fprintf (stderr, "ERROR: can't open FITS matrix %s\n", argv[1]); 25 25 exit (1); 26 26 } 27 27 /* convert to float, set up noise array and axes */ 28 fits_convert_format (&header, &matrix, -32, 1.0, 0.0, 0);28 gfits_convert_format (&header, &matrix, -32, 1.0, 0.0, 0); 29 29 ALLOCATE (noise, float, matrix.size); 30 30 big = (float *) matrix.buffer; … … 33 33 34 34 /* override config values with header values */ 35 if ( fits_scan (&header, "SATVALUE", "%f", 1, &tmp)) itop = tmp;36 if ( fits_scan (&header, "GAIN", "%f", 1, &tmp)) eperdn = tmp;37 if ( fits_scan (&header, "NEWGAIN", "%f", 1, &tmp)) eperdn = tmp;35 if (gfits_scan (&header, "SATVALUE", "%f", 1, &tmp)) itop = tmp; 36 if (gfits_scan (&header, "GAIN", "%f", 1, &tmp)) eperdn = tmp; 37 if (gfits_scan (&header, "NEWGAIN", "%f", 1, &tmp)) eperdn = tmp; 38 38 39 39 /* we are scaling the image to electrons, must also scale parameters */ -
trunk/Ohana/src/imclean/doc/ChangeLog.txt
r6693 r7080 1 2 - imclean-1-3: 3 * converted to gfits APIs (forces libfits 1.6) 1 4 2 5 2005.10.20: imclean-1-2 -
trunk/Ohana/src/imclean/src/AdjustHeader.c
r3335 r7080 11 11 if (!strcmp (KEYFMT[i], "%f")) { 12 12 value = atof (KEYVALU[i]); 13 fits_modify (header, KEYWORD[i], "%le", 1, value);13 gfits_modify (header, KEYWORD[i], "%le", 1, value); 14 14 } else { 15 fits_modify (header, KEYWORD[i], "%s", 1, KEYVALU[i]);15 gfits_modify (header, KEYWORD[i], "%s", 1, KEYVALU[i]); 16 16 } 17 17 } … … 30 30 exit (1); 31 31 } 32 fits_modify (header, "PHOTCODE", "%s", 1, PHOTCODE);32 gfits_modify (header, "PHOTCODE", "%s", 1, PHOTCODE); 33 33 } 34 34 … … 41 41 rs = 3600 * (RA - rh - rm / 60.0); 42 42 sprintf (line, "%02d:%02d:%05.2f", rh, rm, rs); 43 fits_modify (header, "RA", "%s", 1, line);43 gfits_modify (header, "RA", "%s", 1, line); 44 44 dd = DEC; 45 45 dm = 60.0 * (DEC - dd); 46 46 ds = 3600 * (DEC - dd - dm / 60.0); 47 47 sprintf (line, "%02d:%02d:%05.2f", dd, dm, ds); 48 fits_modify (header, "DEC", "%s", 1, line);48 gfits_modify (header, "DEC", "%s", 1, line); 49 49 } 50 50 … … 54 54 Coords coords; 55 55 56 if (! fits_read_header (AstromFile, &astrom_header)) {56 if (!gfits_read_header (AstromFile, &astrom_header)) { 57 57 fprintf (stderr, "ERROR: can't get astrometry from %s\n", AstromFile); 58 58 exit (1); … … 64 64 /*** use PutCoords to update header ***/ 65 65 if (coords.Npolyterms > 1) { 66 fits_modify (header, "CTYPE1", "%s", 1, "RA---PLY");67 fits_modify (header, "CTYPE2", "%s", 1, "DEC--PLY");66 gfits_modify (header, "CTYPE1", "%s", 1, "RA---PLY"); 67 gfits_modify (header, "CTYPE2", "%s", 1, "DEC--PLY"); 68 68 } else { 69 fits_modify (header, "CTYPE1", "%s", 1, "RA---TAN");70 fits_modify (header, "CTYPE2", "%s", 1, "DEC--TAN");69 gfits_modify (header, "CTYPE1", "%s", 1, "RA---TAN"); 70 gfits_modify (header, "CTYPE2", "%s", 1, "DEC--TAN"); 71 71 } 72 fits_modify (header, "NASTRO", "%d", 1, 1);72 gfits_modify (header, "NASTRO", "%d", 1, 1); 73 73 74 fits_modify (header, "CDELT1", "%le", 1, coords.cdelt1);75 fits_modify (header, "CDELT2", "%le", 1, coords.cdelt2);76 fits_modify (header, "CRVAL1", "%lf", 1, coords.crval1);77 fits_modify (header, "CRVAL2", "%lf", 1, coords.crval2);78 fits_modify (header, "CRPIX1", "%lf", 1, coords.crpix1);79 fits_modify (header, "CRPIX2", "%lf", 1, coords.crpix2);80 fits_modify (header, "PC001001", "%le", 1, coords.pc1_1);81 fits_modify (header, "PC001002", "%le", 1, coords.pc1_2);82 fits_modify (header, "PC002001", "%le", 1, coords.pc2_1);83 fits_modify (header, "PC002002", "%le", 1, coords.pc2_2);84 fits_modify (header, "NPLYTERM", "%d", 1, coords.Npolyterms);74 gfits_modify (header, "CDELT1", "%le", 1, coords.cdelt1); 75 gfits_modify (header, "CDELT2", "%le", 1, coords.cdelt2); 76 gfits_modify (header, "CRVAL1", "%lf", 1, coords.crval1); 77 gfits_modify (header, "CRVAL2", "%lf", 1, coords.crval2); 78 gfits_modify (header, "CRPIX1", "%lf", 1, coords.crpix1); 79 gfits_modify (header, "CRPIX2", "%lf", 1, coords.crpix2); 80 gfits_modify (header, "PC001001", "%le", 1, coords.pc1_1); 81 gfits_modify (header, "PC001002", "%le", 1, coords.pc1_2); 82 gfits_modify (header, "PC002001", "%le", 1, coords.pc2_1); 83 gfits_modify (header, "PC002002", "%le", 1, coords.pc2_2); 84 gfits_modify (header, "NPLYTERM", "%d", 1, coords.Npolyterms); 85 85 if (coords.Npolyterms > 1) { 86 86 /* RA Terms */ 87 fits_modify (header, "PCA1X2Y0", "%le", 1, coords.polyterms[0][0]); /* polyterms[0]); */88 fits_modify (header, "PCA1X1Y1", "%le", 1, coords.polyterms[1][0]); /* polyterms[1]); */89 fits_modify (header, "PCA1X0Y2", "%le", 1, coords.polyterms[2][0]); /* polyterms[2]); */87 gfits_modify (header, "PCA1X2Y0", "%le", 1, coords.polyterms[0][0]); /* polyterms[0]); */ 88 gfits_modify (header, "PCA1X1Y1", "%le", 1, coords.polyterms[1][0]); /* polyterms[1]); */ 89 gfits_modify (header, "PCA1X0Y2", "%le", 1, coords.polyterms[2][0]); /* polyterms[2]); */ 90 90 91 91 if (coords.Npolyterms > 2) { 92 fits_modify (header, "PCA1X3Y0", "%le", 1, coords.polyterms[3][0]); /* polyterms[3]); */93 fits_modify (header, "PCA1X2Y1", "%le", 1, coords.polyterms[4][0]); /* polyterms[4]); */94 fits_modify (header, "PCA1X1Y2", "%le", 1, coords.polyterms[5][0]); /* polyterms[5]); */95 fits_modify (header, "PCA1X0Y3", "%le", 1, coords.polyterms[6][0]); /* polyterms[6]); */92 gfits_modify (header, "PCA1X3Y0", "%le", 1, coords.polyterms[3][0]); /* polyterms[3]); */ 93 gfits_modify (header, "PCA1X2Y1", "%le", 1, coords.polyterms[4][0]); /* polyterms[4]); */ 94 gfits_modify (header, "PCA1X1Y2", "%le", 1, coords.polyterms[5][0]); /* polyterms[5]); */ 95 gfits_modify (header, "PCA1X0Y3", "%le", 1, coords.polyterms[6][0]); /* polyterms[6]); */ 96 96 } 97 97 /* Dec Terms */ 98 fits_modify (header, "PCA2X2Y0", "%le", 1, coords.polyterms[0][1]); /* polyterms[7]); */99 fits_modify (header, "PCA2X1Y1", "%le", 1, coords.polyterms[1][1]); /* polyterms[8]); */100 fits_modify (header, "PCA2X0Y2", "%le", 1, coords.polyterms[2][1]); /* polyterms[9]); */98 gfits_modify (header, "PCA2X2Y0", "%le", 1, coords.polyterms[0][1]); /* polyterms[7]); */ 99 gfits_modify (header, "PCA2X1Y1", "%le", 1, coords.polyterms[1][1]); /* polyterms[8]); */ 100 gfits_modify (header, "PCA2X0Y2", "%le", 1, coords.polyterms[2][1]); /* polyterms[9]); */ 101 101 102 102 if (coords.Npolyterms > 2) { 103 fits_modify (header, "PCA2X3Y0", "%le", 1, coords.polyterms[3][1]); /* polyterms[10]); */104 fits_modify (header, "PCA2X2Y1", "%le", 1, coords.polyterms[4][1]); /* polyterms[11]); */105 fits_modify (header, "PCA2X1Y2", "%le", 1, coords.polyterms[5][1]); /* polyterms[12]); */106 fits_modify (header, "PCA2X0Y3", "%le", 1, coords.polyterms[6][1]); /* polyterms[13]); */103 gfits_modify (header, "PCA2X3Y0", "%le", 1, coords.polyterms[3][1]); /* polyterms[10]); */ 104 gfits_modify (header, "PCA2X2Y1", "%le", 1, coords.polyterms[4][1]); /* polyterms[11]); */ 105 gfits_modify (header, "PCA2X1Y2", "%le", 1, coords.polyterms[5][1]); /* polyterms[12]); */ 106 gfits_modify (header, "PCA2X0Y3", "%le", 1, coords.polyterms[6][1]); /* polyterms[13]); */ 107 107 } 108 108 } -
trunk/Ohana/src/imclean/src/LoadStarsChad.c
r5386 r7080 116 116 } 117 117 118 fits_modify (header, "ZERO_PT", "%lf", 1, ZERO_POINT);119 fits_modify (header, "FWHM_X", "%lf", 1, FWHMx);120 fits_modify (header, "FWHM_Y", "%lf", 1, FWHMy);121 fits_modify (header, "ANGLE", "%lf", 1, angle);122 fits_modify (header, "FSATUR", "%lf", 1, (saturate + ZERO_POINT));123 fits_modify (header, "FLIMIT", "%lf", 1, (complete + ZERO_POINT));124 fits_modify (header, "NSTARS", "%d", 1, N);118 gfits_modify (header, "ZERO_PT", "%lf", 1, ZERO_POINT); 119 gfits_modify (header, "FWHM_X", "%lf", 1, FWHMx); 120 gfits_modify (header, "FWHM_Y", "%lf", 1, FWHMy); 121 gfits_modify (header, "ANGLE", "%lf", 1, angle); 122 gfits_modify (header, "FSATUR", "%lf", 1, (saturate + ZERO_POINT)); 123 gfits_modify (header, "FLIMIT", "%lf", 1, (complete + ZERO_POINT)); 124 gfits_modify (header, "NSTARS", "%d", 1, N); 125 125 for (i = 1; i <= 9; i++) { 126 126 sprintf (line, "TDOPHOT%1d", i); 127 fits_modify (header, line, "%d", 1, 0);127 gfits_modify (header, line, "%d", 1, 0); 128 128 } 129 129 -
trunk/Ohana/src/imclean/src/LoadStarsDophot.c
r5386 r7080 155 155 } 156 156 157 fits_modify (header, "ZERO_PT", "%lf", 1, ZERO_POINT);158 fits_modify (header, "FWHM_X", "%lf", 1, FWHMx);159 fits_modify (header, "FWHM_Y", "%lf", 1, FWHMy);160 fits_modify (header, "ANGLE", "%lf", 1, angle);161 fits_modify (header, "FSATUR", "%lf", 1, saturate);162 fits_modify (header, "FLIMIT", "%lf", 1, complete);163 fits_modify (header, "APMIFIT", "%lf", 1, SMedHist);164 fits_modify (header, "NSTARS", "%d", 1, N);157 gfits_modify (header, "ZERO_PT", "%lf", 1, ZERO_POINT); 158 gfits_modify (header, "FWHM_X", "%lf", 1, FWHMx); 159 gfits_modify (header, "FWHM_Y", "%lf", 1, FWHMy); 160 gfits_modify (header, "ANGLE", "%lf", 1, angle); 161 gfits_modify (header, "FSATUR", "%lf", 1, saturate); 162 gfits_modify (header, "FLIMIT", "%lf", 1, complete); 163 gfits_modify (header, "APMIFIT", "%lf", 1, SMedHist); 164 gfits_modify (header, "NSTARS", "%d", 1, N); 165 165 for (i = 1; i <= 9; i++) { 166 166 sprintf (line, "TDOPHOT%1d", i); 167 fits_modify (header, line, "%d", 1, n[i]);167 gfits_modify (header, line, "%d", 1, n[i]); 168 168 } 169 169 -
trunk/Ohana/src/imclean/src/LoadStarsSex.c
r5386 r7080 129 129 } 130 130 131 fits_modify (header, "ZERO_PT", "%lf", 1, ZERO_POINT);132 fits_modify (header, "FWHM_X", "%lf", 1, FWHMx);133 fits_modify (header, "FWHM_Y", "%lf", 1, FWHMy);134 fits_modify (header, "ANGLE", "%lf", 1, angle);135 fits_modify (header, "FSATUR", "%lf", 1, saturate);136 fits_modify (header, "FLIMIT", "%lf", 1, complete);137 fits_modify (header, "NSTARS", "%d", 1, N);131 gfits_modify (header, "ZERO_PT", "%lf", 1, ZERO_POINT); 132 gfits_modify (header, "FWHM_X", "%lf", 1, FWHMx); 133 gfits_modify (header, "FWHM_Y", "%lf", 1, FWHMy); 134 gfits_modify (header, "ANGLE", "%lf", 1, angle); 135 gfits_modify (header, "FSATUR", "%lf", 1, saturate); 136 gfits_modify (header, "FLIMIT", "%lf", 1, complete); 137 gfits_modify (header, "NSTARS", "%d", 1, N); 138 138 139 139 *nstars = Nstars; -
trunk/Ohana/src/imclean/src/find_line.c
r3519 r7080 159 159 } 160 160 161 fits_modify (header, "NSTARS", "%d", 1, Ngood);161 gfits_modify (header, "NSTARS", "%d", 1, Ngood); 162 162 163 163 } -
trunk/Ohana/src/imclean/src/imclean.c
r3519 r7080 12 12 13 13 /* load in FITS header from image */ 14 if (! fits_read_header (argv[1], &header)) {14 if (!gfits_read_header (argv[1], &header)) { 15 15 fprintf (stderr, "ERROR: can't find image file %s\n", argv[1]); 16 16 exit (1); -
trunk/Ohana/src/imclean/src/star_stats.c
r3519 r7080 62 62 } 63 63 64 fits_modify (&header, "ZERO_PT", "%lf", 1, ZERO_POINT);65 fits_modify (&header, "FWHM_X", "%lf", 1, FWHMx);66 fits_modify (&header, "FWHM_Y", "%lf", 1, FWHMy);67 fits_modify (&header, "ANGLE", "%lf", 1, angle);68 fits_modify (&header, "APMIFIT", "%lf", 1, Ap);69 fits_modify (&header, "dAPMIFIT", "%lf", 1, Ap2);70 fits_modify (&header, "FSATUR", "%lf", 1, (saturate + ZERO_POINT));71 fits_modify (&header, "FLIMIT", "%lf", 1, (complete + ZERO_POINT));72 fits_modify (&header, "NSTARS", "%d", 1, N);64 gfits_modify (&header, "ZERO_PT", "%lf", 1, ZERO_POINT); 65 gfits_modify (&header, "FWHM_X", "%lf", 1, FWHMx); 66 gfits_modify (&header, "FWHM_Y", "%lf", 1, FWHMy); 67 gfits_modify (&header, "ANGLE", "%lf", 1, angle); 68 gfits_modify (&header, "APMIFIT", "%lf", 1, Ap); 69 gfits_modify (&header, "dAPMIFIT", "%lf", 1, Ap2); 70 gfits_modify (&header, "FSATUR", "%lf", 1, (saturate + ZERO_POINT)); 71 gfits_modify (&header, "FLIMIT", "%lf", 1, (complete + ZERO_POINT)); 72 gfits_modify (&header, "NSTARS", "%d", 1, N); 73 73 for (i = 1; i <= 9; i++) { 74 74 sprintf (line, "TDOPHOT%1d\0", i); 75 fits_modify (&header, line, "%d", 1, n[i]);75 gfits_modify (&header, line, "%d", 1, n[i]); 76 76 } -
trunk/Ohana/src/imclean/src/wfits.c
r4990 r7080 9 9 header[0].extend = TRUE; 10 10 header[0].Naxes = 0; 11 fits_modify (header, "NAXIS", "%d", 1, 0);12 fits_modify (header, "EXTEND", "%t", 1, TRUE);13 fits_modify (header, "NEXTEND", "%d", 1, 1);11 gfits_modify (header, "NAXIS", "%d", 1, 0); 12 gfits_modify (header, "EXTEND", "%t", 1, TRUE); 13 gfits_modify (header, "NEXTEND", "%d", 1, 1); 14 14 15 15 /* add in some keywords to specify the datatype & software version? */ 16 16 17 17 /* create (empty) data matrix */ 18 fits_create_matrix (header, &matrix);18 gfits_create_matrix (header, &matrix); 19 19 20 20 table.header = &theader; 21 fits_table_set_SMPData (&table, stars, Nstars);21 gfits_table_set_SMPData (&table, stars, Nstars); 22 22 23 fits_write_header (filename, header);24 fits_write_matrix (filename, &matrix);25 fits_write_Theader (filename, &theader);26 fits_write_table (filename, &table);23 gfits_write_header (filename, header); 24 gfits_write_matrix (filename, &matrix); 25 gfits_write_Theader (filename, &theader); 26 gfits_write_table (filename, &table); 27 27 } -
trunk/Ohana/src/imregister/base/ConfigCamera.c
r70 r7080 38 38 ID[0] = 0; 39 39 40 fits_scan (header, CCDnumKeyword, "%s", 1, ID);40 gfits_scan (header, CCDnumKeyword, "%s", 1, ID); 41 41 if (!ID[0]) { 42 42 fprintf (stderr, "warning, ccd id not found in header\n"); -
trunk/Ohana/src/imregister/base/fits_scan_nchar.c
r4024 r7080 3 3 /* scan and give a warning for missing entries */ 4 4 void warn_scan (Header *header, char *field, char *format, int N, void *var) { 5 if (! fits_scan (header, field, format, N, var)) {5 if (!gfits_scan (header, field, format, N, var)) { 6 6 fprintf (stderr, "WARNING: %s not found in header\n", field); 7 7 } … … 9 9 10 10 /* scan from header into a string of fixed length */ 11 int fits_scan_nchar (Header *header, int size, char *field, int N,...) {11 int gfits_scan_nchar (Header *header, int size, char *field, int N,...) { 12 12 13 13 char tmpstr[160], *outstr; … … 19 19 va_end (argp); 20 20 21 status = fits_scan (header, field, "%s", N, tmpstr);21 status = gfits_scan (header, field, "%s", N, tmpstr); 22 22 strncpy (outstr, tmpstr, size - 1); 23 23 outstr[size-1] = 0; … … 27 27 28 28 void warn_scan_nchar (Header *header, int size, char *field, int N, void *var) { 29 if (! fits_scan_nchar (header, size, field, N, var)) {29 if (!gfits_scan_nchar (header, size, field, N, var)) { 30 30 fprintf (stderr, "missing %s not found in header\n", field); 31 31 } -
trunk/Ohana/src/imregister/base/version.c
r3523 r7080 10 10 11 11 fprintf (stderr, "ohana: %s\n", ohana_version()); 12 fprintf (stderr, "fits: %s\n", fits_version());12 fprintf (stderr, "fits: %s\n", gfits_version()); 13 13 exit (2); 14 14 -
trunk/Ohana/src/imregister/detrend/altpath.c
r6674 r7080 47 47 48 48 /** we may later want to pull this out and put it elsewhere **/ 49 fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, list, Nlist);49 gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, list, Nlist); 50 50 for (i = 0; i < Nmatch; i++) { 51 fits_convert_DetReg ((DetReg *) db[0].vtable.buffer[i], sizeof (DetReg), 1);51 gfits_convert_DetReg ((DetReg *) db[0].vtable.buffer[i], sizeof (DetReg), 1); 52 52 } 53 fits_db_update (db);54 fits_db_close (db);55 fits_db_free (db);53 gfits_db_update (db); 54 gfits_db_close (db); 55 gfits_db_free (db); 56 56 57 57 fprintf (stderr, "SUCCESS\n"); … … 84 84 85 85 /** we may later want to pull this out and put it elsewhere **/ 86 fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, list, Nlist);86 gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, list, Nlist); 87 87 for (i = 0; i < Nmatch; i++) { 88 fits_convert_DetReg ((DetReg *) db[0].vtable.buffer[i], sizeof (DetReg), 1);88 gfits_convert_DetReg ((DetReg *) db[0].vtable.buffer[i], sizeof (DetReg), 1); 89 89 } 90 fits_db_update (db);91 fits_db_close (db);92 fits_db_free (db);90 gfits_db_update (db); 91 gfits_db_close (db); 92 gfits_db_free (db); 93 93 94 94 fprintf (stderr, "SUCCESS\n"); … … 113 113 114 114 /** we may later want to pull this out and put it elsewhere **/ 115 fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, list, Nlist);115 gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, list, Nlist); 116 116 for (i = 0; i < Nmatch; i++) { 117 fits_convert_DetReg ((DetReg *) db[0].vtable.buffer[i], sizeof (DetReg), 1);117 gfits_convert_DetReg ((DetReg *) db[0].vtable.buffer[i], sizeof (DetReg), 1); 118 118 } 119 fits_db_update (db);120 fits_db_close (db);121 fits_db_free (db);119 gfits_db_update (db); 120 gfits_db_close (db); 121 gfits_db_free (db); 122 122 123 123 fprintf (stderr, "SUCCESS\n"); -
trunk/Ohana/src/imregister/detrend/delete.c
r3606 r7080 23 23 if (Ndel == 0) { 24 24 fprintf (stderr, "SUCCESS\n"); 25 fits_db_close (db);25 gfits_db_close (db); 26 26 exit (0); 27 27 } … … 41 41 /** we may later want to pull this out and put it elsewhere **/ 42 42 /** free db[0].theader, db[0].table.buffer? **/ 43 fits_table_set_DetReg (&db[0].ftable, subset, Nsubset);44 fits_db_save (db);45 fits_db_close (db);46 fits_db_free (db);43 gfits_table_set_DetReg (&db[0].ftable, subset, Nsubset); 44 gfits_db_save (db); 45 gfits_db_close (db); 46 gfits_db_free (db); 47 47 48 48 fprintf (stderr, "SUCCESS\n"); -
trunk/Ohana/src/imregister/detrend/image.c
r2 r7080 13 13 14 14 /* load options from the image header */ 15 if (! fits_read_header (filename, &header)) {15 if (!gfits_read_header (filename, &header)) { 16 16 if (output.verbose) fprintf (stderr, "ERROR: trouble reading image header\n"); 17 17 exit (1); … … 25 25 if (!strcasecmp (ImageMode, "SPLIT")) { 26 26 ALLOCATE (ImageExtend, char, 80); 27 if (! fits_scan (&header, CCDnumKeyword, "%s", 1, ImageExtend)) {27 if (!gfits_scan (&header, CCDnumKeyword, "%s", 1, ImageExtend)) { 28 28 fprintf (stderr, "ERROR: failure to read %s from header\n", CCDnumKeyword); 29 29 exit (1); … … 43 43 44 44 /* get filter from header */ 45 if (! fits_scan (&header, FilterKeyword, "%s", 1, line)) {45 if (!gfits_scan (&header, FilterKeyword, "%s", 1, line)) { 46 46 fprintf (stderr, "ERROR: trouble reading FILTER from header\n"); 47 47 exit (1); … … 61 61 62 62 /* get exptime from header */ 63 if (! fits_scan (&header, ExptimeKeyword, "%f", 1, &base.Exptime)) {63 if (!gfits_scan (&header, ExptimeKeyword, "%f", 1, &base.Exptime)) { 64 64 fprintf (stderr, "ERROR: trouble reading EXPTIME from header\n"); 65 65 exit (1); -
trunk/Ohana/src/imregister/detrend/imdef.c
r6706 r7080 9 9 10 10 /* load remaining options from the image header */ 11 if (! fits_read_header (filename, &header)) {11 if (!gfits_read_header (filename, &header)) { 12 12 fprintf (stderr, "ERROR: trouble reading image header\n"); 13 13 exit (1); … … 16 16 /* first decide on image TYPE */ 17 17 if (descriptor[0].type == T_UNDEF) { 18 if (! fits_scan (&header, ImagetypeKeyword, "%s", 1, line)) {18 if (!gfits_scan (&header, ImagetypeKeyword, "%s", 1, line)) { 19 19 fprintf (stderr, "ERROR: failure to read %s from header\n", ImagetypeKeyword); 20 20 exit (1); … … 43 43 descriptor[0].mode = M_SPLIT; 44 44 Extend = FALSE; 45 fits_scan (&header, "EXTEND", "%t", 1, &Extend);45 gfits_scan (&header, "EXTEND", "%t", 1, &Extend); 46 46 if (Extend) { 47 47 descriptor[0].mode = M_MEF; 48 48 descriptor[0].CCD = Nccd; 49 49 descriptor[0].CCDSelect = TRUE; 50 fits_scan (&header, "NEXTEND", "%d", 1, &Nextend);50 gfits_scan (&header, "NEXTEND", "%d", 1, &Nextend); 51 51 if (Nextend != Nccd) { 52 52 fprintf (stderr, "warning: NEXTEND != Nccd (%d, %d)\n", Nextend, Nccd); … … 66 66 67 67 descriptor[0].CCD = -1; 68 if (! fits_scan (&header, CCDnumKeyword, "%s", 1, ID)) {68 if (!gfits_scan (&header, CCDnumKeyword, "%s", 1, ID)) { 69 69 fprintf (stderr, "ERROR: failure to read %s from header\n", CCDnumKeyword); 70 70 exit (1); … … 84 84 /* now get time range */ 85 85 if (!descriptor[0].TimeSelect) { 86 if (! fits_scan (&header, "TVSTART", "%s", 1, line)) {86 if (!gfits_scan (&header, "TVSTART", "%s", 1, line)) { 87 87 fprintf (stderr, "ERROR: missing start time\n"); 88 88 exit (1); … … 93 93 } 94 94 95 if (! fits_scan (&header, "TVSTOP", "%s", 1, line)) {95 if (!gfits_scan (&header, "TVSTOP", "%s", 1, line)) { 96 96 fprintf (stderr, "ERROR: missing stop time\n"); 97 97 exit (1); … … 108 108 if (descriptor[0].type == T_MASK) goto skip_filter; 109 109 if (descriptor[0].filter != FILTER_NONE) goto skip_filter; 110 if (! fits_scan (&header, FilterKeyword, "%s", 1, line)) {110 if (!gfits_scan (&header, FilterKeyword, "%s", 1, line)) { 111 111 fprintf (stderr, "ERROR: failure to read %s from header\n", FilterKeyword); 112 112 exit (1); … … 129 129 } 130 130 if (!descriptor[0].ExptimeSelect && (descriptor[0].type == T_DARK)) { 131 if (! fits_scan (&header, ExptimeKeyword, "%f", 1, &descriptor[0].Exptime)) {131 if (!gfits_scan (&header, ExptimeKeyword, "%f", 1, &descriptor[0].Exptime)) { 132 132 fprintf (stderr, "ERROR: failure to read %s from header\n", ExptimeKeyword); 133 133 exit (1); … … 137 137 /* set the image ID (if not supplied) based on the camera header */ 138 138 if (descriptor[0].imageID == NULL) { 139 if ( fits_scan (&header, "CRUNID", "%s", 1, line)) {139 if (gfits_scan (&header, "CRUNID", "%s", 1, line)) { 140 140 descriptor[0].imageID = strcreate (line); 141 141 } -
trunk/Ohana/src/imregister/detrend/modify.c
r4864 r7080 44 44 45 45 /** we may later want to pull this out and put it elsewhere **/ 46 fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, list, Nmatch);46 gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, list, Nmatch); 47 47 for (i = 0; i < Nmatch; i++) { 48 fits_convert_DetReg ((DetReg *) db[0].vtable.buffer[i], sizeof (DetReg), 1);48 gfits_convert_DetReg ((DetReg *) db[0].vtable.buffer[i], sizeof (DetReg), 1); 49 49 } 50 fits_db_update (db);51 fits_db_close (db);52 fits_db_free (db);50 gfits_db_update (db); 51 gfits_db_close (db); 52 gfits_db_free (db); 53 53 54 54 fprintf (stderr, "SUCCESS\n"); -
trunk/Ohana/src/imregister/detrend/mosaic.c
r3 r7080 13 13 14 14 /* load options from the image header */ 15 if (! fits_read_header (filename, &header)) {15 if (!gfits_read_header (filename, &header)) { 16 16 if (output.verbose) fprintf (stderr, "ERROR: trouble reading image header\n"); 17 17 exit (1); … … 23 23 24 24 /* get filter from header */ 25 if (! fits_scan (&header, FilterKeyword, "%s", 1, line)) {25 if (!gfits_scan (&header, FilterKeyword, "%s", 1, line)) { 26 26 fprintf (stderr, "ERROR: trouble reading FILTER from header\n"); 27 27 exit (1); … … 39 39 40 40 /* get exptime from header */ 41 if (! fits_scan (&header, ExptimeKeyword, "%f", 1, &base.Exptime)) {41 if (!gfits_scan (&header, ExptimeKeyword, "%f", 1, &base.Exptime)) { 42 42 fprintf (stderr, "ERROR: trouble reading EXPTIME from header\n"); 43 43 exit (1); -
trunk/Ohana/src/imregister/detrend/output.c
r3649 r7080 43 43 44 44 /* create primary header */ 45 fits_init_header (&header);45 gfits_init_header (&header); 46 46 header.extend = TRUE; 47 fits_create_header (&header);48 fits_create_matrix (&header, &matrix);49 fits_print (&header, "NEXTEND", "%d", 1, 1);47 gfits_create_header (&header); 48 gfits_create_matrix (&header, &matrix); 49 gfits_print (&header, "NEXTEND", "%d", 1, 1); 50 50 51 51 ftable.header = &theader; 52 fits_table_set_DetReg (&ftable, subset, Nmatch);53 54 fits_fwrite_header (f, &header);55 fits_fwrite_matrix (f, &matrix);56 fits_fwrite_Theader (f, &theader);57 fits_fwrite_table (f, &ftable);52 gfits_table_set_DetReg (&ftable, subset, Nmatch); 53 54 gfits_fwrite_header (f, &header); 55 gfits_fwrite_matrix (f, &matrix); 56 gfits_fwrite_Theader (f, &theader); 57 gfits_fwrite_table (f, &ftable); 58 58 fclose (f); 59 59 exit (0); … … 73 73 74 74 /* create primary header */ 75 fits_init_header (&header);75 gfits_init_header (&header); 76 76 header.extend = TRUE; 77 fits_create_header (&header);78 fits_create_matrix (&header, &matrix);79 fits_print (&header, "NEXTEND", "%d", 1, 1);77 gfits_create_header (&header); 78 gfits_create_matrix (&header, &matrix); 79 gfits_print (&header, "NEXTEND", "%d", 1, 1); 80 80 81 81 /* create table header */ 82 fits_create_table_header (&theader, "TABLE", "MASTER_DETREND");82 gfits_create_table_header (&theader, "TABLE", "MASTER_DETREND"); 83 83 84 84 /* add current date/time to header */ 85 85 str_to_time ("now", &tsecond); 86 86 datestr = sec_to_date (tsecond); 87 fits_modify (&header, "DATE", "%s", 1, datestr);88 fits_modify (&theader, "DATE", "%s", 1, datestr);87 gfits_modify (&header, "DATE", "%s", 1, datestr); 88 gfits_modify (&theader, "DATE", "%s", 1, datestr); 89 89 free (datestr); 90 90 91 91 /* define table layout */ 92 fits_define_table_column (&theader, "A32", "KEY", "unique identifier", "");93 fits_define_table_column (&theader, "A20", "START_TIME", "start time of measurement", "yyyy/mm/dd,hh:mm:ss");94 fits_define_table_column (&theader, "A20", "STOP_TIME", "stop time of measurement", "yyyy/mm/dd,hh:mm:ss");95 fits_define_table_column (&theader, "A20", "REG_TIME", "time of registration", "yyyy/mm/dd,hh:mm:ss");96 fits_define_table_column (&theader, "F7.1", "EXPTIME", "exposure time", "seconds");97 fits_define_table_column (&theader, "A10", "IMAGETYP", "detrend type", "");98 fits_define_table_column (&theader, "A10", "FILTER", "filter name", "");99 fits_define_table_column (&theader, "A7", "CCDINFO", "ccd information", "");100 fits_define_table_column (&theader, "A7", "MODE", "data format mode", "");101 fits_define_table_column (&theader, "I3", "VERSION", "image version number", "");102 fits_define_table_column (&theader, "I3", "ORDER", "selection order", "");103 fits_define_table_column (&theader, "A64", "LABEL", "data label", "");104 fits_define_table_column (&theader, "A256", "PATH", "filename in db", "");92 gfits_define_table_column (&theader, "A32", "KEY", "unique identifier", ""); 93 gfits_define_table_column (&theader, "A20", "START_TIME", "start time of measurement", "yyyy/mm/dd,hh:mm:ss"); 94 gfits_define_table_column (&theader, "A20", "STOP_TIME", "stop time of measurement", "yyyy/mm/dd,hh:mm:ss"); 95 gfits_define_table_column (&theader, "A20", "REG_TIME", "time of registration", "yyyy/mm/dd,hh:mm:ss"); 96 gfits_define_table_column (&theader, "F7.1", "EXPTIME", "exposure time", "seconds"); 97 gfits_define_table_column (&theader, "A10", "IMAGETYP", "detrend type", ""); 98 gfits_define_table_column (&theader, "A10", "FILTER", "filter name", ""); 99 gfits_define_table_column (&theader, "A7", "CCDINFO", "ccd information", ""); 100 gfits_define_table_column (&theader, "A7", "MODE", "data format mode", ""); 101 gfits_define_table_column (&theader, "I3", "VERSION", "image version number", ""); 102 gfits_define_table_column (&theader, "I3", "ORDER", "selection order", ""); 103 gfits_define_table_column (&theader, "A64", "LABEL", "data label", ""); 104 gfits_define_table_column (&theader, "A256", "PATH", "filename in db", ""); 105 105 106 106 /* define TNULL, TNVAL values */ 107 fits_modify (&theader, "TNULL1", "%s", 1, "NULL"); /* KEY */108 fits_modify (&theader, "TNULL2", "%s", 1, "NULL"); /* START_TIME */109 fits_modify (&theader, "TNULL3", "%s", 1, "NULL"); /* STOP_TIME */110 fits_modify (&theader, "TNULL4", "%s", 1, "NULL"); /* REG_TIME */111 fits_modify (&theader, "TNULL5", "%s", 1, "NaN"); /* EXPTIME */112 fits_modify (&theader, "TNULL6", "%s", 1, "NULL"); /* IMAGETYP */113 fits_modify (&theader, "TNULL7", "%s", 1, "NULL"); /* FILTER */114 fits_modify (&theader, "TNULL8", "%s", 1, "NULL"); /* CCDINFO */115 fits_modify (&theader, "TNULL9", "%s", 1, "NULL"); /* MODE */116 fits_modify (&theader, "TNULL10", "%s", 1, "-100"); /* VERSION */117 fits_modify (&theader, "TNULL11", "%s", 1, "-100"); /* ORDER */118 fits_modify (&theader, "TNULL12", "%s", 1, "NULL"); /* LABEL */119 fits_modify (&theader, "TNULL13", "%s", 1, "NULL"); /* PATH */120 121 fits_modify (&theader, "TNVAL1", "%s", 1, "NA"); /* KEY */122 fits_modify (&theader, "TNVAL2", "%s", 1, "NA"); /* START_TIME */123 fits_modify (&theader, "TNVAL3", "%s", 1, "NA"); /* STOP_TIME */124 fits_modify (&theader, "TNVAL4", "%s", 1, "NA"); /* REG_TIME */125 fits_modify (&theader, "TNVAL5", "%s", 1, "Inf"); /* EXPTIME */126 fits_modify (&theader, "TNVAL6", "%s", 1, "NA"); /* IMAGETYP */127 fits_modify (&theader, "TNVAL7", "%s", 1, "NA"); /* FILTER */128 fits_modify (&theader, "TNVAL8", "%s", 1, "NA"); /* CCDINFO */129 fits_modify (&theader, "TNVAL9", "%s", 1, "NA"); /* MODE */130 fits_modify (&theader, "TNVAL10", "%s", 1, "-200"); /* VERSION */131 fits_modify (&theader, "TNVAL11", "%s", 1, "-200"); /* ORDER */132 fits_modify (&theader, "TNVAL12", "%s", 1, "NA"); /* LABEL */133 fits_modify (&theader, "TNVAL13", "%s", 1, "NA"); /* PATH */107 gfits_modify (&theader, "TNULL1", "%s", 1, "NULL"); /* KEY */ 108 gfits_modify (&theader, "TNULL2", "%s", 1, "NULL"); /* START_TIME */ 109 gfits_modify (&theader, "TNULL3", "%s", 1, "NULL"); /* STOP_TIME */ 110 gfits_modify (&theader, "TNULL4", "%s", 1, "NULL"); /* REG_TIME */ 111 gfits_modify (&theader, "TNULL5", "%s", 1, "NaN"); /* EXPTIME */ 112 gfits_modify (&theader, "TNULL6", "%s", 1, "NULL"); /* IMAGETYP */ 113 gfits_modify (&theader, "TNULL7", "%s", 1, "NULL"); /* FILTER */ 114 gfits_modify (&theader, "TNULL8", "%s", 1, "NULL"); /* CCDINFO */ 115 gfits_modify (&theader, "TNULL9", "%s", 1, "NULL"); /* MODE */ 116 gfits_modify (&theader, "TNULL10", "%s", 1, "-100"); /* VERSION */ 117 gfits_modify (&theader, "TNULL11", "%s", 1, "-100"); /* ORDER */ 118 gfits_modify (&theader, "TNULL12", "%s", 1, "NULL"); /* LABEL */ 119 gfits_modify (&theader, "TNULL13", "%s", 1, "NULL"); /* PATH */ 120 121 gfits_modify (&theader, "TNVAL1", "%s", 1, "NA"); /* KEY */ 122 gfits_modify (&theader, "TNVAL2", "%s", 1, "NA"); /* START_TIME */ 123 gfits_modify (&theader, "TNVAL3", "%s", 1, "NA"); /* STOP_TIME */ 124 gfits_modify (&theader, "TNVAL4", "%s", 1, "NA"); /* REG_TIME */ 125 gfits_modify (&theader, "TNVAL5", "%s", 1, "Inf"); /* EXPTIME */ 126 gfits_modify (&theader, "TNVAL6", "%s", 1, "NA"); /* IMAGETYP */ 127 gfits_modify (&theader, "TNVAL7", "%s", 1, "NA"); /* FILTER */ 128 gfits_modify (&theader, "TNVAL8", "%s", 1, "NA"); /* CCDINFO */ 129 gfits_modify (&theader, "TNVAL9", "%s", 1, "NA"); /* MODE */ 130 gfits_modify (&theader, "TNVAL10", "%s", 1, "-200"); /* VERSION */ 131 gfits_modify (&theader, "TNVAL11", "%s", 1, "-200"); /* ORDER */ 132 gfits_modify (&theader, "TNVAL12", "%s", 1, "NA"); /* LABEL */ 133 gfits_modify (&theader, "TNVAL13", "%s", 1, "NA"); /* PATH */ 134 134 135 135 /* create table, add data values */ 136 fits_create_table (&theader, &table);136 gfits_create_table (&theader, &table); 137 137 138 138 /* add data to table */ … … 165 165 } 166 166 167 line = fits_table_print (&table, key, startstr, stopstr, regstr,167 line = gfits_table_print (&table, key, startstr, stopstr, regstr, 168 168 newdata[0].exptime, typestr, filtstr, ccdstr, modestr, 169 169 newdata[0].Nentry, newdata[0].Norder, 170 170 newdata[0].label, newdata[0].filename); 171 171 172 fits_add_rows (&table, line, 1, strlen(line));172 gfits_add_rows (&table, line, 1, strlen(line)); 173 173 free (line); 174 174 free (startstr); … … 182 182 return (FALSE); 183 183 } 184 fits_fwrite_header (f, &header);185 fits_fwrite_matrix (f, &matrix);186 fits_fwrite_Theader (f, &theader);187 fits_fwrite_table (f, &table);184 gfits_fwrite_header (f, &header); 185 gfits_fwrite_matrix (f, &matrix); 186 gfits_fwrite_Theader (f, &theader); 187 gfits_fwrite_table (f, &table); 188 188 fclose (f); 189 189 exit (0); -
trunk/Ohana/src/imregister/imphot/db_load.c
r4024 r7080 16 16 17 17 /* init & load in FITS table data - return FALSE on error */ 18 if (! fits_fread_header (db[0].f, &db[0].header)) {18 if (!gfits_fread_header (db[0].f, &db[0].header)) { 19 19 fprintf (stderr, "can't read primary header\n"); 20 20 return (FALSE); 21 21 } 22 22 23 fits_scan (&db[0].header, "NAXIS", "%d", 1, &Naxis);24 fits_scan (&db[0].header, "NAXIS1", "%d", 1, &Nx);25 fits_scan (&db[0].header, "NAXIS2", "%d", 1, &Ny);23 gfits_scan (&db[0].header, "NAXIS", "%d", 1, &Naxis); 24 gfits_scan (&db[0].header, "NAXIS1", "%d", 1, &Nx); 25 gfits_scan (&db[0].header, "NAXIS2", "%d", 1, &Ny); 26 26 27 27 mode = FITS; -
trunk/Ohana/src/imregister/imphot/dumpfits.c
r5014 r7080 27 27 28 28 /* create primary header */ 29 fits_init_header (&header);29 gfits_init_header (&header); 30 30 header.extend = TRUE; 31 fits_create_header (&header);32 fits_create_matrix (&header, &matrix);33 fits_print (&header, "NEXTEND", "%d", 1, 1);31 gfits_create_header (&header); 32 gfits_create_matrix (&header, &matrix); 33 gfits_print (&header, "NEXTEND", "%d", 1, 1); 34 34 35 35 ftable.header = &theader; 36 fits_table_set_Image (&ftable, subset, Nmatch);36 gfits_table_set_Image (&ftable, subset, Nmatch); 37 37 38 fits_fwrite_header (f, &header);39 fits_fwrite_matrix (f, &matrix);40 fits_fwrite_Theader (f, &theader);41 fits_fwrite_table (f, &ftable);38 gfits_fwrite_header (f, &header); 39 gfits_fwrite_matrix (f, &matrix); 40 gfits_fwrite_Theader (f, &theader); 41 gfits_fwrite_table (f, &ftable); 42 42 fclose (f); 43 43 exit (0); … … 58 58 59 59 /* create primary header */ 60 fits_init_header (&header);60 gfits_init_header (&header); 61 61 header.extend = TRUE; 62 fits_create_header (&header);63 fits_create_matrix (&header, &matrix);64 fits_print (&header, "NEXTEND", "%d", 1, 1);62 gfits_create_header (&header); 63 gfits_create_matrix (&header, &matrix); 64 gfits_print (&header, "NEXTEND", "%d", 1, 1); 65 65 66 66 /* the ASCII table is always a little harder than the binary: … … 69 69 70 70 /* create table header */ 71 fits_create_table_header (&theader, "TABLE", "ZPTS");71 gfits_create_table_header (&theader, "TABLE", "ZPTS"); 72 72 73 73 /* add current date/time to header */ 74 74 str_to_time ("now", &tsecond); 75 75 datestr = sec_to_date (tsecond); 76 fits_modify (&header, "DATE", "%s", 1, datestr);77 fits_modify (&theader, "DATE", "%s", 1, datestr);76 gfits_modify (&header, "DATE", "%s", 1, datestr); 77 gfits_modify (&theader, "DATE", "%s", 1, datestr); 78 78 79 79 /* define table layout */ 80 fits_define_table_column (&theader, "A20", "START_TIME", "start time of measurement", "yyyy/mm/dd,hh:mm:ss");81 fits_define_table_column (&theader, "A10", "FILTER", "filter and camera name", "");82 fits_define_table_column (&theader, "F8.4", "ZP_OBS", "measured zero point", "mag");83 fits_define_table_column (&theader, "F7.4", "ZP_ERR", "error on zero point", "mag");84 fits_define_table_column (&theader, "F11.6", "RA", "RA (J2000)", "dec. degrees");85 fits_define_table_column (&theader, "F11.6", "DEC", "DEC (J2000)", "dec. degrees");86 fits_define_table_column (&theader, "F7.3", "C_AIRMASS", "airmass coeff", "mag per airmass");87 fits_define_table_column (&theader, "F7.1", "SKY", "median sky flux", "counts");88 fits_define_table_column (&theader, "I6", "NSTAR", "Number of stars in image", "stars");80 gfits_define_table_column (&theader, "A20", "START_TIME", "start time of measurement", "yyyy/mm/dd,hh:mm:ss"); 81 gfits_define_table_column (&theader, "A10", "FILTER", "filter and camera name", ""); 82 gfits_define_table_column (&theader, "F8.4", "ZP_OBS", "measured zero point", "mag"); 83 gfits_define_table_column (&theader, "F7.4", "ZP_ERR", "error on zero point", "mag"); 84 gfits_define_table_column (&theader, "F11.6", "RA", "RA (J2000)", "dec. degrees"); 85 gfits_define_table_column (&theader, "F11.6", "DEC", "DEC (J2000)", "dec. degrees"); 86 gfits_define_table_column (&theader, "F7.3", "C_AIRMASS", "airmass coeff", "mag per airmass"); 87 gfits_define_table_column (&theader, "F7.1", "SKY", "median sky flux", "counts"); 88 gfits_define_table_column (&theader, "I6", "NSTAR", "Number of stars in image", "stars"); 89 89 90 90 /* define TNULL, TNVAL values */ 91 fits_modify (&theader, "TNULL1", "%s", 1, "NULL"); /* START_TIME */92 fits_modify (&theader, "TNULL2", "%s", 1, "NULL"); /* FILTER */93 fits_modify (&theader, "TNULL3", "%s", 1, "NaN"); /* ZP_OBS */94 fits_modify (&theader, "TNULL4", "%s", 1, "NaN"); /* ZP_ERR */95 fits_modify (&theader, "TNULL5", "%s", 1, "NaN"); /* RA */96 fits_modify (&theader, "TNULL6", "%s", 1, "NaN"); /* DEC */97 fits_modify (&theader, "TNULL7", "%s", 1, "NaN"); /* C_AIRMASS */98 fits_modify (&theader, "TNULL8", "%s", 1, "NaN"); /* SKY */99 fits_modify (&theader, "TNULL9", "%s", 1, "-1"); /* NSTAR */91 gfits_modify (&theader, "TNULL1", "%s", 1, "NULL"); /* START_TIME */ 92 gfits_modify (&theader, "TNULL2", "%s", 1, "NULL"); /* FILTER */ 93 gfits_modify (&theader, "TNULL3", "%s", 1, "NaN"); /* ZP_OBS */ 94 gfits_modify (&theader, "TNULL4", "%s", 1, "NaN"); /* ZP_ERR */ 95 gfits_modify (&theader, "TNULL5", "%s", 1, "NaN"); /* RA */ 96 gfits_modify (&theader, "TNULL6", "%s", 1, "NaN"); /* DEC */ 97 gfits_modify (&theader, "TNULL7", "%s", 1, "NaN"); /* C_AIRMASS */ 98 gfits_modify (&theader, "TNULL8", "%s", 1, "NaN"); /* SKY */ 99 gfits_modify (&theader, "TNULL9", "%s", 1, "-1"); /* NSTAR */ 100 100 101 fits_modify (&theader, "TNVAL1", "%s", 1, "NA"); /* START_TIME */102 fits_modify (&theader, "TNVAL2", "%s", 1, "NA"); /* FILTER */103 fits_modify (&theader, "TNVAL3", "%s", 1, "Inf"); /* ZP_OBS */104 fits_modify (&theader, "TNVAL4", "%s", 1, "Inf"); /* ZP_ERR */105 fits_modify (&theader, "TNVAL5", "%s", 1, "Inf"); /* RA */106 fits_modify (&theader, "TNVAL6", "%s", 1, "Inf"); /* DEC */107 fits_modify (&theader, "TNVAL7", "%s", 1, "Inf"); /* C_AIRMASS */108 fits_modify (&theader, "TNVAL8", "%s", 1, "Inf"); /* SKY */109 fits_modify (&theader, "TNVAL9", "%s", 1, "-2"); /* NSTAR */101 gfits_modify (&theader, "TNVAL1", "%s", 1, "NA"); /* START_TIME */ 102 gfits_modify (&theader, "TNVAL2", "%s", 1, "NA"); /* FILTER */ 103 gfits_modify (&theader, "TNVAL3", "%s", 1, "Inf"); /* ZP_OBS */ 104 gfits_modify (&theader, "TNVAL4", "%s", 1, "Inf"); /* ZP_ERR */ 105 gfits_modify (&theader, "TNVAL5", "%s", 1, "Inf"); /* RA */ 106 gfits_modify (&theader, "TNVAL6", "%s", 1, "Inf"); /* DEC */ 107 gfits_modify (&theader, "TNVAL7", "%s", 1, "Inf"); /* C_AIRMASS */ 108 gfits_modify (&theader, "TNVAL8", "%s", 1, "Inf"); /* SKY */ 109 gfits_modify (&theader, "TNVAL9", "%s", 1, "-2"); /* NSTAR */ 110 110 111 111 /* add data to table */ … … 121 121 122 122 /* we should get an error here if we don't construct this line correctly */ 123 line = fits_table_print (&ftable, startstr, filtstr, zp, dzp, ra, dec, airmass, sky, subset[0].nstar);124 fits_add_rows (&ftable, line, 1, strlen(line));123 line = gfits_table_print (&ftable, startstr, filtstr, zp, dzp, ra, dec, airmass, sky, subset[0].nstar); 124 gfits_add_rows (&ftable, line, 1, strlen(line)); 125 125 free (line); 126 126 free (startstr); … … 133 133 exit (1); 134 134 } 135 fits_fwrite_header (f, &header);136 fits_fwrite_matrix (f, &matrix);137 fits_fwrite_Theader (f, &theader);138 fits_fwrite_table (f, &ftable);135 gfits_fwrite_header (f, &header); 136 gfits_fwrite_matrix (f, &matrix); 137 gfits_fwrite_Theader (f, &theader); 138 gfits_fwrite_table (f, &ftable); 139 139 fclose (f); 140 140 return (TRUE); -
trunk/Ohana/src/imregister/imphot/modify.c
r4864 r7080 28 28 29 29 /** we may later want to pull this out and put it elsewhere **/ 30 fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, match, Nmatch);30 gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, match, Nmatch); 31 31 for (i = 0; i < Nmatch; i++) { 32 fits_convert_Image ((Image *) db[0].vtable.buffer[i], sizeof (Image), 1);32 gfits_convert_Image ((Image *) db[0].vtable.buffer[i], sizeof (Image), 1); 33 33 } 34 fits_db_update (db);35 fits_db_close (db);36 fits_db_free (db);34 gfits_db_update (db); 35 gfits_db_close (db); 36 gfits_db_free (db); 37 37 38 38 exit (0); -
trunk/Ohana/src/imregister/imphot/rfits.c
r4024 r7080 9 9 return (FALSE); 10 10 } 11 if (! fits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) {11 if (!gfits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) { 12 12 fprintf (stderr, "can't read primary matrix"); 13 13 return (FALSE); 14 14 } 15 if (! fits_fread_header (db[0].f, &db[0].theader)) {15 if (!gfits_fread_header (db[0].f, &db[0].theader)) { 16 16 fprintf (stderr, "can't read table header"); 17 17 return (FALSE); 18 18 } 19 if (! fits_fread_ftable_data (db[0].f, &db[0].ftable)) {19 if (!gfits_fread_ftable_data (db[0].f, &db[0].ftable)) { 20 20 fprintf (stderr, "can't read table data"); 21 21 return (FALSE); -
trunk/Ohana/src/imregister/imphot/rtext.c
r4024 r7080 10 10 /* check that file size makes sense */ 11 11 Nimage = 0; 12 fits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimage);12 gfits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimage); 13 13 if (stat (db[0].filename, &filestatus) == -1) { 14 14 if (VERBOSE) fprintf (stderr, "ERROR: failed to get status of image catalog\n"); … … 28 28 /* create a dummy set of table information */ 29 29 /* (original table has NAXIS = 2, change to 0) */ 30 fits_modify (&db[0].header, "NAXIS", "%d", 1, 0);31 fits_create_matrix (&db[0].header, &db[0].matrix);32 fits_table_mkheader_Image (&db[0].theader);30 gfits_modify (&db[0].header, "NAXIS", "%d", 1, 0); 31 gfits_create_matrix (&db[0].header, &db[0].matrix); 32 gfits_table_mkheader_Image (&db[0].theader); 33 33 db[0].ftable.header = &db[0].theader; 34 34 … … 41 41 } 42 42 db[0].ftable.buffer = (char *) image; 43 fits_modify (&db[0].theader, "NAXIS2", "%d", 1, Nimage);43 gfits_modify (&db[0].theader, "NAXIS2", "%d", 1, Nimage); 44 44 db[0].theader.Naxis[1] = Nimage; 45 db[0].ftable.size = fits_matrix_size (&db[0].theader);45 db[0].ftable.size = gfits_matrix_size (&db[0].theader); 46 46 47 47 return (TRUE); -
trunk/Ohana/src/imregister/imreg/cadc.c
r2803 r7080 37 37 38 38 /* create primary header */ 39 fits_init_header (&header);39 gfits_init_header (&header); 40 40 header.extend = TRUE; 41 fits_create_header (&header);42 fits_create_matrix (&header, &matrix);43 fits_print (&header, "NEXTEND", "%d", 1, 1);41 gfits_create_header (&header); 42 gfits_create_matrix (&header, &matrix); 43 gfits_print (&header, "NEXTEND", "%d", 1, 1); 44 44 45 45 /* create table header */ 46 fits_create_table_header (&theader, "TABLE", "CADC_RAW_IMAGES");46 gfits_create_table_header (&theader, "TABLE", "CADC_RAW_IMAGES"); 47 47 48 48 /* add current date/time to header */ 49 49 str_to_time ("now", &tsecond); 50 50 datestr = sec_to_date (tsecond); 51 fits_modify (&header, "DATE", "%s", 1, datestr);52 fits_modify (&theader, "DATE", "%s", 1, datestr);51 gfits_modify (&header, "DATE", "%s", 1, datestr); 52 gfits_modify (&theader, "DATE", "%s", 1, datestr); 53 53 54 54 /* define table layout */ 55 fits_define_table_column (&theader, "A99", "FILENAME", "filename in db", "");56 fits_define_table_column (&theader, "A99", "HDR_FILENAME", "image header filename", "");57 fits_define_table_column (&theader, "I10", "OBSID", "image ID number", "");58 fits_define_table_column (&theader, "F5.2", "OBS_IQ_REFCCD", "image quality on reference chip", "arcsec");59 fits_define_table_column (&theader, "F5.2", "OBS_IQ_CENTER", "image quality center region", "arcsec");60 fits_define_table_column (&theader, "F5.2", "OBS_IQ_R_RATIO", "IQ ratio (outer / center)", "");61 fits_define_table_column (&theader, "F5.2", "OBS_IQ_X_RATIO", "IQ ratio (left / right)", "");62 fits_define_table_column (&theader, "F5.2", "OBS_IQ_Y_RATIO", "IQ ratio (top / bottom)", "");63 fits_define_table_column (&theader, "F9.3", "OBS_BG_VAL", "background level", "counts / pixel");55 gfits_define_table_column (&theader, "A99", "FILENAME", "filename in db", ""); 56 gfits_define_table_column (&theader, "A99", "HDR_FILENAME", "image header filename", ""); 57 gfits_define_table_column (&theader, "I10", "OBSID", "image ID number", ""); 58 gfits_define_table_column (&theader, "F5.2", "OBS_IQ_REFCCD", "image quality on reference chip", "arcsec"); 59 gfits_define_table_column (&theader, "F5.2", "OBS_IQ_CENTER", "image quality center region", "arcsec"); 60 gfits_define_table_column (&theader, "F5.2", "OBS_IQ_R_RATIO", "IQ ratio (outer / center)", ""); 61 gfits_define_table_column (&theader, "F5.2", "OBS_IQ_X_RATIO", "IQ ratio (left / right)", ""); 62 gfits_define_table_column (&theader, "F5.2", "OBS_IQ_Y_RATIO", "IQ ratio (top / bottom)", ""); 63 gfits_define_table_column (&theader, "F9.3", "OBS_BG_VAL", "background level", "counts / pixel"); 64 64 65 65 /* define TNULL, TNVAL values */ 66 fits_modify (&theader, "TNULL1", "%s", 1, "NULL"); /* FILENAME */67 fits_modify (&theader, "TNULL2", "%s", 1, "NULL"); /* HDR_FILENAME */68 fits_modify (&theader, "TNULL3", "%s", 1, "0"); /* OBSID */69 fits_modify (&theader, "TNULL4", "%s", 1, "0.00"); /* OBS_IQ_REFCCD */70 fits_modify (&theader, "TNULL5", "%s", 1, "0.00"); /* OBS_IQ_CENTER */71 fits_modify (&theader, "TNULL6", "%s", 1, "0.00"); /* OBS_IQ_R_RATIO */72 fits_modify (&theader, "TNULL7", "%s", 1, "0.00"); /* OBS_IQ_X_RATIO */73 fits_modify (&theader, "TNULL8", "%s", 1, "0.00"); /* OBS_IQ_Y_RATIO */74 fits_modify (&theader, "TNULL9", "%s", 1, "0.00"); /* OBS_BG_VAL */75 76 fits_modify (&theader, "TNVAL1", "%s", 1, "NA"); /* FILENAME */77 fits_modify (&theader, "TNVAL2", "%s", 1, "NA"); /* HDR_FILENAME */78 fits_modify (&theader, "TNVAL3", "%s", 1, "-1"); /* OBSID */79 fits_modify (&theader, "TNVAL4", "%s", 1, "-1.00"); /* OBS_IQ_REFCCD */80 fits_modify (&theader, "TNVAL5", "%s", 1, "-1.00"); /* OBS_IQ_CENTER */81 fits_modify (&theader, "TNVAL6", "%s", 1, "-1.00"); /* OBS_IQ_R_RATIO */82 fits_modify (&theader, "TNVAL7", "%s", 1, "-1.00"); /* OBS_IQ_X_RATIO */83 fits_modify (&theader, "TNVAL8", "%s", 1, "-1.00"); /* OBS_IQ_Y_RATIO */84 fits_modify (&theader, "TNVAL9", "%s", 1, "-1.00"); /* OBS_BG_VAL */66 gfits_modify (&theader, "TNULL1", "%s", 1, "NULL"); /* FILENAME */ 67 gfits_modify (&theader, "TNULL2", "%s", 1, "NULL"); /* HDR_FILENAME */ 68 gfits_modify (&theader, "TNULL3", "%s", 1, "0"); /* OBSID */ 69 gfits_modify (&theader, "TNULL4", "%s", 1, "0.00"); /* OBS_IQ_REFCCD */ 70 gfits_modify (&theader, "TNULL5", "%s", 1, "0.00"); /* OBS_IQ_CENTER */ 71 gfits_modify (&theader, "TNULL6", "%s", 1, "0.00"); /* OBS_IQ_R_RATIO */ 72 gfits_modify (&theader, "TNULL7", "%s", 1, "0.00"); /* OBS_IQ_X_RATIO */ 73 gfits_modify (&theader, "TNULL8", "%s", 1, "0.00"); /* OBS_IQ_Y_RATIO */ 74 gfits_modify (&theader, "TNULL9", "%s", 1, "0.00"); /* OBS_BG_VAL */ 75 76 gfits_modify (&theader, "TNVAL1", "%s", 1, "NA"); /* FILENAME */ 77 gfits_modify (&theader, "TNVAL2", "%s", 1, "NA"); /* HDR_FILENAME */ 78 gfits_modify (&theader, "TNVAL3", "%s", 1, "-1"); /* OBSID */ 79 gfits_modify (&theader, "TNVAL4", "%s", 1, "-1.00"); /* OBS_IQ_REFCCD */ 80 gfits_modify (&theader, "TNVAL5", "%s", 1, "-1.00"); /* OBS_IQ_CENTER */ 81 gfits_modify (&theader, "TNVAL6", "%s", 1, "-1.00"); /* OBS_IQ_R_RATIO */ 82 gfits_modify (&theader, "TNVAL7", "%s", 1, "-1.00"); /* OBS_IQ_X_RATIO */ 83 gfits_modify (&theader, "TNVAL8", "%s", 1, "-1.00"); /* OBS_IQ_Y_RATIO */ 84 gfits_modify (&theader, "TNVAL9", "%s", 1, "-1.00"); /* OBS_BG_VAL */ 85 85 86 86 /* create table, add data values */ 87 fits_create_table (&theader, &table);87 gfits_create_table (&theader, &table); 88 88 89 89 /* prepare indicies to handle table data */ … … 111 111 iqf = center * ARCSEC_PIXEL; 112 112 iqo = row[0].fwhm*ARCSEC_PIXEL; 113 line = fits_table_print (&table, row[0].filename, hdrname, Obsid, iqo, iqf, iqr, iqx, iqy, row[0].sky);114 115 fits_add_rows (&table, line, 1, strlen(line));113 line = gfits_table_print (&table, row[0].filename, hdrname, Obsid, iqo, iqf, iqr, iqx, iqy, row[0].sky); 114 115 gfits_add_rows (&table, line, 1, strlen(line)); 116 116 free (line); 117 117 } … … 120 120 free (entry); 121 121 122 fits_write_header (filename, &header);123 fits_write_matrix (filename, &matrix);124 fits_write_Theader (filename, &theader);125 fits_write_table (filename, &table);122 gfits_write_header (filename, &header); 123 gfits_write_matrix (filename, &matrix); 124 gfits_write_Theader (filename, &theader); 125 gfits_write_table (filename, &table); 126 126 exit (0); 127 127 } -
trunk/Ohana/src/imregister/imreg/delete.c
r3606 r7080 22 22 if (Ndel == 0) { 23 23 fprintf (stderr, "SUCCESS\n"); 24 fits_db_close (db);24 gfits_db_close (db); 25 25 exit (0); 26 26 } … … 41 41 /** we may later want to pull this out and put it elsewhere **/ 42 42 /** free db[0].theader, db[0].table.buffer? **/ 43 fits_table_set_RegImage (&db[0].ftable, subset, Nsubset);44 fits_db_save (db);45 fits_db_close (db);46 fits_db_free (db);43 gfits_table_set_RegImage (&db[0].ftable, subset, Nsubset); 44 gfits_db_save (db); 45 gfits_db_close (db); 46 gfits_db_free (db); 47 47 48 48 fprintf (stderr, "SUCCESS\n"); -
trunk/Ohana/src/imregister/imreg/iminfo.c
r3606 r7080 19 19 20 20 /* load in FITS header from image */ 21 if (! fits_read_header (filename, &header)) {21 if (!gfits_read_header (filename, &header)) { 22 22 fprintf (stderr, "ERROR: can't find image file %s\n", filename); 23 23 exit (1); … … 42 42 43 43 /* determine data layout (SINGLE, SPLIT, MEF, CUBE, SLICE) */ 44 fits_scan (&header, "EXTEND", "%t", 1, &extend);45 fits_scan (&header, "NAXIS", "%d", 1, &Naxes);44 gfits_scan (&header, "EXTEND", "%t", 1, &extend); 45 gfits_scan (&header, "NAXIS", "%d", 1, &Naxes); 46 46 if (extend) { /* MEF file */ 47 fits_scan (&header, "NEXTEND", "%d", 1, &Nextend);47 gfits_scan (&header, "NEXTEND", "%d", 1, &Nextend); 48 48 image[0].mode = M_MEF; 49 49 image[0].ccd = Nextend; … … 51 51 /* need to distinguish MEF, CUBE, and MEF-CUBE */ 52 52 if (Naxes == 3) { /* data cube */ 53 fits_scan (&header, "NAXIS3", "%d", 1, &Nseq);53 gfits_scan (&header, "NAXIS3", "%d", 1, &Nseq); 54 54 if (image[0].mode == M_MEF) { 55 55 fprintf (stderr, "MEF-CUBE not ready\n"); … … 59 59 image[0].seq = Nseq; 60 60 /* abstract this name somewhere ? */ 61 fits_scan (&header, "SEQTIME", "%f", 1, &image[0].seqtime);61 gfits_scan (&header, "SEQTIME", "%f", 1, &image[0].seqtime); 62 62 } 63 63 if (SingleIsSplit && (image[0].mode == M_SINGLE)) { … … 68 68 69 69 /* extract other relevant data from header */ 70 fits_scan (&header, ImagetypeKeyword, "%s", 1, &Imagetype);70 gfits_scan (&header, ImagetypeKeyword, "%s", 1, &Imagetype); 71 71 72 72 /* grab the image type : if not defined, set to 'none' */ … … 80 80 81 81 /* grab interesting info from header */ 82 fits_scan (&header, ExptimeKeyword, "%f", 1, &image[0].exptime);83 fits_scan (&header, AirmassKeyword, "%f", 1, &image[0].airmass);84 fits_scan (&header, FocusKeyword, "%f", 1, &image[0].telfocus);85 fits_scan (&header, Teldata1Keyword, "%f", 1, &image[0].xprobe);86 fits_scan (&header, Teldata2Keyword, "%f", 1, &image[0].yprobe);87 fits_scan (&header, Teldata3Keyword, "%f", 1, &image[0].zprobe);88 fits_scan (&header, DettempKeyword, "%f", 1, &image[0].dettemp);89 fits_scan (&header, RotationKeyword, "%f", 1, &image[0].rotangle);82 gfits_scan (&header, ExptimeKeyword, "%f", 1, &image[0].exptime); 83 gfits_scan (&header, AirmassKeyword, "%f", 1, &image[0].airmass); 84 gfits_scan (&header, FocusKeyword, "%f", 1, &image[0].telfocus); 85 gfits_scan (&header, Teldata1Keyword, "%f", 1, &image[0].xprobe); 86 gfits_scan (&header, Teldata2Keyword, "%f", 1, &image[0].yprobe); 87 gfits_scan (&header, Teldata3Keyword, "%f", 1, &image[0].zprobe); 88 gfits_scan (&header, DettempKeyword, "%f", 1, &image[0].dettemp); 89 gfits_scan (&header, RotationKeyword, "%f", 1, &image[0].rotangle); 90 90 91 91 /* force strings to fit in available space (32 bytes) */ 92 fits_scan (&header, CameraKeyword, "%s", 1, line);92 gfits_scan (&header, CameraKeyword, "%s", 1, line); 93 93 strncpy (image[0].instrument, line, 31); 94 94 image[0].instrument[31] = 0; 95 95 96 fits_scan (&header, FilterKeyword, "%s", 1, line);96 gfits_scan (&header, FilterKeyword, "%s", 1, line); 97 97 MatchFilterList (line); 98 98 strncpy (image[0].filter, line, 31); … … 101 101 /* header has RA & DEC in decimal degrees */ 102 102 if (RADecDegKeyword[0] & DECDecDegKeyword[0]) { 103 fits_scan (&header, RADecDegKeyword, "%f", 1, &image[0].ra);104 fits_scan (&header, DECDecDegKeyword, "%f", 1, &image[0].dec);103 gfits_scan (&header, RADecDegKeyword, "%f", 1, &image[0].ra); 104 gfits_scan (&header, DECDecDegKeyword, "%f", 1, &image[0].dec); 105 105 } else { 106 106 if (RASexigKeyword[0] & DECSexigKeyword[0]) { 107 fits_scan (&header, RASexigKeyword, "%s", 1, line);107 gfits_scan (&header, RASexigKeyword, "%s", 1, line); 108 108 dms_to_ddd (&tmp, line); 109 109 image[0].ra = 15*tmp; 110 fits_scan (&header, DECSexigKeyword, "%s", 1, &line);110 gfits_scan (&header, DECSexigKeyword, "%s", 1, &line); 111 111 dms_to_ddd (&tmp, line); 112 112 image[0].dec = tmp; -
trunk/Ohana/src/imregister/imreg/imregclient.c
r4864 r7080 63 63 db.lockstate = LCK_HARD; 64 64 db.timeout = 300.0; 65 fits_db_init (&db);65 gfits_db_init (&db); 66 66 67 if (! fits_db_lock (&db, TempDB)) {67 if (!gfits_db_lock (&db, TempDB)) { 68 68 fprintf (stderr, "ERROR: failure to lock db\n"); 69 fits_db_close (&db);69 gfits_db_close (&db); 70 70 exit (1); 71 71 } 72 72 if (db.dbstate == LCK_EMPTY) { 73 fits_db_create (&db);74 fits_table_set_RegImage (&db.ftable, NULL, 0);73 gfits_db_create (&db); 74 gfits_table_set_RegImage (&db.ftable, NULL, 0); 75 75 } else { 76 if (! fits_db_load (&db)) {76 if (!gfits_db_load (&db)) { 77 77 fprintf (stderr, "ERROR: failure to load db\n"); 78 fits_db_close (&db);78 gfits_db_close (&db); 79 79 exit (1); 80 80 } 81 81 } 82 82 83 fits_convert_RegImage (image, sizeof (RegImage), Nentry);84 fits_table_to_vtable (&db.ftable, &db.vtable, 0, 0);85 fits_vadd_rows (&db.vtable, (char *) image, Nentry, sizeof(RegImage));83 gfits_convert_RegImage (image, sizeof (RegImage), Nentry); 84 gfits_table_to_vtable (&db.ftable, &db.vtable, 0, 0); 85 gfits_vadd_rows (&db.vtable, (char *) image, Nentry, sizeof(RegImage)); 86 86 87 fits_db_update (&db);88 fits_db_close (&db);89 fits_db_free (&db);87 gfits_db_update (&db); 88 gfits_db_close (&db); 89 gfits_db_free (&db); 90 90 91 91 fprintf (stderr, "SUCCESS: wrote temp image data\n"); -
trunk/Ohana/src/imregister/imreg/modify.c
r4864 r7080 78 78 79 79 /** we may later want to pull this out and put it elsewhere **/ 80 fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, match, Nmatch);80 gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, match, Nmatch); 81 81 for (i = 0; i < Nmatch; i++) { 82 fits_convert_RegImage ((RegImage *) db[0].vtable.buffer[i], sizeof (RegImage), 1);82 gfits_convert_RegImage ((RegImage *) db[0].vtable.buffer[i], sizeof (RegImage), 1); 83 83 } 84 fits_db_update (db);85 fits_db_close (db);86 fits_db_free (db);84 gfits_db_update (db); 85 gfits_db_close (db); 86 gfits_db_free (db); 87 87 88 88 fprintf (stderr, "SUCCESS\n"); -
trunk/Ohana/src/imregister/imreg/output.c
r3606 r7080 70 70 71 71 /* create primary header */ 72 fits_init_header (&header);72 gfits_init_header (&header); 73 73 header.extend = TRUE; 74 fits_create_header (&header);75 fits_create_matrix (&header, &matrix);76 fits_print (&header, "NEXTEND", "%d", 1, 1);74 gfits_create_header (&header); 75 gfits_create_matrix (&header, &matrix); 76 gfits_print (&header, "NEXTEND", "%d", 1, 1); 77 77 78 78 ftable.header = &theader; 79 fits_table_set_RegImage (&ftable, subset, Nmatch);80 81 fits_fwrite_header (f, &header);82 fits_fwrite_matrix (f, &matrix);83 fits_fwrite_Theader (f, &theader);84 fits_fwrite_table (f, &ftable);79 gfits_table_set_RegImage (&ftable, subset, Nmatch); 80 81 gfits_fwrite_header (f, &header); 82 gfits_fwrite_matrix (f, &matrix); 83 gfits_fwrite_Theader (f, &theader); 84 gfits_fwrite_table (f, &ftable); 85 85 fclose (f); 86 86 exit (0); … … 102 102 103 103 /* create primary header */ 104 fits_init_header (&header);104 gfits_init_header (&header); 105 105 header.extend = TRUE; 106 fits_create_header (&header);107 fits_create_matrix (&header, &matrix);108 fits_print (&header, "NEXTEND", "%d", 1, 1);106 gfits_create_header (&header); 107 gfits_create_matrix (&header, &matrix); 108 gfits_print (&header, "NEXTEND", "%d", 1, 1); 109 109 110 110 /* create table header */ 111 fits_create_table_header (&theader, "TABLE", "IMAGE_DATABASE");111 gfits_create_table_header (&theader, "TABLE", "IMAGE_DATABASE"); 112 112 113 113 /* add current date/time to header */ 114 114 str_to_time ("now", &tsecond); 115 115 datestr = sec_to_date (tsecond); 116 fits_modify (&header, "DATE", "%s", 1, datestr);117 fits_modify (&theader, "DATE", "%s", 1, datestr);116 gfits_modify (&header, "DATE", "%s", 1, datestr); 117 gfits_modify (&theader, "DATE", "%s", 1, datestr); 118 118 119 119 /* define table layout */ 120 fits_define_table_column (&theader, "A64", "FILE", "filename in db", "");121 fits_define_table_column (&theader, "A128", "PATH", "fullpath in db", "");122 fits_define_table_column (&theader, "A32", "FILTER", "filter name", "");123 fits_define_table_column (&theader, "A32", "INSTRUMENT", "instrument", "");124 fits_define_table_column (&theader, "A6", "CCD", "ccd identifier", "");125 fits_define_table_column (&theader, "A6", "MODE", "mef/split/etc", "");126 fits_define_table_column (&theader, "A8", "TYPE", "object/flat/bias/etc", "");127 fits_define_table_column (&theader, "A25", "JUNK", "space for expansion", "");128 fits_define_table_column (&theader, "F6.1", "EXPTIME", "exposure time", "seconds");129 fits_define_table_column (&theader, "F5.3", "AIRMASS", "airmass", "");130 fits_define_table_column (&theader, "F7.1", "SKY", "background level", "counts / pixel");131 fits_define_table_column (&theader, "F6.1", "BIAS", "bias level", "counts / pixel");132 fits_define_table_column (&theader, "F5.2", "FWHM", "image quality", "pixels");133 fits_define_table_column (&theader, "F5.1", "TELFOCUS", "telescope focus", "microns");134 fits_define_table_column (&theader, "F5.1", "XPROBE", "bonnette probe x pos", "microns");135 fits_define_table_column (&theader, "F5.1", "YPROBE", "bonnette probe y pos", "microns");136 fits_define_table_column (&theader, "F5.1", "ZPROBE", "bonnette focus", "microns");137 fits_define_table_column (&theader, "F5.1", "DETTEMP", "detector temperature", "deg celcius");138 fits_define_table_column (&theader, "F5.1", "TELTEMP0", "other temperature", "deg celcius");139 fits_define_table_column (&theader, "F5.1", "TELTEMP1", "other temperature", "deg celcius");140 fits_define_table_column (&theader, "F5.1", "TELTEMP2", "other temperature", "deg celcius");141 fits_define_table_column (&theader, "F5.1", "TELTEMP3", "other temperature", "deg celcius");142 fits_define_table_column (&theader, "F5.1", "ROTANGLE", "camear rotation angle", "degrees");143 fits_define_table_column (&theader, "F10.6", "RA", "image ra", "degrees");144 fits_define_table_column (&theader, "F10.6", "DEC", "image dec", "degrees");145 fits_define_table_column (&theader, "A20", "OBS_TIME", "time of measurement", "seconds since Jan 1, 1970 UT");146 fits_define_table_column (&theader, "A20", "REG_TIME", "time of registration", "seconds since Jan 1, 1970 UT");120 gfits_define_table_column (&theader, "A64", "FILE", "filename in db", ""); 121 gfits_define_table_column (&theader, "A128", "PATH", "fullpath in db", ""); 122 gfits_define_table_column (&theader, "A32", "FILTER", "filter name", ""); 123 gfits_define_table_column (&theader, "A32", "INSTRUMENT", "instrument", ""); 124 gfits_define_table_column (&theader, "A6", "CCD", "ccd identifier", ""); 125 gfits_define_table_column (&theader, "A6", "MODE", "mef/split/etc", ""); 126 gfits_define_table_column (&theader, "A8", "TYPE", "object/flat/bias/etc", ""); 127 gfits_define_table_column (&theader, "A25", "JUNK", "space for expansion", ""); 128 gfits_define_table_column (&theader, "F6.1", "EXPTIME", "exposure time", "seconds"); 129 gfits_define_table_column (&theader, "F5.3", "AIRMASS", "airmass", ""); 130 gfits_define_table_column (&theader, "F7.1", "SKY", "background level", "counts / pixel"); 131 gfits_define_table_column (&theader, "F6.1", "BIAS", "bias level", "counts / pixel"); 132 gfits_define_table_column (&theader, "F5.2", "FWHM", "image quality", "pixels"); 133 gfits_define_table_column (&theader, "F5.1", "TELFOCUS", "telescope focus", "microns"); 134 gfits_define_table_column (&theader, "F5.1", "XPROBE", "bonnette probe x pos", "microns"); 135 gfits_define_table_column (&theader, "F5.1", "YPROBE", "bonnette probe y pos", "microns"); 136 gfits_define_table_column (&theader, "F5.1", "ZPROBE", "bonnette focus", "microns"); 137 gfits_define_table_column (&theader, "F5.1", "DETTEMP", "detector temperature", "deg celcius"); 138 gfits_define_table_column (&theader, "F5.1", "TELTEMP0", "other temperature", "deg celcius"); 139 gfits_define_table_column (&theader, "F5.1", "TELTEMP1", "other temperature", "deg celcius"); 140 gfits_define_table_column (&theader, "F5.1", "TELTEMP2", "other temperature", "deg celcius"); 141 gfits_define_table_column (&theader, "F5.1", "TELTEMP3", "other temperature", "deg celcius"); 142 gfits_define_table_column (&theader, "F5.1", "ROTANGLE", "camear rotation angle", "degrees"); 143 gfits_define_table_column (&theader, "F10.6", "RA", "image ra", "degrees"); 144 gfits_define_table_column (&theader, "F10.6", "DEC", "image dec", "degrees"); 145 gfits_define_table_column (&theader, "A20", "OBS_TIME", "time of measurement", "seconds since Jan 1, 1970 UT"); 146 gfits_define_table_column (&theader, "A20", "REG_TIME", "time of registration", "seconds since Jan 1, 1970 UT"); 147 147 148 148 /* create table, add data values */ 149 fits_create_table (&theader, &table);149 gfits_create_table (&theader, &table); 150 150 151 151 /* add data to table */ … … 158 158 ccdstr = ccds[(int)subset[0].ccd]; 159 159 160 line = fits_table_print (&table, subset[0].pathname, subset[0].filename,160 line = gfits_table_print (&table, subset[0].pathname, subset[0].filename, 161 161 subset[0].filter, subset[0].instrument, ccdstr, 162 162 modestr, typestr, dummy, … … 170 170 obsstr, regstr); 171 171 172 fits_add_rows (&table, line, 1, strlen(line));172 gfits_add_rows (&table, line, 1, strlen(line)); 173 173 free (line); 174 174 free (obsstr); … … 176 176 } 177 177 178 fits_write_header (filename, &header);179 fits_write_matrix (filename, &matrix);180 fits_write_Theader (filename, &theader);181 fits_write_table (filename, &table);178 gfits_write_header (filename, &header); 179 gfits_write_matrix (filename, &matrix); 180 gfits_write_Theader (filename, &theader); 181 gfits_write_table (filename, &table); 182 182 exit (0); 183 183 } -
trunk/Ohana/src/imregister/include/imregister.h
r4837 r7080 92 92 93 93 void warn_scan (Header *header, char *field, char *format, int N, void *var); 94 int fits_scan_nchar (Header *header, int size, char *field, int N,...);94 int gfits_scan_nchar (Header *header, int size, char *field, int N,...); 95 95 void warn_scan_nchar (Header *header, int size, char *field, int N, void *var); 96 96 -
trunk/Ohana/src/imregister/photreg/delete.c
r3536 r7080 23 23 if (Ndel == 0) { 24 24 fprintf (stderr, "SUCCESS\n"); 25 fits_db_close (db);26 fits_db_free (db);25 gfits_db_close (db); 26 gfits_db_free (db); 27 27 exit (0); 28 28 } … … 38 38 } 39 39 40 fits_table_set_PhotPars (&db[0].ftable, subset, Nsubset);41 fits_db_save (db);42 fits_db_close (db);43 fits_db_free (db);40 gfits_table_set_PhotPars (&db[0].ftable, subset, Nsubset); 41 gfits_db_save (db); 42 gfits_db_close (db); 43 gfits_db_free (db); 44 44 45 45 fprintf (stderr, "SUCCESS\n"); -
trunk/Ohana/src/imregister/photreg/getImageData.c
r2803 r7080 11 11 12 12 /* load options from the image header */ 13 if (! fits_read_header (Image, &header)) {13 if (!gfits_read_header (Image, &header)) { 14 14 if (output.verbose) fprintf (stderr, "ERR: trouble reading image header\n"); 15 15 exit (1); … … 25 25 /** determine photcode from header **/ 26 26 /* get camera */ 27 fits_scan (&header, CameraKeyword, "%s", 1, detector);27 gfits_scan (&header, CameraKeyword, "%s", 1, detector); 28 28 for (i = 0; i < strlen(detector); i++) { detector[i] = toupper (detector[i]); } 29 29 for (i = 0; i < strlen(detector); i++) { if (isspace (detector[i])) detector[i] = '.'; } … … 31 31 /* get filter */ 32 32 Nfilter = FILTER_NONE; 33 fits_scan (&header, FilterKeyword, "%s", 1, filter);33 gfits_scan (&header, FilterKeyword, "%s", 1, filter); 34 34 for (i = 0; i < strlen (filter); i++) { if (isspace (filter[i])) filter[i] = '.'; } 35 35 for (i = 0; (i < NFILTER) && (Nfilter == FILTER_NONE); i++) { … … 52 52 } else { 53 53 ccd = -1; 54 fits_scan (&header, CCDnumKeyword, "%d", 1, &ccd);54 gfits_scan (&header, CCDnumKeyword, "%d", 1, &ccd); 55 55 } 56 56 if (ccd == -1) { -
trunk/Ohana/src/imregister/photreg/output.c
r5386 r7080 48 48 49 49 /* create primary header */ 50 fits_init_header (&header);50 gfits_init_header (&header); 51 51 header.extend = TRUE; 52 fits_create_header (&header);53 fits_create_matrix (&header, &matrix);54 fits_print (&header, "NEXTEND", "%d", 1, 1);52 gfits_create_header (&header); 53 gfits_create_matrix (&header, &matrix); 54 gfits_print (&header, "NEXTEND", "%d", 1, 1); 55 55 56 56 ftable.header = &theader; 57 fits_table_set_PhotPars (&ftable, subset, Nmatch);57 gfits_table_set_PhotPars (&ftable, subset, Nmatch); 58 58 59 59 /* EXTNAME is set to ZERO_POINTS_3.0 by default */ 60 60 if (!strcmp (output.db, "trans")) { 61 fits_modify (&theader, "EXTNAME", "%s", 1, "TRANS_POINTS_3.0");62 } 63 64 fits_write_header (filename, &header);65 fits_write_matrix (filename, &matrix);66 fits_write_Theader (filename, &theader);67 fits_write_table (filename, &ftable);61 gfits_modify (&theader, "EXTNAME", "%s", 1, "TRANS_POINTS_3.0"); 62 } 63 64 gfits_write_header (filename, &header); 65 gfits_write_matrix (filename, &matrix); 66 gfits_write_Theader (filename, &theader); 67 gfits_write_table (filename, &ftable); 68 68 fclose (f); 69 69 exit (0); … … 84 84 85 85 /* create primary header */ 86 fits_init_header (&header);86 gfits_init_header (&header); 87 87 header.extend = TRUE; 88 fits_create_header (&header);89 fits_create_matrix (&header, &matrix);90 fits_print (&header, "NEXTEND", "%d", 1, 1);88 gfits_create_header (&header); 89 gfits_create_matrix (&header, &matrix); 90 gfits_print (&header, "NEXTEND", "%d", 1, 1); 91 91 92 92 /* create table header */ … … 96 96 extname = strcreate ("SUMMARY_ZPTS"); 97 97 } 98 fits_create_table_header (&theader, "TABLE", extname);98 gfits_create_table_header (&theader, "TABLE", extname); 99 99 100 100 /* add current date/time to header */ 101 101 str_to_time ("now", &tsecond); 102 102 datestr = sec_to_date ((unsigned int) tsecond); 103 fits_modify (&header, "DATE", "%s", 1, datestr);104 fits_modify (&theader, "DATE", "%s", 1, datestr);103 gfits_modify (&header, "DATE", "%s", 1, datestr); 104 gfits_modify (&theader, "DATE", "%s", 1, datestr); 105 105 free (datestr); 106 106 107 107 /* define table layout */ 108 fits_define_table_column (&theader, "F8.4", "ZP_OBS", "measured zero point", "mag");109 fits_define_table_column (&theader, "F8.4", "ZP_REF", "nominal zero point", "mag");110 fits_define_table_column (&theader, "F7.4", "ZP_ERR", "error on zero point", "mag");111 fits_define_table_column (&theader, "F7.3", "C_AIRMASS", "airmass coeff", "mag per airmass");112 fits_define_table_column (&theader, "F6.3", "C_COLOR", "color coeff", "mag per mag");113 fits_define_table_column (&theader, "A20", "START_TIME", "start time of measurement", "yyyy/mm/dd,hh:mm:ss");114 fits_define_table_column (&theader, "A20", "STOP_TIME", "stop time of measurement", "yyyy/mm/dd,hh:mm:ss");115 fits_define_table_column (&theader, "A12", "C1_NAME", "filter 1 for color", "");116 fits_define_table_column (&theader, "A12", "C2_NAME", "filter 2 for color", "");117 fits_define_table_column (&theader, "I6", "NSTARS", "number of stars used", "");118 fits_define_table_column (&theader, "I6", "NTIMES", "number of unique images", "");119 fits_define_table_column (&theader, "A12", "INT_PHOT_SYS", "internal photom system", "");120 fits_define_table_column (&theader, "A12", "REF_PHOT_SYS", "reference photom system", "");121 fits_define_table_column (&theader, "A70", "LABEL", "data label", "");108 gfits_define_table_column (&theader, "F8.4", "ZP_OBS", "measured zero point", "mag"); 109 gfits_define_table_column (&theader, "F8.4", "ZP_REF", "nominal zero point", "mag"); 110 gfits_define_table_column (&theader, "F7.4", "ZP_ERR", "error on zero point", "mag"); 111 gfits_define_table_column (&theader, "F7.3", "C_AIRMASS", "airmass coeff", "mag per airmass"); 112 gfits_define_table_column (&theader, "F6.3", "C_COLOR", "color coeff", "mag per mag"); 113 gfits_define_table_column (&theader, "A20", "START_TIME", "start time of measurement", "yyyy/mm/dd,hh:mm:ss"); 114 gfits_define_table_column (&theader, "A20", "STOP_TIME", "stop time of measurement", "yyyy/mm/dd,hh:mm:ss"); 115 gfits_define_table_column (&theader, "A12", "C1_NAME", "filter 1 for color", ""); 116 gfits_define_table_column (&theader, "A12", "C2_NAME", "filter 2 for color", ""); 117 gfits_define_table_column (&theader, "I6", "NSTARS", "number of stars used", ""); 118 gfits_define_table_column (&theader, "I6", "NTIMES", "number of unique images", ""); 119 gfits_define_table_column (&theader, "A12", "INT_PHOT_SYS", "internal photom system", ""); 120 gfits_define_table_column (&theader, "A12", "REF_PHOT_SYS", "reference photom system", ""); 121 gfits_define_table_column (&theader, "A70", "LABEL", "data label", ""); 122 122 123 123 /* define TNULL, TNVAL values */ 124 fits_modify (&theader, "TNULL1", "%s", 1, "NaN"); /* ZP_OBS */125 fits_modify (&theader, "TNULL2", "%s", 1, "NaN"); /* ZP_REF */126 fits_modify (&theader, "TNULL3", "%s", 1, "NaN"); /* ZP_ERR */127 fits_modify (&theader, "TNULL4", "%s", 1, "NaN"); /* C_AIRMASS */128 fits_modify (&theader, "TNULL5", "%s", 1, "NaN"); /* C_COLOR */129 fits_modify (&theader, "TNULL6", "%s", 1, "NULL"); /* START_TIME */130 fits_modify (&theader, "TNULL7", "%s", 1, "NULL"); /* STOP_TIME */131 fits_modify (&theader, "TNULL8", "%s", 1, "NULL"); /* C1_NAME */132 fits_modify (&theader, "TNULL9", "%s", 1, "NULL"); /* C2_NAME */133 fits_modify (&theader, "TNULL10", "%s", 1, "NULL"); /* NSTARS */134 fits_modify (&theader, "TNULL11", "%s", 1, "NULL"); /* NTIMES */135 fits_modify (&theader, "TNULL12", "%s", 1, "NULL"); /* INT_PHOT_SYS */136 fits_modify (&theader, "TNULL13", "%s", 1, "NULL"); /* REF_PHOT_SYS */137 fits_modify (&theader, "TNULL14", "%s", 1, "NULL"); /* LABEL */138 139 fits_modify (&theader, "TNVAL1", "%s", 1, "Inf"); /* ZP_OBS */140 fits_modify (&theader, "TNVAL2", "%s", 1, "Inf"); /* ZP_REF */141 fits_modify (&theader, "TNVAL3", "%s", 1, "Inf"); /* ZP_ERR */142 fits_modify (&theader, "TNVAL4", "%s", 1, "Inf"); /* C_AIRMASS */143 fits_modify (&theader, "TNVAL5", "%s", 1, "Inf"); /* C_COLOR */144 fits_modify (&theader, "TNVAL6", "%s", 1, "NA"); /* START_TIME */145 fits_modify (&theader, "TNVAL7", "%s", 1, "NA"); /* STOP_TIME */146 fits_modify (&theader, "TNVAL8", "%s", 1, "NA"); /* C1_NAME */147 fits_modify (&theader, "TNVAL9", "%s", 1, "NA"); /* C2_NAME */148 fits_modify (&theader, "TNVAL10", "%s", 1, "NA"); /* NSTARS */149 fits_modify (&theader, "TNVAL11", "%s", 1, "NA"); /* NTIMES */150 fits_modify (&theader, "TNVAL12", "%s", 1, "NA"); /* INT_PHOT_SYS */151 fits_modify (&theader, "TNVAL13", "%s", 1, "NA"); /* REF_PHOT_SYS */152 fits_modify (&theader, "TNVAL14", "%s", 1, "NA"); /* LABEL */124 gfits_modify (&theader, "TNULL1", "%s", 1, "NaN"); /* ZP_OBS */ 125 gfits_modify (&theader, "TNULL2", "%s", 1, "NaN"); /* ZP_REF */ 126 gfits_modify (&theader, "TNULL3", "%s", 1, "NaN"); /* ZP_ERR */ 127 gfits_modify (&theader, "TNULL4", "%s", 1, "NaN"); /* C_AIRMASS */ 128 gfits_modify (&theader, "TNULL5", "%s", 1, "NaN"); /* C_COLOR */ 129 gfits_modify (&theader, "TNULL6", "%s", 1, "NULL"); /* START_TIME */ 130 gfits_modify (&theader, "TNULL7", "%s", 1, "NULL"); /* STOP_TIME */ 131 gfits_modify (&theader, "TNULL8", "%s", 1, "NULL"); /* C1_NAME */ 132 gfits_modify (&theader, "TNULL9", "%s", 1, "NULL"); /* C2_NAME */ 133 gfits_modify (&theader, "TNULL10", "%s", 1, "NULL"); /* NSTARS */ 134 gfits_modify (&theader, "TNULL11", "%s", 1, "NULL"); /* NTIMES */ 135 gfits_modify (&theader, "TNULL12", "%s", 1, "NULL"); /* INT_PHOT_SYS */ 136 gfits_modify (&theader, "TNULL13", "%s", 1, "NULL"); /* REF_PHOT_SYS */ 137 gfits_modify (&theader, "TNULL14", "%s", 1, "NULL"); /* LABEL */ 138 139 gfits_modify (&theader, "TNVAL1", "%s", 1, "Inf"); /* ZP_OBS */ 140 gfits_modify (&theader, "TNVAL2", "%s", 1, "Inf"); /* ZP_REF */ 141 gfits_modify (&theader, "TNVAL3", "%s", 1, "Inf"); /* ZP_ERR */ 142 gfits_modify (&theader, "TNVAL4", "%s", 1, "Inf"); /* C_AIRMASS */ 143 gfits_modify (&theader, "TNVAL5", "%s", 1, "Inf"); /* C_COLOR */ 144 gfits_modify (&theader, "TNVAL6", "%s", 1, "NA"); /* START_TIME */ 145 gfits_modify (&theader, "TNVAL7", "%s", 1, "NA"); /* STOP_TIME */ 146 gfits_modify (&theader, "TNVAL8", "%s", 1, "NA"); /* C1_NAME */ 147 gfits_modify (&theader, "TNVAL9", "%s", 1, "NA"); /* C2_NAME */ 148 gfits_modify (&theader, "TNVAL10", "%s", 1, "NA"); /* NSTARS */ 149 gfits_modify (&theader, "TNVAL11", "%s", 1, "NA"); /* NTIMES */ 150 gfits_modify (&theader, "TNVAL12", "%s", 1, "NA"); /* INT_PHOT_SYS */ 151 gfits_modify (&theader, "TNVAL13", "%s", 1, "NA"); /* REF_PHOT_SYS */ 152 gfits_modify (&theader, "TNVAL14", "%s", 1, "NA"); /* LABEL */ 153 153 154 154 /* create table, add data values */ 155 fits_create_table (&theader, &table);155 gfits_create_table (&theader, &table); 156 156 157 157 /* add data to table */ … … 169 169 if (c2 == (char *) NULL) c2 = PhotNA; 170 170 171 line = fits_table_print (&table, newdata[0].ZP, newdata[0].ZPo, newdata[0].dZP,171 line = gfits_table_print (&table, newdata[0].ZP, newdata[0].ZPo, newdata[0].dZP, 172 172 newdata[0].K, newdata[0].X, startstr, stopstr, 173 173 c1, c2, newdata[0].Nmeas, newdata[0].Ntime, code, photsys, newdata[0].label); 174 if (! fits_add_rows (&table, line, 1, strlen(line))) {174 if (!gfits_add_rows (&table, line, 1, strlen(line))) { 175 175 fprintf (stderr, "error writing dataline"); 176 176 exit (1); … … 187 187 exit (1); 188 188 } 189 fits_fwrite_header (f, &header);190 fits_fwrite_matrix (f, &matrix);191 fits_fwrite_Theader (f, &theader);192 fits_fwrite_table (f, &table);189 gfits_fwrite_header (f, &header); 190 gfits_fwrite_matrix (f, &matrix); 191 gfits_fwrite_Theader (f, &theader); 192 gfits_fwrite_table (f, &table); 193 193 fclose (f); 194 194 exit (0); -
trunk/Ohana/src/imregister/spreg/delete.c
r3650 r7080 22 22 if (Nbad == 0) { 23 23 fprintf (stderr, "SUCCESS\n"); 24 fits_db_close (db);24 gfits_db_close (db); 25 25 exit (0); 26 26 } … … 39 39 /** we may later want to pull this out and put it elsewhere **/ 40 40 /** free db[0].theader, db[0].table.buffer? **/ 41 fits_table_set_Spectrum (&db[0].ftable, subset, Nsubset);42 fits_db_save (db);43 fits_db_close (db);44 fits_db_free (db);41 gfits_table_set_Spectrum (&db[0].ftable, subset, Nsubset); 42 gfits_db_save (db); 43 gfits_db_close (db); 44 gfits_db_free (db); 45 45 46 46 fprintf (stderr, "SUCCESS\n"); -
trunk/Ohana/src/imregister/spreg/modify.c
r4864 r7080 38 38 39 39 /** we may later want to pull this out and put it elsewhere **/ 40 fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, match, Nmatch);40 gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, match, Nmatch); 41 41 for (i = 0; i < Nmatch; i++) { 42 fits_convert_Spectrum ((Spectrum *) db[0].vtable.buffer[i], sizeof (Spectrum), 1);42 gfits_convert_Spectrum ((Spectrum *) db[0].vtable.buffer[i], sizeof (Spectrum), 1); 43 43 } 44 fits_db_update (db);45 fits_db_close (db);46 fits_db_free (db);44 gfits_db_update (db); 45 gfits_db_close (db); 46 gfits_db_free (db); 47 47 48 48 fprintf (stderr, "SUCCESS\n"); -
trunk/Ohana/src/imregister/spreg/output.c
r3536 r7080 54 54 55 55 /* create primary header */ 56 fits_init_header (&header);56 gfits_init_header (&header); 57 57 header.extend = TRUE; 58 fits_create_header (&header);59 fits_create_matrix (&header, &matrix);60 fits_print (&header, "NEXTEND", "%d", 1, 1);58 gfits_create_header (&header); 59 gfits_create_matrix (&header, &matrix); 60 gfits_print (&header, "NEXTEND", "%d", 1, 1); 61 61 62 62 ftable.header = &theader; 63 fits_table_set_Spectrum (&ftable, subset, Nmatch);63 gfits_table_set_Spectrum (&ftable, subset, Nmatch); 64 64 65 fits_fwrite_header (f, &header);66 fits_fwrite_matrix (f, &matrix);67 fits_fwrite_Theader (f, &theader);68 fits_fwrite_table (f, &ftable);65 gfits_fwrite_header (f, &header); 66 gfits_fwrite_matrix (f, &matrix); 67 gfits_fwrite_Theader (f, &theader); 68 gfits_fwrite_table (f, &ftable); 69 69 fclose (f); 70 70 exit (0); … … 84 84 85 85 /* create primary header */ 86 fits_init_header (&header);86 gfits_init_header (&header); 87 87 header.extend = TRUE; 88 fits_create_header (&header);89 fits_create_matrix (&header, &matrix);90 fits_print (&header, "NEXTEND", "%d", 1, 1);88 gfits_create_header (&header); 89 gfits_create_matrix (&header, &matrix); 90 gfits_print (&header, "NEXTEND", "%d", 1, 1); 91 91 92 92 /* the ASCII table is always a little harder than the binary: … … 96 96 /* create an empty table which we will fill in by hand */ 97 97 ftable.header = &theader; 98 fits_table_set_SpectrumASCII (&ftable, NULL, 0);98 gfits_table_set_SpectrumASCII (&ftable, NULL, 0); 99 99 100 100 /* add data to table */ … … 105 105 106 106 /* we should get an error here if we don't construct this line correctly */ 107 line = fits_table_print (&ftable, subset[0].filename, subset[0].pathname, subset[0].instrument,107 line = gfits_table_print (&ftable, subset[0].filename, subset[0].pathname, subset[0].instrument, 108 108 subset[0].telescope, subset[0].objname, subset[0].extname, 109 109 subset[0].ra, subset[0].dec, subset[0].exptime, subset[0].airmass, … … 112 112 subset[0].mode, subset[0].state, subset[0].flag); 113 113 114 fits_add_rows (&ftable, line, 1, strlen(line));114 gfits_add_rows (&ftable, line, 1, strlen(line)); 115 115 free (line); 116 116 free (obsstr); … … 121 121 str_to_time ("now", &tsecond); 122 122 datestr = sec_to_date (tsecond); 123 fits_modify (&header, "DATE", "%s", 1, datestr);124 fits_modify (&theader, "DATE", "%s", 1, datestr);123 gfits_modify (&header, "DATE", "%s", 1, datestr); 124 gfits_modify (&theader, "DATE", "%s", 1, datestr); 125 125 126 126 /* open file for output */ … … 131 131 } 132 132 133 fits_fwrite_header (f, &header);134 fits_fwrite_matrix (f, &matrix);135 fits_fwrite_Theader (f, &theader);136 fits_fwrite_table (f, &ftable);133 gfits_fwrite_header (f, &header); 134 gfits_fwrite_matrix (f, &matrix); 135 gfits_fwrite_Theader (f, &theader); 136 gfits_fwrite_table (f, &ftable); 137 137 fclose (f); 138 138 -
trunk/Ohana/src/imregister/spreg/spinfo.c
r2803 r7080 15 15 16 16 /* load in FITS header from image */ 17 if (! fits_read_header (filename, &header)) {17 if (!gfits_read_header (filename, &header)) { 18 18 fprintf (stderr, "ERROR: can't find image file %s\n", filename); 19 19 exit (1); … … 96 96 warn_scan (&header, "CRPIX1", "%f", 1, &crpix); 97 97 warn_scan (&header, "CRVAL1", "%f", 1, &crval); 98 if (! fits_scan (&header, "CDELT1", "%f", 1, &cd11))98 if (!gfits_scan (&header, "CDELT1", "%f", 1, &cd11)) 99 99 warn_scan (&header, "CD1_1", "%f", 1, &cd11); 100 100 101 fits_scan (&header, "NAXIS1", "%d", 1, &Nx);101 gfits_scan (&header, "NAXIS1", "%d", 1, &Nx); 102 102 103 103 spectrum[0].Ws = (1 - crpix)*cd11 + crval; -
trunk/Ohana/src/imregister/src/convertimreg.c
r4852 r7080 1 1 # include "imregister.h" 2 2 # include "imreg.h" 3 static char *version = "convertimreg $Revision: 3. 3$";3 static char *version = "convertimreg $Revision: 3.4 $"; 4 4 5 5 int main (int argc, char **argv) { … … 34 34 35 35 /* load in database header */ 36 if (! fits_load_header (f, &header)) {36 if (!gfits_load_header (f, &header)) { 37 37 fprintf (stderr, "ERROR: trouble reading database header\n"); 38 38 fclearlockfile (argv[1], f, lockstate, &dbstate); … … 41 41 42 42 /* load existing data from database */ 43 fits_scan (&header, "NIMAGES", "%d", 1, &Nimage);43 gfits_scan (&header, "NIMAGES", "%d", 1, &Nimage); 44 44 ALLOCATE (pimage, RegImage, Nimage); 45 45 status = fread (pimage, sizeof(RegImage), Nimage, f); … … 50 50 } 51 51 fclearlockfile (argv[1], f, lockstate, &dbstate); 52 fits_convert_RegImage (pimage, sizeof (RegImage), Nimage);52 gfits_convert_RegImage (pimage, sizeof (RegImage), Nimage); 53 53 54 54 /* create complete subset */ -
trunk/Ohana/src/imregister/src/detregister.c
r4864 r7080 1 1 # include "imregister.h" 2 2 # include "detrend.h" 3 static char *version = "detregister $Revision: 3. 4$";3 static char *version = "detregister $Revision: 3.5 $"; 4 4 5 5 int main (int argc, char **argv) { … … 19 19 db.lockstate = LCK_HARD; 20 20 db.timeout = 300.0; 21 fits_db_init (&db);21 gfits_db_init (&db); 22 22 23 23 dBFile = set_dBFile (); 24 if (! fits_db_lock (&db, dBFile)) {24 if (!gfits_db_lock (&db, dBFile)) { 25 25 fprintf (stderr, "ERROR: failure to lock db\n"); 26 fits_db_close (&db);26 gfits_db_close (&db); 27 27 exit (1); 28 28 } 29 29 if (db.dbstate == LCK_EMPTY) { 30 fits_db_create (&db);31 fits_table_set_DetReg (&db.ftable, NULL, 0);30 gfits_db_create (&db); 31 gfits_table_set_DetReg (&db.ftable, NULL, 0); 32 32 } else { 33 if (! fits_db_load (&db)) {33 if (!gfits_db_load (&db)) { 34 34 fprintf (stderr, "ERROR: failure to load db\n"); 35 fits_db_close (&db);35 gfits_db_close (&db); 36 36 exit (1); 37 37 } 38 38 } 39 39 40 fits_convert_DetReg (&newdata, sizeof (DetReg), 1);41 fits_table_to_vtable (&db.ftable, &db.vtable, 0, 0);42 fits_vadd_rows (&db.vtable, (char *) &newdata, 1, sizeof(DetReg));40 gfits_convert_DetReg (&newdata, sizeof (DetReg), 1); 41 gfits_table_to_vtable (&db.ftable, &db.vtable, 0, 0); 42 gfits_vadd_rows (&db.vtable, (char *) &newdata, 1, sizeof(DetReg)); 43 43 44 fits_db_update (&db);45 fits_db_close (&db);46 fits_db_free (&db);44 gfits_db_update (&db); 45 gfits_db_close (&db); 46 gfits_db_free (&db); 47 47 48 48 fprintf (stderr, "SUCCESS\n"); -
trunk/Ohana/src/imregister/src/detsearch.c
r4864 r7080 1 1 # include "imregister.h" 2 2 # include "detrend.h" 3 static char *version = "detsearch $Revision: 3. 7$";3 static char *version = "detsearch $Revision: 3.8 $"; 4 4 5 5 int main (int argc, char **argv) { … … 19 19 db.lockstate = (output.Modify || output.Delete) ? LCK_HARD : LCK_SOFT; 20 20 db.timeout = 300.0; 21 fits_db_init (&db);21 gfits_db_init (&db); 22 22 23 23 dBFile = set_dBFile (); 24 if (! fits_db_lock (&db, dBFile)) {24 if (!gfits_db_lock (&db, dBFile)) { 25 25 fprintf (stderr, "ERROR: failure to lock db\n"); 26 fits_db_close (&db);26 gfits_db_close (&db); 27 27 exit (1); 28 28 } 29 29 30 if (! fits_db_load (&db)) {30 if (!gfits_db_load (&db)) { 31 31 fprintf (stderr, "ERROR: failure to load db\n"); 32 fits_db_close (&db);32 gfits_db_close (&db); 33 33 exit (1); 34 34 } 35 35 36 if (!output.Modify && !output.Delete && !output.Altpath) fits_db_close (&db);37 detrend = fits_table_get_DetReg (&db.ftable, &Ndetrend, &db.swapped);36 if (!output.Modify && !output.Delete && !output.Altpath) gfits_db_close (&db); 37 detrend = gfits_table_get_DetReg (&db.ftable, &Ndetrend, &db.swapped); 38 38 39 39 match = MatchCriteria (detrend, Ndetrend, &Nmatch); /* match basic criteria */ … … 45 45 if (Nmatch == 0) { 46 46 if (output.verbose) fprintf (stderr, "ERROR: can't find any valid detrend files (%s %s %d)\n", get_type_name(criteria[0].Type), filtername[criteria[0].Filter], criteria[0].CCD); 47 fits_db_close (&db);47 gfits_db_close (&db); 48 48 exit (1); 49 49 } -
trunk/Ohana/src/imregister/src/imphotmerge.c
r5242 r7080 4 4 5 5 Image *LoadImageTable (FILE *f, Header *header, int *nimage); 6 static char *version = "imphotcopy $Revision: 1. 4$";6 static char *version = "imphotcopy $Revision: 1.5 $"; 7 7 8 8 int main (int argc, char **argv) { … … 118 118 } 119 119 Nimage += Nin; 120 fits_modify (&header, "NIMAGES", "%d", 1, Nimage);120 gfits_modify (&header, "NIMAGES", "%d", 1, Nimage); 121 121 122 122 /* position to begining of file to write header */ … … 150 150 151 151 /* read header */ 152 if (! fits_fread_header (f, header)) {152 if (!gfits_fread_header (f, header)) { 153 153 fprintf (stderr, "ERROR: can't read image catalog\n"); 154 154 exit (1); … … 157 157 /* check that file size makes sense */ 158 158 Nimage = 0; 159 fits_scan (header, "NIMAGES", "%d", 1, &Nimage);159 gfits_scan (header, "NIMAGES", "%d", 1, &Nimage); 160 160 if (fstat (fileno(f), &filestatus) == -1) { 161 161 fprintf (stderr, "ERROR: failed to get status of image catalog\n"); -
trunk/Ohana/src/imregister/src/imphotsearch.c
r4864 r7080 2 2 # include "imphot.h" 3 3 4 static char *version = "imphotsearch $Revision: 1. 9$";4 static char *version = "imphotsearch $Revision: 1.10 $"; 5 5 6 6 int main (int argc, char **argv) { … … 16 16 db.lockstate = (options.modify) ? LCK_HARD : LCK_SOFT; 17 17 db.timeout = 300.0; 18 fits_db_init (&db);18 gfits_db_init (&db); 19 19 20 20 /* don't create a new image table if not available */ 21 if (! fits_db_lock (&db, ImPhotDB)) {21 if (!gfits_db_lock (&db, ImPhotDB)) { 22 22 fprintf (stderr, "ERROR: failure to lock db\n"); 23 fits_db_close (&db);23 gfits_db_close (&db); 24 24 exit (1); 25 25 } 26 /* we use a varient of fits_db_load since the file may be in text format */26 /* we use a varient of gfits_db_load since the file may be in text format */ 27 27 if (!dvo_image_load (&db, VERBOSE, FORCE_READ)) { 28 28 fprintf (stderr, "ERROR: failure to load db\n"); 29 fits_db_close (&db);29 gfits_db_close (&db); 30 30 exit (1); 31 31 } 32 if (!options.modify) fits_db_close (&db);32 if (!options.modify) gfits_db_close (&db); 33 33 34 image = fits_table_get_Image (&db.ftable, &Nimage, &db.swapped);34 image = gfits_table_get_Image (&db.ftable, &Nimage, &db.swapped); 35 35 36 36 match = subset (image, Nimage, &Nmatch); -
trunk/Ohana/src/imregister/src/imregister.c
r4864 r7080 1 1 # include "imregister.h" 2 2 # include "imreg.h" 3 static char *version = "imregister $Revision: 3. 7$";3 static char *version = "imregister $Revision: 3.8 $"; 4 4 5 5 int main (int argc, char **argv) { … … 19 19 db.lockstate = LCK_HARD; 20 20 db.timeout = 300.0; 21 fits_db_init (&db);21 gfits_db_init (&db); 22 22 23 if (! fits_db_lock (&db, ImageDB)) {23 if (!gfits_db_lock (&db, ImageDB)) { 24 24 fprintf (stderr, "ERROR: failure to lock db\n"); 25 fits_db_close (&db);25 gfits_db_close (&db); 26 26 exit (1); 27 27 } 28 28 if (db.dbstate == LCK_EMPTY) { 29 fits_db_create (&db);30 fits_table_set_RegImage (&db.ftable, NULL, 0);29 gfits_db_create (&db); 30 gfits_table_set_RegImage (&db.ftable, NULL, 0); 31 31 } else { 32 if (! fits_db_load (&db)) {32 if (!gfits_db_load (&db)) { 33 33 fprintf (stderr, "ERROR: failure to load db\n"); 34 fits_db_close (&db);34 gfits_db_close (&db); 35 35 exit (1); 36 36 } 37 37 } 38 38 39 fits_convert_RegImage (regimage, sizeof (RegImage), Nregimage);40 fits_table_to_vtable (&db.ftable, &db.vtable, 0, 0);41 fits_vadd_rows (&db.vtable, (char *) regimage, Nregimage, sizeof(RegImage));39 gfits_convert_RegImage (regimage, sizeof (RegImage), Nregimage); 40 gfits_table_to_vtable (&db.ftable, &db.vtable, 0, 0); 41 gfits_vadd_rows (&db.vtable, (char *) regimage, Nregimage, sizeof(RegImage)); 42 42 43 fits_db_update (&db);44 fits_db_close (&db);45 fits_db_free (&db);43 gfits_db_update (&db); 44 gfits_db_close (&db); 45 gfits_db_free (&db); 46 46 47 47 skip_reg: -
trunk/Ohana/src/imregister/src/imregtable.c
r4864 r7080 1 1 # include "imregister.h" 2 2 # include "imreg.h" 3 static char *version = "imregtable $Revision: 3. 7$";3 static char *version = "imregtable $Revision: 3.8 $"; 4 4 5 5 int main (int argc, char **argv) { … … 29 29 /* need to error check these */ 30 30 ftable.header = &theader; 31 fits_read_header (infile, &header);32 fits_read_matrix (infile, &matrix);33 fits_read_ftable (infile, &ftable, "IMAGE_DATABASE");31 gfits_read_header (infile, &header); 32 gfits_read_matrix (infile, &matrix); 33 gfits_read_ftable (infile, &ftable, "IMAGE_DATABASE"); 34 34 35 image = fits_table_get_RegImage (&ftable, &Nimage, NULL);35 image = gfits_table_get_RegImage (&ftable, &Nimage, NULL); 36 36 37 37 /* load database table */ 38 38 db.lockstate = LCK_HARD; 39 39 db.timeout = 300.0; 40 fits_db_init (&db);40 gfits_db_init (&db); 41 41 42 if (! fits_db_lock (&db, ImageDB)) {42 if (!gfits_db_lock (&db, ImageDB)) { 43 43 fprintf (stderr, "ERROR: failure to lock db\n"); 44 fits_db_close (&db);44 gfits_db_close (&db); 45 45 exit (1); 46 46 } 47 47 if (db.dbstate == LCK_EMPTY) { 48 fits_db_create (&db);49 fits_table_set_RegImage (&db.ftable, NULL, 0);48 gfits_db_create (&db); 49 gfits_table_set_RegImage (&db.ftable, NULL, 0); 50 50 } else { 51 if (! fits_db_load (&db)) {51 if (!gfits_db_load (&db)) { 52 52 fprintf (stderr, "ERROR: failure to load db\n"); 53 fits_db_close (&db);53 gfits_db_close (&db); 54 54 exit (1); 55 55 } 56 56 } 57 57 58 fits_convert_RegImage (image, sizeof (RegImage), Nimage);59 fits_table_to_vtable (&db.ftable, &db.vtable, 0, 0);60 fits_vadd_rows (&db.vtable, (char *) image, Nimage, sizeof(RegImage));58 gfits_convert_RegImage (image, sizeof (RegImage), Nimage); 59 gfits_table_to_vtable (&db.ftable, &db.vtable, 0, 0); 60 gfits_vadd_rows (&db.vtable, (char *) image, Nimage, sizeof(RegImage)); 61 61 62 fits_db_update (&db);63 fits_db_close (&db);64 fits_db_free (&db);62 gfits_db_update (&db); 63 gfits_db_close (&db); 64 gfits_db_free (&db); 65 65 66 66 fprintf (stderr, "SUCCESS: registered %s\n", argv[1]); -
trunk/Ohana/src/imregister/src/imsearch.c
r4864 r7080 1 1 # include "imregister.h" 2 2 # include "imreg.h" 3 static char *version = "imsearch $Revision: 3. 6$";3 static char *version = "imsearch $Revision: 3.7 $"; 4 4 5 5 int main (int argc, char **argv) { … … 14 14 db.lockstate = (output.modify || output.delete) ? LCK_HARD : LCK_SOFT; 15 15 db.timeout = 300.0; 16 fits_db_init (&db);16 gfits_db_init (&db); 17 17 18 if (! fits_db_lock (&db, ImageDB)) {18 if (!gfits_db_lock (&db, ImageDB)) { 19 19 fprintf (stderr, "ERROR: failure to lock db\n"); 20 fits_db_close (&db);20 gfits_db_close (&db); 21 21 exit (1); 22 22 } 23 if (! fits_db_load (&db)) {23 if (!gfits_db_load (&db)) { 24 24 fprintf (stderr, "ERROR: failure to load db\n"); 25 fits_db_close (&db);25 gfits_db_close (&db); 26 26 exit (1); 27 27 } 28 28 29 if (!output.modify && !output.delete) fits_db_close (&db);29 if (!output.modify && !output.delete) gfits_db_close (&db); 30 30 31 image = fits_table_get_RegImage (&db.ftable, &Nimage, &db.swapped);31 image = gfits_table_get_RegImage (&db.ftable, &Nimage, &db.swapped); 32 32 33 33 match = match_criteria (image, Nimage, &Nmatch); -
trunk/Ohana/src/imregister/src/imstatreg.c
r4864 r7080 1 1 # include "imregister.h" 2 2 # include "imreg.h" 3 static char *version = "imstatreg $Revision: 3.1 5$";3 static char *version = "imstatreg $Revision: 3.16 $"; 4 4 5 5 int main (int argc, char **argv) { … … 42 42 image_db.lockstate = LCK_HARD; 43 43 image_db.timeout = 300.0; 44 fits_db_init (&image_db);44 gfits_db_init (&image_db); 45 45 46 46 temp_db.lockstate = LCK_HARD; 47 47 temp_db.timeout = 300.0; 48 fits_db_init (&temp_db);48 gfits_db_init (&temp_db); 49 49 50 50 /* start loop */ … … 52 52 53 53 /* check / load / delete temporary database */ 54 if (! fits_db_lock (&temp_db, TempDB)) {55 fits_db_close (&temp_db);54 if (!gfits_db_lock (&temp_db, TempDB)) { 55 gfits_db_close (&temp_db); 56 56 fprintf (stderr, "error locking temp db (path missing? access permission?)\n"); 57 57 exit (1); … … 59 59 if (temp_db.dbstate == LCK_EMPTY) { 60 60 fprintf (stderr, "temporary database empty\n"); 61 fits_db_close (&temp_db);61 gfits_db_close (&temp_db); 62 62 goto next; 63 63 } 64 if (! fits_db_load (&temp_db)) {64 if (!gfits_db_load (&temp_db)) { 65 65 fprintf (stderr, "error reading temp db\n"); 66 66 exit (1); 67 67 } 68 subset = fits_table_get_RegImage (&temp_db.ftable, &Nsubset, &temp_db.swapped);68 subset = gfits_table_get_RegImage (&temp_db.ftable, &Nsubset, &temp_db.swapped); 69 69 fprintf (stderr, "temporary database read\n"); 70 70 71 71 /* delete, unlock existing database */ 72 72 truncate (TempDB, 0); 73 fits_db_close (&temp_db);73 gfits_db_close (&temp_db); 74 74 fprintf (stderr, "temporary database closed\n"); 75 75 76 76 /* check / load main database */ 77 if (! fits_db_lock (&image_db, ImageDB)) {78 fits_db_close (&image_db);77 if (!gfits_db_lock (&image_db, ImageDB)) { 78 gfits_db_close (&image_db); 79 79 fprintf (stderr, "error locking image db (path missing? access permission?)\n"); 80 80 exit (1); … … 82 82 if (temp_db.dbstate == LCK_EMPTY) { 83 83 fprintf (stderr, "main database empty\n"); 84 fits_db_close (&image_db);85 fits_db_free (&temp_db);84 gfits_db_close (&image_db); 85 gfits_db_free (&temp_db); 86 86 goto next; 87 87 /* this is a type of error: we read entries from the … … 89 89 we will just drop the temp db data */ 90 90 } 91 image = fits_table_get_RegImage (&image_db.ftable, &Nimage, &image_db.swapped);91 image = gfits_table_get_RegImage (&image_db.ftable, &Nimage, &image_db.swapped); 92 92 fprintf (stderr, "main database read\n"); 93 93 … … 97 97 98 98 /* update entries in main db */ 99 fits_vtable_from_ftable (&image_db.ftable, &image_db.vtable, match, Nmatch);99 gfits_vtable_from_ftable (&image_db.ftable, &image_db.vtable, match, Nmatch); 100 100 for (i = 0; i < Nmatch; i++) { 101 fits_convert_RegImage ((RegImage *) image_db.vtable.buffer[i], sizeof (RegImage), 1);101 gfits_convert_RegImage ((RegImage *) image_db.vtable.buffer[i], sizeof (RegImage), 1); 102 102 } 103 fits_db_update (&image_db);104 fits_db_close (&image_db);103 gfits_db_update (&image_db); 104 gfits_db_close (&image_db); 105 105 106 fits_db_free (&image_db);107 fits_db_free (&temp_db);106 gfits_db_free (&image_db); 107 gfits_db_free (&temp_db); 108 108 if (match != NULL) free (match); 109 109 if (image != NULL) free (image); -
trunk/Ohana/src/imregister/src/photcode.c
r5386 r7080 1 1 # include "imregister.h" 2 static char *version = "photcode $Revision: 3. 3$";2 static char *version = "photcode $Revision: 3.4 $"; 3 3 4 4 int main (int argc, char **argv) { … … 25 25 26 26 /* read in image header */ 27 if (! fits_read_header (argv[1], &header)) {27 if (!gfits_read_header (argv[1], &header)) { 28 28 if (VERBOSE) fprintf (stderr, "ERROR: can't find image file %s (1)\n", argv[1]); 29 29 exit (1); 30 30 } 31 31 32 fits_scan (&header, CameraKeyword, "%s", 1, detector);32 gfits_scan (&header, CameraKeyword, "%s", 1, detector); 33 33 for (i = 0; i < strlen(detector); i++) { detector[i] = toupper (detector[i]); } 34 34 for (i = 0; i < strlen(detector); i++) { if (isspace (detector[i])) detector[i] = '.'; } 35 35 36 fits_scan (&header, FilterKeyword, "%s", 1, filter);36 gfits_scan (&header, FilterKeyword, "%s", 1, filter); 37 37 for (i = 0; i < strlen (filter); i++) { if (isspace (filter[i])) filter[i] = '.'; } 38 38 Nfilter = FILTER_NONE; … … 52 52 } else { 53 53 ALLOCATE (ID, char, 80); 54 fits_scan (&header, CCDnumKeyword, "%s", 1, ID);54 gfits_scan (&header, CCDnumKeyword, "%s", 1, ID); 55 55 } 56 56 ccd = -1; -
trunk/Ohana/src/imregister/src/photreg.c
r4864 r7080 1 1 # include "imregister.h" 2 2 # include "photreg.h" 3 static char *version = "photreg $Revision: 1. 8$";3 static char *version = "photreg $Revision: 1.9 $"; 4 4 5 5 int main (int argc, char **argv) { … … 14 14 db.lockstate = LCK_HARD; 15 15 db.timeout = 300.0; 16 fits_db_init (&db);16 gfits_db_init (&db); 17 17 18 18 filename = PhotDB; 19 19 if (!strcmp (output.db, "trans")) filename = TransDB; 20 20 21 if (! fits_db_lock (&db, filename)) {21 if (!gfits_db_lock (&db, filename)) { 22 22 fprintf (stderr, "ERROR: failure to lock db\n"); 23 fits_db_close (&db);23 gfits_db_close (&db); 24 24 exit (1); 25 25 } 26 26 if (db.dbstate == LCK_EMPTY) { 27 fits_db_create (&db);28 fits_table_set_PhotPars (&db.ftable, NULL, 0);27 gfits_db_create (&db); 28 gfits_table_set_PhotPars (&db.ftable, NULL, 0); 29 29 /* EXTNAME is set to ZERO_POINTS_3.0 by default */ 30 30 if (!strcmp (output.db, "trans")) { 31 fits_modify (&db.theader, "EXTNAME", "%s", 1, "TRANS_POINTS_3.0");31 gfits_modify (&db.theader, "EXTNAME", "%s", 1, "TRANS_POINTS_3.0"); 32 32 } 33 33 } else { 34 if (! fits_db_load (&db)) {34 if (!gfits_db_load (&db)) { 35 35 fprintf (stderr, "ERROR: failure to load db\n"); 36 fits_db_close (&db);36 gfits_db_close (&db); 37 37 exit (1); 38 38 } … … 40 40 41 41 /** we may later want to pull this out and put it elsewhere **/ 42 fits_convert_PhotPars (&newdata, sizeof (PhotPars), 1);43 fits_table_to_vtable (&db.ftable, &db.vtable, 0, 0);44 fits_vadd_rows (&db.vtable, (char *) &newdata, 1, sizeof(PhotPars));42 gfits_convert_PhotPars (&newdata, sizeof (PhotPars), 1); 43 gfits_table_to_vtable (&db.ftable, &db.vtable, 0, 0); 44 gfits_vadd_rows (&db.vtable, (char *) &newdata, 1, sizeof(PhotPars)); 45 45 46 fits_db_update (&db);47 fits_db_close (&db);48 fits_db_free (&db);46 gfits_db_update (&db); 47 gfits_db_close (&db); 48 gfits_db_free (&db); 49 49 50 50 fprintf (stderr, "SUCCESS\n"); -
trunk/Ohana/src/imregister/src/photsearch.c
r4864 r7080 1 1 # include "imregister.h" 2 2 # include "photreg.h" 3 static char *version = "photsearch $Revision: 1. 8$";3 static char *version = "photsearch $Revision: 1.9 $"; 4 4 5 5 int main (int argc, char **argv) { … … 17 17 db.lockstate = (output.modify || output.delete) ? LCK_HARD : LCK_SOFT; 18 18 db.timeout = 300.0; 19 fits_db_init (&db);19 gfits_db_init (&db); 20 20 21 21 if (!strcmp (output.db, "phot")) { … … 25 25 } 26 26 27 if (! fits_db_lock (&db, filename)) {27 if (!gfits_db_lock (&db, filename)) { 28 28 fprintf (stderr, "ERROR: failure to lock db\n"); 29 fits_db_close (&db);29 gfits_db_close (&db); 30 30 exit (1); 31 31 } 32 32 33 if (! fits_db_load (&db)) {33 if (!gfits_db_load (&db)) { 34 34 fprintf (stderr, "ERROR: failure to load db\n"); 35 fits_db_close (&db);35 gfits_db_close (&db); 36 36 exit (1); 37 37 } 38 38 39 if (!output.modify && !output.delete) fits_db_close (&db);39 if (!output.modify && !output.delete) gfits_db_close (&db); 40 40 41 41 /* add test to EXTNAME? */ 42 42 if (output.convert) { 43 photpars_old = fits_table_get_PhotParsOld (&db.ftable, &Nphotpars, &db.swapped);43 photpars_old = gfits_table_get_PhotParsOld (&db.ftable, &Nphotpars, &db.swapped); 44 44 photpars = PhotParsOld_to_PhotPars (photpars_old, Nphotpars); 45 45 } else { 46 photpars = fits_table_get_PhotPars (&db.ftable, &Nphotpars, &db.swapped);46 photpars = gfits_table_get_PhotPars (&db.ftable, &Nphotpars, &db.swapped); 47 47 } 48 48 -
trunk/Ohana/src/imregister/src/spregister.c
r4864 r7080 1 1 # include "imregister.h" 2 2 # include "spreg.h" 3 static char *version = "spregister $Revision: 1. 8$";3 static char *version = "spregister $Revision: 1.9 $"; 4 4 5 5 int main (int argc, char **argv) { … … 19 19 db.lockstate = LCK_HARD; 20 20 db.timeout = 300.0; 21 fits_db_init (&db);21 gfits_db_init (&db); 22 22 23 if (! fits_db_lock (&db, SpectrumDB)) {23 if (!gfits_db_lock (&db, SpectrumDB)) { 24 24 fprintf (stderr, "ERROR: failure to lock db\n"); 25 fits_db_close (&db);25 gfits_db_close (&db); 26 26 exit (1); 27 27 } 28 28 if (db.dbstate == LCK_EMPTY) { 29 fits_db_create (&db);30 fits_table_set_Spectrum (&db.ftable, NULL, 0);29 gfits_db_create (&db); 30 gfits_table_set_Spectrum (&db.ftable, NULL, 0); 31 31 } else { 32 if (! fits_db_load (&db)) {32 if (!gfits_db_load (&db)) { 33 33 fprintf (stderr, "ERROR: failure to load db\n"); 34 fits_db_close (&db);34 gfits_db_close (&db); 35 35 exit (1); 36 36 } 37 37 } 38 38 39 fits_convert_Spectrum (spectrum, sizeof (Spectrum), 1);40 fits_table_to_vtable (&db.ftable, &db.vtable, 0, 0);41 fits_vadd_rows (&db.vtable, (char *) spectrum, 1, sizeof(Spectrum));39 gfits_convert_Spectrum (spectrum, sizeof (Spectrum), 1); 40 gfits_table_to_vtable (&db.ftable, &db.vtable, 0, 0); 41 gfits_vadd_rows (&db.vtable, (char *) spectrum, 1, sizeof(Spectrum)); 42 42 43 fits_db_update (&db);44 fits_db_close (&db);45 fits_db_free (&db);43 gfits_db_update (&db); 44 gfits_db_close (&db); 45 gfits_db_free (&db); 46 46 47 47 fprintf (stderr, "SUCCESS\n"); -
trunk/Ohana/src/imregister/src/spsearch.c
r4864 r7080 1 1 # include "imregister.h" 2 2 # include "spreg.h" 3 static char *version = "spsearch $Revision: 1. 7$";3 static char *version = "spsearch $Revision: 1.8 $"; 4 4 5 5 int main (int argc, char **argv) { … … 14 14 db.lockstate = (output.modify || output.delete) ? LCK_HARD : LCK_SOFT; 15 15 db.timeout = 300.0; 16 fits_db_init (&db);16 gfits_db_init (&db); 17 17 18 if (! fits_db_lock (&db, SpectrumDB)) {18 if (!gfits_db_lock (&db, SpectrumDB)) { 19 19 fprintf (stderr, "ERROR: failure to lock db\n"); 20 fits_db_close (&db);20 gfits_db_close (&db); 21 21 exit (1); 22 22 } 23 if (! fits_db_load (&db)) {23 if (!gfits_db_load (&db)) { 24 24 fprintf (stderr, "ERROR: failure to load db\n"); 25 fits_db_close (&db);25 gfits_db_close (&db); 26 26 exit (1); 27 27 } 28 28 29 if (!output.modify && !output.delete) fits_db_close (&db);29 if (!output.modify && !output.delete) gfits_db_close (&db); 30 30 31 spectrum = fits_table_get_Spectrum (&db.ftable, &Nspectrum, &db.swapped);31 spectrum = gfits_table_get_Spectrum (&db.ftable, &Nspectrum, &db.swapped); 32 32 33 33 match = match_criteria (spectrum, Nspectrum, &Nmatch); -
trunk/Ohana/src/kapa/doc/ChangeLog.txt
r6693 r7080 1 2 - kapa 1.6 3 * converted to gfits APIs (forces libfits 1.6) 4 * removed items moved to libkapa 5 1 6 2 7 - kapa 1.5 -
trunk/Ohana/src/kii/doc/ChangeLog.txt
r6693 r7080 1 2 - kii 1.6 3 * converted to gfits APIs (forces libfits 1.6) 4 * added keyboard events 5 * removed items moved to libkapa 1 6 2 7 - kii 1.5 -
trunk/Ohana/src/kii/picture/NewPicture.c
r5852 r7080 24 24 KiiScanMessage (socket, "%s %s %s", layout[0].coords.ctype, layout[0].file, layout[0].buffer_name); 25 25 26 fits_free_matrix (&layout[0].matrix);27 fits_create_matrix (&header, &layout[0].matrix);26 gfits_free_matrix (&layout[0].matrix); 27 gfits_create_matrix (&header, &layout[0].matrix); 28 28 29 29 fcntl (socket, F_SETFL, O_NONBLOCK); -
trunk/Ohana/src/kii/picture/TestPicture.c
r2466 r7080 12 12 double frac; 13 13 14 fits_free_matrix (&layout[0].matrix);14 gfits_free_matrix (&layout[0].matrix); 15 15 16 16 header.Naxes = 2; … … 27 27 layout[0].max = layout[0].Npixels; 28 28 29 fits_create_matrix (&header, &layout[0].matrix);29 gfits_create_matrix (&header, &layout[0].matrix); 30 30 31 31 frac = layout[0].Npixels / (512.0*512.0); -
trunk/Ohana/src/libautocode/def/autocode.c
r5851 r7080 1 1 # include "autocode.h" 2 2 3 int fits_convert_$STRUCT ($STRUCT *data, int size, int nitems) {3 int gfits_convert_$STRUCT ($STRUCT *data, int size, int nitems) { 4 4 5 5 int i; … … 28 28 /*** add test of EXTNAME and header-defined columns? ***/ 29 29 /* return internal structure representation */ 30 $STRUCT * fits_table_get_$STRUCT (FTable *ftable, int *Ndata, int *swapped) {30 $STRUCT *gfits_table_get_$STRUCT (FTable *ftable, int *Ndata, int *swapped) { 31 31 32 32 $STRUCT *data; … … 35 35 data = ($STRUCT *) ftable[0].buffer; 36 36 if ((swapped == NULL) || (*swapped == FALSE)) { 37 fits_convert_$STRUCT (data, sizeof ($STRUCT), *Ndata);37 gfits_convert_$STRUCT (data, sizeof ($STRUCT), *Ndata); 38 38 if (swapped != NULL) *swapped = TRUE; 39 39 } … … 41 41 } 42 42 43 int fits_table_set_$STRUCT (FTable *ftable, $STRUCT *data, int Ndata) {43 int gfits_table_set_$STRUCT (FTable *ftable, $STRUCT *data, int Ndata) { 44 44 45 45 Header *header; … … 48 48 49 49 /* create table header */ 50 fits_create_table_header (header, "$TYPE", "$EXTNAME");50 gfits_create_table_header (header, "$TYPE", "$EXTNAME"); 51 51 52 52 /* define table layout */ … … 54 54 55 55 /* create table */ 56 fits_create_table (header, ftable);56 gfits_create_table (header, ftable); 57 57 58 58 /* add data values */ 59 fits_convert_$STRUCT (data, sizeof ($STRUCT), Ndata);60 fits_add_rows (ftable, (char *) data, Ndata, sizeof ($STRUCT));59 gfits_convert_$STRUCT (data, sizeof ($STRUCT), Ndata); 60 gfits_add_rows (ftable, (char *) data, Ndata, sizeof ($STRUCT)); 61 61 62 62 return (TRUE); 63 63 } 64 64 65 int fits_table_mkheader_$STRUCT (Header *header) {65 int gfits_table_mkheader_$STRUCT (Header *header) { 66 66 67 67 /* create table header */ 68 fits_create_table_header (header, "$TYPE", "$EXTNAME");68 gfits_create_table_header (header, "$TYPE", "$EXTNAME"); 69 69 70 70 /* define table layout */ … … 88 88 } 89 89 90 fits_convert_$STRUCT (tmpdata, sizeof ($STRUCT), Ndata);90 gfits_convert_$STRUCT (tmpdata, sizeof ($STRUCT), Ndata); 91 91 92 92 SendCommand (device, 16, "NVALUE: %6d", Ndata); … … 113 113 114 114 tmpdata = ($STRUCT *) message.buffer; 115 fits_convert_$STRUCT (tmpdata, sizeof ($STRUCT), ndata);115 gfits_convert_$STRUCT (tmpdata, sizeof ($STRUCT), ndata); 116 116 117 117 /* double-check data length? */ -
trunk/Ohana/src/libautocode/def/autocode.h
r5273 r7080 2 2 /** STRUCT DEFINITION **/ 3 3 4 $STRUCT * fits_table_get_$STRUCT (FTable *table, int *Ndata, int *swapped);5 int fits_table_set_$STRUCT (FTable *ftable, $STRUCT *data, int Ndata);6 int fits_table_mkheader_$STRUCT (Header *header);7 int fits_convert_$STRUCT ($STRUCT *data, int size, int nitems);4 $STRUCT *gfits_table_get_$STRUCT (FTable *table, int *Ndata, int *swapped); 5 int gfits_table_set_$STRUCT (FTable *ftable, $STRUCT *data, int Ndata); 6 int gfits_table_mkheader_$STRUCT (Header *header); 7 int gfits_convert_$STRUCT ($STRUCT *data, int size, int nitems); 8 8 int Send_$STRUCT (int device, $STRUCT *data, int Ndata, int copy); 9 9 int Recv_$STRUCT (int device, $STRUCT **data, int *Ndata); -
trunk/Ohana/src/libautocode/doc/ChangeLog.txt
r6693 r7080 1 2 - libautocode 1.5 3 * converted to gfits APIs (forces libfits 1.6) 4 * fixed comma errors in average tables 1 5 2 6 - libautocode 1.4 -
trunk/Ohana/src/libautocode/generate
r6454 r7080 140 140 } 141 141 142 printf FILE " fits_define_bintable_column (header, ";142 printf FILE " gfits_define_bintable_column (header, "; 143 143 printf FILE "%-8s", "\"$pt2\", "; 144 144 printf FILE "%-20s", "\"$field[$i]\", "; … … 225 225 if (!$pt1) { die "unknown type $type"; } 226 226 227 printf FILE " fits_define_table_column (header, ";227 printf FILE " gfits_define_table_column (header, "; 228 228 printf FILE "%-8s", "\"$pt1\", "; 229 229 printf FILE "%-20s", "\"$field[$i]\", "; -
trunk/Ohana/src/libdvo/doc/ChangeLog.txt
r6693 r7080 1 2 - libdvo 1.3 3 * converted to gfits APIs (forces libfits 1.6) 1 4 2 5 - libdvo 1.2 -
trunk/Ohana/src/libdvo/include/dvo.h
r7039 r7080 176 176 /*** prototypes ***/ 177 177 178 /* in fits_db.c */179 int fits_db_init PROTO((FITS_DB *db));180 int fits_db_create PROTO((FITS_DB *db));181 int fits_db_lock PROTO((FITS_DB *db, char *filename));182 int fits_db_load PROTO((FITS_DB *db));183 int fits_db_load_segment PROTO((FITS_DB *db, int start, int Nrows));184 int fits_db_save PROTO((FITS_DB *db));185 int fits_db_update PROTO((FITS_DB *db));186 int fits_db_close PROTO((FITS_DB *db));187 int fits_db_free PROTO((FITS_DB *db));178 /* in gfits_db.c */ 179 int gfits_db_init PROTO((FITS_DB *db)); 180 int gfits_db_create PROTO((FITS_DB *db)); 181 int gfits_db_lock PROTO((FITS_DB *db, char *filename)); 182 int gfits_db_load PROTO((FITS_DB *db)); 183 int gfits_db_load_segment PROTO((FITS_DB *db, int start, int Nrows)); 184 int gfits_db_save PROTO((FITS_DB *db)); 185 int gfits_db_update PROTO((FITS_DB *db)); 186 int gfits_db_close PROTO((FITS_DB *db)); 187 int gfits_db_free PROTO((FITS_DB *db)); 188 188 189 189 /* in coords.c, using libautocode/def/coords.d */ … … 352 352 SkyList *SkyListByRadius PROTO((SkyTable *table, int depth, double RA, double DEC, double radius)); 353 353 SkyList *SkyListByPatch PROTO((SkyTable *table, int depth, SkyRegion *patch)); 354 SkyList *SkyListByName PROTO((SkyTable *table, char *name)); 354 355 SkyList *SkyListByImage PROTO((SkyTable *table, int depth, Image *image)); 355 356 SkyList *SkyListByBounds PROTO((SkyTable *table, int depth, double Rmin, double Rmax, double Dmin, double Dmax)); -
trunk/Ohana/src/libdvo/src/coordops.c
r6678 r7080 312 312 313 313 status = FALSE; 314 if ( fits_scan (header, "CTYPE2", "%s", 1, coords[0].ctype)) {315 status = fits_scan (header, "CRVAL1", "%lf", 1, &coords[0].crval1);316 status &= fits_scan (header, "CRPIX1", "%f", 1, &coords[0].crpix1);317 status &= fits_scan (header, "CRVAL2", "%lf", 1, &coords[0].crval2);318 status &= fits_scan (header, "CRPIX2", "%f", 1, &coords[0].crpix2);319 320 if ( fits_scan (header, "CDELT1", "%f", 1, &coords[0].cdelt1)) {321 status &= fits_scan (header, "CDELT2", "%f", 1, &coords[0].cdelt2);322 if ( fits_scan (header, "CROTA2", "%lf", 1, &rotate)) {314 if (gfits_scan (header, "CTYPE2", "%s", 1, coords[0].ctype)) { 315 status = gfits_scan (header, "CRVAL1", "%lf", 1, &coords[0].crval1); 316 status &= gfits_scan (header, "CRPIX1", "%f", 1, &coords[0].crpix1); 317 status &= gfits_scan (header, "CRVAL2", "%lf", 1, &coords[0].crval2); 318 status &= gfits_scan (header, "CRPIX2", "%f", 1, &coords[0].crpix2); 319 320 if (gfits_scan (header, "CDELT1", "%f", 1, &coords[0].cdelt1)) { 321 status &= gfits_scan (header, "CDELT2", "%f", 1, &coords[0].cdelt2); 322 if (gfits_scan (header, "CROTA2", "%lf", 1, &rotate)) { 323 323 Lambda = coords[0].cdelt2 / coords[0].cdelt1; 324 324 coords[0].pc1_1 = cos(rotate*RAD_DEG); … … 327 327 coords[0].pc2_2 = cos(rotate*RAD_DEG); 328 328 } 329 if ( fits_scan (header, "PC001001", "%f", 1, &coords[0].pc1_1)) {330 status &= fits_scan (header, "PC001002", "%f", 1, &coords[0].pc1_2);331 status &= fits_scan (header, "PC002001", "%f", 1, &coords[0].pc2_1);332 status &= fits_scan (header, "PC002002", "%f", 1, &coords[0].pc2_2);329 if (gfits_scan (header, "PC001001", "%f", 1, &coords[0].pc1_1)) { 330 status &= gfits_scan (header, "PC001002", "%f", 1, &coords[0].pc1_2); 331 status &= gfits_scan (header, "PC002001", "%f", 1, &coords[0].pc2_1); 332 status &= gfits_scan (header, "PC002002", "%f", 1, &coords[0].pc2_2); 333 333 } 334 334 … … 337 337 338 338 if (Polynomial) { 339 if ( fits_scan (header, "NPLYTERM", "%d", 1, &itmp)) {339 if (gfits_scan (header, "NPLYTERM", "%d", 1, &itmp)) { 340 340 coords[0].Npolyterms = itmp; 341 341 } else { … … 344 344 switch (coords[0].Npolyterms) { 345 345 case 3: 346 status &= fits_scan (header, "PCA1X3Y0", "%f", 1, &coords[0].polyterms[3][0]);347 status &= fits_scan (header, "PCA1X2Y1", "%f", 1, &coords[0].polyterms[4][0]);348 status &= fits_scan (header, "PCA1X1Y2", "%f", 1, &coords[0].polyterms[5][0]);349 status &= fits_scan (header, "PCA1X0Y3", "%f", 1, &coords[0].polyterms[6][0]);350 status &= fits_scan (header, "PCA2X3Y0", "%f", 1, &coords[0].polyterms[3][1]);351 status &= fits_scan (header, "PCA2X2Y1", "%f", 1, &coords[0].polyterms[4][1]);352 status &= fits_scan (header, "PCA2X1Y2", "%f", 1, &coords[0].polyterms[5][1]);353 status &= fits_scan (header, "PCA2X0Y3", "%f", 1, &coords[0].polyterms[6][1]);346 status &= gfits_scan (header, "PCA1X3Y0", "%f", 1, &coords[0].polyterms[3][0]); 347 status &= gfits_scan (header, "PCA1X2Y1", "%f", 1, &coords[0].polyterms[4][0]); 348 status &= gfits_scan (header, "PCA1X1Y2", "%f", 1, &coords[0].polyterms[5][0]); 349 status &= gfits_scan (header, "PCA1X0Y3", "%f", 1, &coords[0].polyterms[6][0]); 350 status &= gfits_scan (header, "PCA2X3Y0", "%f", 1, &coords[0].polyterms[3][1]); 351 status &= gfits_scan (header, "PCA2X2Y1", "%f", 1, &coords[0].polyterms[4][1]); 352 status &= gfits_scan (header, "PCA2X1Y2", "%f", 1, &coords[0].polyterms[5][1]); 353 status &= gfits_scan (header, "PCA2X0Y3", "%f", 1, &coords[0].polyterms[6][1]); 354 354 case 2: 355 status &= fits_scan (header, "PCA1X2Y0", "%f", 1, &coords[0].polyterms[0][0]);356 status &= fits_scan (header, "PCA1X1Y1", "%f", 1, &coords[0].polyterms[1][0]);357 status &= fits_scan (header, "PCA1X0Y2", "%f", 1, &coords[0].polyterms[2][0]);358 status &= fits_scan (header, "PCA2X2Y0", "%f", 1, &coords[0].polyterms[0][1]);359 status &= fits_scan (header, "PCA2X1Y1", "%f", 1, &coords[0].polyterms[1][1]);360 status &= fits_scan (header, "PCA2X0Y2", "%f", 1, &coords[0].polyterms[2][1]);355 status &= gfits_scan (header, "PCA1X2Y0", "%f", 1, &coords[0].polyterms[0][0]); 356 status &= gfits_scan (header, "PCA1X1Y1", "%f", 1, &coords[0].polyterms[1][0]); 357 status &= gfits_scan (header, "PCA1X0Y2", "%f", 1, &coords[0].polyterms[2][0]); 358 status &= gfits_scan (header, "PCA2X2Y0", "%f", 1, &coords[0].polyterms[0][1]); 359 status &= gfits_scan (header, "PCA2X1Y1", "%f", 1, &coords[0].polyterms[1][1]); 360 status &= gfits_scan (header, "PCA2X0Y2", "%f", 1, &coords[0].polyterms[2][1]); 361 361 case 0: 362 362 case 1: … … 365 365 } 366 366 } else { 367 if ( fits_scan (header, "CD1_1", "%f", 1, &coords[0].pc1_1)) {368 status &= fits_scan (header, "CD1_2", "%f", 1, &coords[0].pc1_2);369 status &= fits_scan (header, "CD2_1", "%f", 1, &coords[0].pc2_1);370 status &= fits_scan (header, "CD2_2", "%f", 1, &coords[0].pc2_2);367 if (gfits_scan (header, "CD1_1", "%f", 1, &coords[0].pc1_1)) { 368 status &= gfits_scan (header, "CD1_2", "%f", 1, &coords[0].pc1_2); 369 status &= gfits_scan (header, "CD2_1", "%f", 1, &coords[0].pc2_1); 370 status &= gfits_scan (header, "CD2_2", "%f", 1, &coords[0].pc2_2); 371 371 /* renormalize */ 372 372 scale = hypot (coords[0].pc1_1, coords[0].pc1_2); … … 382 382 } else { 383 383 /* some of my thesis data uses this simple linear model - convert on read? */ 384 if ( fits_scan (header, "RA_O", "%lf", 1, &coords[0].crval1)) {385 status = fits_scan (header, "RA_X", "%f", 1, &coords[0].pc1_1);386 status &= fits_scan (header, "RA_Y", "%f", 1, &coords[0].pc1_2);387 status &= fits_scan (header, "DEC_O", "%lf", 1, &coords[0].crval2);388 status &= fits_scan (header, "DEC_X", "%f", 1, &coords[0].pc2_1);389 status &= fits_scan (header, "DEC_Y", "%f", 1, &coords[0].pc2_2);384 if (gfits_scan (header, "RA_O", "%lf", 1, &coords[0].crval1)) { 385 status = gfits_scan (header, "RA_X", "%f", 1, &coords[0].pc1_1); 386 status &= gfits_scan (header, "RA_Y", "%f", 1, &coords[0].pc1_2); 387 status &= gfits_scan (header, "DEC_O", "%lf", 1, &coords[0].crval2); 388 status &= gfits_scan (header, "DEC_X", "%f", 1, &coords[0].pc2_1); 389 status &= gfits_scan (header, "DEC_Y", "%f", 1, &coords[0].pc2_2); 390 390 coords[0].crpix1 = coords[0].crpix2 = 0.0; 391 391 coords[0].cdelt1 = coords[0].cdelt2 = 1.0; … … 394 394 } 395 395 if (status) { 396 if (! fits_scan (header, "EQUINOX", "%lf", 1, &equinox)) {397 if (! fits_scan (header, "EPOCH", "%lf", 1, &equinox)) {396 if (!gfits_scan (header, "EQUINOX", "%lf", 1, &equinox)) { 397 if (!gfits_scan (header, "EPOCH", "%lf", 1, &equinox)) { 398 398 equinox = 2000.0; 399 399 } … … 422 422 /* modifications to the ctype? */ 423 423 OldAIPS = FALSE; 424 fits_modify (header, "CTYPE2", "%s", 1, coords[0].ctype);424 gfits_modify (header, "CTYPE2", "%s", 1, coords[0].ctype); 425 425 if (!strcmp(coords[0].ctype, "MM")) { 426 fits_modify (header, "CTYPE1", "%s", 1, "LL");426 gfits_modify (header, "CTYPE1", "%s", 1, "LL"); 427 427 OldAIPS = TRUE; 428 428 } else { … … 435 435 if (!strcmp (csys, "NONE")) return (FALSE); 436 436 sprintf (ctype, "%s-%s", csys, &coords[0].ctype[5]); 437 fits_modify (header, "CTYPE1", "%s", 1, ctype);437 gfits_modify (header, "CTYPE1", "%s", 1, ctype); 438 438 } 439 439 440 fits_modify (header, "CDELT1", "%le", 1, coords[0].cdelt1);441 fits_modify (header, "CDELT2", "%le", 1, coords[0].cdelt2);442 fits_modify (header, "CRVAL1", "%lf", 1, coords[0].crval1);443 fits_modify (header, "CRVAL2", "%lf", 1, coords[0].crval2);444 fits_modify (header, "CRPIX1", "%lf", 1, coords[0].crpix1);445 fits_modify (header, "CRPIX2", "%lf", 1, coords[0].crpix2);440 gfits_modify (header, "CDELT1", "%le", 1, coords[0].cdelt1); 441 gfits_modify (header, "CDELT2", "%le", 1, coords[0].cdelt2); 442 gfits_modify (header, "CRVAL1", "%lf", 1, coords[0].crval1); 443 gfits_modify (header, "CRVAL2", "%lf", 1, coords[0].crval2); 444 gfits_modify (header, "CRPIX1", "%lf", 1, coords[0].crpix1); 445 gfits_modify (header, "CRPIX2", "%lf", 1, coords[0].crpix2); 446 446 447 447 if (OldAIPS) { 448 448 Lambda = coords[0].cdelt2 / coords[0].cdelt1; 449 449 rotate = DEG_RAD*atan2 (coords[0].pc2_1*Lambda, coords[0].pc1_1); 450 fits_modify (header, "CROTA1", "%f", 1, rotate);451 fits_modify (header, "CROTA2", "%f", 1, rotate);450 gfits_modify (header, "CROTA1", "%f", 1, rotate); 451 gfits_modify (header, "CROTA2", "%f", 1, rotate); 452 452 return (TRUE); 453 453 } 454 454 455 fits_modify (header, "PC001001", "%le", 1, coords[0].pc1_1);456 fits_modify (header, "PC001002", "%le", 1, coords[0].pc1_2);457 fits_modify (header, "PC002001", "%le", 1, coords[0].pc2_1);458 fits_modify (header, "PC002002", "%le", 1, coords[0].pc2_2);459 fits_modify (header, "NPLYTERM", "%d", 1, coords[0].Npolyterms);455 gfits_modify (header, "PC001001", "%le", 1, coords[0].pc1_1); 456 gfits_modify (header, "PC001002", "%le", 1, coords[0].pc1_2); 457 gfits_modify (header, "PC002001", "%le", 1, coords[0].pc2_1); 458 gfits_modify (header, "PC002002", "%le", 1, coords[0].pc2_2); 459 gfits_modify (header, "NPLYTERM", "%d", 1, coords[0].Npolyterms); 460 460 461 461 /* RA Terms */ 462 462 if (coords[0].Npolyterms > 1) { 463 fits_modify (header, "PCA1X2Y0", "%le", 1, coords[0].polyterms[0][0]); /* polyterms[0]); */464 fits_modify (header, "PCA1X1Y1", "%le", 1, coords[0].polyterms[1][0]); /* polyterms[1]); */465 fits_modify (header, "PCA1X0Y2", "%le", 1, coords[0].polyterms[2][0]); /* polyterms[2]); */463 gfits_modify (header, "PCA1X2Y0", "%le", 1, coords[0].polyterms[0][0]); /* polyterms[0]); */ 464 gfits_modify (header, "PCA1X1Y1", "%le", 1, coords[0].polyterms[1][0]); /* polyterms[1]); */ 465 gfits_modify (header, "PCA1X0Y2", "%le", 1, coords[0].polyterms[2][0]); /* polyterms[2]); */ 466 466 } 467 467 if (coords[0].Npolyterms > 2) { 468 fits_modify (header, "PCA1X3Y0", "%le", 1, coords[0].polyterms[3][0]); /* polyterms[3]); */469 fits_modify (header, "PCA1X2Y1", "%le", 1, coords[0].polyterms[4][0]); /* polyterms[4]); */470 fits_modify (header, "PCA1X1Y2", "%le", 1, coords[0].polyterms[5][0]); /* polyterms[5]); */471 fits_modify (header, "PCA1X0Y3", "%le", 1, coords[0].polyterms[6][0]); /* polyterms[6]); */468 gfits_modify (header, "PCA1X3Y0", "%le", 1, coords[0].polyterms[3][0]); /* polyterms[3]); */ 469 gfits_modify (header, "PCA1X2Y1", "%le", 1, coords[0].polyterms[4][0]); /* polyterms[4]); */ 470 gfits_modify (header, "PCA1X1Y2", "%le", 1, coords[0].polyterms[5][0]); /* polyterms[5]); */ 471 gfits_modify (header, "PCA1X0Y3", "%le", 1, coords[0].polyterms[6][0]); /* polyterms[6]); */ 472 472 } 473 473 474 474 /* Dec Terms */ 475 475 if (coords[0].Npolyterms > 1) { 476 fits_modify (header, "PCA2X2Y0", "%le", 1, coords[0].polyterms[0][1]); /* polyterms[7]); */477 fits_modify (header, "PCA2X1Y1", "%le", 1, coords[0].polyterms[1][1]); /* polyterms[8]); */478 fits_modify (header, "PCA2X0Y2", "%le", 1, coords[0].polyterms[2][1]); /* polyterms[9]); */476 gfits_modify (header, "PCA2X2Y0", "%le", 1, coords[0].polyterms[0][1]); /* polyterms[7]); */ 477 gfits_modify (header, "PCA2X1Y1", "%le", 1, coords[0].polyterms[1][1]); /* polyterms[8]); */ 478 gfits_modify (header, "PCA2X0Y2", "%le", 1, coords[0].polyterms[2][1]); /* polyterms[9]); */ 479 479 } 480 480 if (coords[0].Npolyterms > 2) { 481 fits_modify (header, "PCA2X3Y0", "%le", 1, coords[0].polyterms[3][1]); /* polyterms[10]); */482 fits_modify (header, "PCA2X2Y1", "%le", 1, coords[0].polyterms[4][1]); /* polyterms[11]); */483 fits_modify (header, "PCA2X1Y2", "%le", 1, coords[0].polyterms[5][1]); /* polyterms[12]); */484 fits_modify (header, "PCA2X0Y3", "%le", 1, coords[0].polyterms[6][1]); /* polyterms[13]); */481 gfits_modify (header, "PCA2X3Y0", "%le", 1, coords[0].polyterms[3][1]); /* polyterms[10]); */ 482 gfits_modify (header, "PCA2X2Y1", "%le", 1, coords[0].polyterms[4][1]); /* polyterms[11]); */ 483 gfits_modify (header, "PCA2X1Y2", "%le", 1, coords[0].polyterms[5][1]); /* polyterms[12]); */ 484 gfits_modify (header, "PCA2X0Y3", "%le", 1, coords[0].polyterms[6][1]); /* polyterms[13]); */ 485 485 } 486 486 return (TRUE); -
trunk/Ohana/src/libdvo/src/dvo_catalog.c
r5320 r7080 42 42 /** we will have to check catmode for MYSQL before reading from the file **/ 43 43 44 fits_fread_header (catalog[0].f, &catalog[0].header);45 if (! fits_scan (&catalog[0].header, "NAXIS", "%d", 1, &Naxis)) {44 gfits_fread_header (catalog[0].f, &catalog[0].header); 45 if (!gfits_scan (&catalog[0].header, "NAXIS", "%d", 1, &Naxis)) { 46 46 if (VERBOSE) fprintf (stderr, "can't determine catalog db mode\n"); 47 47 return (FALSE); 48 48 } 49 split = fits_scan (&catalog[0].header, "MEASURE", "%s", 1, measure);49 split = gfits_scan (&catalog[0].header, "MEASURE", "%s", 1, measure); 50 50 51 51 /* currenly, the catmode information is carried per table. -
trunk/Ohana/src/libdvo/src/dvo_catalog_mef.c
r5320 r7080 17 17 18 18 /* matrix should be empty */ 19 if (! fits_fread_matrix (f, &matrix, &catalog[0].header)) {19 if (!gfits_fread_matrix (f, &matrix, &catalog[0].header)) { 20 20 if (VERBOSE) fprintf (stderr, "can't read primary matrix"); 21 21 return (FALSE); 22 22 } 23 23 /* get the components from the header */ 24 if (! fits_scan (&catalog[0].header, "NSTARS", "%d", 1, &Naverage)) return (FALSE);25 if (! fits_scan (&catalog[0].header, "NMEAS", "%d", 1, &Nmeasure)) return (FALSE);26 if (! fits_scan (&catalog[0].header, "NMISS", "%d", 1, &Nmissing)) return (FALSE);27 if (! fits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &Nsecfilt)) Nsecfilt = 0;24 if (!gfits_scan (&catalog[0].header, "NSTARS", "%d", 1, &Naverage)) return (FALSE); 25 if (!gfits_scan (&catalog[0].header, "NMEAS", "%d", 1, &Nmeasure)) return (FALSE); 26 if (!gfits_scan (&catalog[0].header, "NMISS", "%d", 1, &Nmissing)) return (FALSE); 27 if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &Nsecfilt)) Nsecfilt = 0; 28 28 29 29 /** Nsecfilt is unusual: it does not list the number of data items in the table … … 34 34 35 35 /* read Average table header */ 36 if (! fits_fread_header (f, &header)) {36 if (!gfits_fread_header (f, &header)) { 37 37 if (VERBOSE) fprintf (stderr, "can't read table average header"); 38 38 return (FALSE); … … 40 40 /* read Average table data (or skip) */ 41 41 if (catalog[0].catflags & LOAD_AVES) { 42 if (! fits_fread_ftable_data (f, &ftable)) {42 if (!gfits_fread_ftable_data (f, &ftable)) { 43 43 if (VERBOSE) fprintf (stderr, "can't read table average data"); 44 44 return (FALSE); … … 49 49 } 50 50 } else { 51 Nbytes = fits_matrix_size (&header);52 fseek (f, Nbytes, SEEK_CUR); 53 } 54 fits_free_header (&header);51 Nbytes = gfits_matrix_size (&header); 52 fseek (f, Nbytes, SEEK_CUR); 53 } 54 gfits_free_header (&header); 55 55 /** free the ftable or not? data is being used still..? **/ 56 56 57 57 /* read Measure table header */ 58 if (! fits_fread_header (f, &header)) {58 if (!gfits_fread_header (f, &header)) { 59 59 if (VERBOSE) fprintf (stderr, "can't read table measure header"); 60 60 return (FALSE); … … 62 62 /* read Measure table data */ 63 63 if (catalog[0].catflags & LOAD_MEAS) { 64 if (! fits_fread_ftable_data (f, &ftable)) {64 if (!gfits_fread_ftable_data (f, &ftable)) { 65 65 if (VERBOSE) fprintf (stderr, "can't read table measure data"); 66 66 return (FALSE); … … 71 71 } 72 72 } else { 73 Nbytes = fits_matrix_size (&header);73 Nbytes = gfits_matrix_size (&header); 74 74 fseek (f, Nbytes, SEEK_CUR); 75 75 } 76 76 77 77 /* read Missing table header */ 78 if (! fits_fread_header (f, &header)) {78 if (!gfits_fread_header (f, &header)) { 79 79 if (VERBOSE) fprintf (stderr, "can't read table missing header"); 80 80 return (FALSE); … … 82 82 /* read Missing table data */ 83 83 if (catalog[0].catflags & LOAD_MISS) { 84 if (! fits_fread_ftable_data (f, &ftable)) {84 if (!gfits_fread_ftable_data (f, &ftable)) { 85 85 if (VERBOSE) fprintf (stderr, "can't read table missing data"); 86 86 return (FALSE); 87 87 } 88 88 /* no conversions currently defined */ 89 catalog[0].missing = fits_table_get_Missing (&ftable, &catalog[0].Nmissing, NULL);89 catalog[0].missing = gfits_table_get_Missing (&ftable, &catalog[0].Nmissing, NULL); 90 90 if (Nmissing != catalog[0].Nmissing) { 91 91 fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers (%d vs %d)\n", Nmissing, catalog[0].Nmissing); 92 92 } 93 93 } else { 94 Nbytes = fits_matrix_size (&header);95 fseek (f, Nbytes, SEEK_CUR); 96 } 97 98 // catalog[0].secfilt = fits_table_get_SecFilt (&ftable, &Nitems, NULL);94 Nbytes = gfits_matrix_size (&header); 95 fseek (f, Nbytes, SEEK_CUR); 96 } 97 98 // catalog[0].secfilt = gfits_table_get_SecFilt (&ftable, &Nitems, NULL); 99 99 // catalog[0].Nsecfilt = Nitems / catalog[0].Naverage; 100 100 101 101 /* read secfilt table header */ 102 if (! fits_fread_header (f, &header)) {102 if (!gfits_fread_header (f, &header)) { 103 103 if (VERBOSE) fprintf (stderr, "can't read table secfilt header"); 104 104 return (FALSE); … … 106 106 /* read secfilt table data */ 107 107 if (catalog[0].catflags & LOAD_SECF) { 108 if (! fits_fread_ftable_data (f, &ftable)) {108 if (!gfits_fread_ftable_data (f, &ftable)) { 109 109 if (VERBOSE) fprintf (stderr, "can't read table secfilt data"); 110 110 return (FALSE); … … 117 117 } else { 118 118 /* no real need to skip the data array here... */ 119 Nbytes = fits_matrix_size (&header);119 Nbytes = gfits_matrix_size (&header); 120 120 fseek (f, Nbytes, SEEK_CUR); 121 121 } … … 139 139 140 140 /* make sure header is consistent with data */ 141 fits_modify (&catalog[0].header, "NSTARS", "%d", 1, catalog[0].Naverage);142 fits_modify (&catalog[0].header, "NMEAS", "%d", 1, catalog[0].Nmeasure);143 fits_modify (&catalog[0].header, "NMISS", "%d", 1, catalog[0].Nmissing);144 fits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);145 fits_modify (&catalog[0].header, "EXTEND", "%t", 1, TRUE);141 gfits_modify (&catalog[0].header, "NSTARS", "%d", 1, catalog[0].Naverage); 142 gfits_modify (&catalog[0].header, "NMEAS", "%d", 1, catalog[0].Nmeasure); 143 gfits_modify (&catalog[0].header, "NMISS", "%d", 1, catalog[0].Nmissing); 144 gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt); 145 gfits_modify (&catalog[0].header, "EXTEND", "%t", 1, TRUE); 146 146 147 147 f = catalog[0].f; … … 152 152 153 153 /* write table PHU header */ 154 if (! fits_fwrite_header (catalog[0].f, &catalog[0].header)) {154 if (!gfits_fwrite_header (catalog[0].f, &catalog[0].header)) { 155 155 fprintf (stderr, "can't write primary header"); 156 156 return (FALSE); … … 158 158 159 159 /* this is probably a NOP, do I have to keep it in? */ 160 fits_create_matrix (&catalog[0].header, &matrix);161 if (! fits_fwrite_matrix (catalog[0].f, &matrix)) {160 gfits_create_matrix (&catalog[0].header, &matrix); 161 if (!gfits_fwrite_matrix (catalog[0].f, &matrix)) { 162 162 fprintf (stderr, "can't write primary matrix"); 163 163 return (FALSE); 164 164 } 165 fits_free_matrix (&matrix);165 gfits_free_matrix (&matrix); 166 166 167 167 /* write out Average table (convert to FITS table format) */ 168 168 AverageToFtable (&ftable, catalog[0].average, catalog[0].Naverage, catalog[0].catformat); 169 if (! fits_fwrite_Theader (catalog[0].f, &header)) {170 fprintf (stderr, "can't write table header"); 171 return (FALSE); 172 } 173 if (! fits_fwrite_table (catalog[0].f, &ftable)) {174 fprintf (stderr, "can't write table data"); 175 return (FALSE); 176 } 177 fits_free_table (&ftable);178 fits_free_header (&header);169 if (!gfits_fwrite_Theader (catalog[0].f, &header)) { 170 fprintf (stderr, "can't write table header"); 171 return (FALSE); 172 } 173 if (!gfits_fwrite_table (catalog[0].f, &ftable)) { 174 fprintf (stderr, "can't write table data"); 175 return (FALSE); 176 } 177 gfits_free_table (&ftable); 178 gfits_free_header (&header); 179 179 180 180 /* write out Measure table (convert to FITS table format) */ 181 181 MeasureToFtable (&ftable, catalog[0].measure, catalog[0].Nmeasure, catalog[0].catformat); 182 if (! fits_fwrite_Theader (catalog[0].f, &header)) {183 fprintf (stderr, "can't write table header"); 184 return (FALSE); 185 } 186 if (! fits_fwrite_table (catalog[0].f, &ftable)) {187 fprintf (stderr, "can't write table data"); 188 return (FALSE); 189 } 190 fits_free_table (&ftable);191 fits_free_header (&header);182 if (!gfits_fwrite_Theader (catalog[0].f, &header)) { 183 fprintf (stderr, "can't write table header"); 184 return (FALSE); 185 } 186 if (!gfits_fwrite_table (catalog[0].f, &ftable)) { 187 fprintf (stderr, "can't write table data"); 188 return (FALSE); 189 } 190 gfits_free_table (&ftable); 191 gfits_free_header (&header); 192 192 193 193 /* write out Missing table (convert to FITS table format) */ 194 fits_table_set_Missing (&ftable, catalog[0].missing, catalog[0].Nmissing);195 if (! fits_fwrite_Theader (catalog[0].f, &header)) {196 fprintf (stderr, "can't write table header"); 197 return (FALSE); 198 } 199 if (! fits_fwrite_table (catalog[0].f, &ftable)) {200 fprintf (stderr, "can't write table data"); 201 return (FALSE); 202 } 203 fits_free_table (&ftable);204 fits_free_header (&header);194 gfits_table_set_Missing (&ftable, catalog[0].missing, catalog[0].Nmissing); 195 if (!gfits_fwrite_Theader (catalog[0].f, &header)) { 196 fprintf (stderr, "can't write table header"); 197 return (FALSE); 198 } 199 if (!gfits_fwrite_table (catalog[0].f, &ftable)) { 200 fprintf (stderr, "can't write table data"); 201 return (FALSE); 202 } 203 gfits_free_table (&ftable); 204 gfits_free_header (&header); 205 205 206 206 /* write out SecFilt table (convert to FITS table format) */ 207 207 Nitems = catalog[0].Naverage * catalog[0].Nsecfilt; 208 208 SecFiltToFtable (&ftable, catalog[0].secfilt, Nitems, catalog[0].catformat); 209 if (! fits_fwrite_Theader (catalog[0].f, &header)) {210 fprintf (stderr, "can't write table header"); 211 return (FALSE); 212 } 213 if (! fits_fwrite_table (catalog[0].f, &ftable)) {214 fprintf (stderr, "can't write table data"); 215 return (FALSE); 216 } 217 fits_free_table (&ftable);218 fits_free_header (&header);209 if (!gfits_fwrite_Theader (catalog[0].f, &header)) { 210 fprintf (stderr, "can't write table header"); 211 return (FALSE); 212 } 213 if (!gfits_fwrite_table (catalog[0].f, &ftable)) { 214 fprintf (stderr, "can't write table data"); 215 return (FALSE); 216 } 217 gfits_free_table (&ftable); 218 gfits_free_header (&header); 219 219 220 220 return (TRUE); -
trunk/Ohana/src/libdvo/src/dvo_catalog_raw.c
r6683 r7080 20 20 /* get the components from the header */ 21 21 catalog[0].Naverage = catalog[0].Nmeasure = catalog[0].Nmissing = catalog[0].Nsecfilt = 0; 22 if (! fits_scan (&catalog[0].header, "NSTARS", "%d", 1, &catalog[0].Naverage)) return (FALSE);23 if (! fits_scan (&catalog[0].header, "NMEAS", "%d", 1, &catalog[0].Nmeasure)) return (FALSE);24 if (! fits_scan (&catalog[0].header, "NMISS", "%d", 1, &catalog[0].Nmissing)) return (FALSE);25 if (! fits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &catalog[0].Nsecfilt)) catalog[0].Nsecfilt = 0;22 if (!gfits_scan (&catalog[0].header, "NSTARS", "%d", 1, &catalog[0].Naverage)) return (FALSE); 23 if (!gfits_scan (&catalog[0].header, "NMEAS", "%d", 1, &catalog[0].Nmeasure)) return (FALSE); 24 if (!gfits_scan (&catalog[0].header, "NMISS", "%d", 1, &catalog[0].Nmissing)) return (FALSE); 25 if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &catalog[0].Nsecfilt)) catalog[0].Nsecfilt = 0; 26 26 27 27 /* determine catalog format */ 28 28 catalog[0].catformat = DVO_FORMAT_UNDEF; 29 if ( fits_scan (&catalog[0].header, "FORMAT", "%s", 1, format)) {29 if (gfits_scan (&catalog[0].header, "FORMAT", "%s", 1, format)) { 30 30 if (!strcmp (format, "INTERNAL")) catalog[0].catformat = DVO_FORMAT_INTERNAL; 31 31 if (!strcmp (format, "LONEOS")) catalog[0].catformat = DVO_FORMAT_LONEOS; … … 35 35 if (catalog[0].catformat != DVO_FORMAT_UNDEF) goto got_format; 36 36 } 37 if ( fits_scan (&catalog[0].header, "NEWMEAS", "%t", 1, &NewMeasure)) {37 if (gfits_scan (&catalog[0].header, "NEWMEAS", "%t", 1, &NewMeasure)) { 38 38 catalog[0].catformat = DVO_FORMAT_ELIXIR; 39 39 goto got_format; 40 40 } 41 if ( fits_scan (&catalog[0].header, "TELESCOP", "%s", 1, telescope)) {41 if (gfits_scan (&catalog[0].header, "TELESCOP", "%s", 1, telescope)) { 42 42 if (!strncmp (telescope, "LONEOS", strlen("LONEOS"))) { 43 43 catalog[0].catformat = DVO_FORMAT_LONEOS; … … 145 145 return (FALSE); 146 146 } 147 fits_convert_Missing (catalog[0].missing, MissingSize, Nitems);147 gfits_convert_Missing (catalog[0].missing, MissingSize, Nitems); 148 148 } else { 149 149 /* skip over missings */ … … 194 194 195 195 /* make sure header is consistent with data */ 196 fits_modify (&catalog[0].header, "NSTARS", "%d", 1, catalog[0].Naverage);197 fits_modify (&catalog[0].header, "NMEAS", "%d", 1, catalog[0].Nmeasure);198 fits_modify (&catalog[0].header, "NMISS", "%d", 1, catalog[0].Nmissing);199 fits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);196 gfits_modify (&catalog[0].header, "NSTARS", "%d", 1, catalog[0].Naverage); 197 gfits_modify (&catalog[0].header, "NMEAS", "%d", 1, catalog[0].Nmeasure); 198 gfits_modify (&catalog[0].header, "NMISS", "%d", 1, catalog[0].Nmissing); 199 gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt); 200 200 201 201 /* specify the appropriate data format */ 202 if (catalog[0].catformat == DVO_FORMAT_INTERNAL) fits_modify (&catalog[0].header, "FORMAT", "%s", 1, "INTERNAL");203 if (catalog[0].catformat == DVO_FORMAT_LONEOS) fits_modify (&catalog[0].header, "FORMAT", "%s", 1, "LONEOS");204 if (catalog[0].catformat == DVO_FORMAT_ELIXIR) fits_modify (&catalog[0].header, "FORMAT", "%s", 1, "ELIXIR");205 if (catalog[0].catformat == DVO_FORMAT_PANSTARRS) fits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PANSTARRS");206 if (catalog[0].catformat == DVO_FORMAT_PMTEST) fits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PMTEST");202 if (catalog[0].catformat == DVO_FORMAT_INTERNAL) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "INTERNAL"); 203 if (catalog[0].catformat == DVO_FORMAT_LONEOS) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "LONEOS"); 204 if (catalog[0].catformat == DVO_FORMAT_ELIXIR) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "ELIXIR"); 205 if (catalog[0].catformat == DVO_FORMAT_PANSTARRS) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PANSTARRS"); 206 if (catalog[0].catformat == DVO_FORMAT_PMTEST) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PMTEST"); 207 207 208 208 /* rewind file pointers and truncate file */ … … 211 211 ftruncate (fileno (catalog[0].f), 0); 212 212 213 /* write header data (use fits_write_header?) */213 /* write header data (use gfits_write_header?) */ 214 214 nitems = fwrite (catalog[0].header.buffer, 1, catalog[0].header.size, f); 215 215 if (nitems != catalog[0].header.size) { … … 224 224 /* write missing data */ 225 225 Nitems = catalog[0].Nmissing; 226 fits_convert_Missing (catalog[0].missing, sizeof(Missing), Nitems);226 gfits_convert_Missing (catalog[0].missing, sizeof(Missing), Nitems); 227 227 nitems = fwrite (catalog[0].missing, sizeof(Missing), Nitems, f); 228 228 if (nitems != Nitems) { … … 260 260 return (NULL); 261 261 } 262 fits_convert_Average (average, sizeof(Average), Naverage);262 gfits_convert_Average (average, sizeof(Average), Naverage); 263 263 break; 264 264 case DVO_FORMAT_ELIXIR: … … 269 269 return (NULL); 270 270 } 271 fits_convert_AverageElixir (tmpAverageElixir, sizeof(AverageElixir), Naverage);271 gfits_convert_AverageElixir (tmpAverageElixir, sizeof(AverageElixir), Naverage); 272 272 average = AverageElixirToInternal (tmpAverageElixir, Naverage); 273 273 free (tmpAverageElixir); … … 280 280 return (NULL); 281 281 } 282 fits_convert_AverageLoneos (tmpAverageLoneos, sizeof(AverageLoneos), Naverage);282 gfits_convert_AverageLoneos (tmpAverageLoneos, sizeof(AverageLoneos), Naverage); 283 283 average = AverageLoneosToInternal (tmpAverageLoneos, Naverage); 284 284 free (tmpAverageLoneos); … … 291 291 return (NULL); 292 292 } 293 fits_convert_AveragePanstarrs (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage);293 gfits_convert_AveragePanstarrs (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage); 294 294 average = AveragePanstarrsToInternal (tmpAveragePanstarrs, Naverage); 295 295 free (tmpAveragePanstarrs); … … 302 302 return (NULL); 303 303 } 304 fits_convert_AveragePMtest (tmpAveragePMtest, sizeof(AveragePMtest), Naverage);304 gfits_convert_AveragePMtest (tmpAveragePMtest, sizeof(AveragePMtest), Naverage); 305 305 average = AveragePMtestToInternal (tmpAveragePMtest, Naverage); 306 306 free (tmpAveragePMtest); … … 325 325 switch (format) { 326 326 case DVO_FORMAT_INTERNAL: 327 fits_convert_Average (average, sizeof(Average), Naverage);327 gfits_convert_Average (average, sizeof(Average), Naverage); 328 328 nitems = fwrite (average, sizeof(Average), Naverage, f); 329 329 if (nitems != Naverage) { … … 334 334 case DVO_FORMAT_ELIXIR: 335 335 tmpAverageElixir = AverageInternalToElixir (average, Naverage); 336 fits_convert_AverageElixir (tmpAverageElixir, sizeof(AverageElixir), Naverage);336 gfits_convert_AverageElixir (tmpAverageElixir, sizeof(AverageElixir), Naverage); 337 337 nitems = fwrite (tmpAverageElixir, sizeof(AverageElixir), Naverage, f); 338 338 free (tmpAverageElixir); … … 344 344 case DVO_FORMAT_LONEOS: 345 345 tmpAverageLoneos = AverageInternalToLoneos (average, Naverage); 346 fits_convert_AverageLoneos (tmpAverageLoneos, sizeof(AverageLoneos), Naverage);346 gfits_convert_AverageLoneos (tmpAverageLoneos, sizeof(AverageLoneos), Naverage); 347 347 nitems = fwrite (tmpAverageLoneos, sizeof(AverageLoneos), Naverage, f); 348 348 free (tmpAverageLoneos); … … 354 354 case DVO_FORMAT_PANSTARRS: 355 355 tmpAveragePanstarrs = AverageInternalToPanstarrs (average, Naverage); 356 fits_convert_AveragePanstarrs (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage);356 gfits_convert_AveragePanstarrs (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage); 357 357 nitems = fwrite (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage, f); 358 358 free (tmpAveragePanstarrs); … … 364 364 case DVO_FORMAT_PMTEST: 365 365 tmpAveragePMtest = AverageInternalToPMtest (average, Naverage); 366 fits_convert_AveragePMtest (tmpAveragePMtest, sizeof(AveragePMtest), Naverage);366 gfits_convert_AveragePMtest (tmpAveragePMtest, sizeof(AveragePMtest), Naverage); 367 367 nitems = fwrite (tmpAveragePMtest, sizeof(AveragePMtest), Naverage, f); 368 368 free (tmpAveragePMtest); … … 397 397 return (NULL); 398 398 } 399 fits_convert_Measure (measure, sizeof(Measure), Nmeasure);399 gfits_convert_Measure (measure, sizeof(Measure), Nmeasure); 400 400 break; 401 401 case DVO_FORMAT_ELIXIR: … … 406 406 return (NULL); 407 407 } 408 fits_convert_MeasureElixir (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure);408 gfits_convert_MeasureElixir (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure); 409 409 measure = MeasureElixirToInternal (tmpMeasureElixir, Nmeasure); 410 410 free (tmpMeasureElixir); … … 417 417 return (NULL); 418 418 } 419 fits_convert_MeasureLoneos (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure);419 gfits_convert_MeasureLoneos (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure); 420 420 measure = MeasureLoneosToInternal (tmpMeasureLoneos, Nmeasure); 421 421 free (tmpMeasureLoneos); … … 429 429 return (NULL); 430 430 } 431 fits_convert_MeasurePanstarrs (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure);431 gfits_convert_MeasurePanstarrs (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure); 432 432 measure = MeasurePanstarrsToInternal (tmpMeasurePanstarrs, Nmeasure); 433 433 free (tmpMeasurePanstarrs); … … 451 451 switch (format) { 452 452 case DVO_FORMAT_INTERNAL: 453 fits_convert_Measure (measure, sizeof(Measure), Nmeasure);453 gfits_convert_Measure (measure, sizeof(Measure), Nmeasure); 454 454 nitems = fwrite (measure, sizeof(Measure), Nmeasure, f); 455 455 if (nitems != Nmeasure) { … … 460 460 case DVO_FORMAT_ELIXIR: 461 461 tmpMeasureElixir = MeasureInternalToElixir (measure, Nmeasure); 462 fits_convert_MeasureElixir (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure);462 gfits_convert_MeasureElixir (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure); 463 463 nitems = fwrite (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure, f); 464 464 free (tmpMeasureElixir); … … 470 470 case DVO_FORMAT_LONEOS: 471 471 tmpMeasureLoneos = MeasureInternalToLoneos (measure, Nmeasure); 472 fits_convert_MeasureLoneos (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure);472 gfits_convert_MeasureLoneos (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure); 473 473 nitems = fwrite (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure, f); 474 474 free (tmpMeasureLoneos); … … 481 481 case DVO_FORMAT_PMTEST: 482 482 tmpMeasurePanstarrs = MeasureInternalToPanstarrs (measure, Nmeasure); 483 fits_convert_MeasurePanstarrs (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure);483 gfits_convert_MeasurePanstarrs (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure); 484 484 nitems = fwrite (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure, f); 485 485 free (tmpMeasurePanstarrs); … … 514 514 return (NULL); 515 515 } 516 fits_convert_SecFilt (secfilt, sizeof(SecFilt), Nsecfilt);516 gfits_convert_SecFilt (secfilt, sizeof(SecFilt), Nsecfilt); 517 517 break; 518 518 case DVO_FORMAT_ELIXIR: … … 523 523 return (NULL); 524 524 } 525 fits_convert_SecFiltElixir (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt);525 gfits_convert_SecFiltElixir (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt); 526 526 secfilt = SecFiltElixirToInternal (tmpSecFiltElixir, Nsecfilt); 527 527 free (tmpSecFiltElixir); … … 534 534 return (NULL); 535 535 } 536 fits_convert_SecFiltLoneos (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt);536 gfits_convert_SecFiltLoneos (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt); 537 537 secfilt = SecFiltLoneosToInternal (tmpSecFiltLoneos, Nsecfilt); 538 538 free (tmpSecFiltLoneos); … … 546 546 return (NULL); 547 547 } 548 fits_convert_SecFiltPanstarrs (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt);548 gfits_convert_SecFiltPanstarrs (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt); 549 549 secfilt = SecFiltPanstarrsToInternal (tmpSecFiltPanstarrs, Nsecfilt); 550 550 free (tmpSecFiltPanstarrs); … … 568 568 switch (format) { 569 569 case DVO_FORMAT_INTERNAL: 570 fits_convert_SecFilt (secfilt, sizeof(SecFilt), Nsecfilt);570 gfits_convert_SecFilt (secfilt, sizeof(SecFilt), Nsecfilt); 571 571 nitems = fwrite (secfilt, sizeof(SecFilt), Nsecfilt, f); 572 572 if (nitems != Nsecfilt) { … … 577 577 case DVO_FORMAT_ELIXIR: 578 578 tmpSecFiltElixir = SecFiltInternalToElixir (secfilt, Nsecfilt); 579 fits_convert_SecFiltElixir (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt);579 gfits_convert_SecFiltElixir (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt); 580 580 nitems = fwrite (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt, f); 581 581 free (tmpSecFiltElixir); … … 587 587 case DVO_FORMAT_LONEOS: 588 588 tmpSecFiltLoneos = SecFiltInternalToLoneos (secfilt, Nsecfilt); 589 fits_convert_SecFiltLoneos (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt);589 gfits_convert_SecFiltLoneos (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt); 590 590 nitems = fwrite (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt, f); 591 591 free (tmpSecFiltLoneos); … … 598 598 case DVO_FORMAT_PMTEST: 599 599 tmpSecFiltPanstarrs = SecFiltInternalToPanstarrs (secfilt, Nsecfilt); 600 fits_convert_SecFiltPanstarrs (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt);600 gfits_convert_SecFiltPanstarrs (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt); 601 601 nitems = fwrite (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt, f); 602 602 free (tmpSecFiltPanstarrs); -
trunk/Ohana/src/libdvo/src/dvo_catalog_split.c
r5320 r7080 17 17 18 18 /* get the components from the header - these duplicate information in the split files (NAXIS2) */ 19 if (! fits_scan (&catalog[0].header, "NSTARS", "%d", 1, &Naverage)) return (FALSE);20 if (! fits_scan (&catalog[0].header, "NMEAS", "%d", 1, &Nmeasure)) return (FALSE);21 if (! fits_scan (&catalog[0].header, "NMISS", "%d", 1, &Nmissing)) return (FALSE);22 if (! fits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &Nsecfilt)) Nsecfilt = 0;19 if (!gfits_scan (&catalog[0].header, "NSTARS", "%d", 1, &Naverage)) return (FALSE); 20 if (!gfits_scan (&catalog[0].header, "NMEAS", "%d", 1, &Nmeasure)) return (FALSE); 21 if (!gfits_scan (&catalog[0].header, "NMISS", "%d", 1, &Nmissing)) return (FALSE); 22 if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &Nsecfilt)) Nsecfilt = 0; 23 23 24 24 /** Nsecfilt is unusual: it does not list the number of data items in the table … … 40 40 fseek (catalog[0].f, catalog[0].header.size, SEEK_SET); 41 41 /* matrix should be empty */ 42 if (! fits_fread_matrix (catalog[0].f, &matrix, &catalog[0].header)) {42 if (!gfits_fread_matrix (catalog[0].f, &matrix, &catalog[0].header)) { 43 43 if (VERBOSE) fprintf (stderr, "can't read primary matrix"); 44 44 return (FALSE); 45 45 } 46 46 /* read Average table header */ 47 if (! fits_fread_header (catalog[0].f, &header)) {47 if (!gfits_fread_header (catalog[0].f, &header)) { 48 48 if (VERBOSE) fprintf (stderr, "can't read table average header"); 49 49 return (FALSE); 50 50 } 51 51 /* read Average table data */ 52 if (! fits_fread_ftable_data (catalog[0].f, &ftable)) {52 if (!gfits_fread_ftable_data (catalog[0].f, &ftable)) { 53 53 if (VERBOSE) fprintf (stderr, "can't read table average data"); 54 54 return (FALSE); … … 58 58 fprintf (stderr, "Warning: mismatch between Naverage in PHU and Table headers (%d vs %d)\n", Naverage, catalog[0].Naverage); 59 59 } 60 fits_free_header (&header);60 gfits_free_header (&header); 61 61 } 62 62 … … 70 70 71 71 /* get split filename from main header (paths relative to cpt file) */ 72 if (! fits_scan (&catalog[0].header, "MEASURE", "%s", 1, string)) return (FALSE);72 if (!gfits_scan (&catalog[0].header, "MEASURE", "%s", 1, string)) return (FALSE); 73 73 ALLOCATE (measure[0].filename, char, strlen(path) + strlen(string) + 2); 74 74 sprintf (measure[0].filename, "%s/%s", path, string); … … 81 81 82 82 /* read PHU */ 83 if (! fits_load_header (measure[0].f, &measure[0].header)) {83 if (!gfits_load_header (measure[0].f, &measure[0].header)) { 84 84 if (VERBOSE) fprintf (stderr, "catalog file does not exist: %s\n", measure[0].filename); 85 85 return (FALSE); 86 86 } 87 87 /* matrix should be empty */ 88 if (! fits_fread_matrix (measure[0].f, &matrix, &measure[0].header)) {88 if (!gfits_fread_matrix (measure[0].f, &matrix, &measure[0].header)) { 89 89 if (VERBOSE) fprintf (stderr, "can't read primary matrix"); 90 90 return (FALSE); 91 91 } 92 92 /* read Measure table header */ 93 if (! fits_fread_header (measure[0].f, &header)) {93 if (!gfits_fread_header (measure[0].f, &header)) { 94 94 if (VERBOSE) fprintf (stderr, "can't read measure PHU header"); 95 95 return (FALSE); 96 96 } 97 97 /* read Measure table data */ 98 if (! fits_fread_ftable_data (measure[0].f, &ftable)) {98 if (!gfits_fread_ftable_data (measure[0].f, &ftable)) { 99 99 if (VERBOSE) fprintf (stderr, "can't read table measure data"); 100 100 return (FALSE); … … 106 106 } 107 107 catalog[0].Nmeas_off = 0; 108 fits_free_header (&header);109 fits_free_matrix (&matrix);108 gfits_free_header (&header); 109 gfits_free_matrix (&matrix); 110 110 } 111 111 … … 115 115 116 116 /* get split filename from main header (paths relative to cpt file) */ 117 if (! fits_scan (&catalog[0].header, "MEASURE", "%s", 1, string)) return (FALSE);117 if (!gfits_scan (&catalog[0].header, "MEASURE", "%s", 1, string)) return (FALSE); 118 118 ALLOCATE (measure[0].filename, char, strlen(path) + strlen(string) + 2); 119 119 sprintf (measure[0].filename, "%s/%s", path, string); … … 126 126 127 127 /* read PHU */ 128 if (! fits_load_header (measure[0].f, &measure[0].header)) {128 if (!gfits_load_header (measure[0].f, &measure[0].header)) { 129 129 if (VERBOSE) fprintf (stderr, "catalog file does not exist: %s\n", measure[0].filename); 130 130 return (FALSE); … … 147 147 148 148 /* get split filename from main header (paths relative to cpt file) */ 149 if (! fits_scan (&catalog[0].header, "MISSING", "%s", 1, string)) return (FALSE);149 if (!gfits_scan (&catalog[0].header, "MISSING", "%s", 1, string)) return (FALSE); 150 150 ALLOCATE (missing[0].filename, char, strlen(path) + strlen(string) + 2); 151 151 sprintf (missing[0].filename, "%s/%s", path, string); … … 158 158 159 159 /* read PHU */ 160 if (! fits_load_header (missing[0].f, &missing[0].header)) {160 if (!gfits_load_header (missing[0].f, &missing[0].header)) { 161 161 if (VERBOSE) fprintf (stderr, "catalog file does not exist: %s\n", missing[0].filename); 162 162 return (FALSE); 163 163 } 164 164 /* matrix should be empty */ 165 if (! fits_fread_matrix (missing[0].f, &matrix, &missing[0].header)) {165 if (!gfits_fread_matrix (missing[0].f, &matrix, &missing[0].header)) { 166 166 if (VERBOSE) fprintf (stderr, "can't read primary matrix"); 167 167 return (FALSE); 168 168 } 169 169 /* read Missing table header */ 170 if (! fits_fread_header (missing[0].f, &header)) {170 if (!gfits_fread_header (missing[0].f, &header)) { 171 171 if (VERBOSE) fprintf (stderr, "can't read table missing header"); 172 172 return (FALSE); 173 173 } 174 174 /* read Missing table data */ 175 if (! fits_fread_ftable_data (missing[0].f, &ftable)) {175 if (!gfits_fread_ftable_data (missing[0].f, &ftable)) { 176 176 if (VERBOSE) fprintf (stderr, "can't read table missing data"); 177 177 return (FALSE); 178 178 } 179 179 /* no conversions currently defined */ 180 catalog[0].missing = fits_table_get_Missing (&ftable, &catalog[0].Nmissing, NULL);180 catalog[0].missing = gfits_table_get_Missing (&ftable, &catalog[0].Nmissing, NULL); 181 181 if (Nmissing != catalog[0].Nmissing) { 182 182 fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers (%d vs %d)\n", Nmissing, catalog[0].Nmissing); 183 183 } 184 fits_free_header (&header);185 fits_free_matrix (&matrix);184 gfits_free_header (&header); 185 gfits_free_matrix (&matrix); 186 186 } 187 187 catalog[0].missing_catalog = missing; … … 194 194 195 195 /* get split filename from main header (paths relative to cpt file) */ 196 if (! fits_scan (&catalog[0].header, "SECFILT", "%s", 1, string)) return (FALSE);196 if (!gfits_scan (&catalog[0].header, "SECFILT", "%s", 1, string)) return (FALSE); 197 197 ALLOCATE (secfilt[0].filename, char, strlen(path) + strlen(string) + 2); 198 198 sprintf (secfilt[0].filename, "%s/%s", path, string); … … 205 205 206 206 /* read PHU */ 207 if (! fits_load_header (secfilt[0].f, &secfilt[0].header)) {207 if (!gfits_load_header (secfilt[0].f, &secfilt[0].header)) { 208 208 if (VERBOSE) fprintf (stderr, "catalog file does not exist: %s\n", secfilt[0].filename); 209 209 return (FALSE); 210 210 } 211 211 /* matrix should be empty */ 212 if (! fits_fread_matrix (secfilt[0].f, &matrix, &secfilt[0].header)) {212 if (!gfits_fread_matrix (secfilt[0].f, &matrix, &secfilt[0].header)) { 213 213 if (VERBOSE) fprintf (stderr, "can't read primary matrix"); 214 214 return (FALSE); 215 215 } 216 216 /* read secfilt table header */ 217 if (! fits_fread_header (secfilt[0].f, &header)) {217 if (!gfits_fread_header (secfilt[0].f, &header)) { 218 218 if (VERBOSE) fprintf (stderr, "can't read table secfilt header"); 219 219 return (FALSE); 220 220 } 221 221 /* read secfilt table data */ 222 if (! fits_fread_ftable_data (secfilt[0].f, &ftable)) {222 if (!gfits_fread_ftable_data (secfilt[0].f, &ftable)) { 223 223 if (VERBOSE) fprintf (stderr, "can't read table secfilt data"); 224 224 return (FALSE); … … 229 229 fprintf (stderr, "Warning: mismatch between Nsecfilt items in PHU and Table headers (%d vs %d)\n", Nexpect, Nitems); 230 230 } 231 fits_free_header (&header);232 fits_free_matrix (&matrix);231 gfits_free_header (&header); 232 gfits_free_matrix (&matrix); 233 233 } 234 234 catalog[0].secfilt_catalog = secfilt; … … 260 260 261 261 /* make sure header is consistent with data */ 262 fits_modify (&catalog[0].header, "NSTARS", "%d", 1, catalog[0].Naverage);263 fits_modify (&catalog[0].header, "NMEAS", "%d", 1, catalog[0].Nmeasure);264 fits_modify (&catalog[0].header, "NMISS", "%d", 1, catalog[0].Nmissing);265 fits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);266 fits_modify (&catalog[0].header, "EXTEND", "%t", 1, TRUE);262 gfits_modify (&catalog[0].header, "NSTARS", "%d", 1, catalog[0].Naverage); 263 gfits_modify (&catalog[0].header, "NMEAS", "%d", 1, catalog[0].Nmeasure); 264 gfits_modify (&catalog[0].header, "NMISS", "%d", 1, catalog[0].Nmissing); 265 gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt); 266 gfits_modify (&catalog[0].header, "EXTEND", "%t", 1, TRUE); 267 267 268 268 /* rewind file pointers and truncate (file is still open) */ … … 271 271 /* write table PHU header - always write this out */ 272 272 /* XXX EAM : check if disk file size has changed */ 273 if (! fits_fwrite_header (catalog[0].f, &catalog[0].header)) {273 if (!gfits_fwrite_header (catalog[0].f, &catalog[0].header)) { 274 274 fprintf (stderr, "can't write primary header"); 275 275 return (FALSE); … … 284 284 285 285 /* this is probably a NOP, do I have to keep it in? */ 286 fits_create_matrix (&catalog[0].header, &matrix);287 if (! fits_fwrite_matrix (catalog[0].f, &matrix)) {286 gfits_create_matrix (&catalog[0].header, &matrix); 287 if (!gfits_fwrite_matrix (catalog[0].f, &matrix)) { 288 288 fprintf (stderr, "can't write primary matrix"); 289 289 return (FALSE); 290 290 } 291 fits_free_matrix (&matrix);291 gfits_free_matrix (&matrix); 292 292 293 293 /* write out Average table (convert to FITS table format) */ 294 294 AverageToFtable (&ftable, catalog[0].average, catalog[0].Naverage, catalog[0].catformat); 295 if (! fits_fwrite_Theader (catalog[0].f, &header)) {296 fprintf (stderr, "can't write table header"); 297 return (FALSE); 298 } 299 if (! fits_fwrite_table (catalog[0].f, &ftable)) {300 fprintf (stderr, "can't write table data"); 301 return (FALSE); 302 } 303 fits_free_table (&ftable);304 fits_free_header (&header);295 if (!gfits_fwrite_Theader (catalog[0].f, &header)) { 296 fprintf (stderr, "can't write table header"); 297 return (FALSE); 298 } 299 if (!gfits_fwrite_table (catalog[0].f, &ftable)) { 300 fprintf (stderr, "can't write table data"); 301 return (FALSE); 302 } 303 gfits_free_table (&ftable); 304 gfits_free_header (&header); 305 305 } 306 306 … … 322 322 323 323 /* write table PHU header */ 324 if (! fits_fwrite_header (measure[0].f, &measure[0].header)) {324 if (!gfits_fwrite_header (measure[0].f, &measure[0].header)) { 325 325 fprintf (stderr, "can't write primary header"); 326 326 return (FALSE); … … 328 328 329 329 /* this is probably a NOP, do I have to keep it in? */ 330 fits_create_matrix (&measure[0].header, &matrix);331 if (! fits_fwrite_matrix (measure[0].f, &matrix)) {330 gfits_create_matrix (&measure[0].header, &matrix); 331 if (!gfits_fwrite_matrix (measure[0].f, &matrix)) { 332 332 fprintf (stderr, "can't write primary matrix"); 333 333 return (FALSE); 334 334 } 335 fits_free_matrix (&matrix);335 gfits_free_matrix (&matrix); 336 336 337 337 /* write out Measure table (convert to FITS table format) */ 338 338 MeasureToFtable (&ftable, catalog[0].measure, catalog[0].Nmeasure, catalog[0].catformat); 339 if (! fits_fwrite_Theader (measure[0].f, &header)) {340 fprintf (stderr, "can't write table header"); 341 return (FALSE); 342 } 343 if (! fits_fwrite_table (measure[0].f, &ftable)) {344 fprintf (stderr, "can't write table data"); 345 return (FALSE); 346 } 347 fits_free_table (&ftable);348 fits_free_header (&header);339 if (!gfits_fwrite_Theader (measure[0].f, &header)) { 340 fprintf (stderr, "can't write table header"); 341 return (FALSE); 342 } 343 if (!gfits_fwrite_table (measure[0].f, &ftable)) { 344 fprintf (stderr, "can't write table data"); 345 return (FALSE); 346 } 347 gfits_free_table (&ftable); 348 gfits_free_header (&header); 349 349 } 350 350 … … 360 360 361 361 /* write table PHU header */ 362 if (! fits_fwrite_header (missing[0].f, &missing[0].header)) {362 if (!gfits_fwrite_header (missing[0].f, &missing[0].header)) { 363 363 fprintf (stderr, "can't write primary header"); 364 364 return (FALSE); … … 366 366 367 367 /* this is probably a NOP, do I have to keep it in? */ 368 fits_create_matrix (&missing[0].header, &matrix);369 if (! fits_fwrite_matrix (missing[0].f, &matrix)) {368 gfits_create_matrix (&missing[0].header, &matrix); 369 if (!gfits_fwrite_matrix (missing[0].f, &matrix)) { 370 370 fprintf (stderr, "can't write primary matrix"); 371 371 return (FALSE); 372 372 } 373 fits_free_matrix (&matrix);373 gfits_free_matrix (&matrix); 374 374 375 375 /* write out Missing table (convert to FITS table format) */ 376 fits_table_set_Missing (&ftable, catalog[0].missing, catalog[0].Nmissing);377 if (! fits_fwrite_Theader (missing[0].f, &header)) {378 fprintf (stderr, "can't write table header"); 379 return (FALSE); 380 } 381 if (! fits_fwrite_table (missing[0].f, &ftable)) {382 fprintf (stderr, "can't write table data"); 383 return (FALSE); 384 } 385 fits_free_table (&ftable);386 fits_free_header (&header);376 gfits_table_set_Missing (&ftable, catalog[0].missing, catalog[0].Nmissing); 377 if (!gfits_fwrite_Theader (missing[0].f, &header)) { 378 fprintf (stderr, "can't write table header"); 379 return (FALSE); 380 } 381 if (!gfits_fwrite_table (missing[0].f, &ftable)) { 382 fprintf (stderr, "can't write table data"); 383 return (FALSE); 384 } 385 gfits_free_table (&ftable); 386 gfits_free_header (&header); 387 387 } 388 388 … … 398 398 399 399 /* write table PHU header */ 400 if (! fits_fwrite_header (secfilt[0].f, &secfilt[0].header)) {400 if (!gfits_fwrite_header (secfilt[0].f, &secfilt[0].header)) { 401 401 fprintf (stderr, "can't write primary header"); 402 402 return (FALSE); … … 404 404 405 405 /* this is probably a NOP, do I have to keep it in? */ 406 fits_create_matrix (&secfilt[0].header, &matrix);407 if (! fits_fwrite_matrix (secfilt[0].f, &matrix)) {406 gfits_create_matrix (&secfilt[0].header, &matrix); 407 if (!gfits_fwrite_matrix (secfilt[0].f, &matrix)) { 408 408 fprintf (stderr, "can't write primary matrix"); 409 409 return (FALSE); 410 410 } 411 fits_free_matrix (&matrix);411 gfits_free_matrix (&matrix); 412 412 413 413 /* write out SecFilt table (convert to FITS table format) */ 414 414 Nitems = catalog[0].Naverage * catalog[0].Nsecfilt; 415 415 SecFiltToFtable (&ftable, catalog[0].secfilt, Nitems, catalog[0].catformat); 416 if (! fits_fwrite_Theader (secfilt[0].f, &header)) {417 fprintf (stderr, "can't write table header"); 418 return (FALSE); 419 } 420 if (! fits_fwrite_table (secfilt[0].f, &ftable)) {421 fprintf (stderr, "can't write table data"); 422 return (FALSE); 423 } 424 fits_free_table (&ftable);425 fits_free_header (&header);416 if (!gfits_fwrite_Theader (secfilt[0].f, &header)) { 417 fprintf (stderr, "can't write table header"); 418 return (FALSE); 419 } 420 if (!gfits_fwrite_table (secfilt[0].f, &ftable)) { 421 fprintf (stderr, "can't write table data"); 422 return (FALSE); 423 } 424 gfits_free_table (&ftable); 425 gfits_free_header (&header); 426 426 } 427 427 … … 453 453 454 454 /* make sure header is consistent with data */ 455 fits_modify (&catalog[0].header, "NSTARS", "%d", 1, catalog[0].Naverage);456 fits_modify (&catalog[0].header, "NMEAS", "%d", 1, catalog[0].Nmeasure + catalog[0].Nmeas_off);457 fits_modify (&catalog[0].header, "NMISS", "%d", 1, catalog[0].Nmissing);458 fits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);459 fits_modify (&catalog[0].header, "EXTEND", "%t", 1, TRUE);455 gfits_modify (&catalog[0].header, "NSTARS", "%d", 1, catalog[0].Naverage); 456 gfits_modify (&catalog[0].header, "NMEAS", "%d", 1, catalog[0].Nmeasure + catalog[0].Nmeas_off); 457 gfits_modify (&catalog[0].header, "NMISS", "%d", 1, catalog[0].Nmissing); 458 gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt); 459 gfits_modify (&catalog[0].header, "EXTEND", "%t", 1, TRUE); 460 460 461 461 /* rewind file pointers and truncate (file is still open) */ … … 464 464 /* write table PHU header - always write this out */ 465 465 /* XXX EAM : check if disk file size has changed */ 466 if (! fits_fwrite_header (catalog[0].f, &catalog[0].header)) {466 if (!gfits_fwrite_header (catalog[0].f, &catalog[0].header)) { 467 467 fprintf (stderr, "can't write primary header"); 468 468 return (FALSE); … … 474 474 475 475 /* skip past matrix (already at end of header) */ 476 Nskip = fits_matrix_size (&catalog[0].header);476 Nskip = gfits_matrix_size (&catalog[0].header); 477 477 fseek (catalog[0].f, Nskip, SEEK_CUR); 478 478 … … 483 483 AverageToFtable (&ftable, catalog[0].average, catalog[0].Naverage, catalog[0].catformat); 484 484 /* convert only output rows to vtable */ 485 fits_table_to_vtable (&ftable, &vtable, catalog[0].Nave_disk, Nout);486 487 if (! fits_fwrite_Theader (catalog[0].f, &header)) {488 fprintf (stderr, "can't write table header"); 489 return (FALSE); 490 } 491 if (! fits_fwrite_vtable (catalog[0].f, &vtable)) {492 fprintf (stderr, "can't write table data"); 493 return (FALSE); 494 } 495 fits_free_vtable (&vtable);496 fits_free_table (&ftable);497 fits_free_header (&header);485 gfits_table_to_vtable (&ftable, &vtable, catalog[0].Nave_disk, Nout); 486 487 if (!gfits_fwrite_Theader (catalog[0].f, &header)) { 488 fprintf (stderr, "can't write table header"); 489 return (FALSE); 490 } 491 if (!gfits_fwrite_vtable (catalog[0].f, &vtable)) { 492 fprintf (stderr, "can't write table data"); 493 return (FALSE); 494 } 495 gfits_free_vtable (&vtable); 496 gfits_free_table (&ftable); 497 gfits_free_header (&header); 498 498 } 499 499 … … 505 505 506 506 /* skip past PHU header and matrix */ 507 Nskip = measure[0].header.size + fits_matrix_size (&measure[0].header);507 Nskip = measure[0].header.size + gfits_matrix_size (&measure[0].header); 508 508 fseek (measure[0].f, Nskip, SEEK_SET); 509 509 … … 516 516 MeasureToFtable (&ftable, &catalog[0].measure[Nstart], Nout, catalog[0].catformat); 517 517 518 fits_scan (&header, "NAXIS1", "%d", 1, &Nx);519 fits_scan (&header, "NAXIS2", "%d", 1, &Ny);518 gfits_scan (&header, "NAXIS1", "%d", 1, &Nx); 519 gfits_scan (&header, "NAXIS2", "%d", 1, &Ny); 520 520 521 521 /* convert all output rows to vtable */ … … 529 529 530 530 /* modify vtable to represent full disk table */ 531 fits_modify (&header, "NAXIS2", "%d", 1, Nlines);531 gfits_modify (&header, "NAXIS2", "%d", 1, Nlines); 532 532 header.Naxis[1] = Nlines; 533 533 534 vtable.size = fits_matrix_size (&header);534 vtable.size = gfits_matrix_size (&header); 535 535 vtable.Nrow = Nout; 536 536 vtable.pad = vtable.size - Nx*Ny; 537 537 538 if (! fits_fwrite_Theader (measure[0].f, &header)) {539 fprintf (stderr, "can't write table header"); 540 return (FALSE); 541 } 542 if (! fits_fwrite_vtable (measure[0].f, &vtable)) {543 fprintf (stderr, "can't write table data"); 544 return (FALSE); 545 } 546 fits_free_vtable (&vtable);547 fits_free_table (&ftable);548 fits_free_header (&header);538 if (!gfits_fwrite_Theader (measure[0].f, &header)) { 539 fprintf (stderr, "can't write table header"); 540 return (FALSE); 541 } 542 if (!gfits_fwrite_vtable (measure[0].f, &vtable)) { 543 fprintf (stderr, "can't write table data"); 544 return (FALSE); 545 } 546 gfits_free_vtable (&vtable); 547 gfits_free_table (&ftable); 548 gfits_free_header (&header); 549 549 } 550 550 … … 562 562 563 563 /* write table PHU header */ 564 if (! fits_fwrite_header (missing[0].f, &missing[0].header)) {564 if (!gfits_fwrite_header (missing[0].f, &missing[0].header)) { 565 565 fprintf (stderr, "can't write primary header"); 566 566 return (FALSE); … … 568 568 569 569 /* this is probably a NOP, do I have to keep it in? */ 570 fits_create_matrix (&missing[0].header, &matrix);571 if (! fits_fwrite_matrix (missing[0].f, &matrix)) {570 gfits_create_matrix (&missing[0].header, &matrix); 571 if (!gfits_fwrite_matrix (missing[0].f, &matrix)) { 572 572 fprintf (stderr, "can't write primary matrix"); 573 573 return (FALSE); 574 574 } 575 fits_free_matrix (&matrix);575 gfits_free_matrix (&matrix); 576 576 577 577 /* write out Missing table (convert to FITS table format) */ 578 fits_table_set_Missing (&ftable, catalog[0].missing, catalog[0].Nmissing);579 if (! fits_fwrite_Theader (missing[0].f, &header)) {580 fprintf (stderr, "can't write table header"); 581 return (FALSE); 582 } 583 if (! fits_fwrite_table (missing[0].f, &ftable)) {584 fprintf (stderr, "can't write table data"); 585 return (FALSE); 586 } 587 fits_free_table (&ftable);588 fits_free_header (&header);578 gfits_table_set_Missing (&ftable, catalog[0].missing, catalog[0].Nmissing); 579 if (!gfits_fwrite_Theader (missing[0].f, &header)) { 580 fprintf (stderr, "can't write table header"); 581 return (FALSE); 582 } 583 if (!gfits_fwrite_table (missing[0].f, &ftable)) { 584 fprintf (stderr, "can't write table data"); 585 return (FALSE); 586 } 587 gfits_free_table (&ftable); 588 gfits_free_header (&header); 589 589 } 590 590 … … 596 596 597 597 /* skip past PHU header and matrix */ 598 Nskip = secfilt[0].header.size + fits_matrix_size (&secfilt[0].header);598 Nskip = secfilt[0].header.size + gfits_matrix_size (&secfilt[0].header); 599 599 fseek (secfilt[0].f, Nskip, SEEK_SET); 600 600 … … 607 607 SecFiltToFtable (&ftable, catalog[0].secfilt, Nitems, catalog[0].catformat); 608 608 /* convert only output rows to vtable */ 609 fits_table_to_vtable (&ftable, &vtable, Ndisk, Nout);610 611 if (! fits_fwrite_Theader (secfilt[0].f, &header)) {612 fprintf (stderr, "can't write table header"); 613 return (FALSE); 614 } 615 if (! fits_fwrite_vtable (secfilt[0].f, &vtable)) {616 fprintf (stderr, "can't write table data"); 617 return (FALSE); 618 } 619 fits_free_vtable (&vtable);620 fits_free_table (&ftable);621 fits_free_header (&header);609 gfits_table_to_vtable (&ftable, &vtable, Ndisk, Nout); 610 611 if (!gfits_fwrite_Theader (secfilt[0].f, &header)) { 612 fprintf (stderr, "can't write table header"); 613 return (FALSE); 614 } 615 if (!gfits_fwrite_vtable (secfilt[0].f, &vtable)) { 616 fprintf (stderr, "can't write table data"); 617 return (FALSE); 618 } 619 gfits_free_vtable (&vtable); 620 gfits_free_table (&ftable); 621 gfits_free_header (&header); 622 622 } 623 623 -
trunk/Ohana/src/libdvo/src/dvo_convert.c
r6683 r7080 19 19 20 20 /* convert to the internal format */ 21 if (! fits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {21 if (!gfits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) { 22 22 fprintf (stderr, "EXTNAME missing for average table\n"); 23 23 return (FALSE); 24 24 } 25 25 if (!strcmp (extname, "DVO_AVERAGE")) { 26 average = fits_table_get_Average (ftable, Naverage, NULL);26 average = gfits_table_get_Average (ftable, Naverage, NULL); 27 27 *format = DVO_FORMAT_INTERNAL; 28 28 return (average); … … 30 30 if (!strcmp (extname, "DVO_AVERAGE_ELIXIR")) { 31 31 AverageElixir *tmpAverage; 32 tmpAverage = fits_table_get_AverageElixir (ftable, Naverage, NULL);32 tmpAverage = gfits_table_get_AverageElixir (ftable, Naverage, NULL); 33 33 average = AverageElixirToInternal (tmpAverage, *Naverage); 34 34 free (tmpAverage); … … 38 38 if (!strcmp (extname, "DVO_AVERAGE_LONEOS")) { 39 39 AverageLoneos *tmpAverage; 40 tmpAverage = fits_table_get_AverageLoneos (ftable, Naverage, NULL);40 tmpAverage = gfits_table_get_AverageLoneos (ftable, Naverage, NULL); 41 41 average = AverageLoneosToInternal (tmpAverage, *Naverage); 42 42 free (tmpAverage); … … 46 46 if (!strcmp (extname, "DVO_AVERAGE_PANSTARRS")) { 47 47 AveragePanstarrs *tmpAverage; 48 tmpAverage = fits_table_get_AveragePanstarrs (ftable, Naverage, NULL);48 tmpAverage = gfits_table_get_AveragePanstarrs (ftable, Naverage, NULL); 49 49 average = AveragePanstarrsToInternal (tmpAverage, *Naverage); 50 50 free (tmpAverage); … … 54 54 if (!strcmp (extname, "DVO_AVERAGE_PMTEST")) { 55 55 AveragePMtest *tmpAverage; 56 tmpAverage = fits_table_get_AveragePMtest (ftable, Naverage, NULL);56 tmpAverage = gfits_table_get_AveragePMtest (ftable, Naverage, NULL); 57 57 average = AveragePMtestToInternal (tmpAverage, *Naverage); 58 58 free (tmpAverage); … … 77 77 switch (format) { 78 78 case DVO_FORMAT_INTERNAL: 79 fits_table_set_Average (ftable, average, Naverage);79 gfits_table_set_Average (ftable, average, Naverage); 80 80 break; 81 81 case DVO_FORMAT_ELIXIR: 82 82 tmpAverageElixir = AverageInternalToElixir (average, Naverage); 83 fits_table_set_AverageElixir (ftable, tmpAverageElixir, Naverage);83 gfits_table_set_AverageElixir (ftable, tmpAverageElixir, Naverage); 84 84 free (tmpAverageElixir); 85 85 break; 86 86 case DVO_FORMAT_LONEOS: 87 87 tmpAverageLoneos = AverageInternalToLoneos (average, Naverage); 88 fits_table_set_AverageLoneos (ftable, tmpAverageLoneos , Naverage);88 gfits_table_set_AverageLoneos (ftable, tmpAverageLoneos , Naverage); 89 89 free (tmpAverageLoneos ); 90 90 break; 91 91 case DVO_FORMAT_PANSTARRS: 92 92 tmpAveragePanstarrs = AverageInternalToPanstarrs (average, Naverage); 93 fits_table_set_AveragePanstarrs (ftable, tmpAveragePanstarrs, Naverage);93 gfits_table_set_AveragePanstarrs (ftable, tmpAveragePanstarrs, Naverage); 94 94 free (tmpAveragePanstarrs); 95 95 break; 96 96 case DVO_FORMAT_PMTEST: 97 97 tmpAveragePMtest = AverageInternalToPMtest (average, Naverage); 98 fits_table_set_AveragePMtest (ftable, tmpAveragePMtest, Naverage);98 gfits_table_set_AveragePMtest (ftable, tmpAveragePMtest, Naverage); 99 99 free (tmpAveragePMtest); 100 100 break; … … 114 114 115 115 /* convert to the internal format */ 116 if (! fits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {116 if (!gfits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) { 117 117 fprintf (stderr, "EXTNAME missing for measure table\n"); 118 118 return (FALSE); 119 119 } 120 120 if (!strcmp (extname, "DVO_MEASURE")) { 121 measure = fits_table_get_Measure (ftable, Nmeasure, NULL);121 measure = gfits_table_get_Measure (ftable, Nmeasure, NULL); 122 122 *format = DVO_FORMAT_INTERNAL; 123 123 return (measure); … … 125 125 if (!strcmp (extname, "DVO_MEASURE_ELIXIR")) { 126 126 MeasureElixir *tmpMeasure; 127 tmpMeasure = fits_table_get_MeasureElixir (ftable, Nmeasure, NULL);127 tmpMeasure = gfits_table_get_MeasureElixir (ftable, Nmeasure, NULL); 128 128 measure = MeasureElixirToInternal (tmpMeasure, *Nmeasure); 129 129 free (tmpMeasure); … … 133 133 if (!strcmp (extname, "DVO_MEASURE_LONEOS")) { 134 134 MeasureLoneos *tmpMeasure; 135 tmpMeasure = fits_table_get_MeasureLoneos (ftable, Nmeasure, NULL);135 tmpMeasure = gfits_table_get_MeasureLoneos (ftable, Nmeasure, NULL); 136 136 measure = MeasureLoneosToInternal (tmpMeasure, *Nmeasure); 137 137 free (tmpMeasure); … … 141 141 if (!strcmp (extname, "DVO_MEASURE_PANSTARRS") || !strcmp (extname, "DVO_MEASURE_PMTEST")) { 142 142 MeasurePanstarrs *tmpMeasure; 143 tmpMeasure = fits_table_get_MeasurePanstarrs (ftable, Nmeasure, NULL);143 tmpMeasure = gfits_table_get_MeasurePanstarrs (ftable, Nmeasure, NULL); 144 144 measure = MeasurePanstarrsToInternal (tmpMeasure, *Nmeasure); 145 145 free (tmpMeasure); … … 163 163 switch (format) { 164 164 case DVO_FORMAT_INTERNAL: 165 fits_table_set_Measure (ftable, measure, Nmeasure);165 gfits_table_set_Measure (ftable, measure, Nmeasure); 166 166 break; 167 167 case DVO_FORMAT_ELIXIR: 168 168 tmpMeasureElixir = MeasureInternalToElixir (measure, Nmeasure); 169 fits_table_set_MeasureElixir (ftable, tmpMeasureElixir, Nmeasure);169 gfits_table_set_MeasureElixir (ftable, tmpMeasureElixir, Nmeasure); 170 170 free (tmpMeasureElixir); 171 171 break; 172 172 case DVO_FORMAT_LONEOS: 173 173 tmpMeasureLoneos = MeasureInternalToLoneos (measure, Nmeasure); 174 fits_table_set_MeasureLoneos (ftable, tmpMeasureLoneos, Nmeasure);174 gfits_table_set_MeasureLoneos (ftable, tmpMeasureLoneos, Nmeasure); 175 175 free (tmpMeasureLoneos); 176 176 break; … … 178 178 case DVO_FORMAT_PMTEST: 179 179 tmpMeasurePanstarrs = MeasureInternalToPanstarrs (measure, Nmeasure); 180 fits_table_set_MeasurePanstarrs (ftable, tmpMeasurePanstarrs, Nmeasure);180 gfits_table_set_MeasurePanstarrs (ftable, tmpMeasurePanstarrs, Nmeasure); 181 181 free (tmpMeasurePanstarrs); 182 182 break; … … 196 196 197 197 /* convert to the internal format */ 198 if (! fits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {198 if (!gfits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) { 199 199 fprintf (stderr, "EXTNAME missing for secfilt table\n"); 200 200 return (FALSE); 201 201 } 202 202 if (!strcmp (extname, "DVO_SECFILT")) { 203 secfilt = fits_table_get_SecFilt (ftable, Nsecfilt, NULL);203 secfilt = gfits_table_get_SecFilt (ftable, Nsecfilt, NULL); 204 204 *format = DVO_FORMAT_INTERNAL; 205 205 return (secfilt); … … 207 207 if (!strcmp (extname, "DVO_SECFILT_ELIXIR")) { 208 208 SecFiltElixir *tmpSecFilt; 209 tmpSecFilt = fits_table_get_SecFiltElixir (ftable, Nsecfilt, NULL);209 tmpSecFilt = gfits_table_get_SecFiltElixir (ftable, Nsecfilt, NULL); 210 210 secfilt = SecFiltElixirToInternal (tmpSecFilt, *Nsecfilt); 211 211 free (tmpSecFilt); … … 215 215 if (!strcmp (extname, "DVO_SECFILT_LONEOS")) { 216 216 SecFiltLoneos *tmpSecFilt; 217 tmpSecFilt = fits_table_get_SecFiltLoneos (ftable, Nsecfilt, NULL);217 tmpSecFilt = gfits_table_get_SecFiltLoneos (ftable, Nsecfilt, NULL); 218 218 secfilt = SecFiltLoneosToInternal (tmpSecFilt, *Nsecfilt); 219 219 free (tmpSecFilt); … … 223 223 if (!strcmp (extname, "DVO_SECFILT_PANSTARRS") || !strcmp (extname, "DVO_SECFILT_PMTEST")) { 224 224 SecFiltPanstarrs *tmpSecFilt; 225 tmpSecFilt = fits_table_get_SecFiltPanstarrs (ftable, Nsecfilt, NULL);225 tmpSecFilt = gfits_table_get_SecFiltPanstarrs (ftable, Nsecfilt, NULL); 226 226 secfilt = SecFiltPanstarrsToInternal (tmpSecFilt, *Nsecfilt); 227 227 free (tmpSecFilt); … … 245 245 switch (format) { 246 246 case DVO_FORMAT_INTERNAL: 247 fits_table_set_SecFilt (ftable, secfilt, Nsecfilt);247 gfits_table_set_SecFilt (ftable, secfilt, Nsecfilt); 248 248 break; 249 249 case DVO_FORMAT_ELIXIR: 250 250 tmpSecFiltElixir = SecFiltInternalToElixir (secfilt, Nsecfilt); 251 fits_table_set_SecFiltElixir (ftable, tmpSecFiltElixir, Nsecfilt);251 gfits_table_set_SecFiltElixir (ftable, tmpSecFiltElixir, Nsecfilt); 252 252 free (tmpSecFiltElixir); 253 253 break; 254 254 case DVO_FORMAT_LONEOS: 255 255 tmpSecFiltLoneos = SecFiltInternalToLoneos (secfilt, Nsecfilt); 256 fits_table_set_SecFiltLoneos (ftable, tmpSecFiltLoneos, Nsecfilt);256 gfits_table_set_SecFiltLoneos (ftable, tmpSecFiltLoneos, Nsecfilt); 257 257 free (tmpSecFiltLoneos); 258 258 break; … … 260 260 case DVO_FORMAT_PMTEST: 261 261 tmpSecFiltPanstarrs = SecFiltInternalToPanstarrs (secfilt, Nsecfilt); 262 fits_table_set_SecFiltPanstarrs (ftable, tmpSecFiltPanstarrs, Nsecfilt);262 gfits_table_set_SecFiltPanstarrs (ftable, tmpSecFiltPanstarrs, Nsecfilt); 263 263 free (tmpSecFiltPanstarrs); 264 264 break; … … 280 280 if (*format == DVO_FORMAT_ELIXIR) { 281 281 ImageElixir *tmpimage; 282 tmpimage = fits_table_get_ImageElixir (ftable, &Nimage, NULL);282 tmpimage = gfits_table_get_ImageElixir (ftable, &Nimage, NULL); 283 283 ftable[0].buffer = (char *) ImageElixirToInternal (tmpimage, Nimage); 284 284 free (tmpimage); … … 287 287 288 288 /* convert to the internal format */ 289 if (! fits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {289 if (!gfits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) { 290 290 fprintf (stderr, "EXTNAME missing for image table\n"); 291 291 return (FALSE); … … 293 293 if (!strcmp (extname, "DVO_IMAGE")) { 294 294 Image *image; 295 image = fits_table_get_Image (ftable, &Nimage, NULL);295 image = gfits_table_get_Image (ftable, &Nimage, NULL); 296 296 *format = DVO_FORMAT_INTERNAL; 297 297 return (TRUE); … … 300 300 ImageElixir *tmpimage; 301 301 *format = DVO_FORMAT_ELIXIR; 302 tmpimage = fits_table_get_ImageElixir (ftable, &Nimage, NULL);302 tmpimage = gfits_table_get_ImageElixir (ftable, &Nimage, NULL); 303 303 ftable[0].buffer = (char *) ImageElixirToInternal (tmpimage, Nimage); 304 304 free (tmpimage); … … 308 308 ImageLoneos *tmpimage; 309 309 *format = DVO_FORMAT_LONEOS; 310 tmpimage = fits_table_get_ImageLoneos (ftable, &Nimage, NULL);310 tmpimage = gfits_table_get_ImageLoneos (ftable, &Nimage, NULL); 311 311 ftable[0].buffer = (char *) ImageLoneosToInternal (tmpimage, Nimage); 312 312 free (tmpimage); … … 316 316 ImagePanstarrs *tmpimage; 317 317 *format = DVO_FORMAT_PANSTARRS; 318 tmpimage = fits_table_get_ImagePanstarrs (ftable, &Nimage, NULL);318 tmpimage = gfits_table_get_ImagePanstarrs (ftable, &Nimage, NULL); 319 319 ftable[0].buffer = (char *) ImagePanstarrsToInternal (tmpimage, Nimage); 320 320 free (tmpimage); … … 325 325 326 326 set_header: 327 fits_free_header (theader);328 fits_table_mkheader_Image (theader);329 fits_modify (theader, "NAXIS2", "%d", 1, Nimage);327 gfits_free_header (theader); 328 gfits_table_mkheader_Image (theader); 329 gfits_modify (theader, "NAXIS2", "%d", 1, Nimage); 330 330 theader[0].Naxis[1] = Nimage; 331 ftable[0].size = fits_matrix_size (theader);331 ftable[0].size = gfits_matrix_size (theader); 332 332 return (TRUE); 333 333 } … … 345 345 switch (format) { 346 346 case DVO_FORMAT_INTERNAL: 347 fits_convert_Image ((Image *) ftable[0].buffer, sizeof(Image), Nimage);347 gfits_convert_Image ((Image *) ftable[0].buffer, sizeof(Image), Nimage); 348 348 break; 349 349 case DVO_FORMAT_ELIXIR: 350 350 tmpImageElixir = ImageInternalToElixir ((Image *) ftable[0].buffer, Nimage); 351 351 free (ftable[0].buffer); 352 fits_table_set_ImageElixir (ftable, tmpImageElixir, Nimage);352 gfits_table_set_ImageElixir (ftable, tmpImageElixir, Nimage); 353 353 free (tmpImageElixir); 354 354 break; … … 356 356 tmpImageLoneos = ImageInternalToLoneos ((Image *) ftable[0].buffer, Nimage); 357 357 free (ftable[0].buffer); 358 fits_table_set_ImageLoneos (ftable, tmpImageLoneos, Nimage);358 gfits_table_set_ImageLoneos (ftable, tmpImageLoneos, Nimage); 359 359 free (tmpImageLoneos); 360 360 break; … … 363 363 tmpImagePanstarrs = ImageInternalToPanstarrs ((Image *) ftable[0].buffer, Nimage); 364 364 free (ftable[0].buffer); 365 fits_table_set_ImagePanstarrs (ftable, tmpImagePanstarrs, Nimage);365 gfits_table_set_ImagePanstarrs (ftable, tmpImagePanstarrs, Nimage); 366 366 free (tmpImagePanstarrs); 367 367 break; … … 386 386 case DVO_FORMAT_INTERNAL: 387 387 for (i = 0; i < Nrow; i++) { 388 fits_convert_Image ((Image *) vtable[0].buffer[i], sizeof(Image), 1);388 gfits_convert_Image ((Image *) vtable[0].buffer[i], sizeof(Image), 1); 389 389 } 390 390 return (TRUE); … … 393 393 for (i = 0; i < Nrow; i++) { 394 394 tmpImageElixir = ImageInternalToElixir ((Image *) vtable[0].buffer[i], 1); 395 fits_convert_ImageElixir (tmpImageElixir, sizeof(ImageElixir), 1);395 gfits_convert_ImageElixir (tmpImageElixir, sizeof(ImageElixir), 1); 396 396 free (vtable[0].buffer[i]); 397 397 vtable[0].buffer[i] = (char *) tmpImageElixir; … … 399 399 400 400 /* convert header from old format to new format */ 401 fits_scan (theader, "NAXIS2", "%d", 1, &Nimage);402 403 fits_free_header (theader);404 fits_table_mkheader_ImageElixir (theader);405 406 fits_modify (theader, "NAXIS2", "%d", 1, Nimage);401 gfits_scan (theader, "NAXIS2", "%d", 1, &Nimage); 402 403 gfits_free_header (theader); 404 gfits_table_mkheader_ImageElixir (theader); 405 406 gfits_modify (theader, "NAXIS2", "%d", 1, Nimage); 407 407 theader[0].Naxis[1] = Nimage; 408 vtable[0].size = fits_matrix_size (theader);408 vtable[0].size = gfits_matrix_size (theader); 409 409 return (TRUE); 410 410 case DVO_FORMAT_LONEOS: … … 412 412 for (i = 0; i < Nrow; i++) { 413 413 tmpImageLoneos = ImageInternalToLoneos ((Image *) vtable[0].buffer[i], 1); 414 fits_convert_ImageLoneos (tmpImageLoneos, sizeof(ImageLoneos), 1);414 gfits_convert_ImageLoneos (tmpImageLoneos, sizeof(ImageLoneos), 1); 415 415 free (vtable[0].buffer[i]); 416 416 vtable[0].buffer[i] = (char *) tmpImageLoneos; … … 418 418 419 419 /* convert header from old format to new format */ 420 fits_scan (theader, "NAXIS2", "%d", 1, &Nimage);421 422 fits_free_header (theader);423 fits_table_mkheader_ImageLoneos (theader);424 425 fits_modify (theader, "NAXIS2", "%d", 1, Nimage);420 gfits_scan (theader, "NAXIS2", "%d", 1, &Nimage); 421 422 gfits_free_header (theader); 423 gfits_table_mkheader_ImageLoneos (theader); 424 425 gfits_modify (theader, "NAXIS2", "%d", 1, Nimage); 426 426 theader[0].Naxis[1] = Nimage; 427 vtable[0].size = fits_matrix_size (theader);427 vtable[0].size = gfits_matrix_size (theader); 428 428 return (TRUE); 429 429 case DVO_FORMAT_PANSTARRS: … … 431 431 for (i = 0; i < Nrow; i++) { 432 432 tmpImagePanstarrs = ImageInternalToPanstarrs ((Image *) vtable[0].buffer[i], 1); 433 fits_convert_ImagePanstarrs (tmpImagePanstarrs, sizeof(ImagePanstarrs), 1);433 gfits_convert_ImagePanstarrs (tmpImagePanstarrs, sizeof(ImagePanstarrs), 1); 434 434 free (vtable[0].buffer[i]); 435 435 vtable[0].buffer[i] = (char *) tmpImagePanstarrs; … … 437 437 438 438 /* convert header from old format to new format */ 439 fits_scan (theader, "NAXIS2", "%d", 1, &Nimage);440 fits_free_header (theader);441 fits_table_mkheader_ImagePanstarrs (theader);442 fits_modify (theader, "NAXIS2", "%d", 1, Nimage);439 gfits_scan (theader, "NAXIS2", "%d", 1, &Nimage); 440 gfits_free_header (theader); 441 gfits_table_mkheader_ImagePanstarrs (theader); 442 gfits_modify (theader, "NAXIS2", "%d", 1, Nimage); 443 443 theader[0].Naxis[1] = Nimage; 444 vtable[0].size = fits_matrix_size (theader);444 vtable[0].size = gfits_matrix_size (theader); 445 445 return (TRUE); 446 446 default: -
trunk/Ohana/src/libdvo/src/dvo_image.c
r6674 r7080 9 9 db[0].lockstate = lockstate; 10 10 db[0].timeout = timeout; 11 fits_db_init (db);11 gfits_db_init (db); 12 12 13 if (! fits_db_lock (db, filename)) {13 if (!gfits_db_lock (db, filename)) { 14 14 fprintf (stderr, "ERROR: can't lock image catalog\n"); 15 15 return (FALSE); … … 22 22 mode_t mode; 23 23 24 fits_db_close (db);24 gfits_db_close (db); 25 25 26 26 /* force permissions to 666 */ … … 63 63 case DVO_MODE_MEF: 64 64 if (VERBOSE) fprintf (stderr, "reading images (mode DVO_MODE_MEF)\n"); 65 status = fits_db_load (db);65 status = gfits_db_load (db); 66 66 break; 67 67 case DVO_MODE_RAW: … … 91 91 case DVO_MODE_MEF: 92 92 case DVO_MODE_SPLIT: 93 status = fits_db_save (db);93 status = gfits_db_save (db); 94 94 break; 95 95 case DVO_MODE_RAW: … … 109 109 /* adjust header */ 110 110 Nimages = 0; 111 fits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimages);111 gfits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimages); 112 112 Nimages += Nnew; 113 fits_modify (&db[0].header, "NIMAGES", "%d", 1, Nimages);113 gfits_modify (&db[0].header, "NIMAGES", "%d", 1, Nimages); 114 114 115 fits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0);116 fits_vadd_rows (&db[0].vtable, (char *) new, Nnew, sizeof(Image));115 gfits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0); 116 gfits_vadd_rows (&db[0].vtable, (char *) new, Nnew, sizeof(Image)); 117 117 118 118 /* check that primary header and table header agree */ … … 137 137 case DVO_MODE_MEF: 138 138 case DVO_MODE_SPLIT: 139 status = fits_db_update (db);139 status = gfits_db_update (db); 140 140 break; 141 141 case DVO_MODE_RAW: -
trunk/Ohana/src/libdvo/src/dvo_image_raw.c
r6684 r7080 12 12 13 13 /* read fits header from file - return FALSE on error */ 14 if (! fits_fread_header (db[0].f, &db[0].header)) {14 if (!gfits_fread_header (db[0].f, &db[0].header)) { 15 15 fprintf (stderr, "can't read primary header\n"); 16 16 return (FALSE); … … 19 19 /* determine image table format */ 20 20 db[0].format = DVO_FORMAT_UNDEF; 21 if ( fits_scan (&db[0].header, "FORMAT", "%s", 1, format)) {21 if (gfits_scan (&db[0].header, "FORMAT", "%s", 1, format)) { 22 22 if (!strcmp (format, "INTERNAL")) db[0].format = DVO_FORMAT_INTERNAL; 23 23 if (!strcmp (format, "LONEOS")) db[0].format = DVO_FORMAT_LONEOS; … … 27 27 if (db[0].format != DVO_FORMAT_UNDEF) goto got_format; 28 28 } 29 if ( fits_scan (&db[0].header, "TELESCOP", "%s", 1, telescope)) {29 if (gfits_scan (&db[0].header, "TELESCOP", "%s", 1, telescope)) { 30 30 if (!strncmp (telescope, "LONEOS", strlen("LONEOS"))) { 31 31 db[0].format = DVO_FORMAT_LONEOS; … … 43 43 /* find number of images */ 44 44 Nimage = 0; 45 fits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimage);45 gfits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimage); 46 46 if (stat (db[0].filename, &filestatus) == -1) { 47 47 if (VERBOSE) fprintf (stderr, "ERROR: failed to get status of image catalog\n"); … … 68 68 /* create a dummy ftable, theader set for this data */ 69 69 /* (original table has NAXIS = 2, change to 0) */ 70 /* fits_modify (&db[0].header, "NAXIS", "%d", 1, 0); */71 fits_create_matrix (&db[0].header, &db[0].matrix);70 /* gfits_modify (&db[0].header, "NAXIS", "%d", 1, 0); */ 71 gfits_create_matrix (&db[0].header, &db[0].matrix); 72 72 db[0].ftable.header = &db[0].theader; 73 73 74 if (db[0].format == DVO_FORMAT_INTERNAL) fits_table_mkheader_Image (&db[0].theader);75 if (db[0].format == DVO_FORMAT_LONEOS) fits_table_mkheader_ImageLoneos (&db[0].theader);76 if (db[0].format == DVO_FORMAT_ELIXIR) fits_table_mkheader_ImageElixir (&db[0].theader);77 if (db[0].format == DVO_FORMAT_PANSTARRS) fits_table_mkheader_ImagePanstarrs (&db[0].theader);74 if (db[0].format == DVO_FORMAT_INTERNAL) gfits_table_mkheader_Image (&db[0].theader); 75 if (db[0].format == DVO_FORMAT_LONEOS) gfits_table_mkheader_ImageLoneos (&db[0].theader); 76 if (db[0].format == DVO_FORMAT_ELIXIR) gfits_table_mkheader_ImageElixir (&db[0].theader); 77 if (db[0].format == DVO_FORMAT_PANSTARRS) gfits_table_mkheader_ImagePanstarrs (&db[0].theader); 78 78 79 79 /* read data from file */ … … 86 86 } 87 87 88 fits_modify (&db[0].theader, "NAXIS2", "%d", 1, Nimage);88 gfits_modify (&db[0].theader, "NAXIS2", "%d", 1, Nimage); 89 89 db[0].theader.Naxis[1] = Nimage; 90 db[0].ftable.size = fits_matrix_size (&db[0].theader);90 db[0].ftable.size = gfits_matrix_size (&db[0].theader); 91 91 db[0].swapped = FALSE; /* table does not have internal byte-order */ 92 92 return (TRUE); … … 112 112 } 113 113 114 /** this code is identical to fits_fwrite_vtable, except without padding */114 /** this code is identical to gfits_fwrite_vtable, except without padding */ 115 115 Nrow = db[0].vtable.Nrow; 116 116 row = db[0].vtable.row; 117 fits_scan (db[0].vtable.header, "NAXIS1", "%d", 1, &Nx);118 fits_scan (db[0].vtable.header, "NAXIS2", "%d", 1, &Ny);117 gfits_scan (db[0].vtable.header, "NAXIS1", "%d", 1, &Nx); 118 gfits_scan (db[0].vtable.header, "NAXIS2", "%d", 1, &Ny); 119 119 120 120 /* file pointer is at beginning of desired table data */ … … 147 147 } 148 148 149 fits_scan (db[0].ftable.header, "NAXIS1", "%d", 1, &Nx);150 fits_scan (db[0].ftable.header, "NAXIS2", "%d", 1, &Ny);149 gfits_scan (db[0].ftable.header, "NAXIS1", "%d", 1, &Nx); 150 gfits_scan (db[0].ftable.header, "NAXIS2", "%d", 1, &Ny); 151 151 size = Nx * Ny; 152 152 Nbytes = fwrite (db[0].ftable.buffer, sizeof(char), size, db[0].f); -
trunk/Ohana/src/libdvo/src/fits_db.c
r6234 r7080 2 2 3 3 /* init the db structure */ 4 int fits_db_init (FITS_DB *db) {4 int gfits_db_init (FITS_DB *db) { 5 5 6 6 db[0].f = NULL; … … 19 19 20 20 /* create an empty db */ 21 int fits_db_create (FITS_DB *db) {22 fits_init_header (&db[0].header);21 int gfits_db_create (FITS_DB *db) { 22 gfits_init_header (&db[0].header); 23 23 db[0].header.extend = TRUE; 24 fits_create_header (&db[0].header);25 fits_create_matrix (&db[0].header, &db[0].matrix);26 fits_print (&db[0].header, "NEXTEND", "%d", 1, 1);24 gfits_create_header (&db[0].header); 25 gfits_create_matrix (&db[0].header, &db[0].matrix); 26 gfits_print (&db[0].header, "NEXTEND", "%d", 1, 1); 27 27 db[0].ftable.header = &db[0].theader; 28 28 return (TRUE); 29 29 } 30 30 31 int fits_db_lock (FITS_DB *db, char *filename) {31 int gfits_db_lock (FITS_DB *db, char *filename) { 32 32 33 33 /* database name must be set first */ … … 59 59 60 60 /* load the complete db table into memory - load first extension, do not validate EXTNAME */ 61 int fits_db_load (FITS_DB *db) {61 int gfits_db_load (FITS_DB *db) { 62 62 63 63 /* database name must be set first */ … … 68 68 69 69 /* init & load in FITS table data - return FALSE on error */ 70 if (! fits_fread_header (db[0].f, &db[0].header)) {70 if (!gfits_fread_header (db[0].f, &db[0].header)) { 71 71 fprintf (stderr, "can't read primary header\n"); 72 72 return (FALSE); 73 73 } 74 if (! fits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) {74 if (!gfits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) { 75 75 fprintf (stderr, "can't read primary matrix"); 76 76 return (FALSE); 77 77 } 78 if (! fits_fread_header (db[0].f, &db[0].theader)) {78 if (!gfits_fread_header (db[0].f, &db[0].theader)) { 79 79 fprintf (stderr, "can't read table header"); 80 80 return (FALSE); 81 81 } 82 if (! fits_fread_ftable_data (db[0].f, &db[0].ftable)) {82 if (!gfits_fread_ftable_data (db[0].f, &db[0].ftable)) { 83 83 fprintf (stderr, "can't read table data"); 84 84 return (FALSE); … … 89 89 90 90 /* load the data from Nrows from table starting at start; load header, etc if needed */ 91 int fits_db_load_segment (FITS_DB *db, int start, int Nrows) {91 int gfits_db_load_segment (FITS_DB *db, int start, int Nrows) { 92 92 93 93 int Nskip; … … 110 110 /* load or skip header */ 111 111 if (db[0].header.buffer == NULL) { 112 if (! fits_fread_header (db[0].f, &db[0].header)) {112 if (!gfits_fread_header (db[0].f, &db[0].header)) { 113 113 fprintf (stderr, "can't read primary header\n"); 114 114 return (FALSE); … … 121 121 /* load or skip matrix */ 122 122 if (db[0].matrix.buffer == NULL) { 123 if (! fits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) {123 if (!gfits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) { 124 124 fprintf (stderr, "can't read primary matrix"); 125 125 return (FALSE); 126 126 } 127 127 } else { 128 Nskip = fits_matrix_size (&db[0].header);128 Nskip = gfits_matrix_size (&db[0].header); 129 129 Fseek (db[0].f, Nskip, SEEK_CUR); 130 130 } … … 132 132 /* load or skip table header */ 133 133 if (db[0].theader.buffer == NULL) { 134 if (! fits_fread_header (db[0].f, &db[0].theader)) {134 if (!gfits_fread_header (db[0].f, &db[0].theader)) { 135 135 fprintf (stderr, "can't read table header"); 136 136 return (FALSE); … … 142 142 143 143 /* read table segment into vtable */ 144 if (! fits_fread_vtable_range (db[0].f, &db[0].vtable, start, Nrows)) {144 if (!gfits_fread_vtable_range (db[0].f, &db[0].vtable, start, Nrows)) { 145 145 fprintf (stderr, "can't read table data"); 146 146 return (FALSE); … … 150 150 151 151 /* write complete db file */ 152 int fits_db_save (FITS_DB *db) {152 int gfits_db_save (FITS_DB *db) { 153 153 154 154 /* write all data to file */ … … 156 156 Fseek (db[0].f, 0, SEEK_SET); 157 157 158 if (! fits_fwrite_header (db[0].f, &db[0].header)) {158 if (!gfits_fwrite_header (db[0].f, &db[0].header)) { 159 159 fprintf (stderr, "can't write primary header"); 160 160 return (FALSE); 161 161 } 162 if (! fits_fwrite_matrix (db[0].f, &db[0].matrix)) {162 if (!gfits_fwrite_matrix (db[0].f, &db[0].matrix)) { 163 163 fprintf (stderr, "can't write primary matrix"); 164 164 return (FALSE); 165 165 } 166 if (! fits_fwrite_Theader (db[0].f, &db[0].theader)) {166 if (!gfits_fwrite_Theader (db[0].f, &db[0].theader)) { 167 167 fprintf (stderr, "can't write table header"); 168 168 return (FALSE); 169 169 } 170 if (! fits_fwrite_table (db[0].f, &db[0].ftable)) {170 if (!gfits_fwrite_table (db[0].f, &db[0].ftable)) { 171 171 fprintf (stderr, "can't write table data"); 172 172 return (FALSE); … … 176 176 177 177 /* write vtable to db file (also appends rows to the end of the table) */ 178 int fits_db_update (FITS_DB *db) {178 int gfits_db_update (FITS_DB *db) { 179 179 180 180 /* this section is not valid if we have changed the size of header, matrix, theader */ … … 185 185 186 186 /* do we revert to the old version if this fails? */ 187 if (! fits_fwrite_header (db[0].f, &db[0].header)) {187 if (!gfits_fwrite_header (db[0].f, &db[0].header)) { 188 188 fprintf (stderr, "can't update primary header"); 189 189 return (FALSE); 190 190 } 191 if (! fits_fwrite_matrix (db[0].f, &db[0].matrix)) {191 if (!gfits_fwrite_matrix (db[0].f, &db[0].matrix)) { 192 192 fprintf (stderr, "can't update primary matrix"); 193 193 return (FALSE); 194 194 } 195 if (! fits_fwrite_Theader (db[0].f, &db[0].theader)) {195 if (!gfits_fwrite_Theader (db[0].f, &db[0].theader)) { 196 196 fprintf (stderr, "can't update table header"); 197 197 return (FALSE); 198 198 } 199 if (! fits_fwrite_vtable (db[0].f, &db[0].vtable)) {199 if (!gfits_fwrite_vtable (db[0].f, &db[0].vtable)) { 200 200 fprintf (stderr, "can't update table data"); 201 201 return (FALSE); … … 205 205 206 206 /* free memory associated with db handle */ 207 int fits_db_free (FITS_DB *db) {208 fits_free_header (&db[0].header);209 fits_free_matrix (&db[0].matrix);210 fits_free_header (&db[0].theader);211 fits_free_table (&db[0].ftable);212 fits_free_vtable (&db[0].vtable);207 int gfits_db_free (FITS_DB *db) { 208 gfits_free_header (&db[0].header); 209 gfits_free_matrix (&db[0].matrix); 210 gfits_free_header (&db[0].theader); 211 gfits_free_table (&db[0].ftable); 212 gfits_free_vtable (&db[0].vtable); 213 213 if (db[0].filename != NULL) { 214 214 free (db[0].filename); … … 219 219 220 220 /* close the db files (close open file & unlock) */ 221 int fits_db_close (FITS_DB *db) {221 int gfits_db_close (FITS_DB *db) { 222 222 if (db[0].f == NULL) return (TRUE); 223 223 fclearlockfile (db[0].filename, db[0].f, db[0].lockstate, &db[0].dbstate); -
trunk/Ohana/src/libdvo/src/skyregion_gsc.c
r5945 r7080 33 33 /* load in table data */ 34 34 ftable.header = &theader; 35 if (! fits_fread_ftable (f, &ftable, "REGIONS")) {35 if (!gfits_fread_ftable (f, &ftable, "REGIONS")) { 36 36 if (VERBOSE) fprintf (stderr, "can't read GSC Region table\n"); 37 37 fclose (f); … … 39 39 } 40 40 41 fits_scan (ftable.header, "NAXIS1", "%d", 1, &Nx);42 fits_scan (ftable.header, "NAXIS2", "%d", 1, &Ny);43 44 fits_free_header (&theader);41 gfits_scan (ftable.header, "NAXIS1", "%d", 1, &Nx); 42 gfits_scan (ftable.header, "NAXIS2", "%d", 1, &Ny); 43 44 gfits_free_header (&theader); 45 45 46 46 /* build supporting level 0 and 1 regions */ -
trunk/Ohana/src/libdvo/src/skyregion_io.c
r6674 r7080 19 19 /* load in table data */ 20 20 ftable.header = &theader; 21 if (! fits_fread_header (f, &header)) {21 if (!gfits_fread_header (f, &header)) { 22 22 if (VERBOSE) fprintf (stderr, "can't read Sky Region header\n"); 23 23 fclose (f); 24 24 return (NULL); 25 25 } 26 if (! fits_fread_matrix (f, &matrix, &header)) {26 if (!gfits_fread_matrix (f, &matrix, &header)) { 27 27 if (VERBOSE) fprintf (stderr, "can't read Sky Region matrix\n"); 28 fits_free_header (&header);28 gfits_free_header (&header); 29 29 fclose (f); 30 30 return (NULL); 31 31 } 32 if (! fits_fread_ftable (f, &ftable, "SKY_REGION")) {32 if (!gfits_fread_ftable (f, &ftable, "SKY_REGION")) { 33 33 if (VERBOSE) fprintf (stderr, "can't read Sky Region table\n"); 34 fits_free_header (&header);35 fits_free_matrix (&matrix);34 gfits_free_header (&header); 35 gfits_free_matrix (&matrix); 36 36 fclose (f); 37 37 return (NULL); … … 39 39 40 40 ALLOCATE (skytable, SkyTable, 1); 41 skytable[0].regions = fits_table_get_SkyRegion (&ftable, &skytable[0].Nregions, NULL);41 skytable[0].regions = gfits_table_get_SkyRegion (&ftable, &skytable[0].Nregions, NULL); 42 42 ALLOCATE (skytable[0].filename, char *, skytable[0].Nregions); 43 43 for (i = 0; i < skytable[0].Nregions; i++) { … … 45 45 } 46 46 47 fits_free_header (&header);48 fits_free_matrix (&matrix);49 fits_free_header (&theader);47 gfits_free_header (&header); 48 gfits_free_matrix (&matrix); 49 gfits_free_header (&theader); 50 50 51 51 return (skytable); … … 62 62 /* make phu header (no matrix needed) */ 63 63 ftable.header = &theader; 64 fits_init_header (&header);64 gfits_init_header (&header); 65 65 header.extend = TRUE; 66 fits_create_header (&header);67 fits_create_matrix (&header, &matrix);66 gfits_create_header (&header); 67 gfits_create_matrix (&header, &matrix); 68 68 69 fits_table_set_SkyRegion (&ftable, skytable[0].regions, skytable[0].Nregions);69 gfits_table_set_SkyRegion (&ftable, skytable[0].regions, skytable[0].Nregions); 70 70 71 71 f = fopen (filename, "w"); … … 75 75 } 76 76 77 fits_fwrite_header (f, &header);78 fits_fwrite_matrix (f, &matrix);79 fits_fwrite_Theader (f, &theader);80 fits_fwrite_table (f, &ftable);77 gfits_fwrite_header (f, &header); 78 gfits_fwrite_matrix (f, &matrix); 79 gfits_fwrite_Theader (f, &theader); 80 gfits_fwrite_table (f, &ftable); 81 81 fclose (f); 82 82 … … 120 120 if (!SkyTableSave (sky, filename)) return NULL; 121 121 122 fits_convert_SkyRegion (sky[0].regions, sizeof (SkyTable), sky[0].Nregions);122 gfits_convert_SkyRegion (sky[0].regions, sizeof (SkyTable), sky[0].Nregions); 123 123 return (sky); 124 124 … … 136 136 if (!SkyTableSave (sky, filename)) return NULL; 137 137 138 fits_convert_SkyRegion (sky[0].regions, sizeof (SkyRegion), sky[0].Nregions);138 gfits_convert_SkyRegion (sky[0].regions, sizeof (SkyRegion), sky[0].Nregions); 139 139 return (sky); 140 140 } -
trunk/Ohana/src/libdvo/src/skyregion_ops.c
r6643 r7080 48 48 list[0].filename[0] = table[0].filename[No]; 49 49 list[0].Nregions = 1; 50 return (list); 51 } 52 53 /* find regions at all levels which match name */ 54 /* XXX : need to add support for selected level / populated level */ 55 SkyList *SkyListByName (SkyTable *table, char *name) { 56 57 int i, Nchar, N, NREGIONS; 58 SkyList *list; 59 SkyRegion *region; 60 61 N = 0; 62 NREGIONS = 10; 63 ALLOCATE (list, SkyList, 1); 64 ALLOCATE (list[0].regions, SkyRegion *, NREGIONS); 65 ALLOCATE (list[0].filename, char *, NREGIONS); 66 list[0].Nregions = N; 67 68 region = table[0].regions; 69 70 Nchar = strlen (name); 71 72 for (i = 0; i < table[0].Nregions; i++) { 73 if (strncasecmp (region[i].name, name, Nchar)) continue; 74 75 list[0].regions[N] = ®ion[i]; 76 list[0].filename[N] = table[0].filename[i]; 77 N++; 78 if (N >= NREGIONS) { 79 NREGIONS += 10; 80 REALLOCATE (list[0].regions, SkyRegion *, NREGIONS); 81 REALLOCATE (list[0].filename, char *, NREGIONS); 82 } 83 } 84 list[0].Nregions = N; 50 85 return (list); 51 86 } -
trunk/Ohana/src/libkapa/include/kapa.h
r5852 r7080 125 125 int KapaColormapSize (); 126 126 char *KapaColorRGBString (int N); 127 char *KapaColorName (int N); 127 128 png_color *KapaPNGPalette (int *Npalette); 128 129 unsigned long *KapaX11colors (Display *display, Colormap colormap, unsigned long default_color, int *Ncolors); -
trunk/Ohana/src/libkapa/src/KapaColors.c
r5854 r7080 52 52 } 53 53 54 char *KapaColorName (int N) { 55 return (KAPA_COLORS[N][0]); 56 } 57 54 58 png_color *KapaPNGPalette (int *Npalette) { 55 59 -
trunk/Ohana/src/lightcurve/src/alter_headers.c
r2490 r7080 29 29 strcpy (head, images[i].name); 30 30 strcpy (strchr(head, '.'), ".head"); 31 fits_read_header (head, &header);31 gfits_read_header (head, &header); 32 32 33 33 sprintf (line, "mv %s %s~\0", head, head); … … 41 41 images[i].Nunique, images[i].fixed, images[i].empty); 42 42 43 fits_modify (&header, "Mcal", "%lf", 1, images[i].Mcal);44 fits_modify (&header, "dMcal", "%lf", 1, images[i].dMcal);45 fits_modify (&header, "clouds", "%lf", 1, images[i].clouds);46 fits_modify (&header, "NMcal", "%d", 1, images[i].Nstars);43 gfits_modify (&header, "Mcal", "%lf", 1, images[i].Mcal); 44 gfits_modify (&header, "dMcal", "%lf", 1, images[i].dMcal); 45 gfits_modify (&header, "clouds", "%lf", 1, images[i].clouds); 46 gfits_modify (&header, "NMcal", "%d", 1, images[i].Nstars); 47 47 48 fits_modify (&header, "Mcal", "%C", 1, "relphot: calibration magnitude");49 fits_modify (&header, "dMcal", "%C", 1, "relphot: calibration error");50 fits_modify (&header, "clouds", "%C", 1, "relphot: cloud level");51 fits_modify (&header, "NMcal", "%C", 1, "relphot: number of stars");48 gfits_modify (&header, "Mcal", "%C", 1, "relphot: calibration magnitude"); 49 gfits_modify (&header, "dMcal", "%C", 1, "relphot: calibration error"); 50 gfits_modify (&header, "clouds", "%C", 1, "relphot: cloud level"); 51 gfits_modify (&header, "NMcal", "%C", 1, "relphot: number of stars"); 52 52 53 fits_write_header (head, &header);54 fits_free_header (&header);53 gfits_write_header (head, &header); 54 gfits_free_header (&header); 55 55 } 56 56 fclose (f); -
trunk/Ohana/src/lightcurve/src/fix_header.c
r2490 r7080 35 35 36 36 header[0].size = Nbytes; 37 p1 = fits_header_field (header, "END", 1);37 p1 = gfits_header_field (header, "END", 1); 38 38 for (i = 3; i < 79; i++) 39 39 *(p1 + i) = ' '; -
trunk/Ohana/src/lightcurve/src/get_info.c
r2490 r7080 15 15 strcpy (strchr(head, '.'), ".head"); 16 16 17 status = fits_read_header (head, &header);17 status = gfits_read_header (head, &header); 18 18 if (!status) { 19 19 fprintf (stderr, "could not open header file %s\n", head); … … 24 24 switch (PIXELS) { 25 25 case 0: 26 status &= fits_scan (&header, "RA_O", "%lf", 1, &images[0].RA_O);27 status &= fits_scan (&header, "RA_X", "%lf", 1, &images[0].RA_X);28 status &= fits_scan (&header, "RA_Y", "%lf", 1, &images[0].RA_Y);29 status &= fits_scan (&header, "DEC_O", "%lf", 1, &images[0].DEC_O);30 status &= fits_scan (&header, "DEC_X", "%lf", 1, &images[0].DEC_X);31 status &= fits_scan (&header, "DEC_Y", "%lf", 1, &images[0].DEC_Y);26 status &= gfits_scan (&header, "RA_O", "%lf", 1, &images[0].RA_O); 27 status &= gfits_scan (&header, "RA_X", "%lf", 1, &images[0].RA_X); 28 status &= gfits_scan (&header, "RA_Y", "%lf", 1, &images[0].RA_Y); 29 status &= gfits_scan (&header, "DEC_O", "%lf", 1, &images[0].DEC_O); 30 status &= gfits_scan (&header, "DEC_X", "%lf", 1, &images[0].DEC_X); 31 status &= gfits_scan (&header, "DEC_Y", "%lf", 1, &images[0].DEC_Y); 32 32 COS = cos (RAD_DEG * images[0].DEC_O); 33 33 break; 34 34 35 35 case 1: 36 status &= fits_scan (&header, "X_O", "%lf", 1, &images[0].RA_O);37 status &= fits_scan (&header, "X_X", "%lf", 1, &images[0].RA_X);38 status &= fits_scan (&header, "X_Y", "%lf", 1, &images[0].RA_Y);39 status &= fits_scan (&header, "Y_O", "%lf", 1, &images[0].DEC_O);40 status &= fits_scan (&header, "Y_X", "%lf", 1, &images[0].DEC_X);41 status &= fits_scan (&header, "Y_Y", "%lf", 1, &images[0].DEC_Y);36 status &= gfits_scan (&header, "X_O", "%lf", 1, &images[0].RA_O); 37 status &= gfits_scan (&header, "X_X", "%lf", 1, &images[0].RA_X); 38 status &= gfits_scan (&header, "X_Y", "%lf", 1, &images[0].RA_Y); 39 status &= gfits_scan (&header, "Y_O", "%lf", 1, &images[0].DEC_O); 40 status &= gfits_scan (&header, "Y_X", "%lf", 1, &images[0].DEC_X); 41 status &= gfits_scan (&header, "Y_Y", "%lf", 1, &images[0].DEC_Y); 42 42 COS = 1; 43 43 break; 44 44 } 45 45 46 fits_scan (&header, "ORIGIN", "%s", 1, line);46 gfits_scan (&header, "ORIGIN", "%s", 1, line); 47 47 /* interpret the silly way ESO / La Palma stores exposure time and duration */ 48 48 if (!strcmp (line, "ESO-MIDAS")) { 49 status &= fits_scan (&header, "DATE-OBS", "%s", 1, line);49 status &= gfits_scan (&header, "DATE-OBS", "%s", 1, line); 50 50 stripwhite (line); 51 51 fprintf (stderr, "date line: %s\n", line); … … 53 53 jd = atof(line); 54 54 line[0] = 0; 55 status = fits_scan (&header, "TM-START", "%lf", 1, &sec);55 status = gfits_scan (&header, "TM-START", "%lf", 1, &sec); 56 56 fprintf (stderr, "date: %f, sec: %f\n", jd, sec); 57 57 jd += (sec/86400.0) + 0.5; 58 58 images[0].JD = jd; 59 fits_scan (&header, "EXPTIME", "%lf", 1, &images[0].exptime);59 gfits_scan (&header, "EXPTIME", "%lf", 1, &images[0].exptime); 60 60 } 61 61 else { 62 status &= fits_scan (&header, "JD", "%lf", 1, &images[0].JD);62 status &= gfits_scan (&header, "JD", "%lf", 1, &images[0].JD); 63 63 images[0].JD -= 2400000.5; /* convert to MJD */ 64 fits_scan (&header, "EXPTIME", "%lf", 1, &images[0].exptime);64 gfits_scan (&header, "EXPTIME", "%lf", 1, &images[0].exptime); 65 65 } 66 66 67 status &= fits_scan (&header, "Mcal", "%lf", 1, &images[0].Mcal);68 status &= fits_scan (&header, "McalR", "%lf", 1, &images[0].McalR);69 status &= fits_scan (&header, "McalD", "%lf", 1, &images[0].McalD);70 status &= fits_scan (&header, "McalR2", "%lf", 1, &images[0].McalR2);71 status &= fits_scan (&header, "McalD2", "%lf", 1, &images[0].McalD2);72 status &= fits_scan (&header, "McalRD", "%lf", 1, &images[0].McalRD);73 status &= fits_scan (&header, "dMcal", "%lf", 1, &images[0].dMcal);67 status &= gfits_scan (&header, "Mcal", "%lf", 1, &images[0].Mcal); 68 status &= gfits_scan (&header, "McalR", "%lf", 1, &images[0].McalR); 69 status &= gfits_scan (&header, "McalD", "%lf", 1, &images[0].McalD); 70 status &= gfits_scan (&header, "McalR2", "%lf", 1, &images[0].McalR2); 71 status &= gfits_scan (&header, "McalD2", "%lf", 1, &images[0].McalD2); 72 status &= gfits_scan (&header, "McalRD", "%lf", 1, &images[0].McalRD); 73 status &= gfits_scan (&header, "dMcal", "%lf", 1, &images[0].dMcal); 74 74 75 75 images[0].airmass = 1000; 76 fits_scan (&header, "SECZ", "%lf", 1, &images[0].airmass);77 fits_scan (&header, "AIRMASS", "%lf", 1, &images[0].airmass);78 /* a stupid value as a flag (i hate flags!) but fits_scan will not alter the76 gfits_scan (&header, "SECZ", "%lf", 1, &images[0].airmass); 77 gfits_scan (&header, "AIRMASS", "%lf", 1, &images[0].airmass); 78 /* a stupid value as a flag (i hate flags!) but gfits_scan will not alter the 79 79 value if it fails to find the entry. try a couple possibilities */ 80 80 … … 99 99 images[0].clouds = 0.0; 100 100 101 fits_free_header (&header);101 gfits_free_header (&header); 102 102 103 103 } … … 119 119 /* 120 120 code for using RA, DEC, ST info, if needed. 121 status &= fits_scan (&header, "ST", "%lf", 1, &LST);121 status &= gfits_scan (&header, "ST", "%lf", 1, &LST); 122 122 ra = info[0].RA_O + info[0].RA_X *CCD_X/2.0 + info[0].RA_Y *CCD_Y/2.0; 123 123 dec = info[0].DEC_O + info[0].DEC_X*CCD_X/2.0 + info[0].DEC_Y*CCD_Y/2.0; -
trunk/Ohana/src/markrock/src/gcatstats.c
r2490 r7080 13 13 Coords tcoords; 14 14 15 fits_scan (&catalog[0].header, "RA0", "%lf", 1, &MinRA);16 fits_scan (&catalog[0].header, "RA1", "%lf", 1, &MaxRA);17 fits_scan (&catalog[0].header, "DEC0", "%lf", 1, &MinDEC);18 fits_scan (&catalog[0].header, "DEC1", "%lf", 1, &MaxDEC);15 gfits_scan (&catalog[0].header, "RA0", "%lf", 1, &MinRA); 16 gfits_scan (&catalog[0].header, "RA1", "%lf", 1, &MaxRA); 17 gfits_scan (&catalog[0].header, "DEC0", "%lf", 1, &MinDEC); 18 gfits_scan (&catalog[0].header, "DEC1", "%lf", 1, &MaxDEC); 19 19 20 20 /* double check on region RA and DEC ranges */ -
trunk/Ohana/src/markrock/src/wcatalog.c
r4828 r7080 35 35 catalog[0].Nsecfilt = 0; 36 36 } 37 fits_free_header (&catalog[0].header);37 gfits_free_header (&catalog[0].header); 38 38 } 39 39 -
trunk/Ohana/src/markstar/src/find_images.c
r4864 r7080 25 25 } 26 26 27 timage = fits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped);27 timage = gfits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped); 28 28 29 29 /* set up buffers for images, temporary storage */ -
trunk/Ohana/src/markstar/src/gcatstats.c
r2490 r7080 13 13 Coords tcoords; 14 14 15 fits_scan (&catalog[0].header, "RA0", "%lf", 1, &MinRA);16 fits_scan (&catalog[0].header, "RA1", "%lf", 1, &MaxRA);17 fits_scan (&catalog[0].header, "DEC0", "%lf", 1, &MinDEC);18 fits_scan (&catalog[0].header, "DEC1", "%lf", 1, &MaxDEC);15 gfits_scan (&catalog[0].header, "RA0", "%lf", 1, &MinRA); 16 gfits_scan (&catalog[0].header, "RA1", "%lf", 1, &MaxRA); 17 gfits_scan (&catalog[0].header, "DEC0", "%lf", 1, &MinDEC); 18 gfits_scan (&catalog[0].header, "DEC1", "%lf", 1, &MaxDEC); 19 19 20 20 /* double check on region RA and DEC ranges */ -
trunk/Ohana/src/markstar/src/wcatalog.c
r4828 r7080 33 33 catalog[0].Nsecfilt = 0; 34 34 } 35 fits_free_header (&catalog[0].header);35 gfits_free_header (&catalog[0].header); 36 36 } 37 37 -
trunk/Ohana/src/misc/doc/ChangeLog.txt
r6693 r7080 1 2 - misc-1-3 3 * converted to gfits APIs (forces libfits 1.6) 1 4 2 5 misc-1-2: -
trunk/Ohana/src/misc/src/SAOobjects.c
r3466 r7080 18 18 } 19 19 20 if (! fits_read_header (argv[1], &header)) {20 if (!gfits_read_header (argv[1], &header)) { 21 21 fprintf (stderr, "can't read header from file %s\n", argv[1]); 22 22 exit (1); -
trunk/Ohana/src/misc/src/addastro.c
r2417 r7080 18 18 } 19 19 20 if (! fits_read_header (argv[1], &header)) {20 if (!gfits_read_header (argv[1], &header)) { 21 21 fprintf (stderr, "ERROR: can't read header for %s\n", argv[1]); 22 22 exit (1); … … 24 24 oldsize = header.size; 25 25 26 if (! fits_read_header (argv[2], &refhead)) {26 if (!gfits_read_header (argv[2], &refhead)) { 27 27 fprintf (stderr, "ERROR: can't read header for %s\n", argv[2]); 28 28 exit (1); 29 29 } 30 30 31 fits_scan (&refhead, "CDELT1", "%lf", 1, &tmp);32 fits_modify (&header, "CDELT1", "%le", 1, tmp);33 fits_scan (&refhead, "CDELT2", "%lf", 1, &tmp);34 fits_modify (&header, "CDELT2", "%le", 1, tmp);35 fits_scan (&refhead, "CRVAL1", "%lf", 1, &tmp);36 fits_modify (&header, "CRVAL1", "%lf", 1, tmp);37 fits_scan (&refhead, "CRVAL2", "%lf", 1, &tmp);38 fits_modify (&header, "CRVAL2", "%lf", 1, tmp);39 fits_scan (&refhead, "CRPIX1", "%lf", 1, &tmp);40 fits_modify (&header, "CRPIX1", "%lf", 1, tmp);41 fits_scan (&refhead, "CRPIX2", "%lf", 1, &tmp);42 fits_modify (&header, "CRPIX2", "%lf", 1, tmp);43 fits_scan (&refhead, "PC001001", "%lf", 1, &tmp);44 fits_modify (&header, "PC001001", "%le", 1, tmp);45 fits_scan (&refhead, "PC001002", "%lf", 1, &tmp);46 fits_modify (&header, "PC001002", "%le", 1, tmp);47 fits_scan (&refhead, "PC002001", "%lf", 1, &tmp);48 fits_modify (&header, "PC002001", "%le", 1, tmp);49 fits_scan (&refhead, "PC002002", "%lf", 1, &tmp);50 fits_modify (&header, "PC002002", "%le", 1, tmp);51 fits_scan (&refhead, "NPLYTERM", "%d", 1, &itmp);52 fits_modify (&header, "NPLYTERM", "%d", 1, itmp);53 fits_scan (&refhead, "NASTRO", "%d", 1, &itmp);54 fits_modify (&header, "NASTRO", "%d", 1, itmp);55 fits_scan (&refhead, "CERROR", "%lf", 1, &tmp);56 fits_modify (&header, "CERROR", "%lf", 1, tmp);57 fits_scan (&refhead, "CPRECISE", "%lf", 1, &tmp);58 fits_modify (&header, "CPRECISE", "%lf", 1, tmp);31 gfits_scan (&refhead, "CDELT1", "%lf", 1, &tmp); 32 gfits_modify (&header, "CDELT1", "%le", 1, tmp); 33 gfits_scan (&refhead, "CDELT2", "%lf", 1, &tmp); 34 gfits_modify (&header, "CDELT2", "%le", 1, tmp); 35 gfits_scan (&refhead, "CRVAL1", "%lf", 1, &tmp); 36 gfits_modify (&header, "CRVAL1", "%lf", 1, tmp); 37 gfits_scan (&refhead, "CRVAL2", "%lf", 1, &tmp); 38 gfits_modify (&header, "CRVAL2", "%lf", 1, tmp); 39 gfits_scan (&refhead, "CRPIX1", "%lf", 1, &tmp); 40 gfits_modify (&header, "CRPIX1", "%lf", 1, tmp); 41 gfits_scan (&refhead, "CRPIX2", "%lf", 1, &tmp); 42 gfits_modify (&header, "CRPIX2", "%lf", 1, tmp); 43 gfits_scan (&refhead, "PC001001", "%lf", 1, &tmp); 44 gfits_modify (&header, "PC001001", "%le", 1, tmp); 45 gfits_scan (&refhead, "PC001002", "%lf", 1, &tmp); 46 gfits_modify (&header, "PC001002", "%le", 1, tmp); 47 gfits_scan (&refhead, "PC002001", "%lf", 1, &tmp); 48 gfits_modify (&header, "PC002001", "%le", 1, tmp); 49 gfits_scan (&refhead, "PC002002", "%lf", 1, &tmp); 50 gfits_modify (&header, "PC002002", "%le", 1, tmp); 51 gfits_scan (&refhead, "NPLYTERM", "%d", 1, &itmp); 52 gfits_modify (&header, "NPLYTERM", "%d", 1, itmp); 53 gfits_scan (&refhead, "NASTRO", "%d", 1, &itmp); 54 gfits_modify (&header, "NASTRO", "%d", 1, itmp); 55 gfits_scan (&refhead, "CERROR", "%lf", 1, &tmp); 56 gfits_modify (&header, "CERROR", "%lf", 1, tmp); 57 gfits_scan (&refhead, "CPRECISE", "%lf", 1, &tmp); 58 gfits_modify (&header, "CPRECISE", "%lf", 1, tmp); 59 59 60 fits_modify (&header, "CERROR", "%C", 1, "scatter in astrometry soln (arcsec)");61 fits_modify (&header, "CPRECISE", "%C", 1, "precision of astrometry soln (arcsec)");60 gfits_modify (&header, "CERROR", "%C", 1, "scatter in astrometry soln (arcsec)"); 61 gfits_modify (&header, "CPRECISE", "%C", 1, "precision of astrometry soln (arcsec)"); 62 62 63 63 /* write to file */ 64 64 sprintf (filename, "%s.tmp", argv[1]); 65 if (! fits_write_header (filename, &header)) {65 if (!gfits_write_header (filename, &header)) { 66 66 fprintf (stderr, "ERROR: can't write header for %s\n", filename); 67 67 exit (1); -
trunk/Ohana/src/misc/src/applyscat.c
r5320 r7080 20 20 21 21 /* read smp header */ 22 if (! fits_read_header (argv[1], &header)) {22 if (!gfits_read_header (argv[1], &header)) { 23 23 fprintf (stderr, "ERROR: can't find image file %s\n", argv[1]); 24 24 exit (1); … … 34 34 35 35 /* find expected number of stars */ 36 fits_scan (&header, "NSTARS", "%d", 1, &Nstar);36 gfits_scan (&header, "NSTARS", "%d", 1, &Nstar); 37 37 if (Nstar == 0) { 38 38 fprintf (stderr, "ERROR: can't get NSTARS from header\n"); … … 60 60 } 61 61 62 if (! fits_read_matrix (argv[2], &matrix)) {62 if (!gfits_read_matrix (argv[2], &matrix)) { 63 63 fprintf (stderr, "ERROR: can't open scatter image file %s\n", argv[2]); 64 64 exit (1); … … 79 79 x = stars[i].X; 80 80 y = stars[i].Y; 81 ratio = fits_get_matrix_value (&matrix, x, y);81 ratio = gfits_get_matrix_value (&matrix, x, y); 82 82 dmag = -2.5*log10(ratio); 83 83 dmag = (dmag > +1.0) ? 0.0 : dmag; … … 93 93 94 94 /* write smp header */ 95 if (! fits_write_header (argv[3], &header)) {95 if (!gfits_write_header (argv[3], &header)) { 96 96 fprintf (stderr, "ERROR: can't write output file header %s\n", argv[3]); 97 97 exit (1); -
trunk/Ohana/src/misc/src/ckfits.c
r7039 r7080 14 14 } 15 15 16 status = fits_read_header (argv[1], &header);16 status = gfits_read_header (argv[1], &header); 17 17 if (!status) { 18 18 fprintf (stdout, "%s: header\n", argv[1]); … … 20 20 } 21 21 22 Ntotal = fits_matrix_size (&header);22 Ntotal = gfits_matrix_size (&header); 23 23 24 24 Ndata = abs(header.bitpix / 8); -
trunk/Ohana/src/misc/src/cubefilter.c
r2417 r7080 41 41 42 42 /* load a header, setup output header, matrix */ 43 fits_read_header (filename[0], &head);44 fits_create_matrix (&head, &out);45 fits_convert_format (&head, &out, -32, 1.0, 0.0, FALSE);43 gfits_read_header (filename[0], &head); 44 gfits_create_matrix (&head, &out); 45 gfits_convert_format (&head, &out, -32, 1.0, 0.0, FALSE); 46 46 47 47 /* find size of temporary images */ … … 72 72 for (i = 0; i < Nfiles; i++) { 73 73 fprintf (stderr, "."); 74 if (! fits_read_header (filename[i], &tmphead[i])) {74 if (!gfits_read_header (filename[i], &tmphead[i])) { 75 75 fprintf (stderr, "trouble reading file %s\n", filename[i]); 76 76 exit (1); 77 77 } 78 fits_read_portion (filename[i], &tmpmatr[i], n*Npixin, Npixrd);78 gfits_read_portion (filename[i], &tmpmatr[i], n*Npixin, Npixrd); 79 79 tmphead[i].Naxis[0] = 1; 80 80 tmphead[i].Naxis[1] = Npixrd; 81 fits_convert_format (&tmphead[i], &tmpmatr[i], -32, 1.0, 0.0, FALSE);81 gfits_convert_format (&tmphead[i], &tmpmatr[i], -32, 1.0, 0.0, FALSE); 82 82 } 83 83 … … 98 98 for (i = 0; i < Nfiles; i++) { 99 99 fprintf (stderr, ","); 100 fits_free_header (&tmphead[i]);101 fits_free_matrix (&tmpmatr[i]);100 gfits_free_header (&tmphead[i]); 101 gfits_free_matrix (&tmpmatr[i]); 102 102 } 103 103 104 104 } 105 105 106 fits_write_header (argv[1], &head);107 fits_write_matrix (argv[1], &out);106 gfits_write_header (argv[1], &head); 107 gfits_write_matrix (argv[1], &out); 108 108 109 109 return (0); -
trunk/Ohana/src/misc/src/dastro.c
r2417 r7080 24 24 while (fscanf (stdin, "%s", filename) != EOF) { 25 25 26 status = fits_read_header (filename, &header);26 status = gfits_read_header (filename, &header); 27 27 if (!status) { 28 28 fprintf (stderr, "error opening file %s\n", filename); 29 29 continue; 30 30 } 31 status = fits_scan (&header, "rREF", "%s", 1, reffile);32 status &= fits_scan (&header, "X_O", "%lf", 1, &X_O);33 status &= fits_scan (&header, "X_X", "%lf", 1, &X_X);34 status &= fits_scan (&header, "X_Y", "%lf", 1, &X_Y);35 status &= fits_scan (&header, "Y_O", "%lf", 1, &Y_O);36 status &= fits_scan (&header, "Y_X", "%lf", 1, &Y_X);37 status &= fits_scan (&header, "Y_Y", "%lf", 1, &Y_Y);38 status &= fits_scan (&header, "dX", "%lf", 1, &dX);39 status &= fits_scan (&header, "dY", "%lf", 1, &dY);31 status = gfits_scan (&header, "rREF", "%s", 1, reffile); 32 status &= gfits_scan (&header, "X_O", "%lf", 1, &X_O); 33 status &= gfits_scan (&header, "X_X", "%lf", 1, &X_X); 34 status &= gfits_scan (&header, "X_Y", "%lf", 1, &X_Y); 35 status &= gfits_scan (&header, "Y_O", "%lf", 1, &Y_O); 36 status &= gfits_scan (&header, "Y_X", "%lf", 1, &Y_X); 37 status &= gfits_scan (&header, "Y_Y", "%lf", 1, &Y_Y); 38 status &= gfits_scan (&header, "dX", "%lf", 1, &dX); 39 status &= gfits_scan (&header, "dY", "%lf", 1, &dY); 40 40 if (!status) { 41 41 fprintf (stderr, "file missing rastro info: %s\n", filename); 42 fits_free_header (&header);42 gfits_free_header (&header); 43 43 continue; 44 44 } … … 58 58 } 59 59 60 status = fits_read_header (reffile, &refhead);60 status = gfits_read_header (reffile, &refhead); 61 61 if (!status) { 62 62 fprintf (stderr, "error opening file %s\n", reffile); 63 63 continue; 64 64 } 65 status &= fits_scan (&refhead, "RA_O", "%lf", 1, &RA_O);66 status &= fits_scan (&refhead, "RA_X", "%lf", 1, &RA_X);67 status &= fits_scan (&refhead, "RA_Y", "%lf", 1, &RA_Y);68 status &= fits_scan (&refhead, "DEC_O", "%lf", 1, &DEC_O);69 status &= fits_scan (&refhead, "DEC_X", "%lf", 1, &DEC_X);70 status &= fits_scan (&refhead, "DEC_Y", "%lf", 1, &DEC_Y);71 status &= fits_scan (&refhead, "dRA", "%lf", 1, &dRA);72 status &= fits_scan (&refhead, "dDEC", "%lf", 1, &dDEC);65 status &= gfits_scan (&refhead, "RA_O", "%lf", 1, &RA_O); 66 status &= gfits_scan (&refhead, "RA_X", "%lf", 1, &RA_X); 67 status &= gfits_scan (&refhead, "RA_Y", "%lf", 1, &RA_Y); 68 status &= gfits_scan (&refhead, "DEC_O", "%lf", 1, &DEC_O); 69 status &= gfits_scan (&refhead, "DEC_X", "%lf", 1, &DEC_X); 70 status &= gfits_scan (&refhead, "DEC_Y", "%lf", 1, &DEC_Y); 71 status &= gfits_scan (&refhead, "dRA", "%lf", 1, &dRA); 72 status &= gfits_scan (&refhead, "dDEC", "%lf", 1, &dDEC); 73 73 if (!status) { 74 74 fprintf (stderr, "file missing rastro info: %s\n", reffile); 75 fits_free_header (&header);76 fits_free_header (&refhead);75 gfits_free_header (&header); 76 gfits_free_header (&refhead); 77 77 continue; 78 78 } … … 94 94 ddec = sqrt(dDEC*dDEC + SQ(3600*dX*DEC_X) + SQ(3600*dY*DEC_Y)); 95 95 96 status &= fits_modify (&header, "RA_O", "%lf", 1, ra_o);97 status &= fits_modify (&header, "RA_X", "%le", 1, ra_x);98 status &= fits_modify (&header, "RA_Y", "%le", 1, ra_y);99 status &= fits_modify (&header, "DEC_O", "%lf", 1, dec_o);100 status &= fits_modify (&header, "DEC_X", "%le", 1, dec_x);101 status &= fits_modify (&header, "DEC_Y", "%le", 1, dec_y);102 status &= fits_modify (&header, "dRA", "%lf", 1, dra);103 status &= fits_modify (&header, "dDEC", "%lf", 1, ddec);96 status &= gfits_modify (&header, "RA_O", "%lf", 1, ra_o); 97 status &= gfits_modify (&header, "RA_X", "%le", 1, ra_x); 98 status &= gfits_modify (&header, "RA_Y", "%le", 1, ra_y); 99 status &= gfits_modify (&header, "DEC_O", "%lf", 1, dec_o); 100 status &= gfits_modify (&header, "DEC_X", "%le", 1, dec_x); 101 status &= gfits_modify (&header, "DEC_Y", "%le", 1, dec_y); 102 status &= gfits_modify (&header, "dRA", "%lf", 1, dra); 103 status &= gfits_modify (&header, "dDEC", "%lf", 1, ddec); 104 104 105 fits_write_header (filename, &header);106 fits_free_header (&header);107 fits_free_header (&refhead);105 gfits_write_header (filename, &header); 106 gfits_free_header (&header); 107 gfits_free_header (&refhead); 108 108 109 109 } -
trunk/Ohana/src/misc/src/fakecmp.c
r2417 r7080 11 11 12 12 if (argc != 4) { 13 fprintf (stderr, "USAGE: fits_insert (input) (template) (output)\n");13 fprintf (stderr, "USAGE: gfits_insert (input) (template) (output)\n"); 14 14 exit (2); 15 15 } … … 65 65 66 66 /* load header from image file */ 67 if (! fits_read_header (argv[1], &header)) {67 if (!gfits_read_header (argv[1], &header)) { 68 68 fprintf (stderr, "can't open fits file %s\n", argv[1]); 69 69 exit (1); … … 84 84 /* replace existing keywords, unless this is a COMMENT or HISTORY field */ 85 85 if (strncmp (keyword, "COMMENT ", 8) && strncmp (keyword, "HISTORY ", 8)) { 86 p = fits_header_field (&header, keyword, 1);86 p = gfits_header_field (&header, keyword, 1); 87 87 if (p != (char *) NULL) { 88 88 strncpy (p, line, 80); -
trunk/Ohana/src/misc/src/fakedist.c
r2417 r7080 49 49 read_datafiles (); 50 50 51 fits_modify (&header, "SFR", "%s", 1, "Star Formation Rate (Mo / Myr)");51 gfits_modify (&header, "SFR", "%s", 1, "Star Formation Rate (Mo / Myr)"); 52 52 for (i = 0; i < N_Av; i++) { 53 53 for (j = 0; j < N_dist; j++) { … … 71 71 /* mass is the total mass generated between 1 and 120 Mo for the NSTARS points in this matrix */ 72 72 sprintf (line, "SFR_%0d\0", n); 73 fits_modify (&header, line, "%lf", 1, mass / (age[n+1] - age[n]));73 gfits_modify (&header, line, "%lf", 1, mass / (age[n+1] - age[n])); 74 74 add_to_outmatrix (i, j, m, n, N_age, 0, mass); 75 75 add_to_outmatrix (i, j, m, n, N_age, 1, Av[i]); … … 95 95 */ 96 96 97 fits_write_header (fakefile, &header);98 fits_write_matrix (fakefile, &matrix);97 gfits_write_header (fakefile, &header); 98 gfits_write_matrix (fakefile, &matrix); 99 99 } 100 100 … … 279 279 header.extend = FALSE; 280 280 281 fits_create_header (&header);282 fits_create_matrix (&header, &matrix);283 284 fits_modify (&header, "PAR_1", "%s", 1, "mass (Mo)");281 gfits_create_header (&header); 282 gfits_create_matrix (&header, &matrix); 283 284 gfits_modify (&header, "PAR_1", "%s", 1, "mass (Mo)"); 285 285 for (i = 0; i < NMASS + 1; i++) { 286 286 sprintf (line, "PAR_1_%0d\0", i); 287 287 value = 10.0 / SQ(4.5 - DMASS*i); 288 fits_modify (&header, line, "%lf", 1, value);289 } 290 291 fits_modify (&header, "PAR_2", "%s", 1, "age out (Myr)");288 gfits_modify (&header, line, "%lf", 1, value); 289 } 290 291 gfits_modify (&header, "PAR_2", "%s", 1, "age out (Myr)"); 292 292 for (i = 0; i < N_age + 1; i++) { 293 293 sprintf (line, "PAR_2_%0d\0", i); 294 fits_modify (&header, line, "%lf", 1, age[i]);295 } 296 297 fits_modify (&header, "PAR_3", "%s", 1, "age in (Myr)");294 gfits_modify (&header, line, "%lf", 1, age[i]); 295 } 296 297 gfits_modify (&header, "PAR_3", "%s", 1, "age in (Myr)"); 298 298 for (i = 0; i < N_age + 1; i++) { 299 299 sprintf (line, "PAR_3_%0d\0", i); 300 fits_modify (&header, line, "%lf", 1, age[i]);301 } 302 303 fits_modify (&header, "PAR_4", "%s", 1, "alpha");300 gfits_modify (&header, line, "%lf", 1, age[i]); 301 } 302 303 gfits_modify (&header, "PAR_4", "%s", 1, "alpha"); 304 304 for (i = 0; i < N_alpha; i++) { 305 305 sprintf (line, "PAR_4_%0d\0", i); 306 fits_modify (&header, line, "%lf", 1, alpha[i]);307 } 308 309 fits_modify (&header, "PAR_5", "%s", 1, "dist (mag)");306 gfits_modify (&header, line, "%lf", 1, alpha[i]); 307 } 308 309 gfits_modify (&header, "PAR_5", "%s", 1, "dist (mag)"); 310 310 for (i = 0; i < N_dist; i++) { 311 311 sprintf (line, "PAR_5_%0d\0", i); 312 fits_modify (&header, line, "%lf", 1, dist[i]);313 } 314 315 fits_modify (&header, "PAR_6", "%s", 1, "A_V (mag)");312 gfits_modify (&header, line, "%lf", 1, dist[i]); 313 } 314 315 gfits_modify (&header, "PAR_6", "%s", 1, "A_V (mag)"); 316 316 for (i = 0; i < N_Av; i++) { 317 317 sprintf (line, "PAR_6_%0d\0", i); 318 fits_modify (&header, line, "%lf", 1, Av[i]);318 gfits_modify (&header, line, "%lf", 1, Av[i]); 319 319 } 320 320 … … 383 383 { 384 384 385 fits_read_header (colorfile, &UV_h);386 fits_read_matrix (colorfile, &UV_i);387 fits_read_header (magfile, &V_h);388 fits_read_matrix (magfile, &V_i);385 gfits_read_header (colorfile, &UV_h); 386 gfits_read_matrix (colorfile, &UV_i); 387 gfits_read_header (magfile, &V_h); 388 gfits_read_matrix (magfile, &V_i); 389 389 UV_NX = UV_h.Naxis[0]; 390 390 UV_NY = UV_h.Naxis[1]; … … 392 392 Vbuffer = (float *)V_i.buffer; 393 393 394 fits_scan (&UV_h, "RA_O", "%lf", 1, &lAo);395 fits_scan (&UV_h, "RA_X", "%lf", 1, &ldA);396 fits_scan (&UV_h, "DEC_O", "%lf", 1, &lMo);397 fits_scan (&UV_h, "DEC_Y", "%lf", 1, &ldM);398 399 fits_read_header (massfile, &mass_h);400 fits_read_matrix (massfile, &mass_i);401 fits_read_header (agefile, &age_h);402 fits_read_matrix (agefile, &age_i);394 gfits_scan (&UV_h, "RA_O", "%lf", 1, &lAo); 395 gfits_scan (&UV_h, "RA_X", "%lf", 1, &ldA); 396 gfits_scan (&UV_h, "DEC_O", "%lf", 1, &lMo); 397 gfits_scan (&UV_h, "DEC_Y", "%lf", 1, &ldM); 398 399 gfits_read_header (massfile, &mass_h); 400 gfits_read_matrix (massfile, &mass_i); 401 gfits_read_header (agefile, &age_h); 402 gfits_read_matrix (agefile, &age_i); 403 403 MS_NX = mass_h.Naxis[0]; 404 404 MS_NY = mass_h.Naxis[1]; … … 406 406 Abuffer = (float *)age_i.buffer; 407 407 408 fits_scan (&mass_h, "RA_O", "%lf", 1, &UV0);409 fits_scan (&mass_h, "RA_X", "%lf", 1, &DUV);410 fits_scan (&mass_h, "DEC_O", "%lf", 1, &V0);411 fits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV);408 gfits_scan (&mass_h, "RA_O", "%lf", 1, &UV0); 409 gfits_scan (&mass_h, "RA_X", "%lf", 1, &DUV); 410 gfits_scan (&mass_h, "DEC_O", "%lf", 1, &V0); 411 gfits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV); 412 412 } 413 413 -
trunk/Ohana/src/misc/src/fakedump.c
r2417 r7080 21 21 NAv = atof(argv[6]); 22 22 23 fits_read_header (argv[1], &in_h);24 fits_read_matrix (argv[1], &in_m);23 gfits_read_header (argv[1], &in_h); 24 gfits_read_matrix (argv[1], &in_m); 25 25 26 26 if (Nage > in_h.Naxis[2] - 1) { … … 52 52 out_h.unsign = FALSE; 53 53 out_h.extend = FALSE; 54 fits_create_header (&out_h);55 fits_create_matrix (&out_h, &out_m);54 gfits_create_header (&out_h); 55 gfits_create_matrix (&out_h, &out_m); 56 56 57 57 in = (float *)in_m.buffer; … … 65 65 } 66 66 67 fits_write_header (argv[2], &out_h);68 fits_write_matrix (argv[2], &out_m);67 gfits_write_header (argv[2], &out_h); 68 gfits_write_matrix (argv[2], &out_m); 69 69 } -
trunk/Ohana/src/misc/src/fakepop.c
r2417 r7080 37 37 term = (pow((MMAX/MMIN), -alpha) - 1.0); 38 38 39 fits_read_header (colorfile, &UV_h);40 fits_read_matrix (colorfile, &UV_i);41 fits_read_header (magfile, &V_h);42 fits_read_matrix (magfile, &V_i);43 44 fits_scan (&UV_h, "RA_O", "%lf", 1, &lAo);45 fits_scan (&UV_h, "RA_X", "%lf", 1, &ldA);46 fits_scan (&UV_h, "DEC_O", "%lf", 1, &lMo);47 fits_scan (&UV_h, "DEC_Y", "%lf", 1, &ldM);39 gfits_read_header (colorfile, &UV_h); 40 gfits_read_matrix (colorfile, &UV_i); 41 gfits_read_header (magfile, &V_h); 42 gfits_read_matrix (magfile, &V_i); 43 44 gfits_scan (&UV_h, "RA_O", "%lf", 1, &lAo); 45 gfits_scan (&UV_h, "RA_X", "%lf", 1, &ldA); 46 gfits_scan (&UV_h, "DEC_O", "%lf", 1, &lMo); 47 gfits_scan (&UV_h, "DEC_Y", "%lf", 1, &ldM); 48 48 49 49 gauss_init (); … … 63 63 if ((X >= 0) && (X < UV_h.Naxis[0]) && 64 64 (Y >= 0) && (Y < UV_h.Naxis[1])) { 65 uv = fits_get_matrix_value (&UV_i, X, Y);65 uv = gfits_get_matrix_value (&UV_i, X, Y); 66 66 if (uv != 100.0) { 67 67 uv += 0.7*Av; 68 v = fits_get_matrix_value (&V_i, X, Y) + d + Av;68 v = gfits_get_matrix_value (&V_i, X, Y) + d + Av; 69 69 noise = dVo*sqrt(1.0 + pow (10.0, (0.4*(v - dVref)))); 70 70 V = rnd_gauss (v, noise); -
trunk/Ohana/src/misc/src/fakestars.c
r4844 r7080 48 48 49 49 /* load header, open file */ 50 if (! fits_read_header (input, &header)) {50 if (!gfits_read_header (input, &header)) { 51 51 fprintf (stderr, "ERROR: can't read header for %s\n", input); 52 52 exit (1); … … 60 60 61 61 /* find expected number of stars */ 62 fits_scan (&header, "NSTARS", "%d", 1, &Nstar);62 gfits_scan (&header, "NSTARS", "%d", 1, &Nstar); 63 63 if (Nstar == 0) { 64 64 fprintf (stderr, "ERROR: can't get NSTARS from header\n"); … … 102 102 } 103 103 104 fits_write_header (output, &header);104 gfits_write_header (output, &header); 105 105 f = fopen (output, "a"); 106 106 if (f == NULL) { -
trunk/Ohana/src/misc/src/fhead.c
r7039 r7080 22 22 23 23 if (Extend) { 24 status = fits_read_Xheader (argv[i], &head, Nextend);24 status = gfits_read_Xheader (argv[i], &head, Nextend); 25 25 } else { 26 status = fits_read_header (argv[i], &head);26 status = gfits_read_header (argv[i], &head); 27 27 } 28 28 … … 33 33 } 34 34 35 p = fits_header_field (&head, "END", 1);35 p = gfits_header_field (&head, "END", 1); 36 36 nbytes = p - head.buffer; 37 37 fwrite (head.buffer, nbytes, 1, stdout); 38 fits_free_header (&head);38 gfits_free_header (&head); 39 39 40 40 } -
trunk/Ohana/src/misc/src/fields.c
r7039 r7080 22 22 while (fscanf (stdin, "%s", filename) != EOF) { 23 23 if (Extend) { 24 status = fits_read_Xheader (filename, &header, Nextend);24 status = gfits_read_Xheader (filename, &header, Nextend); 25 25 } else { 26 status = fits_read_header (filename, &header);26 status = gfits_read_header (filename, &header); 27 27 } 28 28 if (!status) { … … 34 34 for (i = 1; i < argc; i++) { 35 35 bzero (buffer, 1000); 36 status = fits_scan (&header, argv[i], "%s", 1, buffer);36 status = gfits_scan (&header, argv[i], "%s", 1, buffer); 37 37 if (!status) { 38 38 GotField = FALSE; … … 43 43 fprintf (stdout, "\n"); 44 44 45 fits_free_header (&header);45 gfits_free_header (&header); 46 46 } 47 47 -
trunk/Ohana/src/misc/src/fitdist.c
r2417 r7080 306 306 char line[1024]; 307 307 308 fits_read_header (massfile, &mass_h);309 fits_read_matrix (massfile, &mass_i);310 fits_read_header (agefile, &age_h);311 fits_read_matrix (agefile, &age_i);308 gfits_read_header (massfile, &mass_h); 309 gfits_read_matrix (massfile, &mass_i); 310 gfits_read_header (agefile, &age_h); 311 gfits_read_matrix (agefile, &age_i); 312 312 MS_NX = mass_h.Naxis[0]; 313 313 MS_NY = mass_h.Naxis[1]; … … 315 315 Abuffer = (float *)age_i.buffer; 316 316 317 fits_scan (&mass_h, "RA_O", "%lf", 1, &UV0);318 fits_scan (&mass_h, "RA_X", "%lf", 1, &DUV);319 fits_scan (&mass_h, "DEC_O", "%lf", 1, &V0);320 fits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV);321 322 fits_read_header (fakefile, &fake_h);323 fits_read_matrix (fakefile, &fake_m);317 gfits_scan (&mass_h, "RA_O", "%lf", 1, &UV0); 318 gfits_scan (&mass_h, "RA_X", "%lf", 1, &DUV); 319 gfits_scan (&mass_h, "DEC_O", "%lf", 1, &V0); 320 gfits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV); 321 322 gfits_read_header (fakefile, &fake_h); 323 gfits_read_matrix (fakefile, &fake_m); 324 324 Nmass = fake_h.Naxis[0]; 325 325 ALLOCATE (Mass, double, Nmass + 1); 326 326 for (i = 0; i < Nmass + 1; i++) { 327 327 sprintf (line, "PAR_1_%0d\0", i); 328 fits_scan (&fake_h, line, "%lf", 1, &Mass[i]);328 gfits_scan (&fake_h, line, "%lf", 1, &Mass[i]); 329 329 } 330 330 … … 332 332 for (i = 0; i < N_age + 1; i++) { 333 333 sprintf (line, "PAR_2_%0d\0", i); 334 fits_scan (&fake_h, line, "%lf", 1, &age[i]);334 gfits_scan (&fake_h, line, "%lf", 1, &age[i]); 335 335 } 336 336 … … 338 338 for (i = 0; i < N_alpha; i++) { 339 339 sprintf (line, "PAR_4_%0d\0", i); 340 fits_scan (&fake_h, line, "%lf", 1, &alpha[i]);340 gfits_scan (&fake_h, line, "%lf", 1, &alpha[i]); 341 341 } 342 342 … … 344 344 for (i = 0; i < N_dist; i++) { 345 345 sprintf (line, "PAR_5_%0d\0", i); 346 fits_scan (&fake_h, line, "%lf", 1, &dist[i]);346 gfits_scan (&fake_h, line, "%lf", 1, &dist[i]); 347 347 } 348 348 … … 350 350 for (i = 0; i < N_Av; i++) { 351 351 sprintf (line, "PAR_6_%0d\0", i); 352 fits_scan (&fake_h, line, "%lf", 1, &Av[i]);352 gfits_scan (&fake_h, line, "%lf", 1, &Av[i]); 353 353 } 354 354 -
trunk/Ohana/src/misc/src/fits_insert.c
r7039 r7080 35 35 36 36 if (argc != 3) { 37 fprintf (stderr, "USAGE: fits_insert (image.fits) (header.hdx) [-X N] [-comment N line]\n");37 fprintf (stderr, "USAGE: gfits_insert (image.fits) (header.hdx) [-X N] [-comment N line]\n"); 38 38 exit (2); 39 39 } 40 40 41 41 /* load header from image file */ 42 Nbytes = fits_read_Xheader (argv[1], &header, EXTNUM);42 Nbytes = gfits_read_Xheader (argv[1], &header, EXTNUM); 43 43 if (!Nbytes) { 44 44 fprintf (stderr, "can't open fits file %s\n", argv[1]); … … 61 61 snprintf (line, 81, "COMMENT %-71s", Cline); 62 62 63 p = fits_header_field (&header, "COMMENT", Cnumber);63 p = gfits_header_field (&header, "COMMENT", Cnumber); 64 64 if (p != (char *) NULL) { 65 65 strncpy (p, line, 80); … … 80 80 /* replace existing keywords, unless this is a COMMENT or HISTORY field */ 81 81 if (strncmp (keyword, "COMMENT ", 8) && strncmp (keyword, "HISTORY ", 8)) { 82 p = fits_header_field (&header, keyword, 1);82 p = gfits_header_field (&header, keyword, 1); 83 83 if (p != (char *) NULL) { 84 84 strncpy (p, line, 80); … … 110 110 if (p == (char *) NULL) { 111 111 fprintf (stdout, "no more reserved spaces, trying for extra space in block\n"); 112 p = fits_header_field (&header, "END", 1);112 p = gfits_header_field (&header, "END", 1); 113 113 if (p == (char *) NULL) { 114 114 fprintf (stderr, "header is missing END\n"); -
trunk/Ohana/src/misc/src/fiximg.c
r7039 r7080 15 15 16 16 /* read catalog header */ 17 if (! fits_read_header (argv[1], &header)) {17 if (!gfits_read_header (argv[1], &header)) { 18 18 fprintf (stderr, "error loading file %s\n", argv[1]); 19 19 exit (1); 20 20 } 21 if (! fits_read_matrix (argv[1], &matrix)) {21 if (!gfits_read_matrix (argv[1], &matrix)) { 22 22 fprintf (stderr, "error loading file %s\n", argv[1]); 23 23 exit (1); … … 25 25 26 26 N = 0; 27 while ( fits_header_field (&header, "COMMENT", 1) != (char *) NULL) {27 while (gfits_header_field (&header, "COMMENT", 1) != (char *) NULL) { 28 28 N++; 29 fits_delete (&header, "COMMENT", 1);29 gfits_delete (&header, "COMMENT", 1); 30 30 } 31 31 fprintf (stderr, "deleted %d comments\n", N); 32 p = fits_header_field (&header, "END", 1);32 p = gfits_header_field (&header, "END", 1); 33 33 for (i = 3; i < header.size - (int) (p - header.buffer); i++) { 34 34 p[i] = ' '; … … 36 36 37 37 /* read catalog header */ 38 if (! fits_write_header (argv[2], &header)) {38 if (!gfits_write_header (argv[2], &header)) { 39 39 fprintf (stderr, "error writing file %s\n", argv[2]); 40 40 exit (1); 41 41 } 42 if (! fits_write_matrix (argv[2], &matrix)) {42 if (!gfits_write_matrix (argv[2], &matrix)) { 43 43 fprintf (stderr, "error writing file %s\n", argv[2]); 44 44 exit (1); -
trunk/Ohana/src/misc/src/fixsimple.c
r3466 r7080 14 14 15 15 /* read header */ 16 if (! fits_read_header (argv[1], &header)) {16 if (!gfits_read_header (argv[1], &header)) { 17 17 fprintf (stderr, "error loading file %s\n", argv[1]); 18 18 exit (1); … … 20 20 21 21 N = 0; 22 while ( fits_header_field (&header, "COMMENT", 1) != (char *) NULL) {22 while (gfits_header_field (&header, "COMMENT", 1) != (char *) NULL) { 23 23 N++; 24 fits_delete (&header, "COMMENT", 1);24 gfits_delete (&header, "COMMENT", 1); 25 25 } 26 26 fprintf (stderr, "deleted %d comments\n", N); 27 p = fits_header_field (&header, "END", 1);27 p = gfits_header_field (&header, "END", 1); 28 28 for (i = 3; i < header.size - (int) (p - header.buffer); i++) { 29 29 p[i] = ' '; … … 31 31 32 32 /* read catalog header */ 33 if (! fits_write_header (argv[2], &header)) {33 if (!gfits_write_header (argv[2], &header)) { 34 34 fprintf (stderr, "error writing file %s\n", argv[2]); 35 35 exit (1); 36 36 } 37 if (! fits_write_matrix (argv[2], &matrix)) {37 if (!gfits_write_matrix (argv[2], &matrix)) { 38 38 fprintf (stderr, "error writing file %s\n", argv[2]); 39 39 exit (1); -
trunk/Ohana/src/misc/src/ftable.c
r7039 r7080 83 83 84 84 Binary = FALSE; 85 fits_scan (table.header, "XTENSION", "%s", 1, ttype);85 gfits_scan (table.header, "XTENSION", "%s", 1, ttype); 86 86 if (!strcmp (ttype, "BINTABLE")) Binary = TRUE; 87 87 88 88 /* load table data array */ 89 Nbytes = fits_matrix_size (table.header);89 Nbytes = gfits_matrix_size (table.header); 90 90 ALLOCATE (table.buffer, char, Nbytes); 91 91 Nread = fread (table.buffer, sizeof (char), Nbytes, f); … … 96 96 table.size = Nbytes; 97 97 98 fits_scan (table.header, "NAXIS1", "%d", 1, &Nx);99 fits_scan (table.header, "NAXIS2", "%d", 1, &Ny);98 gfits_scan (table.header, "NAXIS1", "%d", 1, &Nx); 99 gfits_scan (table.header, "NAXIS2", "%d", 1, &Ny); 100 100 101 101 /* print a column */ … … 125 125 char field[16], type[16], format[16], *line; 126 126 127 fits_scan (header, "NAXIS1", "%d", 1, &Nx);128 fits_scan (header, "TFIELDS", "%d", 1, &Nfields);127 gfits_scan (header, "NAXIS1", "%d", 1, &Nx); 128 gfits_scan (header, "TFIELDS", "%d", 1, &Nfields); 129 129 130 130 /* assume we have one space per byte column */ … … 134 134 for (i = 1; i <= Nfields; i++) { 135 135 sprintf (field, "TFORM%d", i); 136 fits_scan (header, field, "%s", 1, format); /* get field format */137 fits_table_format (format, type, &Nvals, &Nbytes); /* convert to c-style */136 gfits_scan (header, field, "%s", 1, format); /* get field format */ 137 gfits_table_format (format, type, &Nvals, &Nbytes); /* convert to c-style */ 138 138 memcpy (&line[Oout], &row[Oin], Nvals*Nbytes); 139 139 for (j = 0; j < Nvals*Nbytes; j++) if (line[Oout+j] == 0) line[Oout+j] = ' '; … … 170 170 } 171 171 172 if (! fits_fread_header (f, &header)) {172 if (!gfits_fread_header (f, &header)) { 173 173 fprintf (stderr, "can't read header from %s\n", file); 174 174 exit (1); … … 176 176 177 177 extend = FALSE; 178 fits_scan (&header, "EXTEND", "%t", 1, &extend);178 gfits_scan (&header, "EXTEND", "%t", 1, &extend); 179 179 if (!extend) { 180 180 fprintf (stderr, "no extensions listed in file\n"); 181 181 } 182 182 183 Nbytes = fits_matrix_size (&header);183 Nbytes = gfits_matrix_size (&header); 184 184 fseek (f, Nbytes, SEEK_CUR); 185 185 186 while ( fits_fread_header (f, &header)) {187 fits_scan (&header, "EXTNAME", "%s", 1, extname);188 fits_scan (&header, "NAXIS1", "%d", 1, &Nx);189 fits_scan (&header, "NAXIS2", "%d", 1, &Ny);186 while (gfits_fread_header (f, &header)) { 187 gfits_scan (&header, "EXTNAME", "%s", 1, extname); 188 gfits_scan (&header, "NAXIS1", "%d", 1, &Nx); 189 gfits_scan (&header, "NAXIS2", "%d", 1, &Ny); 190 190 fprintf (stdout, "%-30s %6d %6d\n", extname, Nx, Ny); 191 191 192 Nbytes = fits_matrix_size (&header);192 Nbytes = gfits_matrix_size (&header); 193 193 fseek (f, Nbytes, SEEK_CUR); 194 194 } … … 211 211 212 212 /* read PHU */ 213 if (! fits_fread_header (f, header)) {213 if (!gfits_fread_header (f, header)) { 214 214 fprintf (stderr, "can't read header from %s\n", file); 215 215 exit (1); … … 218 218 /* check for existence of extensions */ 219 219 extend = FALSE; 220 fits_scan (header, "EXTEND", "%t", 1, &extend);220 gfits_scan (header, "EXTEND", "%t", 1, &extend); 221 221 if (!extend) { 222 222 fprintf (stderr, "no extensions listed in file\n"); … … 224 224 225 225 /* skip first data array */ 226 Nbytes = fits_matrix_size (header);226 Nbytes = gfits_matrix_size (header); 227 227 fseek (f, Nbytes, SEEK_CUR); 228 228 229 229 /* search for extension of interest */ 230 for (i = 0; fits_fread_Theader (f, header); i++) {230 for (i = 0; gfits_fread_Theader (f, header); i++) { 231 231 if ((Extname == NULL) && (Nextend == i)) return (f); 232 232 233 fits_scan (header, "EXTNAME", "%s", 1, extname);233 gfits_scan (header, "EXTNAME", "%s", 1, extname); 234 234 if ((Extname != NULL) && (!strcmp (Extname, extname))) return (f); 235 235 236 Nbytes = fits_matrix_size (header);236 Nbytes = gfits_matrix_size (header); 237 237 fseek (f, Nbytes, SEEK_CUR); 238 fits_free_header (header);238 gfits_free_header (header); 239 239 } 240 240 fclose (f); … … 255 255 data = table[0].buffer; 256 256 257 fits_scan (header, "TFIELDS", "%d", 1, &Nfields);258 fits_scan (header, "NAXIS1", "%d", 1, &Nx);259 fits_scan (header, "NAXIS2", "%d", 1, &Ny);257 gfits_scan (header, "TFIELDS", "%d", 1, &Nfields); 258 gfits_scan (header, "NAXIS1", "%d", 1, &Nx); 259 gfits_scan (header, "NAXIS2", "%d", 1, &Ny); 260 260 261 261 if (Colname != (char *) NULL) { … … 263 263 for (i = 1; i <= Nfields; i++) { 264 264 sprintf (field, "TTYPE%d", i); 265 fits_scan (header, field, "%s", 1, type);265 gfits_scan (header, field, "%s", 1, type); 266 266 if (!strcmp (type, Colname)) { 267 267 Column = i; … … 285 285 for (i = 1; i < Column; i++) { 286 286 sprintf (field, "TFORM%d", i); 287 fits_scan (header, field, "%s", 1, format);287 gfits_scan (header, field, "%s", 1, format); 288 288 if (Binary) 289 fits_table_format (format, type, &Nv, &Nb);289 gfits_table_format (format, type, &Nv, &Nb); 290 290 else 291 fits_bintable_format (format, type, &Nv, &Nb);291 gfits_bintable_format (format, type, &Nv, &Nb); 292 292 Nstart += Nv*Nb; 293 293 } 294 294 295 295 sprintf (field, "TFORM%d", Column); 296 fits_scan (header, field, "%s", 1, format);296 gfits_scan (header, field, "%s", 1, format); 297 297 if (Binary) 298 fits_bintable_format (format, type, &Nv, &Nb); /* convert to c-style */298 gfits_bintable_format (format, type, &Nv, &Nb); /* convert to c-style */ 299 299 else 300 fits_table_format (format, type, &Nv, &Nb); /* convert to c-style */300 gfits_table_format (format, type, &Nv, &Nb); /* convert to c-style */ 301 301 302 302 ALLOCATE (line, char, Nv*Nb + 1); 303 303 304 304 if (Binary) { 305 if (! fits_get_bintable_column_type (header, Colname, type, &Nv)) return;305 if (!gfits_get_bintable_column_type (header, Colname, type, &Nv)) return; 306 306 if (!strcmp (type, "char")) return; 307 if (! fits_get_bintable_column (header, table, Colname, (void **)&data)) return;307 if (!gfits_get_bintable_column (header, table, Colname, (void **)&data)) return; 308 308 309 309 for (i = 0; i < Ny; i++) { … … 344 344 char field[16], type[80], comment[80], format[80], unit[80], null[80], nval[80]; 345 345 346 fits_scan (header, "TFIELDS", "%d", 1, &Nfields);346 gfits_scan (header, "TFIELDS", "%d", 1, &Nfields); 347 347 348 348 for (i = 1; i <= Nfields; i++) { 349 349 sprintf (field, "TTYPE%d", i); 350 fits_scan (header, field, "%s", 1, type);351 fits_scan (header, field, "%C", 1, comment);350 gfits_scan (header, field, "%s", 1, type); 351 gfits_scan (header, field, "%C", 1, comment); 352 352 sprintf (field, "TFORM%d", i); 353 fits_scan (header, field, "%s", 1, format);353 gfits_scan (header, field, "%s", 1, format); 354 354 sprintf (field, "TUNIT%d", i); 355 fits_scan (header, field, "%s", 1, unit);355 gfits_scan (header, field, "%s", 1, unit); 356 356 sprintf (field, "TNULL%d", i); 357 if (! fits_scan (header, field, "%s", 1, null)) strcpy (null, "none");357 if (!gfits_scan (header, field, "%s", 1, null)) strcpy (null, "none"); 358 358 sprintf (field, "TNVAL%d", i); 359 if (! fits_scan (header, field, "%s", 1, nval)) strcpy (nval, "none");359 if (!gfits_scan (header, field, "%s", 1, nval)) strcpy (nval, "none"); 360 360 361 361 fprintf (stdout, "%-18s %-32s %-18s %-6s %-8s %-8s\n", -
trunk/Ohana/src/misc/src/gtfringetable.c
r7039 r7080 2 2 # include <gfitsio.h> 3 3 4 static char *version = "gtfringetable $Revision: 1. 4$";4 static char *version = "gtfringetable $Revision: 1.5 $"; 5 5 6 6 void get_version (int argc, char **argv, char *version); … … 30 30 } 31 31 table.header = &header; 32 if (! fits_fread_ftable (f, &table, argv[2])) {32 if (!gfits_fread_ftable (f, &table, argv[2])) { 33 33 fprintf (stderr, "error reading table %s\n", argv[2]); 34 34 exit (1); … … 36 36 fclose (f); 37 37 38 fits_get_table_column (&header, &table, "X_MIN", (void **) &xmin);39 fits_get_table_column (&header, &table, "X_MAX", (void **) &xmax);40 fits_get_table_column (&header, &table, "Y_MIN", (void **) &ymin);41 fits_get_table_column (&header, &table, "Y_MAX", (void **) &ymax);38 gfits_get_table_column (&header, &table, "X_MIN", (void **) &xmin); 39 gfits_get_table_column (&header, &table, "X_MAX", (void **) &xmax); 40 gfits_get_table_column (&header, &table, "Y_MIN", (void **) &ymin); 41 gfits_get_table_column (&header, &table, "Y_MAX", (void **) &ymax); 42 42 43 43 for (i = 0; i < header.Naxis[1]; i++) { -
trunk/Ohana/src/misc/src/magtoage.c
r2417 r7080 57 57 */ 58 58 59 fits_read_header (argv[1], &mass_h);60 fits_read_matrix (argv[1], &mass_i);61 fits_read_header (argv[2], &age_h);62 fits_read_matrix (argv[2], &age_i);63 64 fits_scan (&mass_h, "RA_O", "%lf", 1, &UV0);65 fits_scan (&mass_h, "RA_X", "%lf", 1, &DUV);66 fits_scan (&mass_h, "DEC_O", "%lf", 1, &V0);67 fits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV);59 gfits_read_header (argv[1], &mass_h); 60 gfits_read_matrix (argv[1], &mass_i); 61 gfits_read_header (argv[2], &age_h); 62 gfits_read_matrix (argv[2], &age_i); 63 64 gfits_scan (&mass_h, "RA_O", "%lf", 1, &UV0); 65 gfits_scan (&mass_h, "RA_X", "%lf", 1, &DUV); 66 gfits_scan (&mass_h, "DEC_O", "%lf", 1, &V0); 67 gfits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV); 68 68 69 69 ALLOCATE (Ages, double *, (Ntry+2)); … … 86 86 for (x = 0; x < age_h.Naxis[0]; x++) { 87 87 for (y = 0; y < age_h.Naxis[1]; y++) { 88 mass = fits_get_matrix_value (&mass_i, x, y);88 mass = gfits_get_matrix_value (&mass_i, x, y); 89 89 if (mass == 0.0) continue; 90 age = fits_get_matrix_value (&age_i, x, y);90 age = gfits_get_matrix_value (&age_i, x, y); 91 91 uv = x*DUV + UV0 + 0.7*Av; 92 92 v = y*DV + V0 + Av + d; … … 125 125 if ((x > 0) && (x < mass_h.Naxis[0]) && 126 126 (y > 0) && (y < mass_h.Naxis[1])) { 127 mass = fits_get_matrix_value (&mass_i, x, y);127 mass = gfits_get_matrix_value (&mass_i, x, y); 128 128 if (mass > 0.0) { 129 age = fits_get_matrix_value (&age_i, x, y);129 age = gfits_get_matrix_value (&age_i, x, y); 130 130 j = (age - lAo) / ldA; 131 131 if ((j >= 0) && (j < NAGE)) -
trunk/Ohana/src/misc/src/magtomass.c
r2417 r7080 85 85 Ntry = atof (argv[5]); 86 86 87 fits_read_header (argv[1], &mass_h);88 fits_read_matrix (argv[1], &mass_i);89 fits_read_header (argv[2], &age_h);90 fits_read_matrix (argv[2], &age_i);91 92 fits_scan (&mass_h, "RA_O", "%lf", 1, &UV0);93 fits_scan (&mass_h, "RA_X", "%lf", 1, &DUV);94 fits_scan (&mass_h, "DEC_O", "%lf", 1, &V0);95 fits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV);87 gfits_read_header (argv[1], &mass_h); 88 gfits_read_matrix (argv[1], &mass_i); 89 gfits_read_header (argv[2], &age_h); 90 gfits_read_matrix (argv[2], &age_i); 91 92 gfits_scan (&mass_h, "RA_O", "%lf", 1, &UV0); 93 gfits_scan (&mass_h, "RA_X", "%lf", 1, &DUV); 94 gfits_scan (&mass_h, "DEC_O", "%lf", 1, &V0); 95 gfits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV); 96 96 Mbuffer = (float *)mass_i.buffer; 97 97 Abuffer = (float *)age_i.buffer; … … 125 125 if ((x > 0) && (x < mass_h.Naxis[0]) && (y > 0) && (y < mass_h.Naxis[1])) { 126 126 mass = Mbuffer[x + NX*y]; 127 /* mass = fits_get_matrix_value (&mass_i, x, y); */127 /* mass = gfits_get_matrix_value (&mass_i, x, y); */ 128 128 if (mass > 0.0) { 129 129 age = Abuffer[x + NX*y]; … … 138 138 /* 139 139 140 ** age = fits_get_matrix_value (&age_i, x, y); **140 ** age = gfits_get_matrix_value (&age_i, x, y); ** 141 141 I = MAX (MIN ((log10(age) - lAo) / ldA, NAGE - 1), 0); 142 142 if (NEWWAY) { … … 153 153 if ((x > 0) && (x < mass_h.Naxis[0]) && (y > 0) && (y < mass_h.Naxis[1])) { 154 154 mass = Mbuffer[x + NX*y]; 155 ** mass = fits_get_matrix_value (&mass_i, x, y); **155 ** mass = gfits_get_matrix_value (&mass_i, x, y); ** 156 156 if (mass > 0.0) { 157 157 age = Abuffer[x + NX*y]; 158 ** age = fits_get_matrix_value (&age_i, x, y); **158 ** age = gfits_get_matrix_value (&age_i, x, y); ** 159 159 i = MAX (MIN ((log10(age) - lAo) / ldA, NAGE - 1), 0); 160 160 if (NEWWAY) { -
trunk/Ohana/src/misc/src/medianfilter.c
r7039 r7080 45 45 46 46 /* load a header, setup output header, matrix */ 47 fits_read_header (filename[0], &head);48 fits_create_matrix (&head, &out);49 fits_convert_format (&head, &out, -32, 1.0, 0.0, FALSE);47 gfits_read_header (filename[0], &head); 48 gfits_create_matrix (&head, &out); 49 gfits_convert_format (&head, &out, -32, 1.0, 0.0, FALSE); 50 50 51 51 /* find size of temporary images */ … … 76 76 for (i = 0; i < Nfiles; i++) { 77 77 fprintf (stderr, "."); 78 if (! fits_read_header (filename[i], &tmphead[i])) {78 if (!gfits_read_header (filename[i], &tmphead[i])) { 79 79 fprintf (stderr, "trouble reading file %s\n", filename[i]); 80 80 exit (1); 81 81 } 82 fits_read_portion (filename[i], &tmpmatr[i], n*Npixin, Npixrd);82 gfits_read_portion (filename[i], &tmpmatr[i], n*Npixin, Npixrd); 83 83 tmphead[i].Naxis[0] = 1; 84 84 tmphead[i].Naxis[1] = Npixrd; 85 fits_convert_format (&tmphead[i], &tmpmatr[i], -32, 1.0, 0.0, FALSE);85 gfits_convert_format (&tmphead[i], &tmpmatr[i], -32, 1.0, 0.0, FALSE); 86 86 } 87 87 … … 102 102 for (i = 0; i < Nfiles; i++) { 103 103 fprintf (stderr, ","); 104 fits_free_header (&tmphead[i]);105 fits_free_matrix (&tmpmatr[i]);104 gfits_free_header (&tmphead[i]); 105 gfits_free_matrix (&tmpmatr[i]); 106 106 } 107 107 108 108 } 109 109 110 fits_write_header (argv[1], &head);111 fits_write_matrix (argv[1], &out);110 gfits_write_header (argv[1], &head); 111 gfits_write_matrix (argv[1], &out); 112 112 113 113 return (0); -
trunk/Ohana/src/misc/src/mefhead.c
r7039 r7080 36 36 37 37 /* read PHU */ 38 status = fits_fread_header (g, &header);38 status = gfits_fread_header (g, &header); 39 39 if (!status) { 40 40 fprintf (stderr, "error: can't read primary header unit\n"); … … 42 42 } 43 43 /* skip matrix */ 44 Nmatrix = fits_matrix_size (&header);44 Nmatrix = gfits_matrix_size (&header); 45 45 fseek (g, Nmatrix, SEEK_CUR); 46 46 47 47 /* write PHU */ 48 fits_modify (&header, "NAXIS", "%d", 1, 0);49 status = fits_fwrite_header (f, &header);48 gfits_modify (&header, "NAXIS", "%d", 1, 0); 49 status = gfits_fwrite_header (f, &header); 50 50 if (!status) { 51 51 fprintf (stderr, "error: can't write primary header unit\n"); … … 54 54 55 55 /* check if NEXTEND is accurate */ 56 fits_scan (&header, "NEXTEND", "%d", 1, &NEXTEND);56 gfits_scan (&header, "NEXTEND", "%d", 1, &NEXTEND); 57 57 58 58 Nextend = 0; … … 60 60 61 61 /* read header */ 62 status = fits_fread_header (g, &header);62 status = gfits_fread_header (g, &header); 63 63 if (!status) break; 64 64 65 65 /* skip matrix */ 66 Nmatrix = fits_matrix_size (&header);66 Nmatrix = gfits_matrix_size (&header); 67 67 fseek (g, Nmatrix, SEEK_CUR); 68 68 69 69 /* write header */ 70 fits_modify (&header, "NAXIS", "%d", 1, 0);71 status = fits_fwrite_header (f, &header);70 gfits_modify (&header, "NAXIS", "%d", 1, 0); 71 status = gfits_fwrite_header (f, &header); 72 72 if (!status) { 73 73 fprintf (stderr, "error: can't write header unit %d\n", Nextend); … … 75 75 } 76 76 Nextend ++; 77 fits_free_header (&header);77 gfits_free_header (&header); 78 78 } 79 79 -
trunk/Ohana/src/misc/src/mkfringetable.c
r7039 r7080 2 2 # include <gfitsio.h> 3 3 4 static char *version = "mkfringetable $Revision: 1. 7$";4 static char *version = "mkfringetable $Revision: 1.8 $"; 5 5 6 6 void get_version (int argc, char **argv, char *version); … … 77 77 78 78 /* make phu header (no matrix needed) */ 79 fits_init_header (&header);79 gfits_init_header (&header); 80 80 header.extend = TRUE; 81 fits_create_header (&header);82 fits_create_matrix (&header, &matrix);81 gfits_create_header (&header); 82 gfits_create_matrix (&header, &matrix); 83 83 84 fits_modify (&header, "NEXTEND", "%d", 1, Nccd);85 fits_modify (&header, "DATE", "%s", 1, datestr);86 fits_modify (&header, "TVSTART", "%s", 1, start);87 fits_modify (&header, "TVSTOP", "%s", 1, stop);88 fits_modify (&header, "VERSION", "%s", 1, version);89 fits_modify (&header, CameraKeyword, "%s", 1, camera);90 fits_modify (&header, ImagetypeKeyword, "%s", 1, "FRPTS");91 fits_modify (&header, FilterKeyword, "%s", 1, filter);92 93 fits_fwrite_header (g, &header);94 fits_fwrite_matrix (g, &matrix);84 gfits_modify (&header, "NEXTEND", "%d", 1, Nccd); 85 gfits_modify (&header, "DATE", "%s", 1, datestr); 86 gfits_modify (&header, "TVSTART", "%s", 1, start); 87 gfits_modify (&header, "TVSTOP", "%s", 1, stop); 88 gfits_modify (&header, "VERSION", "%s", 1, version); 89 gfits_modify (&header, CameraKeyword, "%s", 1, camera); 90 gfits_modify (&header, ImagetypeKeyword, "%s", 1, "FRPTS"); 91 gfits_modify (&header, FilterKeyword, "%s", 1, filter); 92 93 gfits_fwrite_header (g, &header); 94 gfits_fwrite_matrix (g, &matrix); 95 95 96 96 ALLOCATE (xmin, double, 1); … … 144 144 145 145 /* create table header */ 146 fits_create_table_header (&theader, "TABLE", extname);146 gfits_create_table_header (&theader, "TABLE", extname); 147 147 148 148 /* add current date/time to header */ 149 fits_modify (&theader, "DATE", "%s", 1, datestr);150 fits_modify (&theader, "TVSTART", "%s", 1, start);151 fits_modify (&theader, "TVSTOP", "%s", 1, stop);152 fits_modify (&header, CameraKeyword, "%s", 1, camera);153 fits_modify (&header, ImagetypeKeyword, "%s", 1, "FRPTS");154 fits_modify (&header, FilterKeyword, "%s", 1, filter);155 fits_modify (&header, CCDnumKeyword, "%s", 1, extname);149 gfits_modify (&theader, "DATE", "%s", 1, datestr); 150 gfits_modify (&theader, "TVSTART", "%s", 1, start); 151 gfits_modify (&theader, "TVSTOP", "%s", 1, stop); 152 gfits_modify (&header, CameraKeyword, "%s", 1, camera); 153 gfits_modify (&header, ImagetypeKeyword, "%s", 1, "FRPTS"); 154 gfits_modify (&header, FilterKeyword, "%s", 1, filter); 155 gfits_modify (&header, CCDnumKeyword, "%s", 1, extname); 156 156 157 157 158 158 /* define table layout */ 159 fits_define_table_column (&theader, "F6.1", "X_MIN", "min couple x", "pixels");160 fits_define_table_column (&theader, "F6.1", "Y_MIN", "min couple y", "pixels");161 fits_define_table_column (&theader, "F6.1", "X_MAX", "max couple x", "pixels");162 fits_define_table_column (&theader, "F6.1", "Y_MAX", "max couple y", "pixels");159 gfits_define_table_column (&theader, "F6.1", "X_MIN", "min couple x", "pixels"); 160 gfits_define_table_column (&theader, "F6.1", "Y_MIN", "min couple y", "pixels"); 161 gfits_define_table_column (&theader, "F6.1", "X_MAX", "max couple x", "pixels"); 162 gfits_define_table_column (&theader, "F6.1", "Y_MAX", "max couple y", "pixels"); 163 163 164 164 /* create table, add data values */ 165 fits_create_table (&theader, &table);165 gfits_create_table (&theader, &table); 166 166 167 167 for (j = 0; j < Npts; j++) { 168 row = fits_table_print (&table, xmin[j], ymin[j], xmax[j], ymax[j]);169 fits_add_rows (&table, row, 1, strlen (row));170 } 171 172 fits_fwrite_Theader (g, &theader);173 fits_fwrite_table (g, &table);168 row = gfits_table_print (&table, xmin[j], ymin[j], xmax[j], ymax[j]); 169 gfits_add_rows (&table, row, 1, strlen (row)); 170 } 171 172 gfits_fwrite_Theader (g, &theader); 173 gfits_fwrite_table (g, &table); 174 174 } 175 175 exit (0); -
trunk/Ohana/src/misc/src/posscontour.c
r7039 r7080 54 54 } 55 55 56 status = fits_read_header (argv[1], &header);56 status = gfits_read_header (argv[1], &header); 57 57 if (!status) { 58 58 fprintf (stderr, "error opening file %s\n", argv[1]); … … 60 60 } 61 61 62 fits_scan (&header, "NAXIS1", "%lf", 1, &NX);63 fits_scan (&header, "NAXIS2", "%lf", 1, &NY);64 fits_scan (&header, "PLTRAH", "%lf", 1, &PLTRAH);65 fits_scan (&header, "PLTRAM", "%lf", 1, &PLTRAM);66 fits_scan (&header, "PLTRAS", "%lf", 1, &PLTRAS);67 fits_scan (&header, "PLTDECD", "%lf", 1, &PLTDECD);68 fits_scan (&header, "PLTDECM", "%lf", 1, &PLTDECM);69 fits_scan (&header, "PLTDECS", "%lf", 1, &PLTDECS);70 fits_scan (&header, "PLTDECSN", "%s", 1, &PLTDECSN);71 fits_scan (&header, "CNPIX1", "%lf", 1, &CNPIX1);72 fits_scan (&header, "CNPIX2", "%lf", 1, &CNPIX2);73 fits_scan (&header, "XPIXELSZ", "%lf", 1, &XPIXELSZ);74 fits_scan (&header, "YPIXELSZ", "%lf", 1, &YPIXELSZ);75 fits_scan (&header, "PPO1", "%lf", 1, &PPO1);76 fits_scan (&header, "PPO2", "%lf", 1, &PPO2);77 fits_scan (&header, "PPO3", "%lf", 1, &PPO3);78 fits_scan (&header, "PPO4", "%lf", 1, &PPO4);79 fits_scan (&header, "PPO5", "%lf", 1, &PPO5);80 fits_scan (&header, "PPO6", "%lf", 1, &PPO6);81 fits_scan (&header, "AMDX1", "%lf", 1, &AMDX1);82 fits_scan (&header, "AMDX2", "%lf", 1, &AMDX2);83 fits_scan (&header, "AMDX3", "%lf", 1, &AMDX3);84 fits_scan (&header, "AMDX4", "%lf", 1, &AMDX4);85 fits_scan (&header, "AMDX5", "%lf", 1, &AMDX5);86 fits_scan (&header, "AMDX6", "%lf", 1, &AMDX6);87 fits_scan (&header, "AMDX7", "%lf", 1, &AMDX7);88 fits_scan (&header, "AMDX8", "%lf", 1, &AMDX8);89 fits_scan (&header, "AMDX9", "%lf", 1, &AMDX9);90 fits_scan (&header, "AMDX10", "%lf", 1, &AMDX10);91 fits_scan (&header, "AMDX11", "%lf", 1, &AMDX11);92 fits_scan (&header, "AMDX12", "%lf", 1, &AMDX12);93 fits_scan (&header, "AMDX13", "%lf", 1, &AMDX13);94 fits_scan (&header, "AMDY1", "%lf", 1, &AMDY1);95 fits_scan (&header, "AMDY2", "%lf", 1, &AMDY2);96 fits_scan (&header, "AMDY3", "%lf", 1, &AMDY3);97 fits_scan (&header, "AMDY4", "%lf", 1, &AMDY4);98 fits_scan (&header, "AMDY5", "%lf", 1, &AMDY5);99 fits_scan (&header, "AMDY6", "%lf", 1, &AMDY6);100 fits_scan (&header, "AMDY7", "%lf", 1, &AMDY7);101 fits_scan (&header, "AMDY8", "%lf", 1, &AMDY8);102 fits_scan (&header, "AMDY9", "%lf", 1, &AMDY9);103 fits_scan (&header, "AMDY10", "%lf", 1, &AMDY10);104 fits_scan (&header, "AMDY11", "%lf", 1, &AMDY11);105 fits_scan (&header, "AMDY12", "%lf", 1, &AMDY12);106 fits_scan (&header, "AMDY13", "%lf", 1, &AMDY13);62 gfits_scan (&header, "NAXIS1", "%lf", 1, &NX); 63 gfits_scan (&header, "NAXIS2", "%lf", 1, &NY); 64 gfits_scan (&header, "PLTRAH", "%lf", 1, &PLTRAH); 65 gfits_scan (&header, "PLTRAM", "%lf", 1, &PLTRAM); 66 gfits_scan (&header, "PLTRAS", "%lf", 1, &PLTRAS); 67 gfits_scan (&header, "PLTDECD", "%lf", 1, &PLTDECD); 68 gfits_scan (&header, "PLTDECM", "%lf", 1, &PLTDECM); 69 gfits_scan (&header, "PLTDECS", "%lf", 1, &PLTDECS); 70 gfits_scan (&header, "PLTDECSN", "%s", 1, &PLTDECSN); 71 gfits_scan (&header, "CNPIX1", "%lf", 1, &CNPIX1); 72 gfits_scan (&header, "CNPIX2", "%lf", 1, &CNPIX2); 73 gfits_scan (&header, "XPIXELSZ", "%lf", 1, &XPIXELSZ); 74 gfits_scan (&header, "YPIXELSZ", "%lf", 1, &YPIXELSZ); 75 gfits_scan (&header, "PPO1", "%lf", 1, &PPO1); 76 gfits_scan (&header, "PPO2", "%lf", 1, &PPO2); 77 gfits_scan (&header, "PPO3", "%lf", 1, &PPO3); 78 gfits_scan (&header, "PPO4", "%lf", 1, &PPO4); 79 gfits_scan (&header, "PPO5", "%lf", 1, &PPO5); 80 gfits_scan (&header, "PPO6", "%lf", 1, &PPO6); 81 gfits_scan (&header, "AMDX1", "%lf", 1, &AMDX1); 82 gfits_scan (&header, "AMDX2", "%lf", 1, &AMDX2); 83 gfits_scan (&header, "AMDX3", "%lf", 1, &AMDX3); 84 gfits_scan (&header, "AMDX4", "%lf", 1, &AMDX4); 85 gfits_scan (&header, "AMDX5", "%lf", 1, &AMDX5); 86 gfits_scan (&header, "AMDX6", "%lf", 1, &AMDX6); 87 gfits_scan (&header, "AMDX7", "%lf", 1, &AMDX7); 88 gfits_scan (&header, "AMDX8", "%lf", 1, &AMDX8); 89 gfits_scan (&header, "AMDX9", "%lf", 1, &AMDX9); 90 gfits_scan (&header, "AMDX10", "%lf", 1, &AMDX10); 91 gfits_scan (&header, "AMDX11", "%lf", 1, &AMDX11); 92 gfits_scan (&header, "AMDX12", "%lf", 1, &AMDX12); 93 gfits_scan (&header, "AMDX13", "%lf", 1, &AMDX13); 94 gfits_scan (&header, "AMDY1", "%lf", 1, &AMDY1); 95 gfits_scan (&header, "AMDY2", "%lf", 1, &AMDY2); 96 gfits_scan (&header, "AMDY3", "%lf", 1, &AMDY3); 97 gfits_scan (&header, "AMDY4", "%lf", 1, &AMDY4); 98 gfits_scan (&header, "AMDY5", "%lf", 1, &AMDY5); 99 gfits_scan (&header, "AMDY6", "%lf", 1, &AMDY6); 100 gfits_scan (&header, "AMDY7", "%lf", 1, &AMDY7); 101 gfits_scan (&header, "AMDY8", "%lf", 1, &AMDY8); 102 gfits_scan (&header, "AMDY9", "%lf", 1, &AMDY9); 103 gfits_scan (&header, "AMDY10", "%lf", 1, &AMDY10); 104 gfits_scan (&header, "AMDY11", "%lf", 1, &AMDY11); 105 gfits_scan (&header, "AMDY12", "%lf", 1, &AMDY12); 106 gfits_scan (&header, "AMDY13", "%lf", 1, &AMDY13); 107 107 Ro = 15.0*(PLTRAH + PLTRAM/60.0 + PLTRAS/3600.0); 108 108 Do = (PLTDECD + PLTDECM/60.0 + PLTDECS/3600.0); … … 119 119 } 120 120 121 fits_free_header (&header);121 gfits_free_header (&header); 122 122 123 123 } -
trunk/Ohana/src/misc/src/smaeder.c
r2417 r7080 318 318 age_h.extend = FALSE; 319 319 320 fits_create_header (&mass_h);321 fits_create_matrix (&mass_h, &mass_i);322 fits_create_header (&age_h);323 fits_create_matrix (&age_h, &age_i);320 gfits_create_header (&mass_h); 321 gfits_create_matrix (&mass_h, &mass_i); 322 gfits_create_header (&age_h); 323 gfits_create_matrix (&age_h, &age_i); 324 324 fprintf (stderr, "created FITS buffers\n"); 325 325 … … 358 358 m = (v - Vs) * dM / DV + Ms; 359 359 a = (v - Vs) * dA / DV + As; 360 fits_set_matrix_value (&mass_i, Sx, k, m);361 fits_set_matrix_value (&age_i, Sx, k, a);360 gfits_set_matrix_value (&mass_i, Sx, k, m); 361 gfits_set_matrix_value (&age_i, Sx, k, a); 362 362 } 363 363 } … … 408 408 a = d * (a2 - a1) / (d + tmp) + a1; 409 409 m = d * (m2 - m1) / (d + tmp) + m1; 410 fits_set_matrix_value (&mass_i, Sx, k, m);411 fits_set_matrix_value (&age_i, Sx, k, a);410 gfits_set_matrix_value (&mass_i, Sx, k, m); 411 gfits_set_matrix_value (&age_i, Sx, k, a); 412 412 } 413 413 } … … 425 425 Sx = (newtrack[i].model[j].UV - UV0) / dUV; 426 426 Sy = (newtrack[i].model[j].V - V0) / dV; 427 fits_set_matrix_value (&age_i, Sx, Sy, 1000.0);428 fits_set_matrix_value (&mass_i, Sx, Sy, 1000.0);427 gfits_set_matrix_value (&age_i, Sx, Sy, 1000.0); 428 gfits_set_matrix_value (&mass_i, Sx, Sy, 1000.0); 429 429 } 430 430 } … … 432 432 */ 433 433 434 fits_modify (&mass_h, "RA_O", "%lf", 1, UV0);435 fits_modify (&mass_h, "RA_X", "%lf", 1, dUV);436 fits_modify (&mass_h, "RA_Y", "%lf", 1, 0.0);437 fits_modify (&mass_h, "DEC_O", "%lf", 1, V0);438 fits_modify (&mass_h, "DEC_Y", "%lf", 1, dV);439 fits_modify (&mass_h, "DEC_X", "%lf", 1, 0.0);440 441 fits_write_header (massfile, &mass_h);442 fits_write_matrix (massfile, &mass_i);443 444 fits_modify (&age_h, "RA_O", "%lf", 1, UV0);445 fits_modify (&age_h, "RA_X", "%lf", 1, dUV);446 fits_modify (&age_h, "RA_Y", "%lf", 1, 0.0);447 fits_modify (&age_h, "DEC_O", "%lf", 1, V0);448 fits_modify (&age_h, "DEC_Y", "%lf", 1, dV);449 fits_modify (&age_h, "DEC_X", "%lf", 1, 0.0);450 451 fits_write_header (agefile, &age_h);452 fits_write_matrix (agefile, &age_i);434 gfits_modify (&mass_h, "RA_O", "%lf", 1, UV0); 435 gfits_modify (&mass_h, "RA_X", "%lf", 1, dUV); 436 gfits_modify (&mass_h, "RA_Y", "%lf", 1, 0.0); 437 gfits_modify (&mass_h, "DEC_O", "%lf", 1, V0); 438 gfits_modify (&mass_h, "DEC_Y", "%lf", 1, dV); 439 gfits_modify (&mass_h, "DEC_X", "%lf", 1, 0.0); 440 441 gfits_write_header (massfile, &mass_h); 442 gfits_write_matrix (massfile, &mass_i); 443 444 gfits_modify (&age_h, "RA_O", "%lf", 1, UV0); 445 gfits_modify (&age_h, "RA_X", "%lf", 1, dUV); 446 gfits_modify (&age_h, "RA_Y", "%lf", 1, 0.0); 447 gfits_modify (&age_h, "DEC_O", "%lf", 1, V0); 448 gfits_modify (&age_h, "DEC_Y", "%lf", 1, dV); 449 gfits_modify (&age_h, "DEC_X", "%lf", 1, 0.0); 450 451 gfits_write_header (agefile, &age_h); 452 gfits_write_matrix (agefile, &age_i); 453 453 454 454 } … … 503 503 v = k*dV + V0; 504 504 m = (v - Vs) * dM / DV + Ms; 505 fits_set_matrix_value (&mass_i, Sx, k, m);505 gfits_set_matrix_value (&mass_i, Sx, k, m); 506 506 a = (v - Vs) * dA / DV + As; 507 fits_set_matrix_value (&age_i, Sx, k, a);507 gfits_set_matrix_value (&age_i, Sx, k, a); 508 508 } 509 509 } -
trunk/Ohana/src/misc/src/striphead.c
r2417 r7080 46 46 } 47 47 48 if (! fits_read_header (argv[i], &header)) {48 if (!gfits_read_header (argv[i], &header)) { 49 49 fprintf (stderr, "failed to open file %s\n", argv[i]); 50 50 continue; … … 55 55 } 56 56 57 if (! fits_write_header (head, &header)) {57 if (!gfits_write_header (head, &header)) { 58 58 fprintf (stderr, "failed to write file %s\n", head); 59 59 continue; 60 60 } 61 61 62 fits_free_header (&header);62 gfits_free_header (&header); 63 63 } 64 64 } -
trunk/Ohana/src/misc/src/test.c
r7039 r7080 56 56 /* fprintf (stderr, "starting\n"); */ 57 57 while (fscanf (stdin, "%s", filename) != EOF) { 58 if (! fits_read_header (filename, &header)) continue;58 if (!gfits_read_header (filename, &header)) continue; 59 59 fprintf (stdout, "%s ", filename); 60 60 for (i = 1; i < argc; i++) { 61 61 bzero (buffer, 1000); 62 fits_scan (&header, argv[i], "%s", 1, buffer);62 gfits_scan (&header, argv[i], "%s", 1, buffer); 63 63 stripwhite (buffer); 64 64 fprintf (stdout, "%s ", buffer); … … 66 66 fprintf (stdout, "\n"); 67 67 68 fits_free_header (&header);68 gfits_free_header (&header); 69 69 70 70 } -
trunk/Ohana/src/misc/src/usmaeder.c
r2417 r7080 47 47 } 48 48 49 fits_read_header (argv[1], &mass_h);50 fits_read_matrix (argv[1], &mass_i);51 fits_read_header (argv[2], &age_h);52 fits_read_matrix (argv[2], &age_i);49 gfits_read_header (argv[1], &mass_h); 50 gfits_read_matrix (argv[1], &mass_i); 51 gfits_read_header (argv[2], &age_h); 52 gfits_read_matrix (argv[2], &age_i); 53 53 54 fits_scan (&mass_h, "RA_O", "%lf", 1, &UV0);55 fits_scan (&mass_h, "RA_X", "%lf", 1, &DUV);56 fits_scan (&mass_h, "DEC_O", "%lf", 1, &V0);57 fits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV);54 gfits_scan (&mass_h, "RA_O", "%lf", 1, &UV0); 55 gfits_scan (&mass_h, "RA_X", "%lf", 1, &DUV); 56 gfits_scan (&mass_h, "DEC_O", "%lf", 1, &V0); 57 gfits_scan (&mass_h, "DEC_Y", "%lf", 1, &DV); 58 58 59 59 V_h.bitpix = -32; … … 75 75 UV_h.extend = FALSE; 76 76 77 fits_create_header (&V_h);78 fits_create_matrix (&V_h, &V_i);79 fits_create_header (&UV_h);80 fits_create_matrix (&UV_h, &UV_i);77 gfits_create_header (&V_h); 78 gfits_create_matrix (&V_h, &V_i); 79 gfits_create_header (&UV_h); 80 gfits_create_matrix (&UV_h, &UV_i); 81 81 fprintf (stderr, "created FITS buffers\n"); 82 82 83 fits_modify (&V_h, "RA_O", "%lf", 1, lAo);84 fits_modify (&V_h, "RA_X", "%lf", 1, ldA);85 fits_modify (&V_h, "RA_Y", "%lf", 1, 0.0);86 fits_modify (&V_h, "DEC_O", "%lf", 1, lMo);87 fits_modify (&V_h, "DEC_Y", "%lf", 1, ldM);88 fits_modify (&V_h, "DEC_X", "%lf", 1, 0.0);83 gfits_modify (&V_h, "RA_O", "%lf", 1, lAo); 84 gfits_modify (&V_h, "RA_X", "%lf", 1, ldA); 85 gfits_modify (&V_h, "RA_Y", "%lf", 1, 0.0); 86 gfits_modify (&V_h, "DEC_O", "%lf", 1, lMo); 87 gfits_modify (&V_h, "DEC_Y", "%lf", 1, ldM); 88 gfits_modify (&V_h, "DEC_X", "%lf", 1, 0.0); 89 89 90 fits_modify (&UV_h, "RA_O", "%lf", 1, lAo);91 fits_modify (&UV_h, "RA_X", "%lf", 1, ldA);92 fits_modify (&UV_h, "RA_Y", "%lf", 1, 0.0);93 fits_modify (&UV_h, "DEC_O", "%lf", 1, lMo);94 fits_modify (&UV_h, "DEC_Y", "%lf", 1, ldM);95 fits_modify (&UV_h, "DEC_X", "%lf", 1, 0.0);90 gfits_modify (&UV_h, "RA_O", "%lf", 1, lAo); 91 gfits_modify (&UV_h, "RA_X", "%lf", 1, ldA); 92 gfits_modify (&UV_h, "RA_Y", "%lf", 1, 0.0); 93 gfits_modify (&UV_h, "DEC_O", "%lf", 1, lMo); 94 gfits_modify (&UV_h, "DEC_Y", "%lf", 1, ldM); 95 gfits_modify (&UV_h, "DEC_X", "%lf", 1, 0.0); 96 96 97 97 /* the value of 100 is hard wired in this and the others as a bad color */ … … 99 99 for (x = 0; x < NAGE; x++) { 100 100 for (y = 0; y < NMASS; y++) { 101 fits_set_matrix_value (&UV_i, x, y, 100.0);102 fits_set_matrix_value (&V_i, x, y, 100.0);101 gfits_set_matrix_value (&UV_i, x, y, 100.0); 102 gfits_set_matrix_value (&V_i, x, y, 100.0); 103 103 } 104 104 } … … 107 107 fprintf (stderr, "."); 108 108 for (y = 0; y < mass_h.Naxis[1]; y++) { 109 mass = fits_get_matrix_value (&mass_i, x, y);110 age = fits_get_matrix_value (&age_i, x, y);109 mass = gfits_get_matrix_value (&mass_i, x, y); 110 age = gfits_get_matrix_value (&age_i, x, y); 111 111 if (mass > 0) { 112 112 X = (log10(age) - lAo) / ldA; … … 116 116 uv = x*DUV + UV0; 117 117 v = y*DV + V0; 118 fits_set_matrix_value (&UV_i, X, Y, uv);119 fits_set_matrix_value (&V_i, X, Y, v);118 gfits_set_matrix_value (&UV_i, X, Y, uv); 119 gfits_set_matrix_value (&V_i, X, Y, v); 120 120 } 121 121 } … … 127 127 for (x = 0; x < NAGE; x++) { 128 128 for (y = 0; y < NMASS; y++) { 129 uv = fits_get_matrix_value (&UV_i, x, y);129 uv = gfits_get_matrix_value (&UV_i, x, y); 130 130 if (uv == 100.0) { 131 131 /* find neighbors up and down */ … … 133 133 X0 = Y0 = -1; 134 134 for (X = x + 1; X < NAGE; X++) { 135 if (( fits_get_matrix_value (&UV_i, X, y)) != 100.0) {135 if ((gfits_get_matrix_value (&UV_i, X, y)) != 100.0) { 136 136 X1 = X; 137 137 break; … … 139 139 } 140 140 for (X = x - 1; X >= 0; X--) { 141 if (( fits_get_matrix_value (&UV_i, X, y)) != 100.0) {141 if ((gfits_get_matrix_value (&UV_i, X, y)) != 100.0) { 142 142 X0 = X; 143 143 break; … … 145 145 } 146 146 for (Y = y + 1; Y < NMASS; Y++) { 147 if (( fits_get_matrix_value (&UV_i, x, Y)) != 100.0) {147 if ((gfits_get_matrix_value (&UV_i, x, Y)) != 100.0) { 148 148 Y1 = Y; 149 149 break; … … 151 151 } 152 152 for (Y = y - 1; Y >= 0; Y--) { 153 if (( fits_get_matrix_value (&UV_i, x, Y)) != 100.0) {153 if ((gfits_get_matrix_value (&UV_i, x, Y)) != 100.0) { 154 154 Y0 = Y; 155 155 break; … … 158 158 slope_x = slope_y = 100000.0; 159 159 if ((X1 < NAGE) && (X0 > -1)) { 160 slope_x = ( fits_get_matrix_value (&UV_i, X1, y) -fits_get_matrix_value (&UV_i, X0, y)) / (X1 - X0);160 slope_x = (gfits_get_matrix_value (&UV_i, X1, y) - gfits_get_matrix_value (&UV_i, X0, y)) / (X1 - X0); 161 161 } 162 162 if ((Y1 < NMASS) && (Y0 > -1)) { 163 slope_y = ( fits_get_matrix_value (&UV_i, x, Y1) -fits_get_matrix_value (&UV_i, x, Y0)) / (Y1 - Y0);163 slope_y = (gfits_get_matrix_value (&UV_i, x, Y1) - gfits_get_matrix_value (&UV_i, x, Y0)) / (Y1 - Y0); 164 164 } 165 165 if ((fabs(slope_x) < fabs(slope_y)) && (slope_x != 100000.0)) { 166 uv = (x - X0) * slope_x + fits_get_matrix_value (&UV_i, X0, y);167 tmp = ( fits_get_matrix_value (&V_i, X1, y) -fits_get_matrix_value (&V_i, X0, y)) / (X1 - X0);168 v = (x - X0) * tmp + fits_get_matrix_value (&V_i, X0, y);169 fits_set_matrix_value (&UV_i, x, y, uv);170 fits_set_matrix_value (&V_i, x, y, v);166 uv = (x - X0) * slope_x + gfits_get_matrix_value (&UV_i, X0, y); 167 tmp = (gfits_get_matrix_value (&V_i, X1, y) - gfits_get_matrix_value (&V_i, X0, y)) / (X1 - X0); 168 v = (x - X0) * tmp + gfits_get_matrix_value (&V_i, X0, y); 169 gfits_set_matrix_value (&UV_i, x, y, uv); 170 gfits_set_matrix_value (&V_i, x, y, v); 171 171 } 172 172 if ((fabs(slope_x) >= fabs(slope_y)) && (slope_y != 100000.0)) { 173 uv = (y - Y0) * slope_y + fits_get_matrix_value (&UV_i, x, Y0);174 tmp = ( fits_get_matrix_value (&V_i, x, Y1) -fits_get_matrix_value (&V_i, x, Y0)) / (Y1 - Y0);175 v = (y - Y0) * tmp + fits_get_matrix_value (&V_i, x, Y0);176 fits_set_matrix_value (&UV_i, x, y, uv);177 fits_set_matrix_value (&V_i, x, y, v);173 uv = (y - Y0) * slope_y + gfits_get_matrix_value (&UV_i, x, Y0); 174 tmp = (gfits_get_matrix_value (&V_i, x, Y1) - gfits_get_matrix_value (&V_i, x, Y0)) / (Y1 - Y0); 175 v = (y - Y0) * tmp + gfits_get_matrix_value (&V_i, x, Y0); 176 gfits_set_matrix_value (&UV_i, x, y, uv); 177 gfits_set_matrix_value (&V_i, x, y, v); 178 178 } 179 179 } … … 183 183 184 184 185 fits_write_header (argv[3], &V_h);186 fits_write_matrix (argv[3], &V_i);187 fits_write_header (argv[4], &UV_h);188 fits_write_matrix (argv[4], &UV_i);185 gfits_write_header (argv[3], &V_h); 186 gfits_write_matrix (argv[3], &V_i); 187 gfits_write_header (argv[4], &UV_h); 188 gfits_write_matrix (argv[4], &UV_i); 189 189 190 190 } -
trunk/Ohana/src/mosastro/doc/ChangeLog.txt
r6693 r7080 1 2 - mosastro 1.3 3 * converted to gfits APIs (forces libfits 1.6) 1 4 2 5 - mosastro 1.2 -
trunk/Ohana/src/mosastro/src/LoadStars.c
r3466 r7080 16 16 17 17 /* load header */ 18 if (! fits_read_header (chip[Nchip].file, &chip[Nchip].header)) {18 if (!gfits_read_header (chip[Nchip].file, &chip[Nchip].header)) { 19 19 fprintf (stderr, "ERROR: can't read header for %s\n", file[i]); 20 20 free (chip[Nchip].file); … … 23 23 24 24 /* get image dimensions */ 25 fits_scan (&chip[Nchip].header, "NAXIS1", "%d", 1, &chip[Nchip].NX);26 fits_scan (&chip[Nchip].header, "NAXIS2", "%d", 1, &chip[Nchip].NY);25 gfits_scan (&chip[Nchip].header, "NAXIS1", "%d", 1, &chip[Nchip].NX); 26 gfits_scan (&chip[Nchip].header, "NAXIS2", "%d", 1, &chip[Nchip].NY); 27 27 28 28 /* get astrometry information */ … … 30 30 fprintf (stderr, "ERROR: no astrometric solution in header\n"); 31 31 free (chip[Nchip].file); 32 fits_free_header (&chip[Nchip].header);32 gfits_free_header (&chip[Nchip].header); 33 33 continue; 34 34 } … … 37 37 38 38 itmp = 0; 39 fits_scan (&chip[Nchip].header, "NASTRO", "%d", 1, &itmp);39 gfits_scan (&chip[Nchip].header, "NASTRO", "%d", 1, &itmp); 40 40 if (itmp == 0) { 41 41 fprintf (stderr, "ERROR: bad astrometric solution in header %s\n", file[i]); 42 42 free (chip[Nchip].file); 43 fits_free_header (&chip[Nchip].header);43 gfits_free_header (&chip[Nchip].header); 44 44 continue; 45 45 } … … 51 51 52 52 extend = FALSE; 53 fits_scan (&chip[Nchip].header, "EXTEND", "%t", 1, &extend);53 gfits_scan (&chip[Nchip].header, "EXTEND", "%t", 1, &extend); 54 54 if (extend) { 55 55 status = rfits (&chip[Nchip]); … … 60 60 /* skip on failure */ 61 61 free (chip[Nchip].file); 62 fits_free_header (&chip[Nchip].header);62 gfits_free_header (&chip[Nchip].header); 63 63 continue; 64 64 } -
trunk/Ohana/src/mosastro/src/SaveResiduals.c
r3473 r7080 11 11 header[0].extend = TRUE; 12 12 header[0].Naxes = 0; 13 fits_modify (header, "NAXIS", "%d", 1, 0);14 fits_modify (header, "EXTEND", "%t", 1, TRUE);15 fits_modify (header, "NEXTEND", "%d", 1, 1);13 gfits_modify (header, "NAXIS", "%d", 1, 0); 14 gfits_modify (header, "EXTEND", "%t", 1, TRUE); 15 gfits_modify (header, "NEXTEND", "%d", 1, 1); 16 16 17 17 /* add in some keywords to specify the datatype & software version? */ 18 18 19 19 /* create (empty) data matrix */ 20 fits_create_matrix (header, &matrix);20 gfits_create_matrix (header, &matrix); 21 21 22 22 /* create bintable header */ 23 fits_create_table_header (&theader, "BINTABLE", "MOSASTRO_RESIDUALS");23 gfits_create_table_header (&theader, "BINTABLE", "MOSASTRO_RESIDUALS"); 24 24 25 25 /* define bintable layout */ 26 fits_define_bintable_column (&theader, "D", "R_RAW", "ra (raw)", "degrees", 1.0, 0.0);27 fits_define_bintable_column (&theader, "D", "D_RAW", "dec (raw)", "degrees", 1.0, 0.0);28 fits_define_bintable_column (&theader, "E", "P_RAW", "P coord (raw)", "pixels", 1.0, 0.0);29 fits_define_bintable_column (&theader, "E", "Q_RAW", "Q coord (raw)", "pixels", 1.0, 0.0);30 fits_define_bintable_column (&theader, "E", "L_RAW", "L coord (raw)", "pixels", 1.0, 0.0);31 fits_define_bintable_column (&theader, "E", "M_RAW", "M coord (raw)", "pixels", 1.0, 0.0);32 fits_define_bintable_column (&theader, "E", "X_RAW", "X coord (raw)", "pixels", 1.0, 0.0);33 fits_define_bintable_column (&theader, "E", "Y_RAW", "Y coord (raw)", "pixels", 1.0, 0.0);26 gfits_define_bintable_column (&theader, "D", "R_RAW", "ra (raw)", "degrees", 1.0, 0.0); 27 gfits_define_bintable_column (&theader, "D", "D_RAW", "dec (raw)", "degrees", 1.0, 0.0); 28 gfits_define_bintable_column (&theader, "E", "P_RAW", "P coord (raw)", "pixels", 1.0, 0.0); 29 gfits_define_bintable_column (&theader, "E", "Q_RAW", "Q coord (raw)", "pixels", 1.0, 0.0); 30 gfits_define_bintable_column (&theader, "E", "L_RAW", "L coord (raw)", "pixels", 1.0, 0.0); 31 gfits_define_bintable_column (&theader, "E", "M_RAW", "M coord (raw)", "pixels", 1.0, 0.0); 32 gfits_define_bintable_column (&theader, "E", "X_RAW", "X coord (raw)", "pixels", 1.0, 0.0); 33 gfits_define_bintable_column (&theader, "E", "Y_RAW", "Y coord (raw)", "pixels", 1.0, 0.0); 34 34 35 fits_define_bintable_column (&theader, "D", "R_REF", "ra (ref)", "degrees", 1.0, 0.0);36 fits_define_bintable_column (&theader, "D", "D_REF", "dec (ref)", "degrees", 1.0, 0.0);37 fits_define_bintable_column (&theader, "E", "P_REF", "P coord (ref)", "pixels", 1.0, 0.0);38 fits_define_bintable_column (&theader, "E", "Q_REF", "Q coord (ref)", "pixels", 1.0, 0.0);39 fits_define_bintable_column (&theader, "E", "L_REF", "L coord (ref)", "pixels", 1.0, 0.0);40 fits_define_bintable_column (&theader, "E", "M_REF", "M coord (ref)", "pixels", 1.0, 0.0);41 fits_define_bintable_column (&theader, "E", "X_REF", "X coord (ref)", "pixels", 1.0, 0.0);42 fits_define_bintable_column (&theader, "E", "Y_REF", "Y coord (ref)", "pixels", 1.0, 0.0);35 gfits_define_bintable_column (&theader, "D", "R_REF", "ra (ref)", "degrees", 1.0, 0.0); 36 gfits_define_bintable_column (&theader, "D", "D_REF", "dec (ref)", "degrees", 1.0, 0.0); 37 gfits_define_bintable_column (&theader, "E", "P_REF", "P coord (ref)", "pixels", 1.0, 0.0); 38 gfits_define_bintable_column (&theader, "E", "Q_REF", "Q coord (ref)", "pixels", 1.0, 0.0); 39 gfits_define_bintable_column (&theader, "E", "L_REF", "L coord (ref)", "pixels", 1.0, 0.0); 40 gfits_define_bintable_column (&theader, "E", "M_REF", "M coord (ref)", "pixels", 1.0, 0.0); 41 gfits_define_bintable_column (&theader, "E", "X_REF", "X coord (ref)", "pixels", 1.0, 0.0); 42 gfits_define_bintable_column (&theader, "E", "Y_REF", "Y coord (ref)", "pixels", 1.0, 0.0); 43 43 44 fits_define_bintable_column (&theader, "E", "MAG_REF", "catalog mag", "pixels", 1.0, 0.0);45 fits_define_bintable_column (&theader, "E", "DMAG_REF", "catalog mag err", "pixels", 1.0, 0.0);46 fits_define_bintable_column (&theader, "E", "MAG_RAW", "instrum mag", "pixels", 1.0, 0.0);47 fits_define_bintable_column (&theader, "E", "DMAG_RAW", "instrum mag err", "pixels", 1.0, 0.0);48 fits_define_bintable_column (&theader, "B", "MASK", "excluded from fit?", "", 1.0, 0.0);49 fits_define_bintable_column (&theader, "7A", "DUMMY", "padding", "", 1.0, 0.0);44 gfits_define_bintable_column (&theader, "E", "MAG_REF", "catalog mag", "pixels", 1.0, 0.0); 45 gfits_define_bintable_column (&theader, "E", "DMAG_REF", "catalog mag err", "pixels", 1.0, 0.0); 46 gfits_define_bintable_column (&theader, "E", "MAG_RAW", "instrum mag", "pixels", 1.0, 0.0); 47 gfits_define_bintable_column (&theader, "E", "DMAG_RAW", "instrum mag err", "pixels", 1.0, 0.0); 48 gfits_define_bintable_column (&theader, "B", "MASK", "excluded from fit?", "", 1.0, 0.0); 49 gfits_define_bintable_column (&theader, "7A", "DUMMY", "padding", "", 1.0, 0.0); 50 50 51 51 /* create table, add data values */ 52 fits_create_table (&theader, &table);52 gfits_create_table (&theader, &table); 53 53 54 54 /* create output data block and assign */ … … 87 87 /* fix byte order issues */ 88 88 ConvertMatch (match, sizeof (MatchData), Nmatch); 89 fits_add_rows (&table, (char *) match, Nmatch, sizeof (MatchData));89 gfits_add_rows (&table, (char *) match, Nmatch, sizeof (MatchData)); 90 90 91 fits_fwrite_header (f, header);92 fits_fwrite_matrix (f, &matrix);93 fits_fwrite_Theader (f, &theader);94 fits_fwrite_table (f, &table);91 gfits_fwrite_header (f, header); 92 gfits_fwrite_matrix (f, &matrix); 93 gfits_fwrite_Theader (f, &theader); 94 gfits_fwrite_table (f, &table); 95 95 fclose (f); 96 96 return; -
trunk/Ohana/src/mosastro/src/field.c
r3401 r7080 125 125 126 126 /* load header */ 127 if (! fits_read_header (filename, &header)) {127 if (!gfits_read_header (filename, &header)) { 128 128 fprintf (stderr, "ERROR: can't read header for %s\n", filename); 129 129 exit (1); -
trunk/Ohana/src/mosastro/src/mkheader.c
r3323 r7080 16 16 header[0].Naxis[1] = Ny; 17 17 18 fits_create_header (header);18 gfits_create_header (header); 19 19 20 fits_modify (header, "NSTARS", "%d", 1, Nstars);21 fits_modify (header, "PHOTCODE", "%s", 1, "STD.R");22 fits_modify (header, "DATE-OBS", "%s", 1, "2004-04-22");23 fits_modify (header, "UTC-OBS", "%s", 1, "14:27:45.30");24 fits_modify (header, "ZERO_PT", "%lf", 1, 25.0);25 fits_modify (header, "EXPTIME", "%lf", 1, 2.0);20 gfits_modify (header, "NSTARS", "%d", 1, Nstars); 21 gfits_modify (header, "PHOTCODE", "%s", 1, "STD.R"); 22 gfits_modify (header, "DATE-OBS", "%s", 1, "2004-04-22"); 23 gfits_modify (header, "UTC-OBS", "%s", 1, "14:27:45.30"); 24 gfits_modify (header, "ZERO_PT", "%lf", 1, 25.0); 25 gfits_modify (header, "EXPTIME", "%lf", 1, 2.0); 26 26 27 27 PutCoords (coords, header); 28 28 29 fits_modify (header, "NASTRO", "%d", 1, 1);29 gfits_modify (header, "NASTRO", "%d", 1, 1); 30 30 31 31 return (header); -
trunk/Ohana/src/mosastro/src/mkmosaic.c
r3466 r7080 24 24 header[0].Naxis[1] = Ymax - Ymin; 25 25 26 fits_create_header (header);26 gfits_create_header (header); 27 27 28 28 /* calculate image-wide astrometry scatter */ 29 29 Cerror = GetScatter (&Nastro, &DL, &DM, FALSE); 30 30 Cprecise = Cerror / sqrt (Nastro); 31 fits_modify (header, "CERROR", "%lf", 1, Cerror);32 fits_modify (header, "CERR_L", "%lf", 1, DL*3600.0 * field.project.cdelt1);33 fits_modify (header, "CERR_M", "%lf", 1, DM*3600.0 * field.project.cdelt1);31 gfits_modify (header, "CERROR", "%lf", 1, Cerror); 32 gfits_modify (header, "CERR_L", "%lf", 1, DL*3600.0 * field.project.cdelt1); 33 gfits_modify (header, "CERR_M", "%lf", 1, DM*3600.0 * field.project.cdelt1); 34 34 35 fits_modify (header, "CPRECISE", "%lf", 1, Cprecise);36 fits_modify (header, "NSTARS", "%d", 1, 0); /*** modify addstar to allow NSTARS = 0 ***/37 fits_modify (header, "NASTRO", "%d", 1, Nastro);35 gfits_modify (header, "CPRECISE", "%lf", 1, Cprecise); 36 gfits_modify (header, "NSTARS", "%d", 1, 0); /*** modify addstar to allow NSTARS = 0 ***/ 37 gfits_modify (header, "NASTRO", "%d", 1, Nastro); 38 38 39 39 GetScatter (&Nastro, &DL, &DM, TRUE); 40 fits_modify (header, "CERR_LB", "%lf", 1, DL*3600.0 * field.project.cdelt1);41 fits_modify (header, "CERR_MB", "%lf", 1, DM*3600.0 * field.project.cdelt1);42 fits_modify (header, "NBRIGHT", "%d", 1, Nastro);40 gfits_modify (header, "CERR_LB", "%lf", 1, DL*3600.0 * field.project.cdelt1); 41 gfits_modify (header, "CERR_MB", "%lf", 1, DM*3600.0 * field.project.cdelt1); 42 gfits_modify (header, "NBRIGHT", "%d", 1, Nastro); 43 43 44 44 fprintf (stderr, "bright: %f %f %d\n", DL*3600.0 * field.project.cdelt1, DM*3600.0 * field.project.cdelt1, Nastro); 45 45 46 46 /* make a better selection for the mosaic photcode? */ 47 fits_scan (&chip[0].header, "PHOTCODE", "%s", 1, line);48 fits_modify (header, "PHOTCODE", "%s", 1, line);47 gfits_scan (&chip[0].header, "PHOTCODE", "%s", 1, line); 48 gfits_modify (header, "PHOTCODE", "%s", 1, line); 49 49 50 fits_scan (&chip[0].header, "ZERO_PT", "%lf", 1, &tmp);51 fits_modify (header, "ZERO_PT", "%lf", 1, tmp);50 gfits_scan (&chip[0].header, "ZERO_PT", "%lf", 1, &tmp); 51 gfits_modify (header, "ZERO_PT", "%lf", 1, tmp); 52 52 53 fits_scan (&chip[0].header, ExptimeKeyword, "%lf", 1, &tmp);54 fits_modify (header, ExptimeKeyword, "%lf", 1, tmp);53 gfits_scan (&chip[0].header, ExptimeKeyword, "%lf", 1, &tmp); 54 gfits_modify (header, ExptimeKeyword, "%lf", 1, tmp); 55 55 56 56 /* insert time data from chip[0] */ … … 58 58 if (strcasecmp (JDKeyword, "NONE")) { 59 59 uppercase (JDKeyword); 60 fits_scan (&chip[0].header, JDKeyword, "%lf", 1, &tmp);61 fits_modify (header, JDKeyword, "%lf", 1, tmp);60 gfits_scan (&chip[0].header, JDKeyword, "%lf", 1, &tmp); 61 gfits_modify (header, JDKeyword, "%lf", 1, tmp); 62 62 goto got_time; 63 63 } … … 66 66 if (strcasecmp (MJDKeyword, "NONE")) { 67 67 uppercase (MJDKeyword); 68 fits_scan (&chip[0].header, MJDKeyword, "%lf", 1, &tmp);69 fits_modify (header, MJDKeyword, "%lf", 1, tmp);68 gfits_scan (&chip[0].header, MJDKeyword, "%lf", 1, &tmp); 69 gfits_modify (header, MJDKeyword, "%lf", 1, tmp); 70 70 goto got_time; 71 71 } … … 74 74 if (strcasecmp (UTKeyword, "NONE") && strcasecmp (DateKeyword, "NONE")) { 75 75 uppercase (UTKeyword); 76 fits_scan (&chip[0].header, UTKeyword, "%s", 1, line);77 fits_modify (header, UTKeyword, "%s", 1, line);76 gfits_scan (&chip[0].header, UTKeyword, "%s", 1, line); 77 gfits_modify (header, UTKeyword, "%s", 1, line); 78 78 uppercase (DateKeyword); 79 fits_scan (&chip[0].header, DateKeyword, "%s", 1, line);80 fits_modify (header, DateKeyword, "%s", 1, line);79 gfits_scan (&chip[0].header, DateKeyword, "%s", 1, line); 80 gfits_modify (header, DateKeyword, "%s", 1, line); 81 81 goto got_time; 82 82 } -
trunk/Ohana/src/mosastro/src/mkobs.c
r3520 r7080 134 134 sprintf (filename, "%s.%02d.fits", OUTPUT, Nchip); 135 135 wstars (filename, stars, Nstars, header); 136 fits_free_header (header);136 gfits_free_header (header); 137 137 free (stars); 138 138 Nchip ++; -
trunk/Ohana/src/mosastro/src/mkstandards.c
r5418 r7080 94 94 header = mkheader (2*dX, 2*dY, Nstars, &coords); 95 95 wstars (argv[4], stars, Nstars, header); 96 fits_free_header (header);96 gfits_free_header (header); 97 97 98 98 exit (0); -
trunk/Ohana/src/mosastro/src/parse_time.c
r3517 r7080 15 15 if (strcasecmp (JDKeyword, "NONE")) { 16 16 uppercase (JDKeyword); 17 fits_scan (header, JDKeyword, "%lf", 1, &jd);17 gfits_scan (header, JDKeyword, "%lf", 1, &jd); 18 18 Nsec = (jd - 2440587.5)*86400; 19 19 return (Nsec); … … 23 23 if (strcasecmp (MJDKeyword, "NONE")) { 24 24 uppercase (MJDKeyword); 25 fits_scan (header, MJDKeyword, "%lf", 1, &jd);25 gfits_scan (header, MJDKeyword, "%lf", 1, &jd); 26 26 Nsec = (jd - 40587.0)*86400; 27 27 return (Nsec); … … 30 30 /* get UT and DATE */ 31 31 uppercase (UTKeyword); 32 fits_scan (header, UTKeyword, "%s", 1, line);32 gfits_scan (header, UTKeyword, "%s", 1, line); 33 33 /* remove ':' characters */ 34 34 for (c = strchr (line, 0x3a); c != (char *) NULL; c = strchr (line, 0x3a)) { *c = ' '; } … … 69 69 /* parse date entry */ 70 70 uppercase (DateKeyword); 71 fits_scan (header, DateKeyword, "%s", 1, line);71 gfits_scan (header, DateKeyword, "%s", 1, line); 72 72 /* remove possible separators: ':', '/' '.', '-' */ 73 73 for (c = strchr (line, 0x3a); c != (char *) NULL; c = strchr (line, 0x3a)) { *c = ' '; } -
trunk/Ohana/src/mosastro/src/rfits.c
r4864 r7080 18 18 /* init & load in table data */ 19 19 table.header = &mychip[0].theader; 20 if (! fits_fread_matrix (f, &mychip[0].matrix, &mychip[0].header)) {20 if (!gfits_fread_matrix (f, &mychip[0].matrix, &mychip[0].header)) { 21 21 fprintf (stderr, "error reading file\n"); 22 22 fclose (f); 23 23 return (FALSE); 24 24 } 25 if (! fits_fread_ftable (f, &table, "SMPFILE")) {25 if (!gfits_fread_ftable (f, &table, "SMPFILE")) { 26 26 fprintf (stderr, "error reading file\n"); 27 fits_free_matrix (&mychip[0].matrix);27 gfits_free_matrix (&mychip[0].matrix); 28 28 fclose (f); 29 29 return (FALSE); 30 30 } 31 31 32 stars = fits_table_get_SMPData (&table, &mychip[0].Nstars, NULL);33 fits_scan (table.header, "NAXIS1", "%d", 1, &Nx);32 stars = gfits_table_get_SMPData (&table, &mychip[0].Nstars, NULL); 33 gfits_scan (table.header, "NAXIS1", "%d", 1, &Nx); 34 34 35 35 /* save raw data for output */ … … 40 40 if (mychip[0].Nstars < 5) { 41 41 fprintf (stderr, "Too few stars for reliable solution, only %d\n", mychip[0].Nstars); 42 fits_free_matrix (&mychip[0].matrix);43 fits_free_table (&table);42 gfits_free_matrix (&mychip[0].matrix); 43 gfits_free_table (&table); 44 44 fclose (f); 45 45 return (FALSE); -
trunk/Ohana/src/mosastro/src/rtext.c
r4844 r7080 15 15 16 16 /* find expected number of stars */ 17 fits_scan (&mychip[0].header, "NSTARS", "%d", 1, &mychip[0].Nstars);17 gfits_scan (&mychip[0].header, "NSTARS", "%d", 1, &mychip[0].Nstars); 18 18 if (mychip[0].Nstars == 0) { 19 19 fprintf (stderr, "ERROR: can't get NSTARS from header for %s\n", mychip[0].file); -
trunk/Ohana/src/mosastro/src/wfits.c
r3520 r7080 9 9 header[0].extend = TRUE; 10 10 header[0].Naxes = 0; 11 fits_modify (header, "NAXIS", "%d", 1, 0);12 fits_modify (header, "EXTEND", "%t", 1, TRUE);13 fits_modify (header, "NEXTEND", "%d", 1, 1);11 gfits_modify (header, "NAXIS", "%d", 1, 0); 12 gfits_modify (header, "EXTEND", "%t", 1, TRUE); 13 gfits_modify (header, "NEXTEND", "%d", 1, 1); 14 14 15 15 /* add in some keywords to specify the datatype & software version? */ 16 16 17 17 /* create (empty) data matrix */ 18 fits_create_matrix (header, &matrix);18 gfits_create_matrix (header, &matrix); 19 19 20 20 table.header = &theader; 21 fits_table_set_SMPData (&table, stars, Nstars);21 gfits_table_set_SMPData (&table, stars, Nstars); 22 22 23 fits_write_header (filename, header);24 fits_write_matrix (filename, &matrix);25 fits_write_Theader (filename, &theader);26 fits_write_table (filename, &table);23 gfits_write_header (filename, header); 24 gfits_write_matrix (filename, &matrix); 25 gfits_write_Theader (filename, &theader); 26 gfits_write_table (filename, &table); 27 27 return; 28 28 } -
trunk/Ohana/src/opihi/cmd.astro/cgrid.c
r2598 r7080 16 16 int NorthPole, SouthPole, N, OnPic, LOnPic, status, NELEMENTS, First; 17 17 Graphdata graphmode; 18 int Ngraph; 19 20 Ngraph = 0; 21 if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE); 18 19 if (!style_args (&graphmode, &argc, argv, 0)) return FALSE; 22 20 23 21 if (argc != 1) { 24 fprintf (stderr, "USAGE: cgrid \n");22 fprintf (stderr, "USAGE: cgrid [style]\n"); 25 23 return (FALSE); 26 24 } 25 SetGraph (graphmode); 27 26 28 27 /* are we plotting one of the poles? */ -
trunk/Ohana/src/opihi/cmd.astro/cplot.c
r2598 r7080 3 3 int cplot (int argc, char **argv) { 4 4 5 int i, Npts , Ngraph;5 int i, Npts; 6 6 float *x, *y, *r, *d, Rmin, Rmax; 7 7 Vector Xvec, Yvec, *xvec, *yvec; 8 8 Graphdata graphmode; 9 9 10 if (!style_args (&graphmode, &argc, argv, 0)) return FALSE; 11 10 12 if (argc != 3) { 11 fprintf (stderr, "USAGE: cplot <ra> <dec> \n");13 fprintf (stderr, "USAGE: cplot <ra> <dec> [style]\n"); 12 14 return (FALSE); 13 15 } 14 15 Ngraph = 0; 16 if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE); 16 SetGraph (graphmode); 17 17 18 18 Rmin = graphmode.coords.crval1 - 182.0; … … 45 45 } 46 46 47 48 47 Npts = Xvec.Nelements; 49 48 graphmode.etype = 0; … … 56 55 57 56 return (TRUE); 58 59 57 } 60 58 -
trunk/Ohana/src/opihi/cmd.astro/czplot.c
r2843 r7080 3 3 int czplot (int argc, char **argv) { 4 4 5 int i, N , Npts, Ngraph;5 int i, Npts; 6 6 double min, range, Rmin, Rmax; 7 7 float *in, *out, *r, *d, *x, *y; … … 9 9 Graphdata graphmode; 10 10 11 Ngraph = -1; 12 if ((N = get_argument (argc, argv, "-n"))) { 13 remove_argument (N, &argc, argv); 14 Ngraph = atof (argv[N]); 15 remove_argument (N, &argc, argv); 16 } 17 if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE); 11 if (!style_args (&graphmode, &argc, argv, 0)) return FALSE; 18 12 19 13 if (argc != 6) { … … 21 15 return (FALSE); 22 16 } 17 SetGraph (graphmode); 23 18 24 19 min = atof(argv[4]); -
trunk/Ohana/src/opihi/cmd.astro/getvel.c
r4689 r7080 33 33 34 34 /* we expect the input image to have units of velocity, lattitude, and longitude */ 35 fits_scan (&buf[0].header, "CRVAL1", "%lf", 1, &Vo);36 fits_scan (&buf[0].header, "CDELT1", "%lf", 1, &dV);37 fits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &xo);38 fits_scan (&buf[0].header, "CRVAL2", "%lf", 1, &Bo);39 fits_scan (&buf[0].header, "CDELT2", "%lf", 1, &dB);40 fits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &yo);41 fits_scan (&buf[0].header, "CRVAL3", "%lf", 1, &L);35 gfits_scan (&buf[0].header, "CRVAL1", "%lf", 1, &Vo); 36 gfits_scan (&buf[0].header, "CDELT1", "%lf", 1, &dV); 37 gfits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &xo); 38 gfits_scan (&buf[0].header, "CRVAL2", "%lf", 1, &Bo); 39 gfits_scan (&buf[0].header, "CDELT2", "%lf", 1, &dB); 40 gfits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &yo); 41 gfits_scan (&buf[0].header, "CRVAL3", "%lf", 1, &L); 42 42 Vo *= 0.001; 43 43 dV *= 0.001; -
trunk/Ohana/src/opihi/cmd.astro/medianmap.c
r4689 r7080 47 47 /* duplicate the (in) buffer to the (out), with different size */ 48 48 /* this should probably be a function in misc */ 49 fits_free_matrix (&out[0].matrix);50 fits_free_header (&out[0].header);49 gfits_free_matrix (&out[0].matrix); 50 gfits_free_header (&out[0].header); 51 51 out[0].bitpix = in[0].bitpix; 52 52 out[0].unsign = in[0].unsign; 53 53 out[0].bscale = in[0].bscale; 54 54 out[0].bzero = in[0].bzero; 55 fits_copy_header (&in[0].header, &out[0].header);56 fits_modify (&out[0].header, "NAXIS1", "%d", 1, Nx);57 fits_modify (&out[0].header, "NAXIS2", "%d", 1, Ny);55 gfits_copy_header (&in[0].header, &out[0].header); 56 gfits_modify (&out[0].header, "NAXIS1", "%d", 1, Nx); 57 gfits_modify (&out[0].header, "NAXIS2", "%d", 1, Ny); 58 58 out[0].header.Naxis[0] = Nx; 59 59 out[0].header.Naxis[1] = Ny; 60 fits_create_matrix (&out[0].header, &out[0].matrix);60 gfits_create_matrix (&out[0].header, &out[0].matrix); 61 61 62 62 In = (float *) in[0].matrix.buffer; -
trunk/Ohana/src/opihi/cmd.astro/polar.c
r2598 r7080 32 32 33 33 /* we expect the output image to have units of longitude and distance */ 34 fits_scan (&in[0].header, "CRVAL1", "%lf", 1, &Lo);35 fits_scan (&in[0].header, "CDELT1", "%lf", 1, &dL);36 fits_scan (&in[0].header, "CRPIX1", "%lf", 1, &xo);37 fits_scan (&in[0].header, "CRVAL2", "%lf", 1, &Do);38 fits_scan (&in[0].header, "CDELT2", "%lf", 1, &dD);39 fits_scan (&in[0].header, "CRPIX2", "%lf", 1, &yo);34 gfits_scan (&in[0].header, "CRVAL1", "%lf", 1, &Lo); 35 gfits_scan (&in[0].header, "CDELT1", "%lf", 1, &dL); 36 gfits_scan (&in[0].header, "CRPIX1", "%lf", 1, &xo); 37 gfits_scan (&in[0].header, "CRVAL2", "%lf", 1, &Do); 38 gfits_scan (&in[0].header, "CDELT2", "%lf", 1, &dD); 39 gfits_scan (&in[0].header, "CRPIX2", "%lf", 1, &yo); 40 40 41 41 /* we expect the input image to have units of distance X and Y */ 42 fits_scan (&out[0].header, "CRVAL1", "%lf", 1, &Mo);43 fits_scan (&out[0].header, "CDELT1", "%lf", 1, &dM);44 fits_scan (&out[0].header, "CRPIX1", "%lf", 1, &Xo);45 fits_scan (&out[0].header, "CRVAL2", "%lf", 1, &No);46 fits_scan (&out[0].header, "CDELT2", "%lf", 1, &dN);47 fits_scan (&out[0].header, "CRPIX2", "%lf", 1, &Yo);42 gfits_scan (&out[0].header, "CRVAL1", "%lf", 1, &Mo); 43 gfits_scan (&out[0].header, "CDELT1", "%lf", 1, &dM); 44 gfits_scan (&out[0].header, "CRPIX1", "%lf", 1, &Xo); 45 gfits_scan (&out[0].header, "CRVAL2", "%lf", 1, &No); 46 gfits_scan (&out[0].header, "CDELT2", "%lf", 1, &dN); 47 gfits_scan (&out[0].header, "CRPIX2", "%lf", 1, &Yo); 48 48 49 49 Vin = (float *)in[0].matrix.buffer; -
trunk/Ohana/src/opihi/cmd.astro/rotcurve.c
r2843 r7080 52 52 53 53 /* we expect the input image to have units of velocity, lattitude, and longitude */ 54 fits_scan (&in[0].header, "CRVAL1", "%lf", 1, &Vo);55 fits_scan (&in[0].header, "CDELT1", "%lf", 1, &dV);56 fits_scan (&in[0].header, "CRPIX1", "%lf", 1, &xo);57 fits_scan (&in[0].header, "CRVAL2", "%lf", 1, &Bo);58 fits_scan (&in[0].header, "CDELT2", "%lf", 1, &dB);59 fits_scan (&in[0].header, "CRPIX2", "%lf", 1, &yo);60 fits_scan (&in[0].header, "CRVAL3", "%lf", 1, &L);54 gfits_scan (&in[0].header, "CRVAL1", "%lf", 1, &Vo); 55 gfits_scan (&in[0].header, "CDELT1", "%lf", 1, &dV); 56 gfits_scan (&in[0].header, "CRPIX1", "%lf", 1, &xo); 57 gfits_scan (&in[0].header, "CRVAL2", "%lf", 1, &Bo); 58 gfits_scan (&in[0].header, "CDELT2", "%lf", 1, &dB); 59 gfits_scan (&in[0].header, "CRPIX2", "%lf", 1, &yo); 60 gfits_scan (&in[0].header, "CRVAL3", "%lf", 1, &L); 61 61 Vo *= 0.001; 62 62 dV *= 0.001; 63 63 64 64 /* we expect the output image to have units of longitude and distance */ 65 fits_scan (&out[0].header, "CRVAL1", "%lf", 1, &Lo);66 fits_scan (&out[0].header, "CDELT1", "%lf", 1, &dL);67 fits_scan (&out[0].header, "CRPIX1", "%lf", 1, &Xo);68 fits_scan (&out[0].header, "CRVAL2", "%lf", 1, &Do);69 fits_scan (&out[0].header, "CDELT2", "%lf", 1, &dD);70 fits_scan (&out[0].header, "CRPIX2", "%lf", 1, &Yo);65 gfits_scan (&out[0].header, "CRVAL1", "%lf", 1, &Lo); 66 gfits_scan (&out[0].header, "CDELT1", "%lf", 1, &dL); 67 gfits_scan (&out[0].header, "CRPIX1", "%lf", 1, &Xo); 68 gfits_scan (&out[0].header, "CRVAL2", "%lf", 1, &Do); 69 gfits_scan (&out[0].header, "CDELT2", "%lf", 1, &dD); 70 gfits_scan (&out[0].header, "CRPIX2", "%lf", 1, &Yo); 71 71 72 72 while (L >= 360) {L -= 360.0;} -
trunk/Ohana/src/opihi/cmd.data/create.c
r2843 r7080 55 55 56 56 if ((buf = SelectBuffer (argv[1], ANYBUFFER, TRUE)) == NULL) return (FALSE); 57 fits_free_matrix (&buf[0].matrix);58 fits_free_header (&buf[0].header);57 gfits_free_matrix (&buf[0].matrix); 58 gfits_free_header (&buf[0].header); 59 59 60 60 buf[0].bitpix = 16; … … 72 72 buf[0].header.Naxis[1] = atoi (argv[3]); 73 73 74 fits_create_header (&buf[0].header);75 fits_create_matrix (&buf[0].header, &buf[0].matrix);74 gfits_create_header (&buf[0].header); 75 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 76 76 77 77 return (TRUE); -
trunk/Ohana/src/opihi/cmd.data/cursor.c
r5846 r7080 58 58 if (IsImage) { 59 59 if (buf != NULL) { 60 Z = fits_get_matrix_value (&buf[0].matrix, (int) X, (int) Y);60 Z = gfits_get_matrix_value (&buf[0].matrix, (int) X, (int) Y); 61 61 } 62 62 fprintf (GetOutfile(), "%s %f %f %f\n", key, X, Y, Z); -
trunk/Ohana/src/opihi/cmd.data/dimenup.c
r2598 r7080 28 28 29 29 /* I should encapsulate this in a create_default_buffer */ 30 fits_free_matrix (&buf[0].matrix);31 fits_free_header (&buf[0].header);30 gfits_free_matrix (&buf[0].matrix); 31 gfits_free_header (&buf[0].header); 32 32 buf[0].header.bitpix = buf[0].bitpix = -32; 33 33 buf[0].header.unsign = buf[0].unsign = FALSE; … … 37 37 buf[0].header.Naxis[0] = Nx; 38 38 buf[0].header.Naxis[1] = Ny; 39 fits_create_header (&buf[0].header);40 fits_create_matrix (&buf[0].header, &buf[0].matrix);39 gfits_create_header (&buf[0].header); 40 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 41 41 42 42 out = (float *) buf[0].matrix.buffer; -
trunk/Ohana/src/opihi/cmd.data/dot.c
r5850 r7080 3 3 int dot (int argc, char **argv) { 4 4 5 int N, Ngraph;6 5 Graphdata graphmode; 7 6 float x, y; 8 7 9 /* choose the appropriate graphing window */ 10 Ngraph = -1; 11 if ((N = get_argument (argc, argv, "-n"))) { 12 remove_argument (N, &argc, argv); 13 Ngraph = atof (argv[N]); 14 remove_argument (N, &argc, argv); 15 } 16 if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE); 17 18 /* evaluate various plotting options */ 19 if ((N = get_argument (argc, argv, "-lt"))) { 20 remove_argument (N, &argc, argv); 21 graphmode.ltype = atof(argv[N]); 22 remove_argument (N, &argc, argv); 23 } 24 if ((N = get_argument (argc, argv, "-lw"))) { 25 remove_argument (N, &argc, argv); 26 graphmode.lweight = atof(argv[N]); 27 remove_argument (N, &argc, argv); 28 } 29 if ((N = get_argument (argc, argv, "-pt"))) { 30 remove_argument (N, &argc, argv); 31 graphmode.ptype = atof(argv[N]); 32 remove_argument (N, &argc, argv); 33 } 34 if ((N = get_argument (argc, argv, "+eb"))) { 35 remove_argument (N, &argc, argv); 36 graphmode.ebar = TRUE; 37 } 38 if ((N = get_argument (argc, argv, "-eb"))) { 39 remove_argument (N, &argc, argv); 40 graphmode.ebar = FALSE; 41 } 42 if ((N = get_argument (argc, argv, "-sz"))) { 43 remove_argument (N, &argc, argv); 44 graphmode.size = atof(argv[N]); 45 remove_argument (N, &argc, argv); 46 } 47 if ((N = get_argument (argc, argv, "-c"))) { 48 remove_argument (N, &argc, argv); 49 graphmode.color = KapaColorByName (argv[N]); 50 if (graphmode.color == -1) return (FALSE); 51 remove_argument (N, &argc, argv); 52 } 53 graphmode.style = 2; 8 if (!style_args (&graphmode, &argc, argv, -1)) return FALSE; 54 9 55 10 if (argc != 3) { … … 63 18 SetGraph (graphmode); 64 19 65 /* set errorbar mode (these are NOT sticky) */ 20 /* set point style and errorbar mode (these are NOT sticky) */ 21 graphmode.style = 2; 66 22 graphmode.etype = 0; 67 23 -
trunk/Ohana/src/opihi/cmd.data/extract.c
r2628 r7080 53 53 if ((out = SelectBuffer (argv[2], OLDBUFFER, FALSE)) == NULL) { 54 54 if ((out = SelectBuffer (argv[2], ANYBUFFER, TRUE)) == NULL) return (FALSE); 55 fits_free_matrix (&out[0].matrix);56 fits_free_header (&out[0].header);55 gfits_free_matrix (&out[0].matrix); 56 gfits_free_header (&out[0].header); 57 57 58 58 out[0].bitpix = in[0].bitpix; … … 60 60 out[0].bscale = in[0].bscale; 61 61 out[0].bzero = in[0].bzero; 62 fits_copy_header (&in[0].header, &out[0].header);63 fits_modify (&out[0].header, "NAXIS1", "%d", 1, Nx);64 fits_modify (&out[0].header, "NAXIS2", "%d", 1, Ny);62 gfits_copy_header (&in[0].header, &out[0].header); 63 gfits_modify (&out[0].header, "NAXIS1", "%d", 1, Nx); 64 gfits_modify (&out[0].header, "NAXIS2", "%d", 1, Ny); 65 65 out[0].header.Naxis[0] = Nx; 66 66 out[0].header.Naxis[1] = Ny; 67 fits_create_matrix (&out[0].header, &out[0].matrix);67 gfits_create_matrix (&out[0].header, &out[0].matrix); 68 68 } else { 69 69 if ((out[0].header.Naxis[1] != Ny) || (out[0].header.Naxis[0] != Nx)) { -
trunk/Ohana/src/opihi/cmd.data/fft2d.c
r4689 r7080 32 32 33 33 /* free up output space */ 34 fits_free_matrix (&Ore[0].matrix);35 fits_free_header (&Ore[0].header);36 fits_free_matrix (&Oim[0].matrix);37 fits_free_header (&Oim[0].header);34 gfits_free_matrix (&Ore[0].matrix); 35 gfits_free_header (&Ore[0].header); 36 gfits_free_matrix (&Oim[0].matrix); 37 gfits_free_header (&Oim[0].header); 38 38 39 39 /* get image dimensions, check value */ … … 74 74 75 75 /* fix up output headers (real) */ 76 fits_copy_header (&Ire[0].header, &Ore[0].header);77 fits_modify (&Ore[0].header, "NAXIS1", "%d", 1, Nx);78 fits_modify (&Ore[0].header, "NAXIS2", "%d", 1, Ny);76 gfits_copy_header (&Ire[0].header, &Ore[0].header); 77 gfits_modify (&Ore[0].header, "NAXIS1", "%d", 1, Nx); 78 gfits_modify (&Ore[0].header, "NAXIS2", "%d", 1, Ny); 79 79 Ore[0].header.Naxis[0] = Nx; 80 80 Ore[0].header.Naxis[1] = Ny; … … 83 83 Ore[0].bscale = Ire[0].bscale; 84 84 Ore[0].bzero = Ire[0].bzero; 85 fits_create_matrix (&Ore[0].header, &Ore[0].matrix);85 gfits_create_matrix (&Ore[0].header, &Ore[0].matrix); 86 86 87 87 /* fix up output headers (imaginary) */ 88 fits_copy_header (&Ire[0].header, &Oim[0].header);89 fits_modify (&Oim[0].header, "NAXIS1", "%d", 1, Nx);90 fits_modify (&Oim[0].header, "NAXIS2", "%d", 1, Ny);88 gfits_copy_header (&Ire[0].header, &Oim[0].header); 89 gfits_modify (&Oim[0].header, "NAXIS1", "%d", 1, Nx); 90 gfits_modify (&Oim[0].header, "NAXIS2", "%d", 1, Ny); 91 91 Oim[0].header.Naxis[0] = Nx; 92 92 Oim[0].header.Naxis[1] = Ny; … … 95 95 Oim[0].bscale = Ire[0].bscale; 96 96 Oim[0].bzero = Ire[0].bzero; 97 fits_create_matrix (&Oim[0].header, &Oim[0].matrix);97 gfits_create_matrix (&Oim[0].header, &Oim[0].matrix); 98 98 99 99 /* move data from working space to output buffers */ -
trunk/Ohana/src/opihi/cmd.data/gridify.c
r2938 r7080 56 56 free (bf[0].header.buffer); /* ALLOCATEd in SelectBuffer */ 57 57 free (bf[0].matrix.buffer); /* ALLOCATEd in SelectBuffer */ 58 fits_create_header (&bf[0].header);59 fits_create_matrix (&bf[0].header, &bf[0].matrix);58 gfits_create_header (&bf[0].header); 59 gfits_create_matrix (&bf[0].header, &bf[0].matrix); 60 60 61 61 ALLOCATE (val, float, Nx*Ny); -
trunk/Ohana/src/opihi/cmd.data/keyword.c
r2843 r7080 92 92 switch (Wmode) { 93 93 case STRING: 94 fits_modify (&buf[0].header, argv[2], "%s", 1, line);94 gfits_modify (&buf[0].header, argv[2], "%s", 1, line); 95 95 return (TRUE); 96 96 case FLOAT: 97 97 value = atof(line); 98 fits_modify (&buf[0].header, argv[2], "%lf", 1, value);98 gfits_modify (&buf[0].header, argv[2], "%lf", 1, value); 99 99 return (TRUE); 100 100 case INT: 101 fits_modify (&buf[0].header, argv[2], "%d", 1, atoi(line));101 gfits_modify (&buf[0].header, argv[2], "%d", 1, atoi(line)); 102 102 return (TRUE); 103 103 case BOOLEAN: … … 107 107 } 108 108 ivalue = !strcasecmp (line, "T"); 109 fits_modify (&buf[0].header, argv[2], "%t", 1, ivalue);109 gfits_modify (&buf[0].header, argv[2], "%t", 1, ivalue); 110 110 return (TRUE); 111 111 case KEYCOMMENT: 112 fits_modify (&buf[0].header, argv[2], "%C", 1, line);112 gfits_modify (&buf[0].header, argv[2], "%C", 1, line); 113 113 return (TRUE); 114 114 case COMMENT: 115 fits_modify (&buf[0].header, argv[2], "%S", 0, line);115 gfits_modify (&buf[0].header, argv[2], "%S", 0, line); 116 116 return (TRUE); 117 117 } … … 119 119 120 120 if (delete) { 121 fits_delete (&buf[0].header, argv[2], -1);121 gfits_delete (&buf[0].header, argv[2], -1); 122 122 return (TRUE); 123 123 } … … 125 125 /* grab the value in the given format, either a string or a digit */ 126 126 if (asfloat) { 127 status = fits_scan (&buf[0].header, argv[2], "%lf", 1, &value);127 status = gfits_scan (&buf[0].header, argv[2], "%lf", 1, &value); 128 128 if (!status) goto failure; 129 129 if (argc == 4) … … 135 135 136 136 if (ascomment) { 137 status = fits_scan (&buf[0].header, argv[2], "%C", 1, line);137 status = gfits_scan (&buf[0].header, argv[2], "%C", 1, line); 138 138 if (!status) goto failure; 139 139 if (argc == 4) … … 145 145 146 146 /* not-specified */ 147 status = fits_scan (&buf[0].header, argv[2], "%s", 1, line);147 status = gfits_scan (&buf[0].header, argv[2], "%s", 1, line); 148 148 if (!status) goto failure; 149 149 if (argc == 4) -
trunk/Ohana/src/opihi/cmd.data/line.c
r5850 r7080 3 3 int line (int argc, char **argv) { 4 4 5 int N, Npts , Ngraph;5 int N, Npts; 6 6 Graphdata graphmode; 7 7 Vector *vecx, *vecy, *dxm, *dxp, *dym, *dyp; 8 8 9 /* choose the appropriate graphing window */ 10 Ngraph = -1; 11 if ((N = get_argument (argc, argv, "-n"))) { 12 remove_argument (N, &argc, argv); 13 Ngraph = atof (argv[N]); 14 remove_argument (N, &argc, argv); 15 } 16 if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE); 17 18 /* evaluate various plotting options */ 19 if ((N = get_argument (argc, argv, "-lt"))) { 20 remove_argument (N, &argc, argv); 21 graphmode.ltype = atof(argv[N]); 22 remove_argument (N, &argc, argv); 23 } 24 if ((N = get_argument (argc, argv, "-lw"))) { 25 remove_argument (N, &argc, argv); 26 graphmode.lweight = atof(argv[N]); 27 remove_argument (N, &argc, argv); 28 } 29 if ((N = get_argument (argc, argv, "-pt"))) { 30 remove_argument (N, &argc, argv); 31 graphmode.ptype = atof(argv[N]); 32 remove_argument (N, &argc, argv); 33 } 34 if ((N = get_argument (argc, argv, "+eb"))) { 35 remove_argument (N, &argc, argv); 36 graphmode.ebar = TRUE; 37 } 38 if ((N = get_argument (argc, argv, "-eb"))) { 39 remove_argument (N, &argc, argv); 40 graphmode.ebar = FALSE; 41 } 42 if ((N = get_argument (argc, argv, "-sz"))) { 43 remove_argument (N, &argc, argv); 44 graphmode.size = atof(argv[N]); 45 remove_argument (N, &argc, argv); 46 } 47 if ((N = get_argument (argc, argv, "-c"))) { 48 remove_argument (N, &argc, argv); 49 graphmode.color = KapaColorByName (argv[N]); 50 if (graphmode.color == -1) return (FALSE); 51 remove_argument (N, &argc, argv); 52 } 53 if ((N = get_argument (argc, argv, "-x"))) { 54 remove_argument (N, &argc, argv); 55 graphmode.style = atof(argv[N]); 56 remove_argument (N, &argc, argv); 57 } 9 if (!style_args (&graphmode, &argc, argv, -1)) return FALSE; 58 10 59 11 /* decide on error bars */ … … 84 36 return (FALSE); 85 37 } 86 87 /* set plotting options (these are sticky) */88 38 SetGraph (graphmode); 89 39 -
trunk/Ohana/src/opihi/cmd.data/list_header.c
r2843 r7080 36 36 bscale = buf[0].header.bscale; 37 37 unsign = buf[0].header.unsign; 38 fits_free_header (&buf[0].header);38 gfits_free_header (&buf[0].header); 39 39 40 40 strcpy (filename, buf[0].file); 41 41 strcpy (buf[0].file, "*"); 42 42 strcat (buf[0].file, filename); 43 status = fits_read_header (argv[2], &buf[0].header);43 status = gfits_read_header (argv[2], &buf[0].header); 44 44 buf[0].header.bitpix = bitpix; 45 45 buf[0].header.bzero = bzero; 46 46 buf[0].header.bscale = bscale; 47 47 buf[0].header.unsign = unsign; 48 fits_modify (&buf[0].header, "BITPIX", "%d", 1, bitpix);49 fits_modify (&buf[0].header, "BSCALE", "%lf", 1, bscale);50 fits_modify (&buf[0].header, "BZERO", "%lf", 1, bzero);51 fits_modify (&buf[0].header, "UNSIGN", "%t", 1, unsign);48 gfits_modify (&buf[0].header, "BITPIX", "%d", 1, bitpix); 49 gfits_modify (&buf[0].header, "BSCALE", "%lf", 1, bscale); 50 gfits_modify (&buf[0].header, "BZERO", "%lf", 1, bzero); 51 gfits_modify (&buf[0].header, "UNSIGN", "%t", 1, unsign); 52 52 53 53 } else { … … 55 55 f = popen ("more", "w"); 56 56 57 p = fits_header_field (&buf[0].header, "END", 1);57 p = gfits_header_field (&buf[0].header, "END", 1); 58 58 nlines = (p - buf[0].header.buffer) / 80; 59 59 nbytes = 81*nlines; -
trunk/Ohana/src/opihi/cmd.data/mcreate.c
r4702 r7080 19 19 20 20 /* I should encapsulate this in a create_default_buffer */ 21 fits_free_matrix (&buf[0].matrix);22 fits_free_header (&buf[0].header);21 gfits_free_matrix (&buf[0].matrix); 22 gfits_free_header (&buf[0].header); 23 23 buf[0].header.bitpix = buf[0].bitpix = -32; 24 24 buf[0].header.unsign = buf[0].unsign = FALSE; … … 28 28 buf[0].header.Naxis[0] = Nx; 29 29 buf[0].header.Naxis[1] = Ny; 30 fits_create_header (&buf[0].header);31 fits_create_matrix (&buf[0].header, &buf[0].matrix);30 gfits_create_header (&buf[0].header); 31 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 32 32 return (TRUE); 33 33 -
trunk/Ohana/src/opihi/cmd.data/minterpolate.c
r3674 r7080 26 26 if ((out = SelectBuffer (argv[2], ANYBUFFER, TRUE)) == NULL) return (FALSE); 27 27 28 fits_free_matrix (&out[0].matrix);29 fits_free_header (&out[0].header);28 gfits_free_matrix (&out[0].matrix); 29 gfits_free_header (&out[0].header); 30 30 31 31 scale = atof (argv[3]); … … 41 41 out[0].bscale = in[0].bscale; 42 42 out[0].bzero = in[0].bzero; 43 fits_copy_header (&in[0].header, &out[0].header);43 gfits_copy_header (&in[0].header, &out[0].header); 44 44 45 fits_modify (&out[0].header, "NAXIS1", "%d", 1, nx);46 fits_modify (&out[0].header, "NAXIS2", "%d", 1, ny);45 gfits_modify (&out[0].header, "NAXIS1", "%d", 1, nx); 46 gfits_modify (&out[0].header, "NAXIS2", "%d", 1, ny); 47 47 out[0].header.Naxis[0] = nx; 48 48 out[0].header.Naxis[1] = ny; 49 fits_create_matrix (&out[0].header, &out[0].matrix);49 gfits_create_matrix (&out[0].header, &out[0].matrix); 50 50 51 51 /* fix astrometric terms */ 52 status = fits_scan (&out[0].header, "CDELT1", "%lf", 1, &dX);53 status &= fits_scan (&out[0].header, "CDELT2", "%lf", 1, &dY);52 status = gfits_scan (&out[0].header, "CDELT1", "%lf", 1, &dX); 53 status &= gfits_scan (&out[0].header, "CDELT2", "%lf", 1, &dY); 54 54 dX /= scale; 55 55 dY /= scale; 56 56 if (status) { 57 fits_modify (&out[0].header, "CDELT1", "%lf", 1, dX);58 fits_modify (&out[0].header, "CDELT2", "%lf", 1, dY);57 gfits_modify (&out[0].header, "CDELT1", "%lf", 1, dX); 58 gfits_modify (&out[0].header, "CDELT2", "%lf", 1, dY); 59 59 } 60 status = fits_scan (&out[0].header, "CRPIX1", "%lf", 1, &dX);61 status &= fits_scan (&out[0].header, "CRPIX2", "%lf", 1, &dY);60 status = gfits_scan (&out[0].header, "CRPIX1", "%lf", 1, &dX); 61 status &= gfits_scan (&out[0].header, "CRPIX2", "%lf", 1, &dY); 62 62 dX *= scale; 63 63 dY *= scale; 64 64 if (status) { 65 fits_modify (&out[0].header, "CRPIX1", "%lf", 1, dX);66 fits_modify (&out[0].header, "CRPIX2", "%lf", 1, dY);65 gfits_modify (&out[0].header, "CRPIX1", "%lf", 1, dX); 66 gfits_modify (&out[0].header, "CRPIX2", "%lf", 1, dY); 67 67 } 68 68 -
trunk/Ohana/src/opihi/cmd.data/plot.c
r5850 r7080 3 3 int plot (int argc, char **argv) { 4 4 5 int N, Npts , Ngraph;5 int N, Npts; 6 6 Graphdata graphmode; 7 7 Vector *xvec, *yvec, *dxmvec, *dxpvec, *dymvec, *dypvec; 8 8 9 /* choose the appropriate graphing window */ 10 Ngraph = -1; 11 if ((N = get_argument (argc, argv, "-n"))) { 12 remove_argument (N, &argc, argv); 13 Ngraph = atof (argv[N]); 14 remove_argument (N, &argc, argv); 15 } 16 if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE); 17 18 /* evaluate various plotting options */ 19 if ((N = get_argument (argc, argv, "-lt"))) { 20 remove_argument (N, &argc, argv); 21 graphmode.ltype = atof(argv[N]); 22 remove_argument (N, &argc, argv); 23 } 24 if ((N = get_argument (argc, argv, "-lw"))) { 25 remove_argument (N, &argc, argv); 26 graphmode.lweight = atof(argv[N]); 27 remove_argument (N, &argc, argv); 28 } 29 if ((N = get_argument (argc, argv, "-pt"))) { 30 remove_argument (N, &argc, argv); 31 graphmode.ptype = atof(argv[N]); 32 remove_argument (N, &argc, argv); 33 } 34 if ((N = get_argument (argc, argv, "+eb"))) { 35 remove_argument (N, &argc, argv); 36 graphmode.ebar = TRUE; 37 } 38 if ((N = get_argument (argc, argv, "-eb"))) { 39 remove_argument (N, &argc, argv); 40 graphmode.ebar = FALSE; 41 } 42 if ((N = get_argument (argc, argv, "-sz"))) { 43 remove_argument (N, &argc, argv); 44 graphmode.size = atof(argv[N]); 45 remove_argument (N, &argc, argv); 46 } 47 if ((N = get_argument (argc, argv, "-c"))) { 48 remove_argument (N, &argc, argv); 49 graphmode.color = KapaColorByName (argv[N]); 50 if (graphmode.color == -1) return (FALSE); 51 remove_argument (N, &argc, argv); 52 } 53 if ((N = get_argument (argc, argv, "-x"))) { 54 remove_argument (N, &argc, argv); 55 graphmode.style = atof(argv[N]); 56 remove_argument (N, &argc, argv); 57 } 9 if (!style_args (&graphmode, &argc, argv, -1)) return FALSE; 58 10 59 11 /* decide on error bars */ … … 81 33 82 34 if (argc != 3) { 83 fprintf (stderr, "USAGE: plot <x> <y> \n");35 fprintf (stderr, "USAGE: plot <x> <y> [style]\n"); 84 36 return (FALSE); 85 37 } 86 87 /* set plotting options (these are sticky) */88 38 SetGraph (graphmode); 89 39 … … 92 42 if ((dymvec != NULL) && (dypvec == NULL)) dypvec = dymvec; 93 43 if ((dypvec != NULL) && (dymvec == NULL)) dymvec = dypvec; 94 if ( dypvec != NULL) graphmode.etype |= 0x01;44 if ((dypvec != NULL) || (dymvec != NULL)) graphmode.etype |= 0x01; 95 45 if ((dxmvec != NULL) && (dxpvec == NULL)) dxpvec = dxmvec; 96 46 if ((dxpvec != NULL) && (dxmvec == NULL)) dxmvec = dxpvec; 97 if ( dxpvec != NULL) graphmode.etype |= 0x02;47 if ((dxpvec != NULL) || (dxmvec != NULL)) graphmode.etype |= 0x02; 98 48 99 49 /* find vectors */ -
trunk/Ohana/src/opihi/cmd.data/rd.c
r4689 r7080 61 61 /* find matrix, free old data */ 62 62 if ((buf = SelectBuffer (argv[1], ANYBUFFER, TRUE)) == NULL) return (FALSE); 63 fits_free_matrix (&buf[0].matrix);64 fits_free_header (&buf[0].header);63 gfits_free_matrix (&buf[0].matrix); 64 gfits_free_header (&buf[0].header); 65 65 66 66 /* save file name */ … … 73 73 if (extend) { 74 74 /* load in appropriate header */ 75 Nskip = fits_read_Xheader (argv[2], &buf[0].header, Nextend);75 Nskip = gfits_read_Xheader (argv[2], &buf[0].header, Nextend); 76 76 if (!Nskip) { 77 77 fprintf (stderr, "entry in %s not found\n", argv[2]); … … 113 113 } 114 114 fseek (f, Nskip, SEEK_SET); 115 status = fits_load_matrix (f, &buf[0].matrix, &buf[0].header);115 status = gfits_load_matrix (f, &buf[0].matrix, &buf[0].header); 116 116 fclose (f); 117 117 } … … 128 128 done = FALSE; 129 129 for (i = 0; !done; i++) { 130 Nskip = fits_read_Xheader (argv[2], &buf[0].header, i);130 Nskip = gfits_read_Xheader (argv[2], &buf[0].header, i); 131 131 if (!Nskip) { 132 132 fprintf (stderr, "extension %s in %s not found\n", ccdid, argv[2]); … … 135 135 return (FALSE); 136 136 } 137 if (! fits_scan (&buf[0].header, CCDKeyword, "%s", 1, ID)) {137 if (!gfits_scan (&buf[0].header, CCDKeyword, "%s", 1, ID)) { 138 138 fprintf (stderr, "%s not in header\n", CCDKeyword); 139 139 DeleteBuffer (buf); … … 145 145 done = strnumcmp (ccdid, ID); 146 146 147 if (!done) fits_free_header (&buf[0].header);147 if (!done) gfits_free_header (&buf[0].header); 148 148 } 149 149 free (CCDKeyword); … … 182 182 } 183 183 fseek (f, Nskip, SEEK_SET); 184 status = fits_load_matrix (f, &buf[0].matrix, &buf[0].header);184 status = gfits_load_matrix (f, &buf[0].matrix, &buf[0].header); 185 185 fclose (f); 186 186 } 187 187 188 188 if (!ccdsel && !extend) { 189 status = fits_read_header (argv[2], &buf[0].header);189 status = gfits_read_header (argv[2], &buf[0].header); 190 190 if (JustHead) { 191 191 buf[0].header.Naxes = 0; … … 209 209 buf[0].header.Naxis[2] = 0; 210 210 buf[0].header.Naxes = 2; 211 fits_modify (&buf[0].header, "NAXIS", "%d", 1, 2);212 fits_delete (&buf[0].header, "NAXIS3", 1);211 gfits_modify (&buf[0].header, "NAXIS", "%d", 1, 2); 212 gfits_delete (&buf[0].header, "NAXIS3", 1); 213 213 } 214 214 sprintf (region, "-1 -1 -1 -1 %d %d", (plane - 1), plane); 215 status = fits_read_segment (argv[2], &buf[0].matrix, region);215 status = gfits_read_segment (argv[2], &buf[0].matrix, region); 216 216 } 217 217 … … 236 236 237 237 /** now - convert the matrix values to floats for internal use **/ 238 fits_convert_format (&buf[0].header, &buf[0].matrix, -32, 1.0, 0.0, FT_UNSIGN_MODE);238 gfits_convert_format (&buf[0].header, &buf[0].matrix, -32, 1.0, 0.0, FT_UNSIGN_MODE); 239 239 240 240 return (TRUE); -
trunk/Ohana/src/opihi/cmd.data/rdseg.c
r2598 r7080 28 28 /* find matrix, free old data */ 29 29 if ((buf = SelectBuffer (argv[1], ANYBUFFER, TRUE)) == NULL) return (FALSE); 30 fits_free_matrix (&buf[0].matrix);31 fits_free_header (&buf[0].header);30 gfits_free_matrix (&buf[0].matrix); 31 gfits_free_header (&buf[0].header); 32 32 33 33 /* save file name */ … … 36 36 free (filename); 37 37 38 status = fits_read_header (argv[2], &buf[0].header);38 status = gfits_read_header (argv[2], &buf[0].header); 39 39 sprintf (region, "%d %d %d %d 0 1", x, nx + x, y, ny + y); 40 status = fits_read_segment (argv[2], &buf[0].matrix, region);41 fits_modify (&buf[0].header, "NAXIS1", "%d", 1, nx);42 fits_modify (&buf[0].header, "NAXIS2", "%d", 1, ny);40 status = gfits_read_segment (argv[2], &buf[0].matrix, region); 41 gfits_modify (&buf[0].header, "NAXIS1", "%d", 1, nx); 42 gfits_modify (&buf[0].header, "NAXIS2", "%d", 1, ny); 43 43 buf[0].header.Naxis[0] = nx; 44 44 buf[0].header.Naxis[1] = ny; … … 66 66 67 67 /** now - convert the matrix values to floats for internal use **/ 68 fits_convert_format (&buf[0].header, &buf[0].matrix, -32, 1.0, 0.0, FT_UNSIGN_MODE);68 gfits_convert_format (&buf[0].header, &buf[0].matrix, -32, 1.0, 0.0, FT_UNSIGN_MODE); 69 69 70 70 return (TRUE); -
trunk/Ohana/src/opihi/cmd.data/read_vectors.c
r3459 r7080 171 171 172 172 for (i = 0; i <= Nextend; i++) { 173 if (! fits_load_header (f, &header)) return (FALSE);174 Nbytes = fits_matrix_size (&header);173 if (!gfits_load_header (f, &header)) return (FALSE); 174 Nbytes = gfits_matrix_size (&header); 175 175 /* skip the prior data buffers */ 176 176 if (i < Nextend) { 177 177 fseek (f, Nbytes, SEEK_CUR); 178 fits_free_header (&header);178 gfits_free_header (&header); 179 179 continue; 180 180 } … … 183 183 Nread = fread (table.buffer, sizeof (char), Nbytes, f); 184 184 if (Nread != Nbytes) { 185 fits_free_table (&table);186 fits_free_header (&header);185 gfits_free_table (&table); 186 gfits_free_header (&header); 187 187 return (FALSE); 188 188 } … … 190 190 } 191 191 } else { 192 if (! fits_fread_ftable (f, &table, extname)) return (FALSE);192 if (!gfits_fread_ftable (f, &table, extname)) return (FALSE); 193 193 } 194 194 195 195 /* identify table type (ascii / binary) */ 196 196 Binary = FALSE; 197 fits_scan (&header, "XTENSION", "%s", 1, type);197 gfits_scan (&header, "XTENSION", "%s", 1, type); 198 198 if (!strcmp (type, "BINTABLE")) { 199 199 Binary = TRUE; … … 214 214 Nval = 0; 215 215 if (Binary) { 216 if (! fits_get_bintable_column_type (&header, argv[i], type, &Nval)) return (FALSE);217 if (! fits_get_bintable_column (&header, &table, argv[i], &data)) return (FALSE);216 if (!gfits_get_bintable_column_type (&header, argv[i], type, &Nval)) return (FALSE); 217 if (!gfits_get_bintable_column (&header, &table, argv[i], &data)) return (FALSE); 218 218 } else { 219 if (! fits_get_table_column_type (&header, argv[i], type)) return (FALSE);220 if (! fits_get_table_column (&header, &table, argv[i], &data)) return (FALSE);219 if (!gfits_get_table_column_type (&header, argv[i], type)) return (FALSE); 220 if (!gfits_get_table_column (&header, &table, argv[i], &data)) return (FALSE); 221 221 } 222 222 if (Nval == 0) return (FALSE); … … 276 276 free (vec); 277 277 } 278 fits_free_table (&table);279 fits_free_header (&header);278 gfits_free_table (&table); 279 gfits_free_header (&header); 280 280 return (TRUE); 281 281 } -
trunk/Ohana/src/opihi/cmd.data/rebin.c
r4689 r7080 40 40 if ((in = SelectBuffer (argv[1], OLDBUFFER, TRUE)) == NULL) return (FALSE); 41 41 if ((out = SelectBuffer (argv[2], ANYBUFFER, TRUE)) == NULL) return (FALSE); 42 fits_free_matrix (&out[0].matrix);43 fits_free_header (&out[0].header);42 gfits_free_matrix (&out[0].matrix); 43 gfits_free_header (&out[0].header); 44 44 45 45 scale = atof (argv[3]); … … 71 71 out[0].bscale = in[0].bscale; 72 72 out[0].bzero = in[0].bzero; 73 fits_copy_header (&in[0].header, &out[0].header);74 fits_modify (&out[0].header, "NAXIS1", "%d", 1, nx);75 fits_modify (&out[0].header, "NAXIS2", "%d", 1, ny);76 77 status = fits_scan (&out[0].header, "CDELT1", "%lf", 1, &dX);78 status &= fits_scan (&out[0].header, "CDELT2", "%lf", 1, &dY);73 gfits_copy_header (&in[0].header, &out[0].header); 74 gfits_modify (&out[0].header, "NAXIS1", "%d", 1, nx); 75 gfits_modify (&out[0].header, "NAXIS2", "%d", 1, ny); 76 77 status = gfits_scan (&out[0].header, "CDELT1", "%lf", 1, &dX); 78 status &= gfits_scan (&out[0].header, "CDELT2", "%lf", 1, &dY); 79 79 if (scale > 0) { 80 80 dX *= scale; … … 85 85 } 86 86 if (status) { 87 fits_modify (&out[0].header, "CDELT1", "%lf", 1, dX);88 fits_modify (&out[0].header, "CDELT2", "%lf", 1, dY);89 } 90 91 status = fits_scan (&out[0].header, "CRPIX1", "%lf", 1, &dX);92 status &= fits_scan (&out[0].header, "CRPIX2", "%lf", 1, &dY);87 gfits_modify (&out[0].header, "CDELT1", "%lf", 1, dX); 88 gfits_modify (&out[0].header, "CDELT2", "%lf", 1, dY); 89 } 90 91 status = gfits_scan (&out[0].header, "CRPIX1", "%lf", 1, &dX); 92 status &= gfits_scan (&out[0].header, "CRPIX2", "%lf", 1, &dY); 93 93 if (scale > 0) { 94 94 dX /= scale; … … 99 99 } 100 100 if (status) { 101 fits_modify (&out[0].header, "CRPIX1", "%lf", 1, dX);102 fits_modify (&out[0].header, "CRPIX2", "%lf", 1, dY);101 gfits_modify (&out[0].header, "CRPIX1", "%lf", 1, dX); 102 gfits_modify (&out[0].header, "CRPIX2", "%lf", 1, dY); 103 103 } 104 104 105 105 out[0].header.Naxis[0] = nx; 106 106 out[0].header.Naxis[1] = ny; 107 fits_create_matrix (&out[0].header, &out[0].matrix);107 gfits_create_matrix (&out[0].header, &out[0].matrix); 108 108 temp[0] = 0; 109 109 if ((in[0].file[0] != '*') && (in[0].file[0] != '(')) { -
trunk/Ohana/src/opihi/cmd.data/rotate.c
r2843 r7080 41 41 buf[0].header.Naxis[0] = NY; 42 42 buf[0].header.Naxis[1] = NX; 43 fits_modify (&buf[0].header, "NAXIS1", "%d", 1, NY);44 fits_modify (&buf[0].header, "NAXIS2", "%d", 1, NX);45 fits_print (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");46 fits_create_matrix (&buf[0].header, &buf[0].matrix);43 gfits_modify (&buf[0].header, "NAXIS1", "%d", 1, NY); 44 gfits_modify (&buf[0].header, "NAXIS2", "%d", 1, NX); 45 gfits_print (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!"); 46 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 47 47 out_buff = (float *)buf[0].matrix.buffer; 48 48 for (i = NX - 1; i > -1; i--) { … … 52 52 } 53 53 /* fix reference pixel */ 54 fits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo);55 fits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo);54 gfits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo); 55 gfits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo); 56 56 X1 = Yo; 57 57 Y1 = NX - Xo; 58 fits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1);59 fits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1);60 61 /* fix rotate matrix */ 62 fits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11);63 fits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12);64 fits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21);65 fits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22);58 gfits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1); 59 gfits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1); 60 61 /* fix rotate matrix */ 62 gfits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11); 63 gfits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12); 64 gfits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21); 65 gfits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22); 66 66 PC11 = pc21; 67 67 PC12 = pc22; 68 68 PC21 = -pc11; 69 69 PC22 = -pc12; 70 fits_modify (&buf[0].header, "PC001001", "%le", 1, PC11);71 fits_modify (&buf[0].header, "PC001002", "%le", 1, PC12);72 fits_modify (&buf[0].header, "PC002001", "%le", 1, PC21);73 fits_modify (&buf[0].header, "PC002002", "%le", 1, PC22);70 gfits_modify (&buf[0].header, "PC001001", "%le", 1, PC11); 71 gfits_modify (&buf[0].header, "PC001002", "%le", 1, PC12); 72 gfits_modify (&buf[0].header, "PC002001", "%le", 1, PC21); 73 gfits_modify (&buf[0].header, "PC002002", "%le", 1, PC22); 74 74 75 75 free (in_buff); … … 80 80 buf[0].header.Naxis[0] = NY; 81 81 buf[0].header.Naxis[1] = NX; 82 fits_modify (&buf[0].header, "NAXIS1", "%d", 1, NY);83 fits_modify (&buf[0].header, "NAXIS2", "%d", 1, NX);84 fits_print (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");85 fits_create_matrix (&buf[0].header, &buf[0].matrix);82 gfits_modify (&buf[0].header, "NAXIS1", "%d", 1, NY); 83 gfits_modify (&buf[0].header, "NAXIS2", "%d", 1, NX); 84 gfits_print (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!"); 85 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 86 86 out_buff = (float *)buf[0].matrix.buffer; 87 87 for (i = 0; i < NX; i++) { … … 91 91 } 92 92 /* fix reference pixel */ 93 fits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo);94 fits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo);93 gfits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo); 94 gfits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo); 95 95 X1 = NY - Yo; 96 96 Y1 = Xo; 97 97 fprintf (stderr, "%f %f -> %f %f\n", Xo, Yo, X1, Y1); 98 fits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1);99 fits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1);100 101 /* fix rotate matrix */ 102 fits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11);103 fits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12);104 fits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21);105 fits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22);98 gfits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1); 99 gfits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1); 100 101 /* fix rotate matrix */ 102 gfits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11); 103 gfits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12); 104 gfits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21); 105 gfits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22); 106 106 PC11 = -pc21; 107 107 PC12 = -pc22; … … 110 110 fprintf (stderr, "%f %f -> %f %f\n", pc11, pc12, PC11, PC12); 111 111 fprintf (stderr, "%f %f -> %f %f\n", pc21, pc22, PC21, PC22); 112 fits_modify (&buf[0].header, "PC001001", "%le", 1, PC11);113 fits_modify (&buf[0].header, "PC001002", "%le", 1, PC12);114 fits_modify (&buf[0].header, "PC002001", "%le", 1, PC21);115 fits_modify (&buf[0].header, "PC002002", "%le", 1, PC22);112 gfits_modify (&buf[0].header, "PC001001", "%le", 1, PC11); 113 gfits_modify (&buf[0].header, "PC001002", "%le", 1, PC12); 114 gfits_modify (&buf[0].header, "PC002001", "%le", 1, PC21); 115 gfits_modify (&buf[0].header, "PC002002", "%le", 1, PC22); 116 116 117 117 free (in_buff); … … 120 120 121 121 if (!strcasecmp (argv[2], "UPSIDE") || (atof (argv[2]) == -180) || (atof (argv[2]) == 180)) { 122 fits_print (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");123 fits_create_matrix (&buf[0].header, &buf[0].matrix);122 gfits_print (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!"); 123 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 124 124 out_buff = (float *)buf[0].matrix.buffer; 125 125 for (j = NY - 1; j > -1; j--) { … … 129 129 } 130 130 /* fix reference pixel */ 131 fits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo);132 fits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo);131 gfits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo); 132 gfits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo); 133 133 X1 = NX - Xo; 134 134 Y1 = NY - Yo; 135 fits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1);136 fits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1);137 138 /* fix rotate matrix */ 139 fits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11);140 fits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12);141 fits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21);142 fits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22);135 gfits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1); 136 gfits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1); 137 138 /* fix rotate matrix */ 139 gfits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11); 140 gfits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12); 141 gfits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21); 142 gfits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22); 143 143 PC11 = -pc11; 144 144 PC12 = -pc12; 145 145 PC21 = -pc21; 146 146 PC22 = -pc22; 147 fits_modify (&buf[0].header, "PC001001", "%le", 1, PC11);148 fits_modify (&buf[0].header, "PC001002", "%le", 1, PC12);149 fits_modify (&buf[0].header, "PC002001", "%le", 1, PC21);150 fits_modify (&buf[0].header, "PC002002", "%le", 1, PC22);147 gfits_modify (&buf[0].header, "PC001001", "%le", 1, PC11); 148 gfits_modify (&buf[0].header, "PC001002", "%le", 1, PC12); 149 gfits_modify (&buf[0].header, "PC002001", "%le", 1, PC21); 150 gfits_modify (&buf[0].header, "PC002002", "%le", 1, PC22); 151 151 152 152 free (in_buff); … … 155 155 156 156 if (!strcasecmp (argv[2], "FLIPY")) { 157 fits_print (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");158 fits_create_matrix (&buf[0].header, &buf[0].matrix);157 gfits_print (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!"); 158 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 159 159 out_buff = (float *)buf[0].matrix.buffer; 160 160 for (j = NY - 1; j > -1; j--) { … … 164 164 } 165 165 /* fix reference pixel */ 166 fits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo);167 fits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo);166 gfits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo); 167 gfits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo); 168 168 X1 = Xo; 169 169 Y1 = NY - Yo; 170 fits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1);171 fits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1);172 173 /* fix rotate matrix */ 174 fits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11);175 fits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12);176 fits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21);177 fits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22);170 gfits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1); 171 gfits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1); 172 173 /* fix rotate matrix */ 174 gfits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11); 175 gfits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12); 176 gfits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21); 177 gfits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22); 178 178 PC11 = pc11; 179 179 PC12 = -pc12; 180 180 PC21 = pc21; 181 181 PC22 = -pc22; 182 fits_modify (&buf[0].header, "PC001001", "%le", 1, PC11);183 fits_modify (&buf[0].header, "PC001002", "%le", 1, PC12);184 fits_modify (&buf[0].header, "PC002001", "%le", 1, PC21);185 fits_modify (&buf[0].header, "PC002002", "%le", 1, PC22);182 gfits_modify (&buf[0].header, "PC001001", "%le", 1, PC11); 183 gfits_modify (&buf[0].header, "PC001002", "%le", 1, PC12); 184 gfits_modify (&buf[0].header, "PC002001", "%le", 1, PC21); 185 gfits_modify (&buf[0].header, "PC002002", "%le", 1, PC22); 186 186 187 187 free (in_buff); … … 190 190 191 191 if (!strcasecmp (argv[2], "FLIPX")) { 192 fits_print (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");193 fits_create_matrix (&buf[0].header, &buf[0].matrix);192 gfits_print (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!"); 193 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 194 194 out_buff = (float *)buf[0].matrix.buffer; 195 195 for (j = 0; j < NY; j++) { … … 199 199 } 200 200 /* fix reference pixel */ 201 fits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo);202 fits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo);201 gfits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo); 202 gfits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo); 203 203 X1 = NX - Xo; 204 204 Y1 = Yo; 205 fits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1);206 fits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1);207 208 /* fix rotate matrix */ 209 fits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11);210 fits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12);211 fits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21);212 fits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22);205 gfits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1); 206 gfits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1); 207 208 /* fix rotate matrix */ 209 gfits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11); 210 gfits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12); 211 gfits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21); 212 gfits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22); 213 213 PC11 = -pc11; 214 214 PC12 = pc12; 215 215 PC21 = -pc21; 216 216 PC22 = pc22; 217 fits_modify (&buf[0].header, "PC001001", "%le", 1, PC11);218 fits_modify (&buf[0].header, "PC001002", "%le", 1, PC12);219 fits_modify (&buf[0].header, "PC002001", "%le", 1, PC21);220 fits_modify (&buf[0].header, "PC002002", "%le", 1, PC22);217 gfits_modify (&buf[0].header, "PC001001", "%le", 1, PC11); 218 gfits_modify (&buf[0].header, "PC001002", "%le", 1, PC12); 219 gfits_modify (&buf[0].header, "PC002001", "%le", 1, PC21); 220 gfits_modify (&buf[0].header, "PC002002", "%le", 1, PC22); 221 221 222 222 free (in_buff); … … 242 242 243 243 /* fix reference pixel */ 244 fits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo);245 fits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo);244 gfits_scan (&buf[0].header, "CRPIX1", "%lf", 1, &Xo); 245 gfits_scan (&buf[0].header, "CRPIX2", "%lf", 1, &Yo); 246 246 /* 247 247 X1 = (Xo - dX)*CosAngle - (Yo - dY)*SinAngle; … … 250 250 X1 = Xo*CosAngle - Yo*SinAngle + dX; 251 251 Y1 = Xo*SinAngle + Yo*CosAngle + dY; 252 fits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1);253 fits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1);252 gfits_modify (&buf[0].header, "CRPIX1", "%lf", 1, X1); 253 gfits_modify (&buf[0].header, "CRPIX2", "%lf", 1, Y1); 254 254 255 255 /* fix rotate matrix */ 256 fits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11);257 fits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12);258 fits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21);259 fits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22);256 gfits_scan (&buf[0].header, "PC001001", "%lf", 1, &pc11); 257 gfits_scan (&buf[0].header, "PC001002", "%lf", 1, &pc12); 258 gfits_scan (&buf[0].header, "PC002001", "%lf", 1, &pc21); 259 gfits_scan (&buf[0].header, "PC002002", "%lf", 1, &pc22); 260 260 PC11 = pc11*CosAngle - pc21*SinAngle; 261 261 PC12 = pc12*CosAngle - pc22*SinAngle; 262 262 PC21 = pc21*CosAngle + pc11*SinAngle; 263 263 PC22 = pc22*CosAngle + pc12*SinAngle; 264 fits_modify (&buf[0].header, "PC001001", "%le", 1, PC11);265 fits_modify (&buf[0].header, "PC001002", "%le", 1, PC12);266 fits_modify (&buf[0].header, "PC002001", "%le", 1, PC21);267 fits_modify (&buf[0].header, "PC002002", "%le", 1, PC22);264 gfits_modify (&buf[0].header, "PC001001", "%le", 1, PC11); 265 gfits_modify (&buf[0].header, "PC001002", "%le", 1, PC12); 266 gfits_modify (&buf[0].header, "PC002001", "%le", 1, PC21); 267 gfits_modify (&buf[0].header, "PC002002", "%le", 1, PC22); 268 268 269 269 buf[0].header.Naxis[0] = Lx; 270 270 buf[0].header.Naxis[1] = Ly; 271 fits_modify (&buf[0].header, "NAXIS1", "%d", 1, Lx);272 fits_modify (&buf[0].header, "NAXIS2", "%d", 1, Ly);273 fits_create_matrix (&buf[0].header, &buf[0].matrix);274 fits_print (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!");271 gfits_modify (&buf[0].header, "NAXIS1", "%d", 1, Lx); 272 gfits_modify (&buf[0].header, "NAXIS2", "%d", 1, Ly); 273 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 274 gfits_print (&buf[0].header, "HISTORY", "%S", 1, "WARNING: rotated image!"); 275 275 out_buff = (float *)buf[0].matrix.buffer; 276 276 for (j = 0; j < Ly; j++) { -
trunk/Ohana/src/opihi/cmd.data/spline_apply.c
r2598 r7080 34 34 35 35 /* create an output matrix buffer with desired nx, ny */ 36 fits_free_matrix (&out[0].matrix);37 fits_free_header (&out[0].header);36 gfits_free_matrix (&out[0].matrix); 37 gfits_free_header (&out[0].header); 38 38 39 39 out[0].bitpix = y1[0].bitpix; … … 41 41 out[0].bscale = y1[0].bscale; 42 42 out[0].bzero = y1[0].bzero; 43 fits_copy_header (&y1[0].header, &out[0].header);44 fits_modify (&out[0].header, "NAXIS1", "%d", 1, nx);45 fits_modify (&out[0].header, "NAXIS2", "%d", 1, ny);43 gfits_copy_header (&y1[0].header, &out[0].header); 44 gfits_modify (&out[0].header, "NAXIS1", "%d", 1, nx); 45 gfits_modify (&out[0].header, "NAXIS2", "%d", 1, ny); 46 46 47 47 out[0].header.Naxis[0] = nx; 48 48 out[0].header.Naxis[1] = ny; 49 fits_create_matrix (&out[0].header, &out[0].matrix);49 gfits_create_matrix (&out[0].header, &out[0].matrix); 50 50 if ((y1[0].file[0] != '*') && (y1[0].file[0] != '(')) { 51 51 sprintf (out[0].file, "*%s", y1[0].file); -
trunk/Ohana/src/opihi/cmd.data/spline_construct.c
r2598 r7080 26 26 out[0].bscale = in[0].bscale; 27 27 out[0].bzero = in[0].bzero; 28 fits_copy_matrix_info (&in[0].matrix, &out[0].matrix);29 fits_copy_header (&in[0].header, &out[0].header);30 fits_create_matrix (&out[0].header, &out[0].matrix);28 gfits_copy_matrix_info (&in[0].matrix, &out[0].matrix); 29 gfits_copy_header (&in[0].header, &out[0].header); 30 gfits_create_matrix (&out[0].header, &out[0].matrix); 31 31 32 32 xdir = FALSE; -
trunk/Ohana/src/opihi/cmd.data/style.c
r5850 r7080 1 1 # include "data.h" 2 # define NCOLORS 93 static char colors[9][10] = {"black", "white", "red", "orange", "yellow", "green", "blue", "indigo", "violet"};4 2 5 3 int style (int argc, char **argv) { 6 4 7 int N, Ngraph;8 5 Graphdata graphmode; 9 6 10 Ngraph = -1; 11 if ((N = get_argument (argc, argv, "-n"))) { 12 remove_argument (N, &argc, argv); 13 Ngraph = atof (argv[N]); 14 remove_argument (N, &argc, argv); 15 } 16 if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE); 17 18 if (argc == 1) { 19 fprintf (stderr, "current style (%d): -x %d -c %s -pt %d -lt %d -lw %f -sz %f\n", Ngraph, 20 graphmode.style, colors[graphmode.color], graphmode.ptype, 21 graphmode.ltype, graphmode.lweight, 22 graphmode.size); 23 return (TRUE); 24 } 25 26 if ((N = get_argument (argc, argv, "-lt"))) { 27 remove_argument (N, &argc, argv); 28 graphmode.ltype = atof(argv[N]); 29 remove_argument (N, &argc, argv); 30 } 31 if ((N = get_argument (argc, argv, "-lw"))) { 32 remove_argument (N, &argc, argv); 33 graphmode.lweight = atof(argv[N]); 34 remove_argument (N, &argc, argv); 35 } 36 if ((N = get_argument (argc, argv, "-pt"))) { 37 remove_argument (N, &argc, argv); 38 graphmode.ptype = atof(argv[N]); 39 remove_argument (N, &argc, argv); 40 } 41 if ((N = get_argument (argc, argv, "+eb"))) { 42 remove_argument (N, &argc, argv); 43 graphmode.ebar = TRUE; 44 } 45 if ((N = get_argument (argc, argv, "-eb"))) { 46 remove_argument (N, &argc, argv); 47 graphmode.ebar = FALSE; 48 } 49 if ((N = get_argument (argc, argv, "-sz"))) { 50 remove_argument (N, &argc, argv); 51 graphmode.size = atof(argv[N]); 52 remove_argument (N, &argc, argv); 53 } 54 if ((N = get_argument (argc, argv, "-c"))) { 55 remove_argument (N, &argc, argv); 56 graphmode.color = KapaColorByName (argv[N]); 57 if (graphmode.color == -1) return (FALSE); 58 remove_argument (N, &argc, argv); 59 } 60 if ((N = get_argument (argc, argv, "-x"))) { 61 remove_argument (N, &argc, argv); 62 graphmode.style = atof(argv[N]); 63 remove_argument (N, &argc, argv); 64 } 65 66 SetGraph (graphmode); 7 if (!style_args (&graphmode, &argc, argv, -1)) return FALSE; 67 8 68 9 if (argc > 1) { … … 70 11 return (FALSE); 71 12 } 13 SetGraph (graphmode); 72 14 73 15 return (TRUE); 74 75 16 } 76 -
trunk/Ohana/src/opihi/cmd.data/subraster.c
r2598 r7080 53 53 54 54 if ((obuf = SelectBuffer (argv[2], ANYBUFFER, TRUE)) == NULL) return (FALSE); 55 fits_free_matrix (&obuf[0].matrix);56 fits_free_header (&obuf[0].header);55 gfits_free_matrix (&obuf[0].matrix); 56 gfits_free_header (&obuf[0].header); 57 57 58 58 obuf[0].bitpix = ibuf[0].bitpix; … … 62 62 /* strcpy (obuf[0].name, ibuf[0].name); */ 63 63 strcpy (obuf[0].file, ibuf[0].file); 64 fits_copy_header (&ibuf[0].header, &obuf[0].header);65 fits_modify (&obuf[0].header, "NAXIS1", "%d", 1, Nx);66 fits_modify (&obuf[0].header, "NAXIS2", "%d", 1, Ny);64 gfits_copy_header (&ibuf[0].header, &obuf[0].header); 65 gfits_modify (&obuf[0].header, "NAXIS1", "%d", 1, Nx); 66 gfits_modify (&obuf[0].header, "NAXIS2", "%d", 1, Ny); 67 67 obuf[0].header.Naxis[0] = Nx; 68 68 obuf[0].header.Naxis[1] = Ny; 69 fits_create_matrix (&obuf[0].header, &obuf[0].matrix);69 gfits_create_matrix (&obuf[0].header, &obuf[0].matrix); 70 70 71 71 for (j = 0; j < ny; j++) { -
trunk/Ohana/src/opihi/cmd.data/svd.c
r2598 r7080 20 20 21 21 /* U is Nx, Ny */ 22 fits_free_matrix (&Mu[0].matrix);23 fits_free_header (&Mu[0].header);22 gfits_free_matrix (&Mu[0].matrix); 23 gfits_free_header (&Mu[0].header); 24 24 Mu[0].bitpix = Ma[0].bitpix; 25 25 Mu[0].unsign = Ma[0].unsign; 26 26 Mu[0].bscale = Ma[0].bscale; 27 27 Mu[0].bzero = Ma[0].bzero; 28 fits_copy_header (&Ma[0].header, &Mu[0].header);29 fits_create_matrix (&Mu[0].header, &Mu[0].matrix);28 gfits_copy_header (&Ma[0].header, &Mu[0].header); 29 gfits_create_matrix (&Mu[0].header, &Mu[0].matrix); 30 30 31 31 /* V is Nx, Nx */ 32 fits_free_matrix (&Mv[0].matrix);33 fits_free_header (&Mv[0].header);32 gfits_free_matrix (&Mv[0].matrix); 33 gfits_free_header (&Mv[0].header); 34 34 Mv[0].bitpix = Ma[0].bitpix; 35 35 Mv[0].unsign = Ma[0].unsign; 36 36 Mv[0].bscale = Ma[0].bscale; 37 37 Mv[0].bzero = Ma[0].bzero; 38 fits_copy_header (&Ma[0].header, &Mv[0].header);39 fits_modify (&Mv[0].header, "NAXIS2", "%d", 1, Nx);38 gfits_copy_header (&Ma[0].header, &Mv[0].header); 39 gfits_modify (&Mv[0].header, "NAXIS2", "%d", 1, Nx); 40 40 Mv[0].header.Naxis[1] = Nx; 41 fits_create_matrix (&Mv[0].header, &Mv[0].matrix);41 gfits_create_matrix (&Mv[0].header, &Mv[0].matrix); 42 42 43 43 /* w is Nx */ -
trunk/Ohana/src/opihi/cmd.data/vgrid.c
r2598 r7080 50 50 free (bf[0].header.buffer); /* ALLOCATEd in SelectBuffer */ 51 51 free (bf[0].matrix.buffer); /* ALLOCATEd in SelectBuffer */ 52 fits_create_header (&bf[0].header);53 fits_create_matrix (&bf[0].header, &bf[0].matrix);52 gfits_create_header (&bf[0].header); 53 gfits_create_matrix (&bf[0].header, &bf[0].matrix); 54 54 55 55 ALLOCATE (val, float, Nx*Ny); -
trunk/Ohana/src/opihi/cmd.data/wd.c
r4689 r7080 80 80 memcpy (temp_header.buffer, buf[0].header.buffer, temp_header.size); 81 81 82 if (temp_header.Naxes) fits_convert_format (&temp_header, &temp_matrix, outBitpix, outScale, outZero, outUnsign);82 if (temp_header.Naxes) gfits_convert_format (&temp_header, &temp_matrix, outBitpix, outScale, outZero, outUnsign); 83 83 84 84 if (Extend) { … … 88 88 89 89 /* assume failure means non-existent file */ 90 if (! fits_read_header (argv[2], &Xhead)) {90 if (!gfits_read_header (argv[2], &Xhead)) { 91 91 92 92 Xhead.simple = TRUE; … … 99 99 Xhead.unsign = FALSE; 100 100 101 fits_create_header (&Xhead);102 fits_modify (&Xhead, "NEXTEND", "%d", 1, 0);101 gfits_create_header (&Xhead); 102 gfits_modify (&Xhead, "NEXTEND", "%d", 1, 0); 103 103 f = fopen (argv[2], "w"); 104 104 fclose (f); 105 105 } 106 106 107 fits_modify (&Xhead, "EXTEND", "%t", 1, TRUE);107 gfits_modify (&Xhead, "EXTEND", "%t", 1, TRUE); 108 108 109 109 Nextend = 0; 110 fits_scan (&Xhead, "NEXTEND", "%d", 1, &Nextend);110 gfits_scan (&Xhead, "NEXTEND", "%d", 1, &Nextend); 111 111 Nextend ++; 112 fits_modify (&Xhead, "NEXTEND", "%d", 1, Nextend);112 gfits_modify (&Xhead, "NEXTEND", "%d", 1, Nextend); 113 113 114 114 /* write the main header to the start of the file */ … … 149 149 } 150 150 /* write the matrix buffer (automatically goes to end of file */ 151 if (! fits_write_matrix (argv[2], &temp_matrix)) {151 if (!gfits_write_matrix (argv[2], &temp_matrix)) { 152 152 fprintf (stderr, "failed to write file\n"); 153 153 status = FALSE; … … 156 156 status = TRUE; 157 157 done1: 158 fits_free_header (&Xhead);159 fits_free_header (&temp_header);160 fits_free_matrix (&temp_matrix);158 gfits_free_header (&Xhead); 159 gfits_free_header (&temp_header); 160 gfits_free_matrix (&temp_matrix); 161 161 return (status); 162 162 } 163 163 164 164 /* the actual write-to-disk goes here */ 165 if (! fits_write_header (argv[2], &temp_header)) {165 if (!gfits_write_header (argv[2], &temp_header)) { 166 166 fprintf (stderr, "failed to write header\n"); 167 fits_free_header (&temp_header);168 fits_free_matrix (&temp_matrix);167 gfits_free_header (&temp_header); 168 gfits_free_matrix (&temp_matrix); 169 169 return (FALSE); 170 170 } 171 171 172 if (! fits_write_matrix (argv[2], &temp_matrix)) {172 if (!gfits_write_matrix (argv[2], &temp_matrix)) { 173 173 fprintf (stderr, "failed to write matrix\n"); 174 fits_free_header (&temp_header);175 fits_free_matrix (&temp_matrix);174 gfits_free_header (&temp_header); 175 gfits_free_matrix (&temp_matrix); 176 176 return (FALSE); 177 177 } 178 178 179 fits_free_header (&temp_header);180 fits_free_matrix (&temp_matrix);179 gfits_free_header (&temp_header); 180 gfits_free_matrix (&temp_matrix); 181 181 182 182 return (TRUE); -
trunk/Ohana/src/opihi/dimm/Image.c
r2598 r7080 62 62 header.bscale = 1; 63 63 64 fits_create_header (&header);65 fits_create_matrix (&header, &matrix);64 gfits_create_header (&header); 65 gfits_create_matrix (&header, &matrix); 66 66 free (matrix.buffer); 67 67 … … 69 69 70 70 /* write meta-data to header */ 71 fits_print (&header, "RA", "%lf", 1, image[0].ra);72 fits_print (&header, "DEC", "%lf", 1, image[0].dec);73 fits_print (&header, "EQUINOX", "%lf", 1, 2000.0);71 gfits_print (&header, "RA", "%lf", 1, image[0].ra); 72 gfits_print (&header, "DEC", "%lf", 1, image[0].dec); 73 gfits_print (&header, "EQUINOX", "%lf", 1, 2000.0); 74 74 75 fits_print (&header, "AIRMASS", "%lf", 1, image[0].airmass);76 fits_print (&header, "CCDTEMP", "%lf", 1, image[0].ccdtemp);77 fits_print (&header, "AIRTEMP", "%lf", 1, image[0].airtemp);78 fits_print (&header, "EXPTIME", "%lf", 1, image[0].exptime);75 gfits_print (&header, "AIRMASS", "%lf", 1, image[0].airmass); 76 gfits_print (&header, "CCDTEMP", "%lf", 1, image[0].ccdtemp); 77 gfits_print (&header, "AIRTEMP", "%lf", 1, image[0].airtemp); 78 gfits_print (&header, "EXPTIME", "%lf", 1, image[0].exptime); 79 79 80 fits_write_header (filename, &header);81 fits_write_matrix (filename, &matrix);80 gfits_write_header (filename, &header); 81 gfits_write_matrix (filename, &matrix); 82 82 83 83 return (TRUE); -
trunk/Ohana/src/opihi/dimm/camera.c
r2598 r7080 105 105 106 106 /* generate a buffer to store the image */ 107 fits_free_matrix (&buf[0].matrix);108 fits_free_header (&buf[0].header);107 gfits_free_matrix (&buf[0].matrix); 108 gfits_free_header (&buf[0].header); 109 109 buf[0].header.bitpix = buf[0].bitpix = 16; 110 110 buf[0].header.unsign = buf[0].unsign = FALSE; … … 114 114 buf[0].header.Naxis[0] = dx; 115 115 buf[0].header.Naxis[1] = dy; 116 fits_create_header (&buf[0].header);117 fits_create_matrix (&buf[0].header, &buf[0].matrix);116 gfits_create_header (&buf[0].header); 117 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 118 118 119 119 ReadOut (x, y, dx, dy, 1, buf[0].matrix.buffer); 120 120 121 fits_convert_format (&buf[0].header, &buf[0].matrix, -32, 1.0, 0.0, FT_UNSIGN_MODE);121 gfits_convert_format (&buf[0].header, &buf[0].matrix, -32, 1.0, 0.0, FT_UNSIGN_MODE); 122 122 123 123 EXIT_STATUS (TRUE); -
trunk/Ohana/src/opihi/dimm/version.c
r4748 r7080 8 8 fprintf (stderr, "%s\n", opihi_version()); 9 9 fprintf (stderr, "%s\n", ohana_version()); 10 fprintf (stderr, "%s\n", fits_version());10 fprintf (stderr, "%s\n", gfits_version()); 11 11 12 12 fprintf (stderr, "compiled on %s %s\n", __DATE__, __TIME__); -
trunk/Ohana/src/opihi/doc/ChangeLog.txt
r6689 r7080 1 2 2006.05.03: 3 4 opihi-2-7 : converted to gfits APIs (forces libfits 1.6) 5 consolidated style argument parsing 6 added style arguments to astro plotting 7 8 mana-1-5 : converted to gfits APIs (forces libfits 1.6) 9 dvo-0-5 : converted to gfits APIs (forces libfits 1.6) 10 consolidated style argument parsing 11 pantasks-0-5 converted to gfits APIs (forces libfits 1.6) 12 pcontrol-0-5 converted to gfits APIs (forces libfits 1.6) 13 pclient-0-5 converted to gfits APIs (forces libfits 1.6) 14 dimm-0-4 converted to gfits APIs (forces libfits 1.6) 15 1 16 2 17 2006.03.26: -
trunk/Ohana/src/opihi/dvo/LoadImages.c
r6684 r7080 12 12 sprintf (filename, "%s/Images.dat", catdir); 13 13 14 fits_db_init (&db);14 gfits_db_init (&db); 15 15 db.lockstate = LCK_SOFT; 16 16 db.timeout = 120.0; 17 17 18 if (! fits_db_lock (&db, filename)) {18 if (!gfits_db_lock (&db, filename)) { 19 19 fprintf (stderr, "error opening image catalog %s (1)\n", filename); 20 20 return (NULL); … … 29 29 30 30 dvo_image_load (&db, TRUE, FALSE); 31 fits_db_close (&db);31 gfits_db_close (&db); 32 32 33 image = fits_table_get_Image (&db.ftable, nimage, &db.swapped);33 image = gfits_table_get_Image (&db.ftable, nimage, &db.swapped); 34 34 return (image); 35 35 } -
trunk/Ohana/src/opihi/dvo/cmpRead.c
r5145 r7080 17 17 /* init & load in table data */ 18 18 table.header = &theader; 19 if (! fits_fread_ftable (f, &table, "SMPFILE")) goto escape;19 if (!gfits_fread_ftable (f, &table, "SMPFILE")) goto escape; 20 20 21 smpdata = fits_table_get_SMPData (&table, &Nstars, NULL);21 smpdata = gfits_table_get_SMPData (&table, &Nstars, NULL); 22 22 23 23 ALLOCATE (stars, CMPstars, Nstars); -
trunk/Ohana/src/opihi/dvo/cmpload.c
r5850 r7080 36 36 } 37 37 38 if (! fits_read_header (argv[2], &header)) {38 if (!gfits_read_header (argv[2], &header)) { 39 39 fprintf (stderr, "ERROR: can't read header for %s\n", argv[2]); 40 40 return (FALSE); … … 42 42 43 43 /* find expected number of stars */ 44 fits_scan (&header, "NSTARS", "%d", 1, &Nstar);44 gfits_scan (&header, "NSTARS", "%d", 1, &Nstar); 45 45 if (Nstar == 0) { 46 46 fprintf (stderr, "ERROR: can't get NSTARS from header\n"); 47 fits_free_header (&header);47 gfits_free_header (&header); 48 48 return (FALSE); 49 49 } … … 52 52 if (f == NULL) { 53 53 fprintf (stderr, "ERROR: can't read data from %s\n", argv[2]); 54 fits_free_header (&header);54 gfits_free_header (&header); 55 55 return (FALSE); 56 56 } … … 134 134 free (overlay); 135 135 136 fits_free_header (&header);136 gfits_free_header (&header); 137 137 free (buffer); 138 138 -
trunk/Ohana/src/opihi/dvo/cmpread.c
r5386 r7080 41 41 42 42 /* load FITS header */ 43 if (! fits_read_header (argv[2], &header)) {43 if (!gfits_read_header (argv[2], &header)) { 44 44 fprintf (stderr, "ERROR: can't read header for %s\n", argv[2]); 45 45 return (FALSE); … … 49 49 if (!GetCoords (&coords, &header)) { 50 50 fprintf (stderr, "can't get WCS info from header\n"); 51 fits_free_header (&header);51 gfits_free_header (&header); 52 52 return (FALSE); 53 53 } … … 58 58 if (f == NULL) { 59 59 fprintf (stderr, "ERROR: can't read data from %s\n", argv[2]); 60 fits_free_header (&header);60 gfits_free_header (&header); 61 61 return (FALSE); 62 62 } … … 64 64 65 65 /* find expected number of stars */ 66 if (! fits_scan (&header, "NSTARS", "%d", 1, &Nstars)) {66 if (!gfits_scan (&header, "NSTARS", "%d", 1, &Nstars)) { 67 67 fprintf (stderr, "ERROR: can't get NSTARS from header\n"); 68 fits_free_header (&header);68 gfits_free_header (&header); 69 69 return (FALSE); 70 70 } … … 72 72 /* read from FITS table or from text table */ 73 73 extend = FALSE; 74 fits_scan (&header, "EXTEND", "%t", 1, &extend);74 gfits_scan (&header, "EXTEND", "%t", 1, &extend); 75 75 if (extend) { 76 76 fprintf (stderr, "reading from FITS cmp file %s\n", argv[2]); 77 Nbytes = fits_matrix_size (&header);77 Nbytes = gfits_matrix_size (&header); 78 78 fseek (f, Nbytes, SEEK_CUR); 79 79 stars = cmpReadFits (f, &Nstars); … … 81 81 /* allocate space for stars */ 82 82 fprintf (stderr, "reading from TEXT cmp file %s\n", argv[2]); 83 if (! fits_scan (&header, "NSTARS", "%d", 1, &Nstars)) {83 if (!gfits_scan (&header, "NSTARS", "%d", 1, &Nstars)) { 84 84 fprintf (stderr, "ERROR: failed to find NSTARS\n"); 85 85 exit (1); … … 138 138 } 139 139 free (stars); 140 fits_free_header (&header);140 gfits_free_header (&header); 141 141 fprintf (stderr, "loaded %d objects\n", Nstars); 142 142 return (TRUE); -
trunk/Ohana/src/opihi/dvo/ddmags.c
r5945 r7080 20 20 RegionName = NULL; 21 21 RegionList = NULL; 22 skylist = NULL; 22 23 23 24 /* load photcode information */ … … 66 67 } 67 68 catalog.catflags = LOAD_AVES | LOAD_MEAS | LOAD_SECF; 68 if (!load_catalog (&catalog, FALSE)) {69 if (!load_catalog (&catalog, TRUE)) { 69 70 unlock_catalog (&catalog); 70 71 continue; 71 72 } 72 73 unlock_catalog (&catalog); 74 // fprintf (stderr, "seaching %s with %d stars\n", catalog.filename, catalog.Naverage); 75 // ListPhotSelections (); 73 76 74 77 /* get correct mags, convert to X,Y */ … … 109 112 if (M2 != NULL) free (M2); 110 113 } 114 // fprintf (stderr, "selected %d stars\n", Npts); 115 111 116 if (catalog.average != NULL) free (catalog.average); 112 117 if (catalog.secfilt != NULL) free (catalog.secfilt); -
trunk/Ohana/src/opihi/dvo/detrend.c
r5850 r7080 122 122 123 123 /* load in database header */ 124 if (! fits_read_header (DataBase, &header)) {124 if (!gfits_read_header (DataBase, &header)) { 125 125 fprintf (stderr, "ERROR: trouble reading database header\n"); 126 126 return (FALSE); … … 136 136 137 137 /* load existing data from database */ 138 fits_scan (&header, "NIMAGES", "%d", 1, &Nimage);138 gfits_scan (&header, "NIMAGES", "%d", 1, &Nimage); 139 139 ALLOCATE (pimage, RegImage, Nimage); 140 140 status = fread (pimage, sizeof(RegImage), Nimage, f); … … 143 143 if (status != Nimage) { 144 144 fprintf (stderr, "ERROR: header and data in dB don't match (%d vs %d)\n", Nimage, status); 145 fits_free_header (&header);145 gfits_free_header (&header); 146 146 free (pimage); 147 147 return (FALSE); 148 148 } 149 fits_convert_RegImage (pimage, sizeof (RegImage), Nimage);149 gfits_convert_RegImage (pimage, sizeof (RegImage), Nimage); 150 150 151 151 N = 0; … … 202 202 203 203 free (pimage); 204 fits_free_header (&header);204 gfits_free_header (&header); 205 205 return (TRUE); 206 206 -
trunk/Ohana/src/opihi/dvo/dmags.c
r5945 r7080 20 20 RegionName = NULL; 21 21 RegionList = NULL; 22 skylist = NULL; 22 23 23 24 /* load photcode information */ -
trunk/Ohana/src/opihi/dvo/fitcolors.c
r5945 r7080 11 11 12 12 int *list, Nlist; 13 int i, k, m, N P1, NP2, NP, Np, Npts, NPTS;13 int i, k, m, N, NP1, NP2, NP, Np, Npts, NPTS; 14 14 int N1, N2, i1, i2, mode[4]; 15 15 int Nsec, status; 16 void *oldsignal; 16 17 char *RegionName, *RegionList; 17 18 char *cmd, *outcmd, *camera; 18 19 double *M1, *M2; 19 20 float *out; 21 float minDelta, maxDelta, minColor, maxColor; 20 22 21 23 Catalog *catalog; … … 27 29 /* defaults */ 28 30 catalog = NULL; 31 skylist = NULL; 29 32 codelist = NULL; 30 33 xvec = yvec = NULL; 34 35 oldsignal = signal (SIGINT, handle_interrupt); 36 interrupt = FALSE; 31 37 32 38 /* load photcode information */ … … 36 42 /* interpret command-line options */ 37 43 if (!SetRegionSelection (&argc, argv, &RegionName, &RegionList)) goto escape; 38 if (!SetPhotSelections (&argc, argv, 1)) goto usage; 44 if (!SetPhotSelections (&argc, argv, 4)) goto usage; 45 46 // range for valid data points (exclude extreme outliers) 47 minDelta = -0.2; 48 maxDelta = +0.2; 49 minColor = -1.0; 50 maxColor = +3.0; 51 if ((N = get_argument (argc, argv, "-color-range"))) { 52 remove_argument (N, &argc, argv); 53 minColor = atof (argv[N]); 54 remove_argument (N, &argc, argv); 55 maxColor = atof (argv[N]); 56 remove_argument (N, &argc, argv); 57 } 58 if ((N = get_argument (argc, argv, "-delta-range"))) { 59 remove_argument (N, &argc, argv); 60 minDelta = atof (argv[N]); 61 remove_argument (N, &argc, argv); 62 maxDelta = atof (argv[N]); 63 remove_argument (N, &argc, argv); 64 } 39 65 40 66 /* interpret command-line options */ … … 44 70 if (!(Np = GetPhotcodeCodebyName (argv[2]))) { 45 71 fprintf (stderr, "ERROR: photcode not found in photcode table\n"); 46 return (FALSE);72 goto usage; 47 73 } 48 74 camera = argv[3]; … … 59 85 mode[0] = mode[1] = MAG_REL; /* we should be applying any relative photometry corrections here */ 60 86 mode[2] = mode[3] = MAG_AVE; 87 61 88 /* set the reference colors */ 62 89 code[2] = GetPhotcodebyCode (codelist[0][0].c1); 63 90 code[3] = GetPhotcodebyCode (codelist[0][0].c2); 91 if ((code[2] == NULL) || (code[3] == NULL)) goto color_missing; 92 64 93 /* all codes must have the same colors (validate) */ 65 94 for (i = 0; i < NP; i++) { … … 70 99 71 100 /* output is a named buffer */ 72 if ((buf = SelectBuffer (argv[1], ANYVECTOR, TRUE)) == NULL) return (FALSE);101 if ((buf = SelectBuffer (argv[1], ANYVECTOR, TRUE)) == NULL) goto usage; 73 102 buf[0].matrix.Naxis[0] = NP; 74 103 buf[0].matrix.Naxis[1] = NP; 75 104 76 105 /* I should encapsulate this in a create_default_buffer */ 77 fits_free_matrix (&buf[0].matrix);78 fits_free_header (&buf[0].header);106 gfits_free_matrix (&buf[0].matrix); 107 gfits_free_header (&buf[0].header); 79 108 buf[0].header.bitpix = buf[0].bitpix = -32; 80 109 buf[0].header.unsign = buf[0].unsign = FALSE; … … 84 113 buf[0].header.Naxis[0] = NP; 85 114 buf[0].header.Naxis[1] = NP; 86 fits_create_header (&buf[0].header);87 fits_create_matrix (&buf[0].header, &buf[0].matrix);115 gfits_create_header (&buf[0].header); 116 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 88 117 out = (float *) buf[0].matrix.buffer; 89 118 /* we set a default flag value of -1 */ … … 114 143 } 115 144 unlock_catalog (&catalog[k]); 116 } 117 fprintf (stderr, "using %d regions\n", skylist[0].Nregions); 145 // XXX make a subset catalog consisting of only Average and Measure values which meet 146 // the selection criteria 147 } 148 fprintf (stderr, "using %d possible regions\n", skylist[0].Nregions); 118 149 119 150 /* vectors to save data */ … … 124 155 125 156 /*** generate the color-color vectors for the pairs ***/ 157 // XXXX this function also needs to check for interrupts 158 // XXX exclude obvious outliers (eg, fabs(dM) > 0.2) 126 159 /* loop over chip photcode pairs */ 127 160 for (NP1 = 0; NP1 < NP; NP1++) { … … 135 168 if (catalog[k].Naverage == 0) continue; 136 169 170 // fprintf (stderr, "seaching %s with %d stars\n", catalog[k].filename, catalog[k].Naverage); 171 // ListPhotSelections (); 172 137 173 /* get correct mags, convert to X,Y */ 138 174 for (i = 0; i < catalog[k].Naverage; i++) { 175 if (interrupt) goto escape; 176 139 177 M1 = M2 = NULL; 140 178 m = catalog[k].average[i].offset; 141 179 180 SetSelectionParam (0); 142 181 M1 = ExtractDMag (&code[0], &mode[0], &catalog[k].average[i], &catalog[k].secfilt[i*Nsec], &catalog[k].measure[m], &N1); 143 182 if (N1 == 0) goto skip_star; 144 183 184 SetSelectionParam (2); 145 185 M2 = ExtractDMag (&code[2], &mode[2], &catalog[k].average[i], &catalog[k].secfilt[i*Nsec], &catalog[k].measure[m], &N2); 146 186 if (N2 == 0) goto skip_star; … … 148 188 for (i1 = 0; i1 < N1; i1++) { 149 189 for (i2 = 0; i2 < N2; i2++) { 190 if (M1[i1] < minDelta) continue; 191 if (M1[i1] > maxDelta) continue; 192 if (M2[i2] < minColor) continue; 193 if (M2[i2] > maxColor) continue; 150 194 yvec[0].elements[Npts] = M1[i1]; 151 195 xvec[0].elements[Npts] = M2[i2]; … … 162 206 if (M2 != NULL) free (M2); 163 207 } 208 // fprintf (stderr, "selected %d stars\n", Npts); 164 209 } 165 210 … … 184 229 if (RegionName != NULL) free (RegionName); 185 230 if (RegionList != NULL) free (RegionList); 231 signal (SIGINT, oldsignal); 186 232 return (TRUE); 187 233 … … 190 236 goto escape; 191 237 238 color_missing: 239 fprintf (stderr, "error: chips are missing a color reference\n"); 240 goto escape; 241 192 242 color_mismatch: 193 243 fprintf (stderr, "error: all chips must have the same colors\n"); 244 goto escape; 194 245 195 246 escape: 196 free_catalog (catalog, skylist[0].Nregions);197 SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL)));247 if (skylist != NULL) free_catalog (catalog, skylist[0].Nregions); 248 if (skylist != NULL) SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL))); 198 249 if (RegionName != NULL) free (RegionName); 199 250 if (RegionList != NULL) free (RegionList); … … 201 252 DeleteVector (xvec); 202 253 DeleteVector (yvec); 254 signal (SIGINT, oldsignal); 203 255 return (FALSE); 204 256 } -
trunk/Ohana/src/opihi/dvo/gstar.c
r6683 r7080 2 2 3 3 void print_value (FILE *f, double value, short int ival); 4 void initPhotcodeSequence (int Nsec); 5 void freePhotcodeSequence (); 6 void printPhotcodeSequence (Average *average, SecFilt *secfilt, int entry, int type); 4 7 5 8 int gstar (int argc, char **argv) { … … 16 19 SkyList *skylist; 17 20 Catalog catalog; 18 PhotCode *code;19 21 int TimeFormat; 20 22 time_t TimeReference; … … 128 130 ALLOCATE (vec4[0].elements, float, NPTS); 129 131 } 132 133 initPhotcodeSequence (Nsec); 130 134 131 135 for (i = Nlo; (i < catalog.Naverage) && !found; i++) { … … 143 147 0.01*catalog.average[k].Xp, catalog.average[k].code); 144 148 145 /* filter names -- primary code is 0 in this function */ 146 for (j = 0; j < Nsec + 1; j++) { 147 code = GetPhotcodebyNsec (j); 148 fprintf (GetOutfile (), "%s ", code[0].name); 149 } 149 /* filter names */ 150 for (j = 0; j < Nsec + 1; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsec*k], j, 3); 150 151 fprintf (GetOutfile (), "\n"); 151 152 152 153 /* average mags */ 153 print_value (GetOutfile(), catalog.average[k].M, catalog.average[k].M); 154 for (j = 0; j < Nsec; j++) print_value (GetOutfile(), catalog.secfilt[j + Nsec*k].M_PS, catalog.secfilt[j + Nsec*k].M_PS); 154 for (j = 0; j < Nsec + 1; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsec*k], j, 0); 155 155 fprintf (GetOutfile(), "\n"); 156 156 157 157 /* average mag errors */ 158 print_value (GetOutfile(), catalog.average[k].dM, catalog.average[k].dM); 159 for (j = 0; j < Nsec; j++) print_value (GetOutfile(), catalog.secfilt[j + Nsec*k].dM_PS, catalog.secfilt[j + Nsec*k].dM_PS); 158 for (j = 0; j < Nsec + 1; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsec*k], j, 1); 160 159 fprintf (GetOutfile(), "\n"); 161 160 162 161 /* average mag chisq */ 163 print_value (GetOutfile(), pow (10.0, 0.01*catalog.average[k].Xm), catalog.average[k].Xm); 164 for (j = 0; j < Nsec; j++) print_value (GetOutfile(), pow (10.0, 0.01*catalog.secfilt[j + Nsec*k].Xm), catalog.secfilt[j + Nsec*k].Xm); 162 for (j = 0; j < Nsec + 1; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsec*k], j, 2); 165 163 fprintf (GetOutfile(), "\n"); 166 164 } … … 216 214 if (catalog.secfilt != 0) free (catalog.secfilt); 217 215 216 freePhotcodeSequence (); 218 217 return (TRUE); 219 218 220 219 } 221 222 220 223 221 void print_value (FILE *f, double value, short int ival) { … … 227 225 fprintf (f, "%6.3f ", value); 228 226 } 227 228 // XXX fix printing to be in photcode numerical order for PRI/SEC data 229 static int *sequence = NULL; 230 231 void initPhotcodeSequence (int Nsec) { 232 233 int j; 234 int *codeNumber; 235 PhotCode *code; 236 237 // sequence contains, in desired order, secfilt number (0 == pri) 238 ALLOCATE (sequence, int, Nsec + 1); 239 ALLOCATE (codeNumber, int, Nsec + 1); 240 241 /* filter names -- primary code is 0 in this function */ 242 for (j = 0; j < Nsec + 1; j++) { 243 code = GetPhotcodebyNsec (j); 244 codeNumber[j] = code[0].code; 245 sequence[j] = j; 246 } 247 248 isort_pair (codeNumber, sequence, Nsec + 1); 249 free (codeNumber); 250 } 251 252 void freePhotcodeSequence () { 253 free (sequence); 254 } 255 256 257 void printPhotcodeSequence (Average *average, SecFilt *secfilt, int entry, int type) { 258 259 int seq; 260 PhotCode *code; 261 262 seq = sequence[entry] - 1; 263 264 switch (type) { 265 case 0: /* average mags */ 266 if (seq == -1) { 267 print_value (GetOutfile(), average[0].M, average[0].M); 268 } else { 269 print_value (GetOutfile(), secfilt[seq].M_PS, secfilt[seq].M_PS); 270 } 271 break; 272 273 case 1: /* average mags errors */ 274 if (seq == -1) { 275 print_value (GetOutfile(), average[0].dM, average[0].dM); 276 } else { 277 print_value (GetOutfile(), secfilt[seq].dM_PS, secfilt[seq].dM_PS); 278 } 279 break; 280 281 case 2: /* average mag chisq */ 282 if (seq == -1) { 283 print_value (GetOutfile(), pow (10.0, 0.01*average[0].Xm), average[0].Xm); 284 } else { 285 print_value (GetOutfile(), pow (10.0, 0.01*secfilt[seq].Xm), secfilt[seq].Xm); 286 } 287 break; 288 289 case 3: /* filter names */ 290 code = GetPhotcodebyNsec (seq + 1); 291 fprintf (GetOutfile (), "%6s ", code[0].name); 292 break; 293 } 294 } -
trunk/Ohana/src/opihi/dvo/images.c
r4689 r7080 11 11 Graphdata graphmode; 12 12 char name[256]; 13 int Ngraph;14 13 15 Ngraph = 0; 16 if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE); 14 if (!style_args (&graphmode, &argc, argv, 0)) return FALSE; 17 15 18 16 ByName = FALSE; … … 67 65 return (FALSE); 68 66 } 67 SetGraph (graphmode); 69 68 70 69 if ((image = LoadImages (&Nimage)) == NULL) return (FALSE); -
trunk/Ohana/src/opihi/dvo/imbox.c
r3462 r7080 9 9 Coords coords; 10 10 Graphdata graphmode; 11 int Ngraph; 11 12 if (!style_args (&graphmode, &argc, argv, 0)) return FALSE; 12 13 13 14 if (argc != 2) { … … 15 16 return (FALSE); 16 17 } 17 Ngraph = 0; 18 if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE); 18 SetGraph (graphmode); 19 19 20 if (! fits_read_header (argv[1], &header)) {20 if (!gfits_read_header (argv[1], &header)) { 21 21 fprintf (stderr, "file not found\n"); 22 22 return (FALSE); … … 25 25 Nextend = 0; 26 26 if (header.Naxes == 0) { 27 fits_scan (&header, "NEXTEND", "%d", 1, &Nextend);27 gfits_scan (&header, "NEXTEND", "%d", 1, &Nextend); 28 28 } 29 29 … … 38 38 for (i = Nextend ? 0 : -1; i < Nextend; i++) { 39 39 if (Nextend) { 40 fits_read_Xheader (argv[1], &header, i);40 gfits_read_Xheader (argv[1], &header, i); 41 41 } 42 42 if (!GetCoords (&coords, &header)) { … … 86 86 } 87 87 88 fits_free_header (&header);88 gfits_free_header (&header); 89 89 free (Xvec.elements); 90 90 free (Yvec.elements); -
trunk/Ohana/src/opihi/dvo/imrough.c
r5850 r7080 249 249 250 250 /* load in database header */ 251 if (! fits_fread_header (f, &header)) {251 if (!gfits_fread_header (f, &header)) { 252 252 fclose (f); 253 fits_free_header (&header);253 gfits_free_header (&header); 254 254 fprintf (stderr, "ERROR: trouble reading database header\n"); 255 255 return ((RegImage *) NULL); … … 257 257 258 258 /* check for database v1, v2 */ 259 fits_scan (&header, "ORIGIN", "%s", 1, line);259 gfits_scan (&header, "ORIGIN", "%s", 1, line); 260 260 if (!strcmp (line, "MDM Observatory")) { 261 261 … … 263 263 264 264 /* load existing data from database */ 265 fits_scan (&header, "NIMAGES", "%d", 1, &Nimage);265 gfits_scan (&header, "NIMAGES", "%d", 1, &Nimage); 266 266 ALLOCATE (image, RegImage, Nimage); 267 267 status = fread (image, sizeof(RegImage), Nimage, f); … … 270 270 if (status != Nimage) { 271 271 fprintf (stderr, "ERROR: header and data in dB don't match (%d vs %d)\n", Nimage, status); 272 fits_free_header (&header);272 gfits_free_header (&header); 273 273 free (image); 274 274 return ((RegImage *) NULL); 275 275 } 276 fits_convert_RegImage (image, sizeof (RegImage), Nimage);276 gfits_convert_RegImage (image, sizeof (RegImage), Nimage); 277 277 278 278 *nimage = Nimage; … … 281 281 282 282 /* we probably have v3 */ 283 if (! fits_fread_matrix (f, &matrix, &header)) {283 if (!gfits_fread_matrix (f, &matrix, &header)) { 284 284 fclose (f); 285 fits_free_header (&header);286 fits_free_matrix (&matrix);285 gfits_free_header (&header); 286 gfits_free_matrix (&matrix); 287 287 fprintf (stderr, "ERROR: trouble reading database matrix\n"); 288 288 return ((RegImage *) NULL); … … 290 290 291 291 table.header = &theader; 292 if (! fits_fread_ftable (f, &table, "IMAGE_DATABASE")) {292 if (!gfits_fread_ftable (f, &table, "IMAGE_DATABASE")) { 293 293 fclose (f); 294 fits_free_header (&header);295 fits_free_matrix (&matrix);294 gfits_free_header (&header); 295 gfits_free_matrix (&matrix); 296 296 fprintf (stderr, "ERROR: trouble reading database table\n"); 297 297 return ((RegImage *) NULL); … … 300 300 /* convert to internal format */ 301 301 image = (RegImage *) table.buffer; 302 fits_scan (table.header, "NAXIS2", "%d", 1, &Nimage);303 fits_convert_RegImage (image, sizeof (RegImage), Nimage);304 305 fits_free_header (&header);306 fits_free_matrix (&matrix);302 gfits_scan (table.header, "NAXIS2", "%d", 1, &Nimage); 303 gfits_convert_RegImage (image, sizeof (RegImage), Nimage); 304 305 gfits_free_header (&header); 306 gfits_free_matrix (&matrix); 307 307 308 308 *nimage = Nimage; -
trunk/Ohana/src/opihi/dvo/imsearch.c
r5850 r7080 91 91 92 92 /* load in database header */ 93 if (! fits_read_header (DataBase, &header)) {93 if (!gfits_read_header (DataBase, &header)) { 94 94 fprintf (stderr, "ERROR: trouble reading database header\n"); 95 95 return (FALSE); … … 105 105 106 106 /* load existing data from database */ 107 fits_scan (&header, "NIMAGES", "%d", 1, &Nimage);107 gfits_scan (&header, "NIMAGES", "%d", 1, &Nimage); 108 108 ALLOCATE (pimage, RegImage, Nimage); 109 109 status = fread (pimage, sizeof(RegImage), Nimage, f); … … 111 111 if (status != Nimage) { 112 112 fprintf (stderr, "ERROR: header and data in dB don't match (%d vs %d)\n", Nimage, status); 113 fits_free_header (&header);113 gfits_free_header (&header); 114 114 free (pimage); 115 115 return (FALSE); 116 116 } 117 fits_convert_RegImage (pimage, sizeof (RegImage), Nimage);117 gfits_convert_RegImage (pimage, sizeof (RegImage), Nimage); 118 118 119 119 /* print out all data */ … … 149 149 150 150 free (pimage); 151 fits_free_header (&header);151 gfits_free_header (&header); 152 152 return (TRUE); 153 153 } -
trunk/Ohana/src/opihi/dvo/photometry.c
r6683 r7080 49 49 static double MagMax, MagMin; 50 50 static int TypeSelect, TypeValue; 51 static int ErrSelect, ErrValue; 51 static int ErrSelect; 52 static double ErrValue; 52 53 static int iMagSelect; 53 54 static double iMagMin; … … 334 335 } 335 336 337 int ListPhotSelections () { 338 339 fprintf (stderr, "TimeSelect: %d, %d - %d\n", TimeSelect, tzero, tend); 340 fprintf (stderr, "MagSelect: %d, %f - %f\n", MagSelect, MagMax, MagMin); 341 fprintf (stderr, "TypeSelect: %d, %d\n", TypeSelect, TypeValue); 342 fprintf (stderr, "ErrSelect: %d, %f\n", ErrSelect, ErrValue); 343 fprintf (stderr, "iMagSelect: %d, %f\n", iMagSelect, iMagMin); 344 fprintf (stderr, "FlagSelect: %d, %x\n", FlagSelect, FlagValue); 345 fprintf (stderr, "TypefracSelect: %d, %d %d %f\n", TypefracSelect, TypefracType, TypefracSign, TypefracValue); 346 fprintf (stderr, "ApplySelections: %d,%d,%d,%d : %d\n", ApplySelections[0], ApplySelections[1], ApplySelections[2], ApplySelections[3], SelectionParam); 347 if (PhotcodeSelect) { 348 fprintf (stderr, "PhotcodeSelect: %d, %s\n", PhotcodeSelect, PhotcodeValue[0].name); 349 } else { 350 fprintf (stderr, "PhotcodeSelect: %d, none\n", PhotcodeSelect); 351 } 352 fprintf (stderr, "ChiSelect: %d, %f\n", ChiSelect, ChiLimit); 353 fprintf (stderr, "NphotSelect: %d, %d - %d\n", NphotSelect, NphotSign, NphotValue); 354 fprintf (stderr, "NcodeSelect: %d, %d - %d\n", NcodeSelect, NcodeSign, NcodeValue); 355 fprintf (stderr, "FWHMSelect: %d, %d %f %f\n", FWHMSelect, FWHMsign, FWHMvalue, FWHMfrac); 356 } 357 336 358 /* remove standard photometry filtering options, set selections */ 337 359 /* not all functions respect all selections... */ … … 386 408 387 409 /* select on value of Chisq (AVERAGE ONLY) */ 410 SelectionParam = 0; 388 411 for (i = 0; i < 4; i++) ApplySelections[i] = TRUE; 389 412 if ((N = get_argument (*argc, argv, "-apply"))) { -
trunk/Ohana/src/opihi/dvo/pmeasure.c
r6683 r7080 5 5 FILE *f; 6 6 int i, j, k, m, N; 7 int Ngraph;8 7 double Mz, Mr, mag; 9 8 double Radius, Rmin, Rmax; … … 18 17 Vector Xvec, Yvec, Zvec; 19 18 20 Ngraph = -1;21 19 if (!InitPhotcodes ()) return (FALSE); 22 if (! GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE);20 if (!style_args (&graphmode, &argc, argv, 0)) return FALSE; 23 21 24 22 f = (FILE *) NULL; … … 70 68 return (FALSE); 71 69 } 72 70 SetGraph (graphmode); 71 73 72 Radius = MAX (fabs(graphmode.xmax), fabs(graphmode.ymax)); 74 73 -
trunk/Ohana/src/opihi/dvo/simage.c
r4689 r7080 39 39 40 40 /* read header */ 41 if (! fits_read_header (argv[1], &header)) {41 if (!gfits_read_header (argv[1], &header)) { 42 42 fprintf (stderr, "ERROR: can't find image file %s\n", argv[1]); 43 43 return (FALSE); … … 45 45 /* get astrometry information */ 46 46 strcpy (coords.ctype, "NONE"); 47 fits_scan (&header, "CTYPE1", "%s", 1, coords.ctype);47 gfits_scan (&header, "CTYPE1", "%s", 1, coords.ctype); 48 48 if (strcmp (coords.ctype, "RA---PLY")) { 49 49 fprintf (stderr, "ERROR: wrong astrometric info in header\n"); 50 50 return (FALSE); 51 51 } 52 fits_scan (&header, "CDELT1", "%f", 1, &coords.cdelt1);53 fits_scan (&header, "CDELT2", "%f", 1, &coords.cdelt2);54 fits_scan (&header, "CRVAL1", "%lf", 1, &coords.crval1);55 fits_scan (&header, "CRVAL2", "%lf", 1, &coords.crval2);56 fits_scan (&header, "CRPIX1", "%f", 1, &coords.crpix1);57 fits_scan (&header, "CRPIX2", "%f", 1, &coords.crpix2);58 fits_scan (&header, "PC001001", "%f", 1, &coords.pc1_1);59 fits_scan (&header, "PC001002", "%f", 1, &coords.pc1_2);60 fits_scan (&header, "PC002001", "%f", 1, &coords.pc2_1);61 fits_scan (&header, "PC002002", "%f", 1, &coords.pc2_2);52 gfits_scan (&header, "CDELT1", "%f", 1, &coords.cdelt1); 53 gfits_scan (&header, "CDELT2", "%f", 1, &coords.cdelt2); 54 gfits_scan (&header, "CRVAL1", "%lf", 1, &coords.crval1); 55 gfits_scan (&header, "CRVAL2", "%lf", 1, &coords.crval2); 56 gfits_scan (&header, "CRPIX1", "%f", 1, &coords.crpix1); 57 gfits_scan (&header, "CRPIX2", "%f", 1, &coords.crpix2); 58 gfits_scan (&header, "PC001001", "%f", 1, &coords.pc1_1); 59 gfits_scan (&header, "PC001002", "%f", 1, &coords.pc1_2); 60 gfits_scan (&header, "PC002001", "%f", 1, &coords.pc2_1); 61 gfits_scan (&header, "PC002002", "%f", 1, &coords.pc2_2); 62 62 /* RA Terms */ 63 fits_scan (&header, "PCA1X2Y0", "%f", 1, &coords.polyterms[0][0]);64 fits_scan (&header, "PCA1X1Y1", "%f", 1, &coords.polyterms[1][0]);65 fits_scan (&header, "PCA1X0Y2", "%f", 1, &coords.polyterms[2][0]);66 fits_scan (&header, "PCA1X3Y0", "%f", 1, &coords.polyterms[3][0]);67 fits_scan (&header, "PCA1X2Y1", "%f", 1, &coords.polyterms[4][0]);68 fits_scan (&header, "PCA1X1Y2", "%f", 1, &coords.polyterms[5][0]);69 fits_scan (&header, "PCA1X0Y3", "%f", 1, &coords.polyterms[6][0]);63 gfits_scan (&header, "PCA1X2Y0", "%f", 1, &coords.polyterms[0][0]); 64 gfits_scan (&header, "PCA1X1Y1", "%f", 1, &coords.polyterms[1][0]); 65 gfits_scan (&header, "PCA1X0Y2", "%f", 1, &coords.polyterms[2][0]); 66 gfits_scan (&header, "PCA1X3Y0", "%f", 1, &coords.polyterms[3][0]); 67 gfits_scan (&header, "PCA1X2Y1", "%f", 1, &coords.polyterms[4][0]); 68 gfits_scan (&header, "PCA1X1Y2", "%f", 1, &coords.polyterms[5][0]); 69 gfits_scan (&header, "PCA1X0Y3", "%f", 1, &coords.polyterms[6][0]); 70 70 /* Dec Terms */ 71 fits_scan (&header, "PCA2X2Y0", "%f", 1, &coords.polyterms[0][1]);72 fits_scan (&header, "PCA2X1Y1", "%f", 1, &coords.polyterms[1][1]);73 fits_scan (&header, "PCA2X0Y2", "%f", 1, &coords.polyterms[2][1]);74 fits_scan (&header, "PCA2X3Y0", "%f", 1, &coords.polyterms[3][1]);75 fits_scan (&header, "PCA2X2Y1", "%f", 1, &coords.polyterms[4][1]);76 fits_scan (&header, "PCA2X1Y2", "%f", 1, &coords.polyterms[5][1]);77 fits_scan (&header, "PCA2X0Y3", "%f", 1, &coords.polyterms[6][1]);71 gfits_scan (&header, "PCA2X2Y0", "%f", 1, &coords.polyterms[0][1]); 72 gfits_scan (&header, "PCA2X1Y1", "%f", 1, &coords.polyterms[1][1]); 73 gfits_scan (&header, "PCA2X0Y2", "%f", 1, &coords.polyterms[2][1]); 74 gfits_scan (&header, "PCA2X3Y0", "%f", 1, &coords.polyterms[3][1]); 75 gfits_scan (&header, "PCA2X2Y1", "%f", 1, &coords.polyterms[4][1]); 76 gfits_scan (&header, "PCA2X1Y2", "%f", 1, &coords.polyterms[5][1]); 77 gfits_scan (&header, "PCA2X0Y3", "%f", 1, &coords.polyterms[6][1]); 78 78 coords.Npolyterms = 2; /* how many do we use? */ 79 79 80 80 /* find number of stars */ 81 fits_scan (&header, "NSTARS", "%d", 1, &Nstars);81 gfits_scan (&header, "NSTARS", "%d", 1, &Nstars); 82 82 if (Nstars == 0) { 83 83 fprintf (stderr, "no stars in file\n"); -
trunk/Ohana/src/opihi/dvo/skycat.c
r5945 r7080 6 6 7 7 double Radius; 8 int i, j, N, Nregions, ShowAll, NPTS, Npts, leftside, Depth, TableDepth ;8 int i, j, N, Nregions, ShowAll, NPTS, Npts, leftside, Depth, TableDepth, VERBOSE; 9 9 struct stat filestat; 10 10 Vector Xvec, Yvec; 11 11 Graphdata graphmode; 12 12 double X[4], Y[4], Rmin, Rmax, Rmid; 13 int Ngraph, VERBOSE;14 13 SkyTable *sky; 15 14 SkyList *skylist; … … 33 32 } 34 33 34 if (!style_args (&graphmode, &argc, argv, 0)) return FALSE; 35 35 36 if (argc != 1) { 36 37 fprintf (stderr, "USAGE: skycat [-all]\n"); 37 38 return (FALSE); 38 39 } 40 SetGraph (graphmode); 41 39 42 TableDepth = (Depth == 3) ? 3 : 2; 40 Ngraph = 0;41 if (!GetGraph (&graphmode, NULL, &Ngraph)) return (FALSE);42 43 43 44 Radius = MAX (fabs(graphmode.xmax), fabs(graphmode.ymax)); -
trunk/Ohana/src/opihi/dvo/skycoverage.c
r4701 r7080 79 79 80 80 /* I should encapsulate this in a create_default_buffer */ 81 fits_free_matrix (&buf[0].matrix);82 fits_free_header (&buf[0].header);81 gfits_free_matrix (&buf[0].matrix); 82 gfits_free_header (&buf[0].header); 83 83 buf[0].header.bitpix = buf[0].bitpix = -32; 84 84 buf[0].header.unsign = buf[0].unsign = FALSE; … … 88 88 buf[0].header.Naxis[0] = Nx; 89 89 buf[0].header.Naxis[1] = Ny; 90 fits_create_header (&buf[0].header);91 fits_create_matrix (&buf[0].header, &buf[0].matrix);90 gfits_create_header (&buf[0].header); 91 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 92 92 93 93 coords.crval1 = 180; -
trunk/Ohana/src/opihi/dvo/version.c
r4748 r7080 8 8 fprintf (stderr, "%s\n", opihi_version()); 9 9 fprintf (stderr, "%s\n", ohana_version()); 10 fprintf (stderr, "%s\n", fits_version());10 fprintf (stderr, "%s\n", gfits_version()); 11 11 12 12 fprintf (stderr, "compiled on %s %s\n", __DATE__, __TIME__); -
trunk/Ohana/src/opihi/include/data.h
r6678 r7080 41 41 void sort_lists (float *X, float *Y, int *S, int N); 42 42 void dsort_lists (double *X, double *Y, int *S, int N); 43 void isort_pair (int *X, int *Y, int N); 43 44 44 45 /* in fft.c */ … … 120 121 void SetLimits PROTO((Vector *xvec, Vector *yvec, Graphdata *graphmode)); 121 122 void ApplyLimits PROTO((int Xgraph, Graphdata *graphmode, int apply)); 123 int style_args PROTO((Graphdata *graphmode, int *argc, char **argv, int Nforce)); 122 124 123 125 int read_table_vectors (int argc, char **argv, char *extname); -
trunk/Ohana/src/opihi/include/dvomath.h
r4693 r7080 110 110 111 111 /* why are these in here? */ 112 int fits_copy_matrix_info (Matrix *matrix1, Matrix *matrix2);112 int gfits_copy_matrix_info (Matrix *matrix1, Matrix *matrix2); 113 113 int GetTimeFormat PROTO((time_t *TimeReference, int *TimeFormat)); 114 114 -
trunk/Ohana/src/opihi/lib.data/Makefile
r5943 r7080 34 34 $(SDIR)/open_image.$(ARCH).o \ 35 35 $(SDIR)/queues.$(ARCH).o \ 36 $(SDIR)/PlotVectors.$(ARCH).o 36 $(SDIR)/PlotVectors.$(ARCH).o \ 37 $(SDIR)/style_args.$(ARCH).o 37 38 38 39 # dependancy rules for include files ######################## -
trunk/Ohana/src/opihi/lib.data/sort.c
r2598 r7080 291 291 } 292 292 } 293 294 // sort two int vectors by first vector 295 void isort_pair (int *X, int *Y, int N) { 296 297 int l,j,ir,i; 298 int tX, tY; 299 300 if (N < 2) return; 301 l = N >> 1; 302 ir = N - 1; 303 for (;;) { 304 if (l > 0) { 305 l--; 306 tX = X[l]; 307 tY = Y[l]; 308 } 309 else { 310 tX = X[ir]; 311 X[ir] = X[0]; 312 tY = Y[ir]; 313 Y[ir] = Y[0]; 314 if (--ir == 0) { 315 X[0] = tX; 316 Y[0] = tY; 317 return; 318 } 319 } 320 i = l; 321 j = (l << 1) + 1; 322 while (j <= ir) { 323 if (j < ir && X[j] < X[j+1]) j++; 324 if (tX < X[j]) { 325 X[i] = X[j]; 326 Y[i] = Y[j]; 327 j += (i=j) + 1; 328 } 329 else j = ir + 1; 330 } 331 X[i] = tX; 332 Y[i] = tY; 333 } 334 } -
trunk/Ohana/src/opihi/lib.data/starfuncs.c
r4584 r7080 28 28 for (j = 0; j < Nborder; j++) { 29 29 for (i = X - Npix2 - Nborder; i < X + Npix2 + Nborder + 1; i++, n+=2) { 30 ring[n] = fits_get_matrix_value (matrix, i, (int)(Y - Npix2 - j));31 ring[n+1] = fits_get_matrix_value (matrix, i, (int)(Y + Npix2 + j));30 ring[n] = gfits_get_matrix_value (matrix, i, (int)(Y - Npix2 - j)); 31 ring[n+1] = gfits_get_matrix_value (matrix, i, (int)(Y + Npix2 + j)); 32 32 } 33 33 for (i = Y - Npix2; i < Y + Npix2 + 1; i++, n+=2) { 34 ring[n] = fits_get_matrix_value (matrix, (int)(X - Npix2 - j), i);35 ring[n+1] = fits_get_matrix_value (matrix, (int)(X + Npix2 + j), i);34 ring[n] = gfits_get_matrix_value (matrix, (int)(X - Npix2 - j), i); 35 ring[n+1] = gfits_get_matrix_value (matrix, (int)(X + Npix2 + j), i); 36 36 } 37 37 } … … 50 50 for (i = X - Npix2; i < X + Npix2 + 1; i++) { 51 51 for (j = Y - Npix2; j < Y + Npix2 + 1; j++) { 52 value = fits_get_matrix_value (matrix, i, j);52 value = gfits_get_matrix_value (matrix, i, j); 53 53 offset = value - sky; 54 54 x += i*offset; -
trunk/Ohana/src/opihi/lib.shell/BufferOps.c
r3901 r7080 86 86 87 87 /* create the appropriate header and matrix */ 88 fits_create_header (&buf[0].header);89 fits_create_matrix (&buf[0].header, &buf[0].matrix);88 gfits_create_header (&buf[0].header); 89 gfits_create_matrix (&buf[0].header, &buf[0].matrix); 90 90 91 91 return (TRUE); … … 109 109 out[0].bzero = in[0].bzero; 110 110 strcpy (out[0].file, in[0].file); 111 fits_copy_matrix (&in[0].matrix, &out[0].matrix);112 fits_copy_header (&in[0].header, &out[0].header);111 gfits_copy_matrix (&in[0].matrix, &out[0].matrix); 112 gfits_copy_header (&in[0].header, &out[0].header); 113 113 return (TRUE); 114 114 } … … 158 158 if (i == Nbuffers) return (FALSE); 159 159 160 fits_free_header (&buffers[i][0].header);161 fits_free_matrix (&buffers[i][0].matrix);160 gfits_free_header (&buffers[i][0].header); 161 gfits_free_matrix (&buffers[i][0].matrix); 162 162 free (buffers[i]); 163 163 … … 178 178 if (i == Nbuffers) return (FALSE); 179 179 180 fits_free_header (&buffers[i][0].header);181 fits_free_matrix (&buffers[i][0].matrix);180 gfits_free_header (&buffers[i][0].header); 181 gfits_free_matrix (&buffers[i][0].matrix); 182 182 free (buffers[i]); 183 183 -
trunk/Ohana/src/opihi/lib.shell/stack_math.c
r4462 r7080 1385 1385 1386 1386 /*********************** fits copy header ***********************************/ 1387 int fits_copy_matrix_info (Matrix *matrix1, Matrix *matrix2) {1387 int gfits_copy_matrix_info (Matrix *matrix1, Matrix *matrix2) { 1388 1388 1389 1389 int i; -
trunk/Ohana/src/opihi/mana/version.c
r4748 r7080 8 8 fprintf (stderr, "%s\n", opihi_version()); 9 9 fprintf (stderr, "%s\n", ohana_version()); 10 fprintf (stderr, "%s\n", fits_version());10 fprintf (stderr, "%s\n", gfits_version()); 11 11 12 12 fprintf (stderr, "compiled on %s %s\n", __DATE__, __TIME__); -
trunk/Ohana/src/opihi/pantasks/version.c
r6687 r7080 8 8 fprintf (stderr, "%s\n", opihi_version()); 9 9 fprintf (stderr, "%s\n", ohana_version()); 10 fprintf (stderr, "%s\n", fits_version());10 fprintf (stderr, "%s\n", gfits_version()); 11 11 12 12 fprintf (stderr, "compiled on %s %s\n", __DATE__, __TIME__); -
trunk/Ohana/src/opihi/pclient/version.c
r4748 r7080 8 8 fprintf (stderr, "%s\n", opihi_version()); 9 9 fprintf (stderr, "%s\n", ohana_version()); 10 fprintf (stderr, "%s\n", fits_version());10 fprintf (stderr, "%s\n", gfits_version()); 11 11 12 12 fprintf (stderr, "compiled on %s %s\n", __DATE__, __TIME__); -
trunk/Ohana/src/opihi/pcontrol/version.c
r4748 r7080 8 8 fprintf (stderr, "%s\n", opihi_version()); 9 9 fprintf (stderr, "%s\n", ohana_version()); 10 fprintf (stderr, "%s\n", fits_version());10 fprintf (stderr, "%s\n", gfits_version()); 11 11 12 12 fprintf (stderr, "compiled on %s %s\n", __DATE__, __TIME__); -
trunk/Ohana/src/photdbc/src/Shutdown.c
r4864 r7080 22 22 23 23 SetProtect (TRUE); 24 fits_db_close (db);24 gfits_db_close (db); 25 25 fprintf (stderr, "ERROR: addstar halted\n"); 26 26 exit (1); -
trunk/Ohana/src/photdbc/src/find_images.c
r4864 r7080 27 27 strcpy (tcoords.ctype, "RA---TAN"); 28 28 29 timage = fits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped);29 timage = gfits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped); 30 30 31 31 nimage = 0; -
trunk/Ohana/src/photdbc/src/flag_measures.c
r4864 r7080 15 15 if (VERBOSE) fprintf (stderr, "flagging bad measurements\n"); 16 16 17 image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);17 image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped); 18 18 19 19 PhotNsec = GetPhotcodeNsecfilt (); -
trunk/Ohana/src/photdbc/src/load_images.c
r6238 r7080 18 18 *nregion = Nregion; 19 19 20 fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, Line, Nimage);20 gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, Line, Nimage); 21 21 22 22 return (region); -
trunk/Ohana/src/photdbc/src/name_region.c
r2494 r7080 9 9 10 10 sprintf (region[0].filename, "%s/%s", CATDIR, name); 11 if (! fits_read_header (region[0].filename, &header)) {11 if (!gfits_read_header (region[0].filename, &header)) { 12 12 if (VERBOSE) fprintf (stderr, "catalog file not yet available: %s\n", region[0].filename); 13 13 exit (0); 14 14 } 15 fits_scan (&header, "RA0", "%lf", 1, ®ion[0].RA[0]);16 fits_scan (&header, "RA1", "%lf", 1, ®ion[0].RA[1]);17 fits_scan (&header, "DEC0", "%lf", 1, ®ion[0].DEC[0]);18 fits_scan (&header, "DEC1", "%lf", 1, ®ion[0].DEC[1]);19 fits_free_header (&header);15 gfits_scan (&header, "RA0", "%lf", 1, ®ion[0].RA[0]); 16 gfits_scan (&header, "RA1", "%lf", 1, ®ion[0].RA[1]); 17 gfits_scan (&header, "DEC0", "%lf", 1, ®ion[0].DEC[0]); 18 gfits_scan (&header, "DEC1", "%lf", 1, ®ion[0].DEC[1]); 19 gfits_free_header (&header); 20 20 21 21 *Nregions = 1; -
trunk/Ohana/src/photdbc/src/wcatalog.c
r4828 r7080 33 33 catalog[0].Nsecfilt = 0; 34 34 } 35 fits_free_header (&catalog[0].header);35 gfits_free_header (&catalog[0].header); 36 36 } -
trunk/Ohana/src/relastro/src/GridOps.v1.c
r6808 r7080 269 269 270 270 /* create empty phu */ 271 fits_init_header (&header);271 gfits_init_header (&header); 272 272 header.extend = TRUE; 273 fits_create_header (&header);274 fits_create_matrix (&header, &matrix);275 fits_modify (&header, "NEXTEND", "%d", 1, Nimage + 3);276 fits_modify (&header, "FILTER", "%s", 1, photcode[0].name);277 fits_modify (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis");278 fits_fwrite_header (f, &header);279 fits_fwrite_matrix (f, &matrix);280 fits_free_matrix (&matrix);273 gfits_create_header (&header); 274 gfits_create_matrix (&header, &matrix); 275 gfits_modify (&header, "NEXTEND", "%d", 1, Nimage + 3); 276 gfits_modify (&header, "FILTER", "%s", 1, photcode[0].name); 277 gfits_modify (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis"); 278 gfits_fwrite_header (f, &header); 279 gfits_fwrite_matrix (f, &matrix); 280 gfits_free_matrix (&matrix); 281 281 282 282 /* save grid mag values */ 283 fits_init_header (&theader);283 gfits_init_header (&theader); 284 284 theader.Naxes = 2; 285 285 theader.Naxis[0] = gridX; 286 286 theader.Naxis[1] = gridY; 287 287 theader.bitpix = -32; 288 fits_create_Theader (&theader, "IMAGE");289 fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);290 fits_modify (&theader, "EXTNAME", "%s", 1, "MAG_OFFSET");291 fits_create_matrix (&theader, &matrix);288 gfits_create_Theader (&theader, "IMAGE"); 289 gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name); 290 gfits_modify (&theader, "EXTNAME", "%s", 1, "MAG_OFFSET"); 291 gfits_create_matrix (&theader, &matrix); 292 292 for (i = 0; i < gridX; i++) { 293 293 for (j = 0; j < gridY; j++) { 294 fits_set_matrix_value (&matrix, i, j, (double) gridM[i + j*gridX]);294 gfits_set_matrix_value (&matrix, i, j, (double) gridM[i + j*gridX]); 295 295 } 296 296 } 297 297 write_coords (&theader, &refmosaic[0].coords); 298 fits_fwrite_header (f, &theader);299 fits_fwrite_matrix (f, &matrix);300 fits_free_matrix (&matrix);298 gfits_fwrite_header (f, &theader); 299 gfits_fwrite_matrix (f, &matrix); 300 gfits_free_matrix (&matrix); 301 301 302 302 /* save grid Nmeas values */ 303 fits_modify (&theader, "EXTNAME", "%s", 1, "NMEAS");304 fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);305 fits_create_matrix (&theader, &matrix);303 gfits_modify (&theader, "EXTNAME", "%s", 1, "NMEAS"); 304 gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name); 305 gfits_create_matrix (&theader, &matrix); 306 306 for (i = 0; i < gridX; i++) { 307 307 for (j = 0; j < gridY; j++) { 308 fits_set_matrix_value (&matrix, i, j, (double) gridN[i + j*gridX]);308 gfits_set_matrix_value (&matrix, i, j, (double) gridN[i + j*gridX]); 309 309 } 310 310 } 311 311 write_coords (&theader, &refmosaic[0].coords); 312 fits_fwrite_header (f, &theader);313 fits_fwrite_matrix (f, &matrix);314 fits_free_matrix (&matrix);312 gfits_fwrite_header (f, &theader); 313 gfits_fwrite_matrix (f, &matrix); 314 gfits_free_matrix (&matrix); 315 315 316 316 /* save grid sigma values */ 317 fits_modify (&theader, "EXTNAME", "%s", 1, "SIGMA");318 fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);319 fits_create_matrix (&theader, &matrix);317 gfits_modify (&theader, "EXTNAME", "%s", 1, "SIGMA"); 318 gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name); 319 gfits_create_matrix (&theader, &matrix); 320 320 for (i = 0; i < gridX; i++) { 321 321 for (j = 0; j < gridY; j++) { 322 fits_set_matrix_value (&matrix, i, j, (double) gridS[i + j*gridX]);322 gfits_set_matrix_value (&matrix, i, j, (double) gridS[i + j*gridX]); 323 323 } 324 324 } 325 325 write_coords (&theader, &refmosaic[0].coords); 326 fits_fwrite_header (f, &theader);327 fits_fwrite_matrix (f, &matrix);328 fits_free_matrix (&matrix);326 gfits_fwrite_header (f, &theader); 327 gfits_fwrite_matrix (f, &matrix); 328 gfits_free_matrix (&matrix); 329 329 330 330 /* calculate value for each CCD pixel, write out CCD images */ … … 343 343 sprintf (ccdname, "ccd%s", p); 344 344 345 fits_modify (&theader, "EXTNAME", "%s", 1, ccdname);346 fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);347 fits_modify (&theader, "PHOTCODE", "%s", 1, pname);348 fits_modify (&theader, "NX", "%d", 1, image[i].NX);349 fits_modify (&theader, "NY", "%d", 1, image[i].NY);345 gfits_modify (&theader, "EXTNAME", "%s", 1, ccdname); 346 gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name); 347 gfits_modify (&theader, "PHOTCODE", "%s", 1, pname); 348 gfits_modify (&theader, "NX", "%d", 1, image[i].NX); 349 gfits_modify (&theader, "NY", "%d", 1, image[i].NY); 350 350 write_coords (&theader, &image[0].coords); 351 351 … … 354 354 theader.Naxis[0] = Nx; 355 355 theader.Naxis[1] = Ny; 356 fits_modify (&theader, "NAXIS1", "%d", 1, Nx);357 fits_modify (&theader, "NAXIS2", "%d", 1, Ny);358 fits_create_matrix (&theader, &matrix);356 gfits_modify (&theader, "NAXIS1", "%d", 1, Nx); 357 gfits_modify (&theader, "NAXIS2", "%d", 1, Ny); 358 gfits_create_matrix (&theader, &matrix); 359 359 360 360 InterpolateGrid ((float *)matrix.buffer, Nx, Ny, &image[0].coords, &refmosaic[0].coords); 361 fits_fwrite_header (f, &theader);362 fits_fwrite_matrix (f, &matrix);363 fits_free_matrix (&matrix);361 gfits_fwrite_header (f, &theader); 362 gfits_fwrite_matrix (f, &matrix); 363 gfits_free_matrix (&matrix); 364 364 } 365 365 } -
trunk/Ohana/src/relastro/src/GridOps.v2.c
r6808 r7080 375 375 376 376 /* create empty phu */ 377 fits_init_header (&header);377 gfits_init_header (&header); 378 378 header.extend = TRUE; 379 fits_create_header (&header);380 fits_create_matrix (&header, &matrix);381 fits_modify (&header, "NEXTEND", "%d", 1, Nimage + 3);382 fits_modify (&header, "FILTER", "%s", 1, photcode[0].name);383 fits_modify (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis");384 fits_fwrite_header (f, &header);385 fits_fwrite_matrix (f, &matrix);386 fits_free_matrix (&matrix);379 gfits_create_header (&header); 380 gfits_create_matrix (&header, &matrix); 381 gfits_modify (&header, "NEXTEND", "%d", 1, Nimage + 3); 382 gfits_modify (&header, "FILTER", "%s", 1, photcode[0].name); 383 gfits_modify (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis"); 384 gfits_fwrite_header (f, &header); 385 gfits_fwrite_matrix (f, &matrix); 386 gfits_free_matrix (&matrix); 387 387 388 388 /* save grid mag values */ 389 fits_init_header (&theader);389 gfits_init_header (&theader); 390 390 theader.Naxes = 2; 391 391 theader.Naxis[0] = gridX; 392 392 theader.Naxis[1] = gridY; 393 393 theader.bitpix = -32; 394 fits_create_Theader (&theader, "IMAGE");395 fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);396 fits_modify (&theader, "EXTNAME", "%s", 1, "MAG_OFFSET");397 fits_create_matrix (&theader, &matrix);394 gfits_create_Theader (&theader, "IMAGE"); 395 gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name); 396 gfits_modify (&theader, "EXTNAME", "%s", 1, "MAG_OFFSET"); 397 gfits_create_matrix (&theader, &matrix); 398 398 for (i = 0; i < gridX; i++) { 399 399 for (j = 0; j < gridY; j++) { 400 fits_set_matrix_value (&matrix, i, j, (double) gridM[i + j*gridX]);400 gfits_set_matrix_value (&matrix, i, j, (double) gridM[i + j*gridX]); 401 401 } 402 402 } 403 403 write_coords (&theader, &refmosaic[0].coords); 404 fits_fwrite_header (f, &theader);405 fits_fwrite_matrix (f, &matrix);406 fits_free_matrix (&matrix);404 gfits_fwrite_header (f, &theader); 405 gfits_fwrite_matrix (f, &matrix); 406 gfits_free_matrix (&matrix); 407 407 408 408 /* save grid Nmeas values */ 409 fits_modify (&theader, "EXTNAME", "%s", 1, "NMEAS");410 fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);411 fits_create_matrix (&theader, &matrix);409 gfits_modify (&theader, "EXTNAME", "%s", 1, "NMEAS"); 410 gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name); 411 gfits_create_matrix (&theader, &matrix); 412 412 for (i = 0; i < gridX; i++) { 413 413 for (j = 0; j < gridY; j++) { 414 fits_set_matrix_value (&matrix, i, j, (double) gridN[i + j*gridX]);414 gfits_set_matrix_value (&matrix, i, j, (double) gridN[i + j*gridX]); 415 415 } 416 416 } 417 417 write_coords (&theader, &refmosaic[0].coords); 418 fits_fwrite_header (f, &theader);419 fits_fwrite_matrix (f, &matrix);420 fits_free_matrix (&matrix);418 gfits_fwrite_header (f, &theader); 419 gfits_fwrite_matrix (f, &matrix); 420 gfits_free_matrix (&matrix); 421 421 422 422 /* save grid sigma values */ 423 fits_modify (&theader, "EXTNAME", "%s", 1, "SIGMA");424 fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);425 fits_create_matrix (&theader, &matrix);423 gfits_modify (&theader, "EXTNAME", "%s", 1, "SIGMA"); 424 gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name); 425 gfits_create_matrix (&theader, &matrix); 426 426 for (i = 0; i < gridX; i++) { 427 427 for (j = 0; j < gridY; j++) { 428 fits_set_matrix_value (&matrix, i, j, (double) gridS[i + j*gridX]);428 gfits_set_matrix_value (&matrix, i, j, (double) gridS[i + j*gridX]); 429 429 } 430 430 } 431 431 write_coords (&theader, &refmosaic[0].coords); 432 fits_fwrite_header (f, &theader);433 fits_fwrite_matrix (f, &matrix);434 fits_free_matrix (&matrix);432 gfits_fwrite_header (f, &theader); 433 gfits_fwrite_matrix (f, &matrix); 434 gfits_free_matrix (&matrix); 435 435 436 436 # ifdef GRID_V1 … … 451 451 sprintf (ccdname, "ccd%s", p); 452 452 453 fits_modify (&theader, "EXTNAME", "%s", 1, ccdname);454 fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);455 fits_modify (&theader, "PHOTCODE", "%s", 1, pname);456 fits_modify (&theader, "NX", "%d", 1, image[i].NX);457 fits_modify (&theader, "NY", "%d", 1, image[i].NY);453 gfits_modify (&theader, "EXTNAME", "%s", 1, ccdname); 454 gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name); 455 gfits_modify (&theader, "PHOTCODE", "%s", 1, pname); 456 gfits_modify (&theader, "NX", "%d", 1, image[i].NX); 457 gfits_modify (&theader, "NY", "%d", 1, image[i].NY); 458 458 write_coords (&theader, &image[0].coords); 459 459 … … 462 462 theader.Naxis[0] = Nx; 463 463 theader.Naxis[1] = Ny; 464 fits_modify (&theader, "NAXIS1", "%d", 1, Nx);465 fits_modify (&theader, "NAXIS2", "%d", 1, Ny);466 fits_create_matrix (&theader, &matrix);464 gfits_modify (&theader, "NAXIS1", "%d", 1, Nx); 465 gfits_modify (&theader, "NAXIS2", "%d", 1, Ny); 466 gfits_create_matrix (&theader, &matrix); 467 467 468 468 InterpolateGrid ((float *)matrix.buffer, Nx, Ny, &image[0].coords, &refmosaic[0].coords); 469 fits_fwrite_header (f, &theader);470 fits_fwrite_matrix (f, &matrix);471 fits_free_matrix (&matrix);469 gfits_fwrite_header (f, &theader); 470 gfits_fwrite_matrix (f, &matrix); 471 gfits_free_matrix (&matrix); 472 472 } 473 473 # endif … … 479 479 int ix, iy, x, y, X, Y, bin; 480 480 481 fits_modify (&theader, "EXTNAME", "%s", 1, camera.ccdname[i]);482 fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);483 fits_modify (&theader, "NX", "%d", 1, camera.Nx);484 fits_modify (&theader, "NY", "%d", 1, camera.Ny);481 gfits_modify (&theader, "EXTNAME", "%s", 1, camera.ccdname[i]); 482 gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name); 483 gfits_modify (&theader, "NX", "%d", 1, camera.Nx); 484 gfits_modify (&theader, "NY", "%d", 1, camera.Ny); 485 485 486 486 theader.Naxis[0] = RELPHOT_GRID_X; 487 487 theader.Naxis[1] = RELPHOT_GRID_Y; 488 fits_modify (&theader, "NAXIS1", "%d", 1, RELPHOT_GRID_X);489 fits_modify (&theader, "NAXIS2", "%d", 1, RELPHOT_GRID_Y);490 fits_create_matrix (&theader, &matrix);488 gfits_modify (&theader, "NAXIS1", "%d", 1, RELPHOT_GRID_X); 489 gfits_modify (&theader, "NAXIS2", "%d", 1, RELPHOT_GRID_Y); 490 gfits_create_matrix (&theader, &matrix); 491 491 492 492 for (Y = 0; Y < RELPHOT_GRID_Y; Y++) { … … 504 504 505 505 bin = ix + iy*gridX; 506 fits_set_matrix_value (&matrix, X, Y, (double) gridM[bin]);506 gfits_set_matrix_value (&matrix, X, Y, (double) gridM[bin]); 507 507 } 508 508 } 509 fits_fwrite_header (f, &theader);510 fits_fwrite_matrix (f, &matrix);511 fits_free_matrix (&matrix);509 gfits_fwrite_header (f, &theader); 510 gfits_fwrite_matrix (f, &matrix); 511 gfits_free_matrix (&matrix); 512 512 } 513 513 # endif -
trunk/Ohana/src/relastro/src/Shutdown.c
r6808 r7080 22 22 23 23 SetProtect (TRUE); 24 fits_db_close (db);24 gfits_db_close (db); 25 25 fprintf (stderr, "ERROR: addstar halted\n"); 26 26 exit (1); -
trunk/Ohana/src/relastro/src/find_images.c
r6808 r7080 27 27 strcpy (tcoords.ctype, "RA---TAN"); 28 28 29 timage = fits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped);29 timage = gfits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped); 30 30 31 31 nimage = 0; -
trunk/Ohana/src/relastro/src/load_images.c
r6808 r7080 26 26 getfullregion (image, Nimage, fullregion); 27 27 28 fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, Line, Nimage);28 gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, Line, Nimage); 29 29 30 30 initImages (image, Nimage); -
trunk/Ohana/src/relastro/src/name_region.c
r6808 r7080 9 9 10 10 sprintf (region[0].filename, "%s/%s", CATDIR, name); 11 if (! fits_read_header (region[0].filename, &header)) {11 if (!gfits_read_header (region[0].filename, &header)) { 12 12 if (VERBOSE) fprintf (stderr, "catalog file not yet available: %s\n", region[0].filename); 13 13 exit (0); 14 14 } 15 fits_scan (&header, "RA0", "%lf", 1, ®ion[0].RA[0]);16 fits_scan (&header, "RA1", "%lf", 1, ®ion[0].RA[1]);17 fits_scan (&header, "DEC0", "%lf", 1, ®ion[0].DEC[0]);18 fits_scan (&header, "DEC1", "%lf", 1, ®ion[0].DEC[1]);19 fits_free_header (&header);15 gfits_scan (&header, "RA0", "%lf", 1, ®ion[0].RA[0]); 16 gfits_scan (&header, "RA1", "%lf", 1, ®ion[0].RA[1]); 17 gfits_scan (&header, "DEC0", "%lf", 1, ®ion[0].DEC[0]); 18 gfits_scan (&header, "DEC1", "%lf", 1, ®ion[0].DEC[1]); 19 gfits_free_header (&header); 20 20 21 21 *Nregions = 1; -
trunk/Ohana/src/relastro/src/wcatalog.c
r6808 r7080 26 26 catalog[0].Nsecfilt = 0; 27 27 } 28 fits_free_header (&catalog[0].header);28 gfits_free_header (&catalog[0].header); 29 29 } -
trunk/Ohana/src/relastro/src/wimages.c
r6808 r7080 12 12 /* adjust header */ 13 13 Nimages = 0; 14 fits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimages);14 gfits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimages); 15 15 Nimages ++; 16 fits_modify (&db[0].header, "NIMAGES", "%d", 1, Nimages);16 gfits_modify (&db[0].header, "NIMAGES", "%d", 1, Nimages); 17 17 18 fits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0);18 gfits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0); 19 19 for (i = 0; i < Nimage; i++) { 20 fits_vadd_rows (&db[0].vtable, (char *) image, 1, sizeof(Image));20 gfits_vadd_rows (&db[0].vtable, (char *) image, 1, sizeof(Image)); 21 21 } 22 22 -
trunk/Ohana/src/relastro/src/write_coords.c
r6808 r7080 5 5 void write_coords (Header *header, Coords *coords) { 6 6 7 fits_modify (header, "CTYPE1", "%s", 1, "RA---TAN");8 fits_modify (header, "CTYPE2", "%s", 1, "DEC--TAN");7 gfits_modify (header, "CTYPE1", "%s", 1, "RA---TAN"); 8 gfits_modify (header, "CTYPE2", "%s", 1, "DEC--TAN"); 9 9 10 fits_modify (header, "CRVAL1", "%lf", 1, coords[0].crval1);11 fits_modify (header, "CRVAL2", "%lf", 1, coords[0].crval2);10 gfits_modify (header, "CRVAL1", "%lf", 1, coords[0].crval1); 11 gfits_modify (header, "CRVAL2", "%lf", 1, coords[0].crval2); 12 12 13 fits_modify (header, "CRPIX1", "%lf", 1, coords[0].crpix1);14 fits_modify (header, "CRPIX2", "%lf", 1, coords[0].crpix2);13 gfits_modify (header, "CRPIX1", "%lf", 1, coords[0].crpix1); 14 gfits_modify (header, "CRPIX2", "%lf", 1, coords[0].crpix2); 15 15 16 16 # if (CD_COORDS) 17 fits_modify (header, "CD1_1", "%le", 1, coords[0].pc1_1 * coords[0].cdelt1);18 fits_modify (header, "CD2_1", "%le", 1, coords[0].pc2_1 * coords[0].cdelt1);19 fits_modify (header, "CD1_2", "%le", 1, coords[0].pc1_2 * coords[0].cdelt2);20 fits_modify (header, "CD2_2", "%le", 1, coords[0].pc2_2 * coords[0].cdelt2);17 gfits_modify (header, "CD1_1", "%le", 1, coords[0].pc1_1 * coords[0].cdelt1); 18 gfits_modify (header, "CD2_1", "%le", 1, coords[0].pc2_1 * coords[0].cdelt1); 19 gfits_modify (header, "CD1_2", "%le", 1, coords[0].pc1_2 * coords[0].cdelt2); 20 gfits_modify (header, "CD2_2", "%le", 1, coords[0].pc2_2 * coords[0].cdelt2); 21 21 # else 22 fits_modify (header, "CDELT1", "%le", 1, coords[0].cdelt1);23 fits_modify (header, "CDELT2", "%le", 1, coords[0].cdelt2);24 fits_modify (header, "PC001001", "%le", 1, coords[0].pc1_1);25 fits_modify (header, "PC001002", "%le", 1, coords[0].pc1_2);26 fits_modify (header, "PC002001", "%le", 1, coords[0].pc2_1);27 fits_modify (header, "PC002002", "%le", 1, coords[0].pc2_2);22 gfits_modify (header, "CDELT1", "%le", 1, coords[0].cdelt1); 23 gfits_modify (header, "CDELT2", "%le", 1, coords[0].cdelt2); 24 gfits_modify (header, "PC001001", "%le", 1, coords[0].pc1_1); 25 gfits_modify (header, "PC001002", "%le", 1, coords[0].pc1_2); 26 gfits_modify (header, "PC002001", "%le", 1, coords[0].pc2_1); 27 gfits_modify (header, "PC002002", "%le", 1, coords[0].pc2_2); 28 28 # endif 29 29 } -
trunk/Ohana/src/relphot/Makefile
r6000 r7080 26 26 $(SRC)/liststats.$(ARCH).o \ 27 27 $(SRC)/load_images.$(ARCH).o \ 28 $(SRC)/name_region.$(ARCH).o \ 29 $(SRC)/find_images.$(ARCH).o \ 30 $(SRC)/find_regions.$(ARCH).o \ 31 $(SRC)/get_regions.$(ARCH).o \ 28 $(SRC)/select_images.$(ARCH).o \ 32 29 $(SRC)/load_catalogs.$(ARCH).o \ 33 30 $(SRC)/gcatalog.$(ARCH).o \ … … 44 41 $(SRC)/image-db.$(ARCH).o \ 45 42 $(SRC)/free_catalogs.$(ARCH).o \ 46 $(SRC)/check_permissions.$(ARCH).o \47 43 $(SRC)/setMrelFinal.$(ARCH).o \ 48 44 $(SRC)/write_coords.$(ARCH).o \ … … 51 47 $(SRC)/SetSignals.$(ARCH).o \ 52 48 $(SRC)/wcatalog.$(ARCH).o 49 50 OLD = \ 51 $(SRC)/find_images.$(ARCH).o \ 52 $(SRC)/find_regions.$(ARCH).o \ 53 $(SRC)/get_regions.$(ARCH).o \ 54 $(SRC)/name_region.$(ARCH).o \ 55 $(SRC)/check_permissions.$(ARCH).o 53 56 54 57 OBJ = $(RELPHOT) -
trunk/Ohana/src/relphot/doc/ChangeLog.txt
r6693 r7080 1 2 - relphot-1-4: 3 * converted to gfits APIs (forces libfits 1.6) 4 * added time range to time selections 1 5 2 6 - relphot-1-3: -
trunk/Ohana/src/relphot/doc/notes.txt
r2486 r7080 1 2 2006.05.03 3 4 I am upgrading relphot to accept as input an arbitrary region (using 5 the standard ohana SkyRegion concept of a RA & DEC bounded patch on 6 the sky). This modification has a few implications. First, the 7 analysis is in fact performed on the populated SkyRegions which 8 overlap the requested area on the sky. 1 9 2 10 - select different calibration options -
trunk/Ohana/src/relphot/include/relphot.h
r5998 r7080 47 47 char CATFORMAT[16]; /* internal, elixir, loneos, panstarrs */ 48 48 char CameraConfig[256]; 49 char SKY_TABLE[256]; 50 int SKY_DEPTH; /** XXX EAM : depth of catalog tables, fix usage */ 49 51 50 52 double MAG_LIM; … … 96 98 time_t TSTART, TSTOP; 97 99 100 SkyRegion UserPatch; 101 int UserPatchSelect; 102 98 103 # ifdef GRID_V1 99 104 int setGridMeasure (int meas, int cat, double X, double Y); … … 111 116 int *SelectRefMosaic PROTO((Mosaic **refmosaic, int *Nimage)); 112 117 int args PROTO((int argc, char **argv)); 113 int bcatalog PROTO((Catalog *subcatalog, Catalog *catalog , GSCRegion *fullregion));118 int bcatalog PROTO((Catalog *subcatalog, Catalog *catalog)); 114 119 void clean_images PROTO(()); 115 120 void clean_measures PROTO((Catalog *catalog, int Ncatalog, int final)); … … 122 127 void findImages PROTO((Catalog *catalog, int Ncatalog)); 123 128 int findMosaics PROTO((Catalog *catalog, int Ncatalog)); 124 Image *find_images PROTO((FITS_DB *db, GSCRegion *region, int Nregion, int *Nimage, int **LineNum)); 129 125 130 void set_db (FITS_DB *in); 126 131 int Shutdown (char *format, ...); … … 129 134 int SetSignals (); 130 135 131 GSCRegion *find_regions PROTO((Image *image, int Nimage, int *Nregions, GSCRegion *fullregion));132 136 void freeGridBins PROTO((int Ncatalog)); 133 137 void freeImageBins PROTO((int Ncatalog)); … … 140 144 float getMmos PROTO((int meas, int cat)); 141 145 float getMrel PROTO((Catalog *catalog, int meas, int cat)); 142 GSCRegion *get_regions PROTO((double minRa, double maxRa, double minDec, double maxDec, int *Nregions));143 void getfullregion PROTO((Image *image, int Nimage, GSCRegion *fullregion));144 146 Image *getimage PROTO((int N)); 145 147 Image *getimages PROTO((int *N)); … … 156 158 void initstats PROTO((char *mode)); 157 159 int liststats PROTO((double *value, double *dvalue, int N, StatType *stats)); 158 Catalog *load_catalogs PROTO((GSCRegion *region, int Nregion, GSCRegion *fullregion)); 159 GSCRegion *load_images PROTO((FITS_DB *db, char *seed, int *nregion, GSCRegion *fullregion)); 160 161 void check_permissions (char *basefile); 162 void lock_image_db (FITS_DB *db, char *filename); 163 void unlock_image_db (FITS_DB *db); 164 void create_image_db (FITS_DB *db); 160 Catalog *load_catalogs PROTO((SkyList *skylist, int *Ncatalog)); 161 SkyList *load_images PROTO((FITS_DB *db, char *regionName, SkyRegion *region, int RegionSelect)); 162 Image *select_images PROTO((SkyList *skylist, Image *timage, int Ntimage, int **LineNumber, int *Nimage)); 165 163 166 164 int main PROTO((int argc, char **argv)); … … 168 166 void matchImage PROTO((Catalog *catalog, int meas, int cat)); 169 167 void matchMosaics PROTO((Catalog *catalog, int meas, int cat)); 170 GSCRegion *name_region PROTO((char *name, int *Nregions));171 168 double opening_angle PROTO((double x1, double y1, double x2, double y2, double x3, double y3)); 172 169 void plot_chisq PROTO((Catalog *catalog, int Ncatalog)); … … 180 177 void plot_star_coords PROTO((Catalog *catalog, int Ncatalog)); 181 178 void plot_stars PROTO((Catalog *catalog, int Ncatalog)); 182 void reload_catalogs PROTO(( GSCRegion *region, int Nregion, GSCRegion *fullregion));179 void reload_catalogs PROTO((SkyList *skylist)); 183 180 int setExclusions PROTO((Catalog *catalog, int Ncatalog)); 184 181 void setMcal PROTO((Catalog *catalog, int Poor)); … … 211 208 void wimages PROTO(()); 212 209 void write_coords PROTO((Header *header, Coords *coords)); 210 211 //Image *find_images PROTO((FITS_DB *db, GSCRegion *region, int Nregion, int *Nimage, int **LineNum)); 212 //GSCRegion *find_regions PROTO((Image *image, int Nimage, int *Nregions, GSCRegion *fullregion)); 213 //GSCRegion *get_regions PROTO((double minRa, double maxRa, double minDec, double maxDec, int *Nregions)); 214 //void getfullregion PROTO((Image *image, int Nimage, GSCRegion *fullregion)); 215 //GSCRegion *name_region PROTO((char *name, int *Nregions)); -
trunk/Ohana/src/relphot/src/ConfigInit.c
r6684 r7080 34 34 sprintf (ImageCat, "%s/Images.dat", CATDIR); 35 35 36 if (!ScanConfig (config, "SKY_DEPTH", "%d", 0, &SKY_DEPTH)) { 37 SKY_DEPTH = 2; 38 } 39 if (!ScanConfig (config, "SKY_TABLE", "%s", 0, SKY_TABLE)) { 40 SKY_TABLE[0] = 0; 41 } 42 36 43 GetConfig (config, "PHOTCODE_FILE", "%s", 0, PhotCodeFile); 37 44 GetConfig (config, "ZERO_PT", "%lf", 0, &ZERO_POINT); -
trunk/Ohana/src/relphot/src/GridOps.v1.c
r2486 r7080 269 269 270 270 /* create empty phu */ 271 fits_init_header (&header);271 gfits_init_header (&header); 272 272 header.extend = TRUE; 273 fits_create_header (&header);274 fits_create_matrix (&header, &matrix);275 fits_modify (&header, "NEXTEND", "%d", 1, Nimage + 3);276 fits_modify (&header, "FILTER", "%s", 1, photcode[0].name);277 fits_modify (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis");278 fits_fwrite_header (f, &header);279 fits_fwrite_matrix (f, &matrix);280 fits_free_matrix (&matrix);273 gfits_create_header (&header); 274 gfits_create_matrix (&header, &matrix); 275 gfits_modify (&header, "NEXTEND", "%d", 1, Nimage + 3); 276 gfits_modify (&header, "FILTER", "%s", 1, photcode[0].name); 277 gfits_modify (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis"); 278 gfits_fwrite_header (f, &header); 279 gfits_fwrite_matrix (f, &matrix); 280 gfits_free_matrix (&matrix); 281 281 282 282 /* save grid mag values */ 283 fits_init_header (&theader);283 gfits_init_header (&theader); 284 284 theader.Naxes = 2; 285 285 theader.Naxis[0] = gridX; 286 286 theader.Naxis[1] = gridY; 287 287 theader.bitpix = -32; 288 fits_create_Theader (&theader, "IMAGE");289 fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);290 fits_modify (&theader, "EXTNAME", "%s", 1, "MAG_OFFSET");291 fits_create_matrix (&theader, &matrix);288 gfits_create_Theader (&theader, "IMAGE"); 289 gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name); 290 gfits_modify (&theader, "EXTNAME", "%s", 1, "MAG_OFFSET"); 291 gfits_create_matrix (&theader, &matrix); 292 292 for (i = 0; i < gridX; i++) { 293 293 for (j = 0; j < gridY; j++) { 294 fits_set_matrix_value (&matrix, i, j, (double) gridM[i + j*gridX]);294 gfits_set_matrix_value (&matrix, i, j, (double) gridM[i + j*gridX]); 295 295 } 296 296 } 297 297 write_coords (&theader, &refmosaic[0].coords); 298 fits_fwrite_header (f, &theader);299 fits_fwrite_matrix (f, &matrix);300 fits_free_matrix (&matrix);298 gfits_fwrite_header (f, &theader); 299 gfits_fwrite_matrix (f, &matrix); 300 gfits_free_matrix (&matrix); 301 301 302 302 /* save grid Nmeas values */ 303 fits_modify (&theader, "EXTNAME", "%s", 1, "NMEAS");304 fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);305 fits_create_matrix (&theader, &matrix);303 gfits_modify (&theader, "EXTNAME", "%s", 1, "NMEAS"); 304 gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name); 305 gfits_create_matrix (&theader, &matrix); 306 306 for (i = 0; i < gridX; i++) { 307 307 for (j = 0; j < gridY; j++) { 308 fits_set_matrix_value (&matrix, i, j, (double) gridN[i + j*gridX]);308 gfits_set_matrix_value (&matrix, i, j, (double) gridN[i + j*gridX]); 309 309 } 310 310 } 311 311 write_coords (&theader, &refmosaic[0].coords); 312 fits_fwrite_header (f, &theader);313 fits_fwrite_matrix (f, &matrix);314 fits_free_matrix (&matrix);312 gfits_fwrite_header (f, &theader); 313 gfits_fwrite_matrix (f, &matrix); 314 gfits_free_matrix (&matrix); 315 315 316 316 /* save grid sigma values */ 317 fits_modify (&theader, "EXTNAME", "%s", 1, "SIGMA");318 fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);319 fits_create_matrix (&theader, &matrix);317 gfits_modify (&theader, "EXTNAME", "%s", 1, "SIGMA"); 318 gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name); 319 gfits_create_matrix (&theader, &matrix); 320 320 for (i = 0; i < gridX; i++) { 321 321 for (j = 0; j < gridY; j++) { 322 fits_set_matrix_value (&matrix, i, j, (double) gridS[i + j*gridX]);322 gfits_set_matrix_value (&matrix, i, j, (double) gridS[i + j*gridX]); 323 323 } 324 324 } 325 325 write_coords (&theader, &refmosaic[0].coords); 326 fits_fwrite_header (f, &theader);327 fits_fwrite_matrix (f, &matrix);328 fits_free_matrix (&matrix);326 gfits_fwrite_header (f, &theader); 327 gfits_fwrite_matrix (f, &matrix); 328 gfits_free_matrix (&matrix); 329 329 330 330 /* calculate value for each CCD pixel, write out CCD images */ … … 343 343 sprintf (ccdname, "ccd%s", p); 344 344 345 fits_modify (&theader, "EXTNAME", "%s", 1, ccdname);346 fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);347 fits_modify (&theader, "PHOTCODE", "%s", 1, pname);348 fits_modify (&theader, "NX", "%d", 1, image[i].NX);349 fits_modify (&theader, "NY", "%d", 1, image[i].NY);345 gfits_modify (&theader, "EXTNAME", "%s", 1, ccdname); 346 gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name); 347 gfits_modify (&theader, "PHOTCODE", "%s", 1, pname); 348 gfits_modify (&theader, "NX", "%d", 1, image[i].NX); 349 gfits_modify (&theader, "NY", "%d", 1, image[i].NY); 350 350 write_coords (&theader, &image[0].coords); 351 351 … … 354 354 theader.Naxis[0] = Nx; 355 355 theader.Naxis[1] = Ny; 356 fits_modify (&theader, "NAXIS1", "%d", 1, Nx);357 fits_modify (&theader, "NAXIS2", "%d", 1, Ny);358 fits_create_matrix (&theader, &matrix);356 gfits_modify (&theader, "NAXIS1", "%d", 1, Nx); 357 gfits_modify (&theader, "NAXIS2", "%d", 1, Ny); 358 gfits_create_matrix (&theader, &matrix); 359 359 360 360 InterpolateGrid ((float *)matrix.buffer, Nx, Ny, &image[0].coords, &refmosaic[0].coords); 361 fits_fwrite_header (f, &theader);362 fits_fwrite_matrix (f, &matrix);363 fits_free_matrix (&matrix);361 gfits_fwrite_header (f, &theader); 362 gfits_fwrite_matrix (f, &matrix); 363 gfits_free_matrix (&matrix); 364 364 } 365 365 } -
trunk/Ohana/src/relphot/src/GridOps.v2.c
r5143 r7080 375 375 376 376 /* create empty phu */ 377 fits_init_header (&header);377 gfits_init_header (&header); 378 378 header.extend = TRUE; 379 fits_create_header (&header);380 fits_create_matrix (&header, &matrix);381 fits_modify (&header, "NEXTEND", "%d", 1, Nimage + 3);382 fits_modify (&header, "FILTER", "%s", 1, photcode[0].name);383 fits_modify (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis");384 fits_fwrite_header (f, &header);385 fits_fwrite_matrix (f, &matrix);386 fits_free_matrix (&matrix);379 gfits_create_header (&header); 380 gfits_create_matrix (&header, &matrix); 381 gfits_modify (&header, "NEXTEND", "%d", 1, Nimage + 3); 382 gfits_modify (&header, "FILTER", "%s", 1, photcode[0].name); 383 gfits_modify (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis"); 384 gfits_fwrite_header (f, &header); 385 gfits_fwrite_matrix (f, &matrix); 386 gfits_free_matrix (&matrix); 387 387 388 388 /* save grid mag values */ 389 fits_init_header (&theader);389 gfits_init_header (&theader); 390 390 theader.Naxes = 2; 391 391 theader.Naxis[0] = gridX; 392 392 theader.Naxis[1] = gridY; 393 393 theader.bitpix = -32; 394 fits_create_Theader (&theader, "IMAGE");395 fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);396 fits_modify (&theader, "EXTNAME", "%s", 1, "MAG_OFFSET");397 fits_create_matrix (&theader, &matrix);394 gfits_create_Theader (&theader, "IMAGE"); 395 gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name); 396 gfits_modify (&theader, "EXTNAME", "%s", 1, "MAG_OFFSET"); 397 gfits_create_matrix (&theader, &matrix); 398 398 for (i = 0; i < gridX; i++) { 399 399 for (j = 0; j < gridY; j++) { 400 fits_set_matrix_value (&matrix, i, j, (double) gridM[i + j*gridX]);400 gfits_set_matrix_value (&matrix, i, j, (double) gridM[i + j*gridX]); 401 401 } 402 402 } 403 403 write_coords (&theader, &refmosaic[0].coords); 404 fits_fwrite_header (f, &theader);405 fits_fwrite_matrix (f, &matrix);406 fits_free_matrix (&matrix);404 gfits_fwrite_header (f, &theader); 405 gfits_fwrite_matrix (f, &matrix); 406 gfits_free_matrix (&matrix); 407 407 408 408 /* save grid Nmeas values */ 409 fits_modify (&theader, "EXTNAME", "%s", 1, "NMEAS");410 fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);411 fits_create_matrix (&theader, &matrix);409 gfits_modify (&theader, "EXTNAME", "%s", 1, "NMEAS"); 410 gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name); 411 gfits_create_matrix (&theader, &matrix); 412 412 for (i = 0; i < gridX; i++) { 413 413 for (j = 0; j < gridY; j++) { 414 fits_set_matrix_value (&matrix, i, j, (double) gridN[i + j*gridX]);414 gfits_set_matrix_value (&matrix, i, j, (double) gridN[i + j*gridX]); 415 415 } 416 416 } 417 417 write_coords (&theader, &refmosaic[0].coords); 418 fits_fwrite_header (f, &theader);419 fits_fwrite_matrix (f, &matrix);420 fits_free_matrix (&matrix);418 gfits_fwrite_header (f, &theader); 419 gfits_fwrite_matrix (f, &matrix); 420 gfits_free_matrix (&matrix); 421 421 422 422 /* save grid sigma values */ 423 fits_modify (&theader, "EXTNAME", "%s", 1, "SIGMA");424 fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);425 fits_create_matrix (&theader, &matrix);423 gfits_modify (&theader, "EXTNAME", "%s", 1, "SIGMA"); 424 gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name); 425 gfits_create_matrix (&theader, &matrix); 426 426 for (i = 0; i < gridX; i++) { 427 427 for (j = 0; j < gridY; j++) { 428 fits_set_matrix_value (&matrix, i, j, (double) gridS[i + j*gridX]);428 gfits_set_matrix_value (&matrix, i, j, (double) gridS[i + j*gridX]); 429 429 } 430 430 } 431 431 write_coords (&theader, &refmosaic[0].coords); 432 fits_fwrite_header (f, &theader);433 fits_fwrite_matrix (f, &matrix);434 fits_free_matrix (&matrix);432 gfits_fwrite_header (f, &theader); 433 gfits_fwrite_matrix (f, &matrix); 434 gfits_free_matrix (&matrix); 435 435 436 436 # ifdef GRID_V1 … … 451 451 sprintf (ccdname, "ccd%s", p); 452 452 453 fits_modify (&theader, "EXTNAME", "%s", 1, ccdname);454 fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);455 fits_modify (&theader, "PHOTCODE", "%s", 1, pname);456 fits_modify (&theader, "NX", "%d", 1, image[i].NX);457 fits_modify (&theader, "NY", "%d", 1, image[i].NY);453 gfits_modify (&theader, "EXTNAME", "%s", 1, ccdname); 454 gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name); 455 gfits_modify (&theader, "PHOTCODE", "%s", 1, pname); 456 gfits_modify (&theader, "NX", "%d", 1, image[i].NX); 457 gfits_modify (&theader, "NY", "%d", 1, image[i].NY); 458 458 write_coords (&theader, &image[0].coords); 459 459 … … 462 462 theader.Naxis[0] = Nx; 463 463 theader.Naxis[1] = Ny; 464 fits_modify (&theader, "NAXIS1", "%d", 1, Nx);465 fits_modify (&theader, "NAXIS2", "%d", 1, Ny);466 fits_create_matrix (&theader, &matrix);464 gfits_modify (&theader, "NAXIS1", "%d", 1, Nx); 465 gfits_modify (&theader, "NAXIS2", "%d", 1, Ny); 466 gfits_create_matrix (&theader, &matrix); 467 467 468 468 InterpolateGrid ((float *)matrix.buffer, Nx, Ny, &image[0].coords, &refmosaic[0].coords); 469 fits_fwrite_header (f, &theader);470 fits_fwrite_matrix (f, &matrix);471 fits_free_matrix (&matrix);469 gfits_fwrite_header (f, &theader); 470 gfits_fwrite_matrix (f, &matrix); 471 gfits_free_matrix (&matrix); 472 472 } 473 473 # endif … … 479 479 int ix, iy, x, y, X, Y, bin; 480 480 481 fits_modify (&theader, "EXTNAME", "%s", 1, camera.ccdname[i]);482 fits_modify (&theader, "FILTER", "%s", 1, photcode[0].name);483 fits_modify (&theader, "NX", "%d", 1, camera.Nx);484 fits_modify (&theader, "NY", "%d", 1, camera.Ny);481 gfits_modify (&theader, "EXTNAME", "%s", 1, camera.ccdname[i]); 482 gfits_modify (&theader, "FILTER", "%s", 1, photcode[0].name); 483 gfits_modify (&theader, "NX", "%d", 1, camera.Nx); 484 gfits_modify (&theader, "NY", "%d", 1, camera.Ny); 485 485 486 486 theader.Naxis[0] = RELPHOT_GRID_X; 487 487 theader.Naxis[1] = RELPHOT_GRID_Y; 488 fits_modify (&theader, "NAXIS1", "%d", 1, RELPHOT_GRID_X);489 fits_modify (&theader, "NAXIS2", "%d", 1, RELPHOT_GRID_Y);490 fits_create_matrix (&theader, &matrix);488 gfits_modify (&theader, "NAXIS1", "%d", 1, RELPHOT_GRID_X); 489 gfits_modify (&theader, "NAXIS2", "%d", 1, RELPHOT_GRID_Y); 490 gfits_create_matrix (&theader, &matrix); 491 491 492 492 for (Y = 0; Y < RELPHOT_GRID_Y; Y++) { … … 504 504 505 505 bin = ix + iy*gridX; 506 fits_set_matrix_value (&matrix, X, Y, (double) gridM[bin]);506 gfits_set_matrix_value (&matrix, X, Y, (double) gridM[bin]); 507 507 } 508 508 } 509 fits_fwrite_header (f, &theader);510 fits_fwrite_matrix (f, &matrix);511 fits_free_matrix (&matrix);509 gfits_fwrite_header (f, &theader); 510 gfits_fwrite_matrix (f, &matrix); 511 gfits_free_matrix (&matrix); 512 512 } 513 513 # endif -
trunk/Ohana/src/relphot/src/Shutdown.c
r4864 r7080 22 22 23 23 SetProtect (TRUE); 24 fits_db_close (db);24 gfits_db_close (db); 25 25 fprintf (stderr, "ERROR: addstar halted\n"); 26 26 exit (1); -
trunk/Ohana/src/relphot/src/args.c
r6994 r7080 1 1 # include "relphot.h" 2 void usage (void); 2 3 3 4 int args (int argc, char **argv) { … … 33 34 } 34 35 36 /* specify portion of the sky */ 37 UserPatch.Rmin = 0; 38 UserPatch.Rmax = 360; 39 UserPatch.Dmin = -90; 40 UserPatch.Dmax = +90; 41 UserPatchSelect = FALSE; 42 if ((N = get_argument (argc, argv, "-region"))) { 43 remove_argument (N, &argc, argv); 44 UserPatch.Rmin = atof (argv[N]); 45 remove_argument (N, &argc, argv); 46 UserPatch.Rmax = atof (argv[N]); 47 remove_argument (N, &argc, argv); 48 UserPatch.Dmin = atof (argv[N]); 49 remove_argument (N, &argc, argv); 50 UserPatch.Dmax = atof (argv[N]); 51 remove_argument (N, &argc, argv); 52 UserPatchSelect = TRUE; 53 } 54 35 55 VERBOSE = FALSE; 36 56 if ((N = get_argument (argc, argv, "-v"))) { … … 153 173 } 154 174 155 if (argc != 3) { 156 fprintf (stderr, "ERROR: USAGE: nrphot (region) (photcode)\n"); 157 fprintf (stderr, " options: \n"); 158 fprintf (stderr, " -time (start) (stop)\n"); 159 fprintf (stderr, " -v\n"); 160 fprintf (stderr, " -plot\n"); 161 fprintf (stderr, " -plotdelay (seconds)\n"); 162 fprintf (stderr, " -statmode (mode)\n"); 163 fprintf (stderr, " -n (nloop)\n"); 164 fprintf (stderr, " -reset\n"); 165 fprintf (stderr, " -update\n"); 166 fprintf (stderr, " -params\n"); 167 fprintf (stderr, " -mosaic (mosaic)\n"); 168 fprintf (stderr, " -imfreeze\n"); 169 fprintf (stderr, " -grid\n"); 170 fprintf (stderr, " -area Xmin Xmax Ymin Ymax\n"); 171 fprintf (stderr, " -instmag min max\n"); 172 fprintf (stderr, " \n"); 173 exit (2); 174 } 175 return (TRUE); 175 if ( UserPatchSelect && (argc != 2)) usage (); 176 if (!UserPatchSelect && (argc != 3)) usage (); 177 178 return TRUE; 176 179 } 177 180 181 void usage () { 182 fprintf (stderr, "ERROR: USAGE: relphot (region) (photcode)\n"); 183 fprintf (stderr, " or: relphot (photcode) -region RA RA DEC DEC\n"); 184 fprintf (stderr, " options: \n"); 185 fprintf (stderr, " -time (start) (stop)\n"); 186 fprintf (stderr, " -v\n"); 187 fprintf (stderr, " -plot\n"); 188 fprintf (stderr, " -plotdelay (seconds)\n"); 189 fprintf (stderr, " -statmode (mode)\n"); 190 fprintf (stderr, " -n (nloop)\n"); 191 fprintf (stderr, " -reset\n"); 192 fprintf (stderr, " -update\n"); 193 fprintf (stderr, " -params\n"); 194 fprintf (stderr, " -mosaic (mosaic)\n"); 195 fprintf (stderr, " -imfreeze\n"); 196 fprintf (stderr, " -grid\n"); 197 fprintf (stderr, " -area Xmin Xmax Ymin Ymax\n"); 198 fprintf (stderr, " -instmag min max\n"); 199 fprintf (stderr, " \n"); 200 exit (2); 201 } -
trunk/Ohana/src/relphot/src/bcatalog.c
r6683 r7080 1 1 # include "relphot.h" 2 2 3 int bcatalog (Catalog *subcatalog, Catalog *catalog , GSCRegion *fullregion) {3 int bcatalog (Catalog *subcatalog, Catalog *catalog) { 4 4 5 5 int i, j, offset, ecode; … … 18 18 for (i = 0; i < catalog[0].Naverage; i++) { 19 19 if (catalog[0].average[i].Nm < 2) continue; 20 21 /* XXX this limitation is absurd 20 22 if (catalog[0].average[i].R < fullregion[0].RA[0]) continue; 21 23 if (catalog[0].average[i].R > fullregion[0].RA[1]) continue; 22 24 if (catalog[0].average[i].D < fullregion[0].DEC[0]) continue; 23 25 if (catalog[0].average[i].D > fullregion[0].DEC[1]) continue; 26 */ 24 27 25 28 /* start with all stars good */ -
trunk/Ohana/src/relphot/src/find_images.c
r5014 r7080 27 27 strcpy (tcoords.ctype, "RA---TAN"); 28 28 29 timage = fits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped);29 timage = gfits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped); 30 30 31 31 nimage = 0; -
trunk/Ohana/src/relphot/src/initialize.c
r6684 r7080 3 3 void initialize (int argc, char **argv) { 4 4 5 /* are these set correctly? */ 5 int N; 6 6 7 ConfigInit (&argc, argv); 7 8 args (argc, argv); 8 9 9 if ((photcode = GetPhotcodebyName (argv[2])) == NULL) { 10 fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", argv[2]); 10 N = UserPatchSelect ? 1 : 2; 11 if ((photcode = GetPhotcodebyName (argv[N])) == NULL) { 12 fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", argv[N]); 11 13 exit (1); 12 14 } 13 15 if ((photcode[0].type != PHOT_PRI) && (photcode[0].type != PHOT_SEC)) { 14 fprintf (stderr, "photcode %s is not a primary or secondary filter\n", argv[ 2]);16 fprintf (stderr, "photcode %s is not a primary or secondary filter\n", argv[N]); 15 17 exit (1); 16 18 } -
trunk/Ohana/src/relphot/src/load_catalogs.c
r2486 r7080 1 1 # include "relphot.h" 2 2 3 Catalog *load_catalogs ( GSCRegion *region, int Nregion, GSCRegion *fullregion) {3 Catalog *load_catalogs (SkyList *skylist, int *Ncatalog) { 4 4 5 5 int i, Nstar; 6 char filename[256];7 6 Catalog *catalog, tcatalog; 8 7 9 8 if (VERBOSE) fprintf (stderr, "loading catalog data\n"); 10 9 11 ALLOCATE (catalog, Catalog, Nregion); 10 // XXX skip over the empty catalogs? don't add to the list? 11 ALLOCATE (catalog, Catalog, skylist[0].Nregions); 12 12 13 13 /* load data from each region file, only use bright stars */ 14 for (i = 0; i < Nregion; i++) {15 sprintf (filename, "%s/%s", CATDIR, region[i].filename);16 tcatalog.filename = filename; /* don't free region before catalog! */14 // we use LCK_SOFT since we assume the image is locked 15 for (i = 0; i < skylist[0].Nregions; i++) { 16 tcatalog.filename = skylist[0].filename[i]; 17 17 switch (lock_catalog (&tcatalog, LCK_SOFT)) { 18 18 case 0: 19 fprintf (stderr, "ERROR: can't lock file %s\n", region[i].filename);19 fprintf (stderr, "ERROR: can't lock file %s\n", tcatalog.filename); 20 20 exit (1); 21 21 case 1: … … 31 31 exit (1); 32 32 } 33 bcatalog (&catalog[i], &tcatalog , fullregion);33 bcatalog (&catalog[i], &tcatalog); 34 34 } 35 35 36 36 Nstar = 0; 37 for (i = 0; i < Nregion; i++) {37 for (i = 0; i < skylist[0].Nregions; i++) { 38 38 Nstar += catalog[i].Naverage; 39 39 } … … 42 42 exit (0); 43 43 } 44 45 *Ncatalog = skylist[0].Nregions; 44 46 return (catalog); 45 47 } -
trunk/Ohana/src/relphot/src/load_images.c
r6237 r7080 1 1 # include "relphot.h" 2 2 3 GSCRegion *load_images (FITS_DB *db, char *seed, int *nregion, GSCRegion *fullregion) {3 SkyList *load_images (FITS_DB *db, char *regionName, SkyRegion *region, int RegionSelect) { 4 4 5 GSCRegion *region; 6 int Nregion; 7 Image *image; 8 int *Line; 9 int Nimage; 5 Image *image, *subset; 6 int Nimage, Nsubset, Nchar; 7 int *LineNumber; 10 8 11 /* read entire db table */12 if (!dvo_image_load (db, VERBOSE, FALSE)) Shutdown ("can't read image catalog %s", db[0].filename);9 SkyTable *sky = NULL; 10 SkyList *skylist = NULL; 13 11 14 region = name_region (seed, &Nregion); 12 // load the current sky table (layout of all SkyRegions) 13 sky = SkyTableLoadOptimal (CATDIR, SKY_TABLE, GSCFILE, SKY_DEPTH, VERBOSE); 14 SkyTableSetFilenames (sky, CATDIR, "cpt"); 15 16 // determine the populated SkyRegions overlapping the requested area 17 if (RegionSelect) { 18 skylist = SkyListByPatch (sky, -1, region); 19 } else { 20 Nchar = strlen(regionName); 21 if (!strcmp (®ionName[Nchar-4], ".cpt")) regionName[Nchar-4] = 0; 22 skylist = SkyListByName (sky, regionName); 23 } 15 24 16 /* find images which supplied all measurements */ 17 image = find_images (db, region, Nregion, &Nimage, &Line); 18 free (Line); 25 // convert database table to internal structure 26 image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped); 19 27 20 /* find all region files which touch images */ 21 region = find_regions (image, Nimage, &Nregion, fullregion); 22 free (image); 28 // select the images which overlap the selected sky regions 29 subset = select_images (skylist, image, Nimage, &LineNumber, &Nsubset); 23 30 24 /* find images which supplied all measurements for all regions */ 25 image = find_images (db, region, Nregion, &Nimage, &Line); 26 getfullregion (image, Nimage, fullregion); 31 gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, LineNumber, Nsubset); 27 32 28 fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, Line, Nimage); 29 30 initImages (image, Nimage); 31 initMosaics (image, Nimage); 33 initImages (subset, Nsubset); 34 initMosaics (subset, Nsubset); 32 35 33 *nregion = Nregion; 34 return (region); 36 return (skylist); 35 37 } -
trunk/Ohana/src/relphot/src/name_region.c
r2486 r7080 9 9 10 10 sprintf (region[0].filename, "%s/%s", CATDIR, name); 11 if (! fits_read_header (region[0].filename, &header)) {11 if (!gfits_read_header (region[0].filename, &header)) { 12 12 if (VERBOSE) fprintf (stderr, "catalog file not yet available: %s\n", region[0].filename); 13 13 exit (0); 14 14 } 15 fits_scan (&header, "RA0", "%lf", 1, ®ion[0].RA[0]);16 fits_scan (&header, "RA1", "%lf", 1, ®ion[0].RA[1]);17 fits_scan (&header, "DEC0", "%lf", 1, ®ion[0].DEC[0]);18 fits_scan (&header, "DEC1", "%lf", 1, ®ion[0].DEC[1]);19 fits_free_header (&header);15 gfits_scan (&header, "RA0", "%lf", 1, ®ion[0].RA[0]); 16 gfits_scan (&header, "RA1", "%lf", 1, ®ion[0].RA[1]); 17 gfits_scan (&header, "DEC0", "%lf", 1, ®ion[0].DEC[0]); 18 gfits_scan (&header, "DEC1", "%lf", 1, ®ion[0].DEC[1]); 19 gfits_free_header (&header); 20 20 21 21 *Nregions = 1; -
trunk/Ohana/src/relphot/src/reload_catalogs.c
r2486 r7080 1 1 # include "relphot.h" 2 2 3 void reload_catalogs ( GSCRegion *region, int Nregion, GSCRegion *fullregion) {3 void reload_catalogs (SkyList *skylist) { 4 4 5 5 int i; 6 char filename[256];7 6 Catalog catalog; 8 7 … … 10 9 11 10 /* load data from each region file */ 12 for (i = 0; i < Nregion; i++) { 13 sprintf (filename, "%s/%s", CATDIR, region[i].filename); 14 catalog.filename = filename; /* don't free region before catalog! */ 11 for (i = 0; i < skylist[0].Nregions; i++) { 12 catalog.filename = skylist[0].filename[i]; 15 13 switch (lock_catalog (&catalog, LCK_XCLD)) { 16 14 case 0: 17 fprintf (stderr, "ERROR: can't lock file %s\n", region[i].filename);15 fprintf (stderr, "ERROR: can't lock file %s\n", catalog.filename); 18 16 exit (1); 19 17 case 1: -
trunk/Ohana/src/relphot/src/relphot.c
r6640 r7080 1 1 # include "relphot.h" 2 /** I'm not currently setting the lockfiles. this should be fixed! **/3 2 4 3 int main (int argc, char **argv) { … … 6 5 int i, status, Ncatalog; 7 6 Catalog *catalog; 8 GSCRegion fullregion, *region;9 7 FITS_DB db; 8 9 SkyList *skylist = NULL; 10 10 11 11 /* get configuration info, args */ 12 12 initialize (argc, argv); 13 13 14 /* register database handle with shutdown procedure */ 14 15 set_db (&db); 16 17 /* lock and load the image db table */ 15 18 status = dvo_image_lock (&db, ImageCat, 60.0, (UPDATE ? LCK_XCLD : LCK_SOFT)); 16 19 if (!status) Shutdown ("ERROR: failure to lock image catalog %s", db.filename); 17 20 if (db.dbstate == LCK_EMPTY) Shutdown ("ERROR: No images in catalog %s (1)", db.filename); 21 if (!dvo_image_load (&db, VERBOSE, FALSE)) Shutdown ("can't read image catalog %s", db.filename); 18 22 19 /* load regions and images based on seed region */ 20 // XXX EAM : load images and regions based on bounds, not name 21 region = load_images (&db, argv[1], &Ncatalog, &fullregion); 23 /* load regions and images based on specified sky patch */ 24 // XXX need to mimic old-style load by passing patch name 25 // XXX need to reduce number of global variables in use. 26 // XXX this is fairly lame: argv[1] is photcode if UserPatchSelect is true 27 skylist = load_images (&db, argv[1], &UserPatch, UserPatchSelect); 28 29 /* unlock, if we can (else, unlocked below) */ 22 30 if (!UPDATE) dvo_image_unlock (&db); 23 31 24 32 /* load catalog data from region files */ 25 catalog = load_catalogs ( region, Ncatalog, &fullregion);33 catalog = load_catalogs (skylist, &Ncatalog); 26 34 27 35 /* match measurements with images, mosaics */ … … 86 94 87 95 /* load catalog data from region files, update Mrel include all data */ 88 reload_catalogs ( region, Ncatalog, &fullregion);96 reload_catalogs (skylist); 89 97 setMcalFinal (); 90 98 dvo_image_update (&db, VERBOSE); -
trunk/Ohana/src/relphot/src/wcatalog.c
r5014 r7080 26 26 catalog[0].Nsecfilt = 0; 27 27 } 28 fits_free_header (&catalog[0].header);28 gfits_free_header (&catalog[0].header); 29 29 } -
trunk/Ohana/src/relphot/src/wimages.c
r4864 r7080 12 12 /* adjust header */ 13 13 Nimages = 0; 14 fits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimages);14 gfits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimages); 15 15 Nimages ++; 16 fits_modify (&db[0].header, "NIMAGES", "%d", 1, Nimages);16 gfits_modify (&db[0].header, "NIMAGES", "%d", 1, Nimages); 17 17 18 fits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0);18 gfits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0); 19 19 for (i = 0; i < Nimage; i++) { 20 fits_vadd_rows (&db[0].vtable, (char *) image, 1, sizeof(Image));20 gfits_vadd_rows (&db[0].vtable, (char *) image, 1, sizeof(Image)); 21 21 } 22 22 -
trunk/Ohana/src/relphot/src/write_coords.c
r2486 r7080 5 5 void write_coords (Header *header, Coords *coords) { 6 6 7 fits_modify (header, "CTYPE1", "%s", 1, "RA---TAN");8 fits_modify (header, "CTYPE2", "%s", 1, "DEC--TAN");7 gfits_modify (header, "CTYPE1", "%s", 1, "RA---TAN"); 8 gfits_modify (header, "CTYPE2", "%s", 1, "DEC--TAN"); 9 9 10 fits_modify (header, "CRVAL1", "%lf", 1, coords[0].crval1);11 fits_modify (header, "CRVAL2", "%lf", 1, coords[0].crval2);10 gfits_modify (header, "CRVAL1", "%lf", 1, coords[0].crval1); 11 gfits_modify (header, "CRVAL2", "%lf", 1, coords[0].crval2); 12 12 13 fits_modify (header, "CRPIX1", "%lf", 1, coords[0].crpix1);14 fits_modify (header, "CRPIX2", "%lf", 1, coords[0].crpix2);13 gfits_modify (header, "CRPIX1", "%lf", 1, coords[0].crpix1); 14 gfits_modify (header, "CRPIX2", "%lf", 1, coords[0].crpix2); 15 15 16 16 # if (CD_COORDS) 17 fits_modify (header, "CD1_1", "%le", 1, coords[0].pc1_1 * coords[0].cdelt1);18 fits_modify (header, "CD2_1", "%le", 1, coords[0].pc2_1 * coords[0].cdelt1);19 fits_modify (header, "CD1_2", "%le", 1, coords[0].pc1_2 * coords[0].cdelt2);20 fits_modify (header, "CD2_2", "%le", 1, coords[0].pc2_2 * coords[0].cdelt2);17 gfits_modify (header, "CD1_1", "%le", 1, coords[0].pc1_1 * coords[0].cdelt1); 18 gfits_modify (header, "CD2_1", "%le", 1, coords[0].pc2_1 * coords[0].cdelt1); 19 gfits_modify (header, "CD1_2", "%le", 1, coords[0].pc1_2 * coords[0].cdelt2); 20 gfits_modify (header, "CD2_2", "%le", 1, coords[0].pc2_2 * coords[0].cdelt2); 21 21 # else 22 fits_modify (header, "CDELT1", "%le", 1, coords[0].cdelt1);23 fits_modify (header, "CDELT2", "%le", 1, coords[0].cdelt2);24 fits_modify (header, "PC001001", "%le", 1, coords[0].pc1_1);25 fits_modify (header, "PC001002", "%le", 1, coords[0].pc1_2);26 fits_modify (header, "PC002001", "%le", 1, coords[0].pc2_1);27 fits_modify (header, "PC002002", "%le", 1, coords[0].pc2_2);22 gfits_modify (header, "CDELT1", "%le", 1, coords[0].cdelt1); 23 gfits_modify (header, "CDELT2", "%le", 1, coords[0].cdelt2); 24 gfits_modify (header, "PC001001", "%le", 1, coords[0].pc1_1); 25 gfits_modify (header, "PC001002", "%le", 1, coords[0].pc1_2); 26 gfits_modify (header, "PC002001", "%le", 1, coords[0].pc2_1); 27 gfits_modify (header, "PC002002", "%le", 1, coords[0].pc2_2); 28 28 # endif 29 29 } -
trunk/Ohana/src/uniphot/doc/ChangeLog.txt
r6693 r7080 1 1 2 - uniphot-1-4: 3 * converted to gfits APIs (forces libfits 1.6) 2 4 3 5 - uniphot-1-3: -
trunk/Ohana/src/uniphot/src/Shutdown.c
r4864 r7080 22 22 23 23 SetProtect (TRUE); 24 fits_db_close (db);24 gfits_db_close (db); 25 25 fprintf (stderr, "ERROR: addstar halted\n"); 26 26 exit (1); -
trunk/Ohana/src/uniphot/src/find_image_sgroups.c
r5386 r7080 11 11 12 12 imlink = *Imlink; 13 image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);13 image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped); 14 14 15 15 coords.crpix1 = coords.crpix2 = 0.0; -
trunk/Ohana/src/uniphot/src/find_image_tgroups.c
r5386 r7080 10 10 ImageLink *imlink; 11 11 12 image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);12 image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped); 13 13 ALLOCATE (imlink, ImageLink, Nimage); 14 14 -
trunk/Ohana/src/uniphot/src/subset_images.c
r4864 r7080 8 8 9 9 /* use a vtable to keep the images to be calibrated */ 10 image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);10 image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped); 11 11 12 12 Nkeep = 0; … … 32 32 } 33 33 34 fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, keep, Nkeep);34 gfits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, keep, Nkeep); 35 35 return (TRUE); 36 36 } -
trunk/Ohana/src/uniphot/src/update.c
r5320 r7080 12 12 Coords coords; 13 13 14 image = fits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);14 image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped); 15 15 16 16 /* clear the NOCAL flags */ … … 44 44 if (!gcatalog (&catalog)) continue; 45 45 46 fits_scan (&catalog.header, "RA0", "%lf", 1, &Rmin);47 fits_scan (&catalog.header, "RA1", "%lf", 1, &Rmax);48 fits_scan (&catalog.header, "DEC0", "%lf", 1, &Dmin);49 fits_scan (&catalog.header, "DEC1", "%lf", 1, &Dmax);46 gfits_scan (&catalog.header, "RA0", "%lf", 1, &Rmin); 47 gfits_scan (&catalog.header, "RA1", "%lf", 1, &Rmax); 48 gfits_scan (&catalog.header, "DEC0", "%lf", 1, &Dmin); 49 gfits_scan (&catalog.header, "DEC1", "%lf", 1, &Dmax); 50 50 while (Rmin < 0.0) { Rmin += 360.0; } 51 51 while (Rmin > 360.0) { Rmin -= 360.0; } -
trunk/Ohana/src/uniphot/src/wcatalog.c
r5014 r7080 27 27 catalog[0].Nsecfilt = 0; 28 28 } 29 fits_free_header (&catalog[0].header);29 gfits_free_header (&catalog[0].header); 30 30 unlock_catalog (catalog); 31 31 } -
trunk/Ohana/src/uniphot/src/wimages.c
r5242 r7080 23 23 exit (1); 24 24 } 25 if (! fits_fread_header (f, &header)) {25 if (!gfits_fread_header (f, &header)) { 26 26 fprintf (stderr, "ERROR: can't read header %s\n", ImageCat); 27 27 exit (1);
Note:
See TracChangeset
for help on using the changeset viewer.
