Go to AJP home page for latest ASCFIT version
This is ASCfit package, reference: Joergensen, Riis, Betto & Pickles, 2002, ASPC, 281, 2071
obtainable from Andrew Pickles, apickles at lcogt.net, Las Cumbres Observatory Global Telescope
Usage: ascfit FITSfile [-options]
included subdirectory "test1" contains a number of single image test examples, with TESTDRIVE_notes showing example fits
Additional (large) download
contains more fitted examples of Hale telescope LFC mosaic, and WIRC dither images.
____________________________________ | FITS file | |at telescope RA/DEC and Equinox, | |at DATE-OBS for EPOCH for PM | |corrections to NOMAD star coords | |[and with SECPIX/PIXSCAL info] | ------------------------------------- | | v v ______________ ____________________________ |sextractor-> | |findnomad1 -> findnomad1.dat| |asc_sextr.cat | |format_nomad -> asc_ref.cat | --------------- ----------------------------- | | v v _______________________ | starfit -> WCS | |addhead -> FITS header| -----------------------
CHANGES from version 3.4 ------------------------ changed the default linuxpc compile to gcc -m32 -W fixed sort_arr overflow in gen_triang(). verify compilation on CentOS & Ubuntu 64 bit architectures CHANGES from version 3.3 ------------------------ * ascfit modified to handle colons or spaces in RA/DEC FITS coordinates better * starfit modified to handle wide-field images better (tolerance scaled to pixel size, rather than fixed in arcsec) CHANGES from version 3.0 ------------------------ o increased string length SMAX=200 in str_key7.h for long addhead issues o fixed "||" error in asc_math o fixed xycoord to read UTSTART/UT and space separated sexagesimals o fix ascfit3.1 to also cope with space separated RA/DEC sexagesimals o ascfit3.2 has improvements to asc_math (min/max), fhrd (output) starfit (silent) and xycoord (output) o fitstats (new script) lists user-selected FITS headers - can be useful for perusing large directories o u_long changed to unsigned long in fitsio.c CHANGES from version 2.4/2.5 ---------------------------- 2007: findnomad1 from cdsclient.tar provides fast web-access to NOMAD catalog - avoids any need for local star (USNO) catalogs. Main fitting routine re-renamed starfit, several passed reference bugs fixed, and code cleaned to work with gcc-4.0 CHANGES from version 2.3 ------------------------ 2005/06: getusnobn.py "silent" switch: default is verbose operation, if used with -s or --silent (no arg) it will run silently. for NOMAD the default is to screen/sort on K-mag instead of R-mag. ubcone/wr_starcat.c: stdout option for easier "rsh" operation. starfit_ub: fixed bug with passed header lengths (bt). CHANGES from version 2.2 ------------------------ 2005/01: added Python script to access USNO/NOMAD on the web getusnobn.py written by Derek Fox (email@example.com) fix some input & array boundary problems in starfit_ub_lib.c CHANGES from version 2.1 ------------------------ 2004/12: starfit: changed names from USNO -> ASTREF and from CCD -> IMAGE improved error messages (for defocus, infrared etc.) added read_d_file in starfit_lib to skip #comment-lines and read columns selected for USNO-B or NOMAD/ir star catalog files ascfit: added flags to select NOMAD RA/DEC/JKMAG columns removed obsolete references to pikala and msqbin etc. CHANGES from version 2.0 ------------------------ 2004/3: dropped USNO-A and 2MASS catalogs, switch to USNO-B with ubcone, and starfit_ub. 2004/10: attempted URL access to USNO-B (local disk copy not necessary) CHANGES from version 1.3 ------------------------ 2002/8: fixed problems finding some stars added ty2rd to include TYCHO2 catalog CHANGES from version 1.1 ------------------------ 2002: upgraded csquare, crect, msqbin to cross DEC boundaries better CHANGES from version 1.0 (which used USNO-A/crect and 2MASS/msqbin) ------------------------ 2001-sep: changed 2mass_2bin to compress err_angle information better, and include Rmag, blend_flag and id_opt in compressed 2MASS binary files with 24 instead of 22 bytes/star. Changed msqbin to use HTONL to determine byte-order (BIGendian or not) like csquare/crect - and read the compressed files on Sparc or Intel CPUs. DESCRIPTION ----------- ascfit (Automatic Stellar Coordinate fitting) comprises a GNU bash script "ascfit" which calls a collection of C programs, all of which can be run individually. For each FITS image, i) ascfit uses "sextractor" to identify an image list of star X-Y centroids in "asc_sextr.cat" ii) it uses "findnomad1" to extract a corresponding list of astrometric reference star RA-Dec coordinates from the NOMAD catalogs in a square around the base telescope coordinates, in "asc_ref.cat" iii) it uses "starfit" to compare image and reference stars and match triangles, identifying a minimum number of corresponding stars, and iv) calculates a linear fit in terms of scale and orientation. Then ascfit uses "addhead" to write the WCS information to the FITS header, typically to an accuracy of 0.2-0.3 arcsec/pixel. (It does not fit edge distortion which may be caused by telescope or camera optics). It can be used for optical or infrared images, and trailed stellar images if the telescope was tracking at a non-sidereal rate. In the latter case, the WCS corresponds to the mid-exposure time. Usage:
adds WCS coordinates to single or multiple fits files depending on whether is complete, or the root of multiple files. Type "ascfit" with no arguments for usage and list of options. The core program "starfit" matches stars (triangle fitting) between 2 lists: "asc_sextr.cat" => asc_imgcat... are generated by "sextractor" searching for & centroiding stars in the FITS image, and "asc_ref.cat" => asc_refcat... are generated by "findnomad1" extracting a list of stars from the USNO NOMAD catalog in an area corresponding to the telescope pointing. Most computational time is spent in sextractor; starfit should work with image catalogs produced by other means if given in the right format. Flags are provided to enable starfit to read the relevant columns from then the astrometric reference catalogs. PROGRAMS NEEDED ------------------------------- Source extractor can be downloaded separately from the web at http://terapix.iap.fr/sextractor/ The NOMAD catalogs can be accessed over the web using the CDSclient script findnomad1, obtainable from http://vizier.u-strasbg.fr/doc/cdsclient.html LIST of PROGRAMS (and usage messages - if run with no arguments): (or access man pages at man -M ~$HOME/ascfit_3.0/man ) ----------------- addhead program to add or modify FITS headers Usage: 'addhead fits_file header_key value comment' (comment optional) or 'addhead fitsfile -f file' -'file' containing lines in format: key value comment in file the comment is NOT optional addhead is used to modify the input fits_file(s) headers to add the WCS information. ---------------- asc_math mathematical operations used in the ascfit script to handle floats, sexagesimals, etc. asc_math is used in ascfit to perform simple operations on FITS coords and variables. Usage: asc_math arg1 opr arg2 or asc_math arg1 opr opr = +, -, x, /, cos, sin, tan, dms2deg, deg2dms dmsadd, dmssub, hmsadd, hmssub eg asc_math 50.1 + 10.4 -> 60.500000 asc_math 12:24:12.1 hmsadd 0:1:13.3 -> +12:25:25.40 --------------- ascfit bash script to derive an astrometric and a coordinate list, combine them with triangle fitting (starfit) to derive a WCS, and attach the WCS to the FITS fileheader Usage: ascfit fits_file [-sw [value]] -version report ascfit version -s save updated fitsfile as a_fits_file -f out_file save updated fitsfile as out_file -showoff show the coordinate offsets from the nominal (header) position -verbose # turn verbose on: #=1 general, 2 coords, 3 sextractor, 4 starfit -wide # set field width (RA & DEC) in degrees (default from header) -perr # pointing error in arcsec - has effect of increasing wide -roff # user specified RAoffset in arcsec -doff # user specified DECoffset in arcsec -mra # user specified RAoffset in arcsec of mosaic chip 1 -mdec # user specified DECoffset in arcsec of mosaic chip 1 -racol # set RAcol in ASTREF (asc_ref.cat) file (NOMAD, def=2) -deccol # set DECcol in ASTREF (asc_ref.cat) file (NOMAD, def=3) -optcol # optical mag column in ASTREF file (NOMAD: B=10 V=11 R=12=def) -ircol # infrared mag column in ASTREF file (NOMAD: J=13 H=14 K=15=def) -------------- fhrd read FITS header items from FITS files Usage: fhrd fits_file KEY1 KEY2 ... eg: fhrd ccd.001 RA DEC EPOCH blaaa -> 13:47:10.41 06:29:15.76 2000.000 0.000000 fhrd is used in ascfit to read relevant (and optional) fits header values ---------------- starfit renamed and several parameter passing issues fixed. should compile on macos (ppc & gcc-4 intel, & linux) starfit Program for finding the astrometric fit between a FITS image and a catalog. Most options can be passed in by ascfit. usage: starfit -sw1 [value] -sw2 [value]... ( [value] only if a numeric argument is required) -d : default options (must be used if no other options) -plot : write data to files to be used in SM plots (default off) -report : writes output to screen (defaulf off) -final : writes only final output (default off) -mag : writes also the final magnitude fit (default off) -car : writes Plate Caree WCS fit -tan : writes Plate Tamgent WCS fit (default - works better with ds9) -epoch # epoch of obsn. (def 2000.0) for PM corrections to NOMAD coords. -nstar # no. of brightest image stars to be matched (default 20) -refstar # no. of brightest catalog ref stars to be matched (default 20) -estar # no. of brightest (satd.) image stars to be excluded (default 0) -edge # no. of pixels to be cut around edge of image (default 30) -scale # scale given in arc sec/pixel (default 0.3) -tolerance # scale variance as LN[actual/assumed] (default 0.15) -color # color term in MAG=IRmag+color*(Optmag-IRmag) -xpix # no. of pixels in X direction (default 2100) -ypix # no. of pixels in Y direction (default 2068) -box 5# Xmin Xmax Ymin Ymax 0/1 for exclude/include only box -diffuse # 0.0 accepts all, 1.0 only stars (default is 0.03) -debug # debug level 1-5 starfit is an implementation of "A Pattern-Matching Algorithm for Two-Dimensional Coordinate Lists" by E.J. Groth, Astronomical J. 91, 1244, 1986, and provided by the Space Instrumentation Group of the Danish Technical Univerity (DTU). It is used by ascfit to match the image and reference star lists, look for matching triples, and derive a linear coordinate fit. It could be tweaked to correlate similar lists derived by other means. ---------------- xycoord reads coordinates of pixel in processed image. key RA/HMS or DEC/DMS returns single values for use in scripts. Usage: xycoord fits_file X Y [key] eg: xycoord ccd.001 1024 1024.5 RA=227.065567 J2000 DEC= -14.887243 at X,Y= 1024.0,1024.5 in 01K5_LINEA RA=15:08:15.74 DEC=-14:53:14.1 at mid-UT +07:13:43.84 xycoord can be used to determine the coordinates of any pixel in a WCS appended fits file ---------------- MAKING programs --------------- All source files are in the subdirectory src. Before making the programs, choose paths for the parameter/config files (ascfit.sex, ascfit.par, default.nnw, gauss_2.0_3x3.conv), edit them into the file ascfit.sex, and copy the files: default is /usr/local/lib Sextractor executable "sex" must be in your path - default /usr/local/bin ascfit: line 342: SEX_FILE="/usr/local/lib/ascfit.sex" change to full path to the ascfit.sex parameter file, from the sextractor distribution. ascfit.sex: line 4: PARAMETERS_NAME must be full path to ascfit.par (default /usr/local/lib/ascfit.par) line 12: FILTER_NAME must be full path to gauss_2.0_3x3.conv (default /usr/local/lib/gauss_2.0_3x3.conv #was gauss_5.0_9x9.conv ) line 28: STARNNW_NAME must be full path to default.nnw (default /usr/local/lib/default.nnw) When all this is in place cd to ascfit3.0 and type "make". This will list the available machine structures. Type "make MACHINE= " to make the programs, then "make install" to put them in the default area /usr/local/bin ASCFIT details -------------- The "ascfit" script uses the GNU bash shell. To force a bash shell the first line in the script must contain the path the the bash executable (e.g. #!/bin/bash or #!/usr/local/bin/bash). If you don't have bash, you can get it from the GNU pages at: http://www.gnu.org/home.html or http://www.gnu.org/software/software.html or, more precisely at http://www.gnu.org/software/bash/bash.html or re-write the script in some other shell. ascfit writes (and overwrites) several files into the working area: asc_param.dat a list of the WCS headers written to the last file processed. asc_ref.cat a list of stars extracted from the catalog (USNO or 2MASS). asc_sextr.cat a list of stars produced by s_extractor. starfit operates on the last 2 catalog files. If the plot flag is turned on ("ascfit -plot") a larger list of files will be generated, all in column format, which can be plotted with your favorite plot package. A set of SM macros is provided in case you use sm. [SM is obtainable from http://www.astro.princeton.edu/~rhl/sm/] Plot analysis is generally not necessary for a working system, but can be useful for tracking down problems during setup, or with data from a new instrument. asc_imgcat.dat all stars extracted by sextractor from the image asc_refcat.dat all stars found in the USNO or NOMAD reference catalog asc_imgcat_bright.dat selected brightest image stars asc_refcat_bright.dat selected brightest reference stars asc_match1.dat matched pairs from first match asc_match2.dat matched pairs from 2nd match asc_match.dat matched pairs from final match asc_param1.dat parameters from first match asc_param2.dat parameters from 2nd match ascfit.sm macro plotting files for SM run sm, "macro read ascfit.sm", type "plot_match 1" S-Extractor: ------------ The AScfit package also requires the SExtractor tool by E. Bertin. The "sex" excecutable for SEextractor must be placed in some directory contained in your path. For details on how to obtain SExtractor see http://terapix.iap.fr/sextractor/. More documentation can be found in directory doc. Man-pages should be moved to a suitable location (/usr/local/man/man1) or accessed with "man -M ~$HOME/ascfit_3.0/man "
Bjarne Thomsen, Dept. Physics at Aarhus University for
help correcting several bugs.