pltsol -- Calculate the plate solution for a set of positions.
pltsol iminfo image table
The plate solution program attempts to either fit a set of points (X, Y, and RA) and (X, Y, and DEC) as minimum sets or the points (X, Y, MAG, COLOR, and RA) and (X, Y, MAG, COLOR, and DEC) as full sets, with a model F(X, Y, MAG, COLOR) described below.
The final coefficients can be written to the input image header (if given) or to an ASCII file, with the graphic colon cursor command :wcoeff <file>.
The fit routine is based on the Single Value Decomposition method (as used in the svdfit task), but is modified to handle double precision. (For more information about this fit method, see the book "Numerical Recipes", by Press et al.)
The set of positions (X,Y) represent pixel offsets from the lower left corner of the image, which is defined as position (1,1). Before performing the fit, pixel values are converted to millimeters with respect to the given reference point (CRPIX1,CRPIX2) and the pixel size in microns. Equatorial coordinates (i.e., RA and DEC) are converted to standard coordinates (i.e., XI and ETA) in arcseconds, given the equatorial coordinates for the reference point (CRVAL1,CRVAL2); following the ST Guide Star Catalog System conventions.
After the first fit, a graph of the residuals (XI_RES,ETA_RES) is plotted on STDGRAPH; other residuals plots can be specified by pressing the h key for (X,XI_RES) in units of (millimeters,arcseconds); i for (X,ETA_RES), j for (Y,XI_RES), k for (Y,ETA_RES) and l for (XI_RES,ETA_RES) in units of (arcseconds,arcseconds).
The following list describes available keystroke commands:
Key Function --- -------- ':' Colon commands. (See section below for details.) '?' Help for the different keystroke. '/' Quick one word loop for the different keys. 'c' Print the values XI, XI_FIT, ETA and ETA_FIT. for the nearest point from the crosshair. 'd' Delete the nearest point from the crosshair to allow a new fit without the point. 'f' Redo the fit, plotting the new values of (XI_RES,ETA_RES). 'u' Undelete a previously-deleted point. 'r' Redraw the graph. 'v' Plot (X,XI_RES), (X,ETA_RES), (Y,XI_RES) and (Y,ETA_RES) in one window. COLON COMMANDS -------------- Colon commands begin with the ":" keystroke and accept arguments. The following commands are available: Command Function ------- -------- :model [Nt Value] Print the plate model setting for the fit. If neither the term number ('Nt') nor the value ('Value') is given, the entire model is printed. If 'Nt' is given, the value for that term is printed. To change the setting for a term give both values 'Nt' and 'Value' ('1' to be in the fit and '0' no play). :error [file] Print fit statistics. If a value is passed to 'file', then fit statistics are directed to the file rather than to the screen. :vshow [file] Display details about the last fit. If a value is passed to 'file', then the verbose information is written to a file rather than the screen. :cds [file] Show the coefficient values in units of degrees per pixel. If 'file' is an image name the WCS information (i.e. CRPIX(1,2), CRVAL(1,2) and CD's) values will be written into the header. Any existent values will be overwritten. If the parameter 'iminfo' is yes, the WCS info will be written into the header of the image name specified in the 'image' parameter, regardless what string value is 'file'. If this is your case, 'file' needs to be any string value. :wcoeff [file] Write the coefficients of the last fit to the image header (if any), using the keywords: 'NAMDX1', 'NAMDX2',...,'NAMDY1', 'NAMDY2', etc. These values will be in units of arcseconds per millimeter. One value will be written for each term chosen from the model. If a file name is specified, then coefficients will be appended to it in ASCII form.This program was designed primarily to adjust a plate solution to a subset of a scanned plate from the ST Scanned Plate data base. A data base frame consists of about 14,000 x 14,000 pixels and a header containing position, scan, and plate solution information.
Keywords like CRPIX1, CD11, CTYPE1, EQUINOX are created with the subset and are required by the pltsol task. The pixel size is read from the keyword XPIXELSZ.
If your image header does not have these keywords, then you should set iminfo=no and enter the required parameters in the parameter file.
The only way to get fit coefficients is by using the colon cursor command :wcoeff. This task does not write the coefficients once you quit the program, unless the command :wcoeff <file> is issued.
Column Contents ------ -------- 1 X pixel coordinate. 2 Y pixel coordinate. 3 RA coordinate, in degrees. 4 DEC coordinate, in degrees. 5 Magnitude. 6 Color.The ASCII table is more flexible regarding column positions, and it should contain at least four columns (X, Y, RA, and DEC). The RA coordinate can be in units of either degrees or hours; units are specified in the racolumn parameter. This table CANNOT exceed 162 character per row, and columns should be separated by at least one blank. The ASCII table column position is set by the parameters below. The parameter nskip allows table header rows to be skipped before reading the object positions.
The following table defines the flags, giving terms to form a complete plate solution. By default, only the first 3 terms are included; additional terms can be included using the graphic cursor or by editing the parameter file. The terms given are for the X direction; Y terms are obtained by switching X and Y.
Parameter Term ------- ---- pmod1 X pmod2 Y pmod3 1 (constant term) pmod4 X**2 pmod5 X*Y pmod6 Y**2 pmod7 X**2 + Y**2 pmod8 X**3 pmod9 X*X*Y pmod10 X*Y*Y pmod11 X**3 pmod12 X*(X**2 + Y**2) pmod13 X*(X**2 + Y**2)**2 pmod14 MAG pmod15 MAG**2 pmod16 MAG**3 pmod17 MAG*X pmod18 MAG*(X**2 + Y**2) pmod19 MAG*X*(X**2 + Y**2) pmod20 COLOR
1) We want to get the solution coefficients from a given set of known position i.e. (x,y) and (ra,dec). These position are in an ascii text file with name sample.txt, whose content is:
X Y J&W (RA deg)1950 1950(DEC deg) 114.39 45.70 678 5:32:53.809 -5:26:50.33 120.84 156.88 669 5:32:53.549 -5:25:42.00 130.45 359.45 660 5:32:53.175 -5:23:37.43 144.82 376.97 637 5:32:52.586 -5:23:26.81 169.60 466.24 608 5:32:51.577 -5:22:32.03 180.99 474.32 595 5:32:51.105 -5:22:27.05 215.57 380.13 544 5:32:49.672 -5:23:25.09 221.23 357.92 531 5:32:49.440 -5:23:38.71 187.03 273.24 589 5:32:50.837 -5:24:30.64 197.12 259.96 567 5:32:50.419 -5:24:38.71 285.32 97.87 437 5:32:46.794 -5:26:18.06 301.40 96.06 417 5:32:46.129 -5:26:19.14 306.08 170.09 409 5:32:45.941 -5:25:33.64 326.66 163.73 385 5:32:45.101 -5:25:37.58 334.35 157.20 378 5:32:44.789 -5:25:41.69 If you do 'epar pltsol', the value of the require parameters are: iminfo = no Is there an input image infile = "" Input image tinput = "sample.txt" Input table nskip = 1 Number of lines to skip xcolnum = 1 X column number ycolnum = 2 Y column number racolnum = 4 RA (deg) column number decolnum = 5 DEC column number magcolnum = 0 MAG column number colcolnum = 0 COL column number crpix1 = 180.99 X reference pixel position crpix2 = 474.32 Y reference pixel position crval1 = 5:32:51.105 RA of reference position [degrees] crval2 = -5:22:27.05 DEC of reference position [degrees] xpixelsz = 25. Pixel size in X (microns) ypixelsz = 25. Pixel size in Y (microns) pltscale = 14. Plate scale in arcs/mm N.B. If you had RA in HH:MM:SS.ddd the 'racolnum' would be -4.