Provided by: fitsh_0.9.2-1_amd64 bug

NAME

       grtrans - transforming coordinate lists or fitting such transformations

SYNOPSIS

       grtransh [options] <input> [-o <output>]

DESCRIPTION

       The  main  purpose  of  the program `grtrans` is to transform coordinate lists and fit transfomrations to
       input data. The transformation can be one of the following  methods.  1.  Evaluate  polynomial  functions
       (with  arbitrary  order)of two independent values. 2. Two dimensional spherical projection (converting to
       RA/DEC or longitude/latitude values to projected coordinates on a given tangent plane. 3. Two dimensional
       spherical de-projection (converting tangent planar coordinates to RA/DEC or  longitude/latitude  values).
       4. Compose arbitrary polynomial functions of two independent values with arbitrary two-dimensional affine
       (or  linear)  transformations.  The   program   also  can  be  used  to  fit  functions,  namely  fit the
       coefficients of arbitrary-order polynomial functions of two independent  values  or  fit  WCS  distortion
       parameters.

OPTIONS

   General administrative options:
       -h, --help
              Give general summary about the command line options.

       --long-help, --help-long
              Gives a detailed list of command line options.

       --wiki-help, --help-wiki, --mediawiki-help, --help-mediawiki
              Gives a detailed list of command line options in Mediawiki format.

       --version, --version-short, --short-version
              Give some version information about the program.

       -C, --comment
              Comment the output.

   Options for input/output specification:
       <inputfile>, -i <inputile>, --input <inputfile>
              Name  of the input file. If this switch is omitted, the input  is read from stdin (specifying some
              input is mandatory).

       -o <output>, --output <output>, --output-matched <output>
              Name  of the output file, if the program was used for transforming coordinate lists.

       -T, --input-transformation <output-transformation-file>
              Name of the  input  transformation  file  (see  also  the  notes below).

       --output-transformation <output-transformation-file>
              Name of the output file containing the fitted geometrical transformation, in human-readable format
              (see also the notes below).

       In  all  of the above input/output file specifications, the replacement of the file name by "-" (a single
       minus sign) forces the  reading  from stdin  or  writing to stdout. Note that all parts of the  any  line
       after  "#" (hashmark) are treated as a comment, therefore ignored.  Note that there is no explicit switch
       for   distinguishing   between   the  fitting   and   the  evaluating  purposes  of   the   program.   If
       --input-transformation  has  been  specified,  the  program  implies that the  user  wants to  evaluate a
       function described by this existing transformation file. On the other  hand,  if  --output-transformation
       has  been   specified,   the  program   fits   the   parameters   of the function and stores the resulted
       transformation file as it specified by the argument of this option.  In other  words,  if   no   WCS   or
       spherical  (de)projection  declared by the directives of --wcs, one of these two switches should be given
       in  the command line.

   General options for fitting polynomial coefficients:
       --col-xy <x>,<y>
              Column indices for the independent values. In the current implementation,  grtrans  can  only  fit
              polynomial  functions  of  exactly  2   independent   variables.  Lines where these columns do not
              contain valid real numbers are excluded.

       --col-fit <>[,<>[,<>]...]
              Column indices for the dependent values. In the  current  implementation,  grtrans  can only fit 2
              dimensional polynomial functions to arbitrary dimensional data. The dimension of the  fitted  data
              is  specified  indirectly, by the number of column indices specified after this switch.

       -a <order>, --order <order>
              Order of the fitted polynomial function. It can be any positive integer.

       -n <N>, --iterations <N>; -r <S>, --rejection-level <S>
              These   switches  specify  the  total  number  of  rejection  iterations of outlyer points and the
              rejection level  in  sigma  units.  By default,  no rejection  is  applied,  therefore  all  valid
              lines are used.

       --col-weight <w>
              Column  index  for  optional  weights.   If   specified,   this   column  should  contain  a valid
              non-negative real number which is used as a weight during the least-squares fit.

       --weight [magnitude],[power=<P>]
              These directives specify the weights which are  used   during   the  fit   of   the  functions  or
              transformations.  For  example,  in  practice it is useful in the following situation. We  try  to
              match star  lists,  then the fainter stars are  believed  to  have  higher  astrometrical  errors,
              therefore they should have smaller  influence  in  the  fit.  We can take the weights from a given
              colum,  specified  by the index  after  --col-weight  (see  above).   The weights  can  be derived
              from stellar magnitudes, if so, specify "magnitude" to convert the read  values  in  magnitude  to
              flux.  The  real   weights  then  is  the  "power"th  power  of the flux. The default value of the
              "power" is 1,   however,   for   the   maximum-likelihood   estimation   of  an  assumed  Gaussian
              distribution, the weights should be the second power of the fluxes.

       -ot, --output-transformation <output-transformation-file>
              Name of the output transformation file containing the result of the fit (see above).

   General options for transformation or function evaluation:
       --input-transformation <input-transformation-file>
              Name  of  the  input  transformation file containing the desired transformation (see above).

       --reverse, --inverse
              Perform  inverse  transformation.  This  is a valid option  only  if the  dimension  of the fitted
              function is the same as the dimension of the independent variables (namely,  2,  because  in   the
              actual implementation the latter can only be 2).

       --col-xy <x>,<y>
              Column  indices  for the independent values. In the current implementation, `grtrans` can only fit
              polynomial functions of exactly 2 independent  variables. Lines where these columns do not contain
              valid real numbers are excluded.

       --col-out <>[,<>[,<>]...]
              Column indices for the evaluated output variables. The number of indices listed here should be the
              same as the number of independent functions stored in the input transformation file.

   General options for transformation composition:
       --input-transformation <input-transformation-file>
              Name of the input transformation file.

       --scale <s>
              Scale factor.

       --offset <dx>,<dy>
              Shift. The affine transformation with which the input transformation is composed is going  to  be:
              x'=dx+s*x, y'=dy+s*y.

       --output-transformation <output-transformation-file>
              Name  of the output transformation file containing the result of the composition.

   Options for spherical projection and deprojection:
       --wcs [sin|arc|tan],ra=<R>,dec=<D>,[degrees|radians|scale=<S>
              This  set  of  directives  specify   the   common   parameters   of  the spherical  projection  or
              deprojection.  The  "sin",  "arc" and "tan" directives set the type of projection to orthographic,
              arc  and gnomonic,  respectively.  The values after "ra" and  "dec"  (<R>  and  <D>)  specify  the
              center  of  the   projection   (right   ascension  and declination, respectively, in degrees). The
              "degrees", "radians" or the "scale=<S>" directives  specify  the  scaling  of   the   output.  The
              directive  "degrees"  is  equivalent to set "scale=57.29577951308232087721" (180  over \Pi),  this
              is  the default. The directive "radians" is equivalent to set "scale=1".

       --col-radec <r>,<d>
              Column indices for RA and DEC values. This option implies projection.

       --col-pixel <x>,<y>
              Column indices for X and Y projected values. This option implies deprojection.

       --col-out <>,<>
              Column indices for the output  values  (which  are  X  and  Y  for  projection  and  RA,  DEC  for
              deprojection).

   Options for fitting WCS information:
       --wcs [sin|arc|tan],ra=<R>,dec=<D>,order=<order>
              This  set  of  directives  specify  the  common  parameters of WCS fitting.  The projection can be
              orthographic, arc or gnomonic (however,  there  are  dosens of projections implemented in the FITS
              WCS system, but for practical purposes, such projections seem  to  be   more  than  enough).   The
              center  of  the  fit  is  set by "ra" and "dec" (RA and DEC, in degrees). The distortion order  is
              specified by  order.  Note  that  the RA and DEC values specified here  can  only  be  an  assumed
              values.

       --col-ref <>,<>
              Column indices for the Ra and Dec values.

       --col-fit <>,<>
              Column indices for the pixel values.

       Note  that  in  this  case, the set of the appropriate  FITS  keyword=value pairs  are  written  directly
       stdout, not in the file specified by the options --output or --output-transformation.

EXAMPLES

       Here is an example for a complete astrometry problem  which  demonstrates  the   proper   usage   of  the
       programs  grmatch  and  grtrans.   Let  us  assume  that  we  have  1/  a reference star catalogue, named
       "catalog.dat", a file with four columns: the first is the identifier of the star, the  second  and  third
       are  the  celestial coordinates (RA and DEC, in  degrees), and the last is the magnitude of the stars; 2/
       an  astronomical  image,  named  "img.fits"  (not  crucial for the astrometry itself, it is required only
       by the  demonstration  of the export of FITS WCS  headers);  and  3/  a  list  of  decected  stars  (from
       "img.fits"), named "img.star", a file with three columns: the first two are the pixel coordinates and the
       third is an estimation of the flux (in ADUs, not in magnitudes).

       Let  us  also denote the celestial coordinates of the center of the image by  R  and  D,  the  RA and DEC
       values, in degrees and, for example let R=220 and D=25, a field in the  Bootes.   Let  us   also   assume
       that   the size  of our field (both the catalog and the list of the deceted stars) is 3 degrees and there
       are approximately 4000-4000 stars  both  in  the reference  catalog  and  in  the list  of  the  detected
       stars.  Because  we  have  such  a  large  amount  of  stars,  one  can  use only a fraction of  them for
       triangulation.

       The  first  step  is to make a projection from the sky, centered around the center of our image:

              grtrans --input catalog.dat --wcs tan,degrees,ra=220,dec=25 --col-radec 2,3 --col-out 5,6 --output
              img.proj

       The second step is the point matching:

              grmatch --reference img.proj --col-ref 5,6 --col-ref-ordering -4 --input  img.star  --col-inp  1,2
              --col-inp-ordering         +3        --match-points        --order        4        --triangulation
              auto,unitarity=0.01,maxnumber=1000,conformable         --max-distance          1          --weight
              reference,column=4,magnitude,power=2 --comment --output-transformation img.trans

       This grmach invocation matches the stars from projected reference catalog, "img.proj " and  the  detected
       stars.  The  "--order  4"  specifies  a  fourth-order polynomial fit, which is, in practice, good  for  a
       field with  the  size  of  3 degrees. The directives after "--weight" makes the magnitudes taken from the
       reference file to be used   as   a   weight   for  fitting.   This   invocation   yields  one  new  file,
       "img.trans"  which  stores  the  fitted  4th-order  polynomial   transformation   which   transforms  the
       projected coordinates to the system of the image.

       The  next step is the astrometrical transformation, we create a "local" catalog, which  is  the  original
       catalog extended with the proper X and Y plate coordinates:

              grtrans  --input  img.proj  --col-xy  5,6  --input-transformation img.trans --col-out 7,8 --output
              img.cat

       This  invocation yields an other new file, "img.cat" which has 8 columns. The first six columns  are  the
       same  as  it  was in "img.proj" (identifier, RA, DEC, magnitude and projected X, Y coordinates), the last
       two colums are the fitted plate coordinates. Then, the proper WCS headers   can   be  determined  by  the
       following call:

              grtrans --input img.cat --col-ref 2,3 --col-fit 7,8 --wcs tan,order=4,ra=220,dec=25 >img.wcs

       The  newly  created  file,  img.wcs  contains  the FITS "keyword"="value" pairs, which can be exported to
       "img.fits" to have a standard header extended by the  WCS   information.   For   exporting,  the  program
       fiheader(1) can be used:

              fiheader img.fits --rewrite --update "$(cat img.wcs)"

       Note that the last two grtrans  calls  can be replaced by a single pipeline, when the file img.cat is not
       created:

              grtrans  --input img.proj --col-xy 5,6 --input-transformation img.trans --col-out 7,8 --output - |
              grtrans --input - --col-ref 2,3 --col-fit 7,8 --wcs tan,order=4,ra=220,dec=25 >img.wcs

REPORTING BUGS

       Report bugs to <apal@szofi.net>, see also http://fitsh.net/.

COPYRIGHT

       Copyright © 1996, 2002, 2004-2008, 2010-2015; Pal, Andras <apal@szofi.net>

grtrans 1.0 (0.9.2@2016.09.23)                   September 2016                                       GRTRANS(1)