Image band interpretation
#include <vistaio.h> VistaIOBandInterp VistaIOImageFrameInterp (VistaIOImage image) VistaIOBandInterp VistaIOImageViewpointInterp (VistaIOImage image) VistaIOBandInterp VistaIOImageColorInterp (VistaIOImage image) VistaIOBandInterp VistaIOImageComponentInterp (VistaIOImage image) typedef enum { VistaIOBandInterpNone, /* no interpretation */ VistaIOBandInterpOther, /* unknown interpretation */ VistaIOBandInterpStereoPair, /* describing camera viewpoints */ VistaIOBandInterpRGB, /* describing color channels */ VistaIOBandInterpComplex, /* describing vector components */ VistaIOBandInterpGradient, VistaIOBandInterpIntensity, VistaIOBandInterpOrientation } VistaIOBandInterp;
Specifies an image for which band interpretation information is sought.
These four routines return information about how an image's bands are to be interpreted. Each reports on one of four band interpretation dimensions: motion sequence frame, camera viewpoint, color channel, or vector component.
Each routine examines the size of its respective dimension (e.g., nframes), plus any band interpretation attribute for its dimension (e.g., frame_interp) and returns a value based on them. Specifically:
if the size of the dimension is 1 and there is no band interpretation attribute, it returns VistaIOBandInterpNone
VistaIOImageViewpointInterp returns VistaIOBandInterpStereoPair if image is a standard stereo pair (i.e., nviewpoints: 2 and viewpoint_interp: stereo_pair)
VistaIOImageColorInterp returns VistaIOBandInterpRGB if image is a standard RGB color image (i.e., ncolors: 3 and color_interp: rgb)
VistaIOImageComponentInterp returns VistaIOBandInterpComplex if image is a standard complex image (i.e., ncomponents: 2 and component_interp: complex)
VistaIOImageComponentInterp returns VistaIOBandInterpGradient if image is a standard gradient image (i.e., ncomponents: 1 or 2, and component_interp: gradient)
VistaIOImageComponentInterp returns VistaIOBandInterpIntensity if image is a standard intensity image (i.e., ncomponents: 1 and component_interp: intensity)
VistaIOImageComponentInterp returns VistaIOBandInterpOrientation if image is a standard orientation image (i.e., ncomponents: 1 and component_interp: orientation)
each routine returns VistaIOBandInterpOther otherwise
VistaIOSetBandInterp(3), VistaIOImage(3),
A warning is issued and VistaIOBandInterpOther is returned if a dimension's size (e.g., ncolors) and the corresponding band interpretation attribute (e.g., color_interp) are inconsistent.
A warning is also issued if the product of the four dimension's sizes does not equal the total number of bands in the image.
Art Pope <[email protected]>
Adaption to vistaio: Gert Wollny <[email protected]>