This can be of use when different kinds of alignment information are available between different members of a group of images. By supplying an ordered list of coordinate systems within which to align, the best alignment available can be made between different members of the group, falling back on second or third choices of alignment types where first choices are not available.
The application operates on a set of images, IN. A list of domains DOMAINS within which to align, in order of preference, is specified, and a reference image is denoted by REFPOS. On successful completion, a new coordinate frame (which becomes Current), with a domain given by OUTDOMAIN (default CCD_WCSREG) is added to each of the images in the input set. Any previously existing frames with this domain will be removed.
The new coordinate system is a copy of the pixel coordinate system of the reference image, so for the reference image there is a unit mapping between its pixel and new Current coordinates. For each other image, the program attempts to find a mapping from the reference image to it. If it and the reference image do not share frames in any of the domains given by the DOMAINS parameter, it will try to use the WCS components of intermediate images to find a path between them; this path is a subgraph of a graph in which the nodes are the images and an edge exists between two nodes if the images share a domain in the given list. The shortest available path which connects a pair is chosen, and if there is more than one which meets this criterion, one which uses domains near the head of the list is preferred.
If the USESET parameter is true, then WCSREG will take account of alignment information stored in the CCDPACK Set header; this means that the alignment implied when images were previously grouped into a Set can be guaranteed to be retained.
If the graph is not fully connected, a list of the existing subgraphs is output, and the program will normally terminate, however it can be made to continue with registration of the connected images by setting the OVERRIDE parameter.
Note that this parameter is an array of strings, so that either the whole list should be surrounded by square brackets, or each element should be surrounded by double quotes. The whole thing may need to be protected from the Unix shell by using, e.g., single quotes.
Supplying the null value (!) is equivalent to specifying the current domain of the reference image. The effect of this is to retain the alignment already given by the Current coordinates of each image, but to ensure that the pixels are aligned with the pixels of the reference image. This will result in the images being aligned in a coordinate system suitable for resampling with TRANNDF. [!]
If the application is successful, a new frame with a domain determined by the OUTDOMAIN parameter will be added to each of the IN files containing the alignment information. This frame will be made the new Current frame.
If the logging system has been initialised using CCDSETUP, then the value specified there will be used. Otherwise, the default is "CCDPACK.LOG". [CCDPACK.LOG]
The NAMELIST parameter can be used to record which images were successfully registered when OVERRIDE is true (if OVERRIDE is false, then it will be the same as IN unless the program fails). [FALSE]
If a global value for this parameter has been set using CCDSETUP then that value will be used. [FALSE]
After this process, the images can be presented to TRANNDF for resampling prior to making a mosaic.
Retaining parameter values has the advantage of allowing you to define the default behaviour of the application but does mean that additional care needs to be taken when re-using the application after a break of sometime. The intrinsic default behaviour of the application may be restored by using the RESET keyword on the command line.
Certain parameters (LOGTO, LOGFILE and USESET) have global values. These global values will always take precedence, except when an assignment is made on the command line. Global values may be set and reset using the CCDSETUP and CCDCLEAR commands.