iflConfig(3) Image Format Library C++ Reference Manual iflConfig(3)NAMEiflConfig - class for pixel abstraction
INHERITS FROM
This is a base class and therefore has no inheritance.
HEADER FILE
#include <ifl/iflCdefs.h>
CLASS DESCRIPTION
The iflConfig class is used to describe the configuration of pixel data.
It is used in iflFile functions such as iflGetTile() and iflSetTile() 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
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
Constructor
iflConfig* iflConfigCreate(iflDataType type, iflOrder ord,
int nchan, int* chanList,
int chanOff, iflOrientation ori(0))
Destructor
void iflConfigDelete(iflConfig *img)
Page 2
iflConfig(3) Image Format Library C++ Reference Manual iflConfig(3)FUNCTION DESCRIPTIONSiflConfig()
iflConfig* iflConfigCreate(iflDataType type, iflOrder ord,
int nchan, int* chanList,
int chanOff, iflOrientation ori(0))
The 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.
iflConfigDelete()
void iflConfigDelete(iflConfig *img)
Deletes an object of class iflConfig, thus freeing any associated
resources.
SEE ALSO
iflFile
Page 3