Assembling grids beyond order
can be a daunting task.
The larger the grid, the more likely there will be weak or missing
links in the registration process. At some point, one needs to worry
about cumulative effects. Furthermore, cspmate, which uses the
output from the cspmark task is set up to operate on mosaics no
larger than 10 in X or Y. (IRAF scripts do not handle variable arrays
well and larger arrays eat up too much space on the stack.) The
techniques summaried above are well suited for minimally-overlapped
spatial grids up to
in size. What is the best way to
register larger images? The answer begins with it depends...!
You have a number of choices, since the database generated by
cspmate/cspmatch does not really care where the individual
frames are. Here are some recipes for linking datasets composed of
dithered pairs of a
grid (arranged as separate
grids arranged vertically into a
mosaic), which is
extensible to larger situations:
1) The plan ahead option. Include a key piece of an adjacent frame
inside a
grid (make a
with the additional
pieces in the top row - remember that some of the entries to
cspmosaic can be ``null''. Then use cspmatch followed
by cspmerge to handle the overlapped piece and bring them all
to the same universe. You can still do this by creating a new mosaic
with the same number of frames in the X direction as your original.
Then you can reuse your cspmark output and run cspmate
again with nx_sub and ny_sub set to 3. Then you run
cspmatch on the additonal piece to get the link to the next
grid and use cspmerge to put it all together.
2) Use the option in cspmatch which allows the matched frames
to be in separate cspmosaic mosaics. Match frame pairs for each
mosaic that way and use cspmerge to put it together.
3) Make a cspmosaic mosaic of cspmakeit combined
mosaics. Here you need to get crafty, since cspmosaic only
accepts pieces of the same size. You can use mkpattern in the
noao.artdata package to make an image big enough to fit any of
the pieces and then imcopy each cspmakeit frame to the
larger template. You should use imreplace to set all the bad
and border pixels to that large negative number the setpix
option uses (e.g., -1.0E+08; they have been set to blank by
cspmakeit). Then use cspmosaic to make the new mosaic
and cspmark/cspmate or cspmatch to link them. Do not
use the setpix option (you took care of that when you did
cspmakeit before; now you do not have a proper mask image) or
the tran options (you have already done that during
cspmakeit) along the way in cspmatch, cspmate, or
cspmakeit.
There is no clear best way to go. Options 1 & 2 rely on a single
overlapping frame for the link, while option 3 allows you to use
several. However, if the
grids are not put together well
(because of weak or missing links), option 3 might lead to
contradictions at the edges.