imjoin: N-dimensional image join along arbitrary axis

Package: vol

Usage

imjoin input output

Parameters

input
Input images or @file
output
Output joined image
joindim = 1
Image dimension along which the input images will be joined.
outtype = ""
Output image datatype. If not specified, defaults to highest precedence input image datatype.

Description

IMJOIN concatenates a set of input images into a single output image, in a specified dimension only. For example, it can join a set of one dimensional images into a single, long one dimensional image, or a set of one dimensional images into a single two dimensional image. IMJOIN may be used to piece together datacubes into larger datacubes, either in x, y, or z; likewise with higher dimensional images.

For joining a set of 1 or 2 dimensional images in both x and y at the same time, see IMMOSAIC. For stacking images of any dimension into an image of the next higher dimension, see IMSTACK. Although IMJOIN can also stack a set of images into a single higher dimensional image, IMSTACK is more efficient for that operation. In most cases, IMJOIN must keep all input images open at the same time, while IMSTACK does not (there may be limitations on the number of files that can be kept open at one time). Use IMJOIN primarily when joining a set of images along any dimension that is not the next higher one from that of the input images.

Examples

1.  Join a list of one dimensional spectra into a single long image.

    cl> imjoin @inlist output 1

2.  Join three datacubes along the z direction.

    cl> imjoin c1,c2,c3 fullxcube 3

Timings

Join 10 5000 column type short spectra into one 50000 column image: 6 seconds on a diskless Sun-3.

Join 2 512*512 images: 28 seconds on diskless Sun-3. Join 2 50*50*50 datacubes in x, y, or z: 15 seconds.

Bugs

There may be limitations on the number of input images that can be handled in one execution on some systems.

See also

immosaic, imstack, imslice