MeVisLab Toolbox Reference
MLLUT Overview

File containing the library documentation of project MLLUT

The MLLUT library provides classes for the implementation of one-, two- and three- dimensional lookup tables (LUTs). The MLLUT lookup tables are used in MeVisLab for the visualization of image data, especially in the 2D and 3D viewers. The MLLUT library includes the following basic classes:

  • ml::LUTFunction: Base class for the implementation of resolution and type independent lookup tables.
  • ml::LUTData: This class represents an instance of a lookup table, rendered for a given data type, index range and resolution.
  • ml::LUTIterator: This class is used to access a ml::LUTData object while rendering a lookup table. If necessary, the access methods provided by the ml::LUTIterator object perform color space conversions on-the-fly.

The following classes contain implementations of lookup table generators and transformations and may serve as examples:

Generators:

  • ml::LUTFPrimitive: A single channel LUT with predefined primitives of different shapes
  • ml::LUTFLinear: A color/gray LUT with sampling points and linear or truncated interpolation
  • ml::LUTFRampPair: An RGBA LUT consisting of a RGB ramp and an alpha ramp

Transformations:

  • ml::LUTFColor: LUT transform to apply or remove color to an input LUT
  • ml::LUTFRescale: LUT transform to rescale a LUT's index range and to convert an absolute to a relative LUT
  • ml::LUTFChannelMap: A LUT function mapping the individual channels of the input LUT to the channels of the output LUT
  • ml::LUTFCombine: A LUT function combining several input LUTs into a single output LUT
  • ml::LUTFCompose: A LUT function composing an output LUT by chained evaluation of several input LUTs

Higher Dimensional LUTs:

Miscellaneous:

  • ml::LUTFloatRGBA: Convenience class to encapsulate the common case of a float RGBA lookup table with a value range of [0..1]