irmosaic: Mosaic an ordered list of images onto a grid

Package: nproto

Usage

mosaic input output database nxsub nysub

Parameters

input
The list of input images to be mosaiced. The images are assumed to be ordered either by row, column, or in a raster pattern. If the image list is not in order then the iraf files task plus the editor must be used to construct an image list. The images in the input list are assumed to all be the same size.
output
The name of the output image.
database
The name of the text file listing the operations performed by irmosaic. This list can be used as input for iralign.
nxsub
The number of subrasters along a row of the output image.
nysub
The number of subrasters along a column of the output image.
trim_section = "[*,*]"
The section of the input images to be mosaiced into the output image. Section can be used to flip and/or trim the individual subrasters before adding them to the mosaic. For example if we want to flip each subraster around the y axis before adding it to the mosaic, then trim_section = "[*,-*]".
null_input = ""
The list of unobserved subrasters. For example if the subrasters 3 to 5 and 10 of a sequence of observations were not observed then null_input = "3-5,10". This parameter follows the ranges notation convention. The number of unobserved subrasters plus the number of images must equal nxsub * nysub.
corner = "ll"
The starting position in the output image. The four options are "ll" for lower left corner, "lr" for lower right corner, "ul" for upper left corner and "ur" for upper right corner.
direction = "row"
Add subrasters to the output image in row or column order. The options are "row" for row order and "column" for column order.
raster = no
Add subrasters to the output image in a raster pattern or return to the start of a column or a row?
median_section = ""
The section of each input subraster for which the median is computed. If median_section is the null string then the medians are not computed. If median_section is "[*,*]" the whole input subraster is used to compute the median.
subtract = no
Subtract the median value from each input subraster before placing the subraster in the output image.
nimcols = INDEF
The number of columns in the output image. If nimcols is INDEF then the program will compute the number of columns using the size of the input subrasters, nxsub and nxoverlap.
nimrows = INDEF
The number of rows in the output image. If nimrows is INDEF then the program will compute the number of rows using the size of the input subrasters, nysub and nyoverlap.
nxoverlap = -1
The number of columns between adjacent frames. A negative value specifies the amount of column space between adjacent subrasters. A positive value specifies the amount of column overlap on adjacent subrasters.
nyoverlap = -1
The number of rows between adjacent frames. A negative value specifies the amount of row space between adjacent subrasters. A positive value specifies the amount of row overlap on adjacent subrasters.
oval = 0.0
The output image pixel value in regions undefined by the by the list of input images.
opixtype = "r"
The pixel type of the output image. The options are "s" (short integer), "i" (integer), "l" (long integer), "r" (real) and "d" for double precision.
verbose = yes
Print messages about task progress and actions taken.

Description

IRMOSAIC takes a the list of subrasters of identical dimensions specified by input and combines them into a single output image output. The order in which the subrasters are placed in the output image is determined by the parameters corner, direction and raster. The orientation of each individual subraster in the output image may be altered by setting the trim_section parameter.

IRMOSAIC uses the subraster size, the number of subrasters, the nxoverlap and nyoverlap parameters and the fInxsub and nysub partmeters to compute the size of the output image. An image of size larger than the minimum required can be specified by setting nimcols and nimrows. The pixel type of the output image is specified by opixtype and undefined regions of the output image are given the value oval.

The median of a section each subraster may be optionally computed and placed in the database file by setting median_section. The computed median will be subtracted from the input subrasters if subtract is set to yes. Task action messages will be printed on the standard output if verbose is set to yes.

Examples

1. Mosaic a list of 64 infrared images onto an 8 by 8 grid in column order starting in the upper right hand corner. Allow one blank column and row between each subraster.

pr> irmosaic @imlist mosaic mosaic.dat nxsub=8 nysub=8 \
    nxoverlap=-1 nyoverlap=-1 corner="ur" direct="column"

2. Mosaic a list of 62 infrared images onto an 8 by 8 grid in column order starting in the upper right hand corner. Allow one blank column and row between each subraster. Subrasters 3 and 9 in the sequence do not exist and are to be replaced in the output image with an unknown value of -1.0.

pr> irmosaic @imlist mosaic mosaic.dat nxsub=8 nysub=8 \
    nxoverlap=-1 nyoverlap=-1 corner="ur" direct="column"\
    null_input="3,9", oval=-1.0

Time requirements

Bugs

At present only integral pixel overlaps are allowed in this routine. Fine tuning of the alignments can be done with iralign.

See also

iralign, irmatch1d, irmatch2d