Copy a series of image bands
#include <vistaio.h> VistaIOImage VistaIOCombineBands (nels, src_images, src_bands, dest) int nels; VistaIOImage src_images[], dest; VistaIOBand src_bands[];
VistaIOImage VistaIOCombineBandsVa (dest, src_image1, src_band1, ..., NULL)
VistaIOImage dest, src_image1; VistaIOBand src_band1;
Specifies the number of elements in the src_images and src_bands arrays.
Specifies an array of images containing the bands to be copied (i.e., the source images).
Specifies an array identifying the bands to be copied. Each element may specify a particular band of the corresponding source image, or it may be the constant VistaIOAllBands to indicate that all bands of the corresponding source image should be copied.
May specify an image to copy to (i.e., the destination image), or may be NULL to indicate that a new destination image should be created.
Specifies the first image containing a band or bands to be copied (i.e., the first source image).
May specify a particular band of src_image1 to be copied, or it may be the constant VistaIOAllBands to indicate that all bands of src_image1 should be copied.
VistaIOCombineBands copies bands of pixel values from various source images to a destination image. The source images are listed in the array src_images, and the band(s) to be copied from each is listed in the array src_bands. Both arrays must have nels elements. A src_bands element may be VistaIOAllBands, indicating that all bands of the corresponding source image are to be copied, or it may be a particular band number, indicating that only that band of the corresponding source image is to be copied.
VistaIOCombineBandsVa is similar except that the source images and band numbers are specified by a variable-length argument list. The argument list contains one or more pairs of the form src_image1, src_band1, and it is terminated by the value NULL.
All source images must have have the same pixel representation, number of rows, and number of columns.
If dest is NULL,adestinationimageiscreatedwiththe same pixel representation, number of rows, and number of columns as the source images. The image is created with a number of bands equal to the total number of bands to be copied.
Otherwise dest specifies an image to which pixel values are to be copied. It must have the same pixel representation, number of rows, and number of columns as the source image, and it must have a number of bands equal to the total number bands to be copied.
Source image bands, taken in the sequence specified, are copied to consecutive destination image bands.
Both routines return the destination image if they are successful and NULL otherwise.
VistaIOCopyBand(3), VistaIOCopyImage(3), VistaIOImage(3),
No attributes are copied from any source images to the destination image.
Band band is to be copied from a source image having nbands bands. However band is outside of the range [0, nbands - 1].
A destination image was specified but it has the wrong number of bands.
Property is one of ``pixels'', ``rows'', or ``columns''. A destination image was specified but it does not have the same pixel representation, number of rows, and number of columns as the source images.
Art Pope <[email protected]>
Adaption to vistaio: Gert Wollny <[email protected]>