iflConfig(3) Image Format Library C++ Reference Manual iflConfig(3)
iflConfig - class for pixel abstraction
This is a base class and therefore has no inheritance.
#include <ifl/iflConfig.h>
The iflConfig class is used to describe the configuration of pixel data.
It is used in iflFile functions such as getTile() and setTile() to
describe the configuration of data in the user's buffer.
An iflConfig contains six public member variables describing a collection
of pixels:
iflType dtype Data type of the pixels
iflOrder order Order of the pixels
iflOrientation orientation Orientation of the pixels
int nchans Number of data channels the pixels
contain
int choff Offset in the channel list for the
purpose of mapping from one collection
of channels to another.
int* channels List that maps channels from one
collection to another. This array is
not maintained by this object, the data
pointed to must persist while the object
is in use.
Page 1
iflConfig(3) Image Format Library C++ Reference Manual iflConfig(3)
Using iflConfig [Toc] [Back]
The iflConfig object contains a list that maps channels from one
collection to another. In this code fragment,
unsigned char buffer[10*10*3];
static int list[] = { 2, 1, 0 };
iflConfig cfg(iflUChar, iflInterleaved, 3, list);
someFile.getTile(0, 0, 0, 10, 10, 1, buffer, &cfg);
cfg is used to indicate that buffer is going to receive a 10-by-10 array
of three-component pixels stored in interleaved order with an unsigned
char data type. This would override the actual configuration of the data
in someFile.
The channel list provides the buffer's channel information. The first
channel of the buffer receives data from channel 2 of someFile. The
second channel is from someFile's channel 1. The third buffer channel
gets channel 0 of someFile. In general, when an iflConfig is defaulted,
the operation being performed assumes that the source and destination
configurations match. If someFile was actually a four-channel float
image stored in separate order, then
someFile.getTile(0, 0, 0, 10, 10, 1, buffer);
would require a buffer declared as
float buffer[10*10*4];
and would receive a verbatim copy of the requested section of someFile.
CLASS MEMBER FUNCTION SUMMARY [Toc] [Back] Constructor
iflConfig()
iflConfig(iflDataType type, iflOrder ord=iflInterleaved,
int nchan=0, int* chanList=NULL, int chanOff=0,
iflOrientation ori=iflOrientation(0))
Channel list manipulations [Toc] [Back]
void compose(int nc, int* in, int* out) const
int isInvertable() const
void invert(int nc, int* chanList) const
int mapChan(int idx) const
int operator[](int idx) const
Page 2
iflConfig(3) Image Format Library C++ Reference Manual iflConfig(3)
FUNCTION DESCRIPTIONS [Toc] [Back] iflConfig()
iflConfig()
iflConfig(iflDataType type, iflOrder order=iflInterleaved,
int nchan=0, int* chanList=NULL, int chanOff=0,
iflOrientation ori=iflOrientation(0))
The first constructor creates an uninitialized object (not
recommended). The second constructor creates an iflConfig with data
type, type; data ordering, order; and channel list defined by
chanList of nc channels. If chanList is omitted, all nchan channels
are used in ascending order. Optionally, the orientation is set to
ori. If omitted, the orientation matches that of the image being
accessed.
compose()
void compose(int nc, int* in, int* out) const
This function composes the channel list in the iflConfig object with
the channel list of nchan channels specified by in. The composed
list is written to out.
mapChan()
void mapChan(int idx) const
This function returns the channel on the list in the iflConfig
object that maps to idx. It takes into account the offset specified
by choff, or just the offseted index, if the channel list is NULL.
If idx is more than nchans or less than 0, it returns -1.
operator[]()
void operator[](int idx) const
This operator returns the channel on the list in the iflConfig
object that maps to idx. It takes into account the offset specified
by choff, or just the offseted index, if the channel list is NULL.
If idx is more than nchans or less than 0, it returns -1.
invert()
void invert(int nc, int* chanList) const
Page 3
iflConfig(3) Image Format Library C++ Reference Manual iflConfig(3)
This function inverts the channel list in the iflConfig object to
perform the mapping in the opposite direction. The result is
written to nc entries of chanlist.
isInvertable()
int isInvertable() const
This function returns whether the mapping described by the channel
list has an inverse.
iflFile
PPPPaaaaggggeeee 4444 [ Back ]
|