Image and Algorithm Base Classes

Class Index

Low-Level Classes

Data, Function, and Image

A tiny class hierarchy is formed by the classes ConstData?, Data?, ImageHandle, ConstImageHandle?, and Function?.

Images, States, and Algorithms

The interface and implementation of the image concept as an ImageHandle is more extensive and complex than in other image class libraries, yet at the same time offering very abstract, high-level usage. Orthogonal design is ensured by keeping all functionality out of the image interface, and delegating it to a collection of algorithm objects, which are all derived from one of the DataAlgorithm classes. Low-level image access is provided thru the various ImageStates, which are embedded in the BaseImageHandle by means of a State pattern. Access is again provided orthogonally via the ImageStateAlgorithms?. A more in-depth discussion concerning the ImageHandle and its underlying states is found here.

Point, Size and Extent

Point, Size, and Extent are the three most important helper classes in IPLT.

Point encapsulates a 1D, 2D or 3D integer index and is used in all value-access methods, such as GetReal() or SetComplex() in the various data classes.

Size encapsulates a 1D, 2D or 3D size. This class is mostly used as a convenience for a Point(0,0,0) start based Extent.

Extent encodes a volume in space, by encapsulating a start and end point. Iterating over this volume is provided by ExtentIterator.


Back to modules overview