MeVisLabToolboxReference
ml::LUTData< T > Class Template Reference

A LUTData object stores an instance of a LUT, rendered for a specified visual type, data type, reference range and index/row/layer set. More...

#include <mlLUTData.h>

Inheritance diagram for ml::LUTData< T >:
ml::LUTDataBase

List of all members.

Public Member Functions

 LUTData ()
 Constructor, passes data type identifier constant to LUTDataBase A specialized constructor for each supported data type is defined.
MLDataType getType (MLuint8 *)
 supported basic data types
MLDataType getType (MLint8 *)
MLDataType getType (MLuint16 *)
MLDataType getType (MLint16 *)
MLDataType getType (MLuint32 *)
MLDataType getType (MLint32 *)
MLDataType getType (MLint64 *)
MLDataType getType (MLuint64 *)
MLDataType getType (float *)
MLDataType getType (double *)
MLDataType getType (MLldouble *)
MLErrorCode init (LUTVisualType visualType, int minIndex, int maxIndex, T maxEntry)
 Initialize LUT data for specified visual type, index range and maximum entry value (= reference value used for scaling LUT entries)
MLErrorCode init (LUTVisualType visualType, int minIndex, int maxIndex, int minRow, int maxRow, T maxEntry)
 Initialize 2D-LUT data for specified visual type, index/row ranges and maximum entry value (= reference value used for scaling LUT entries)
MLErrorCode init (LUTVisualType visualType, int minIndex, int maxIndex, int minRow, int maxRow, int minLayer, int maxLayer, T maxEntry)
 Initialize 3D-LUT data for specified visual type, index/row/layer ranges and maximum entry value (= reference value used for scaling LUT entries)
MLErrorCode initShared1D (LUTVisualType visualType, int minIndex, int maxIndex, int row, int layer, LUTData< T > *srcLutData, int srcIndex, int srcRow, int srcLayer)
 Initialize 1D-LUT data for specified visual type and index range.
MLErrorCode initShared2D (LUTVisualType visualType, int minRow, int maxRow, int layer, LUTData< T > *srcLutData, int srcRow, int srcLayer)
 Initialize 2D-LUT data for specified visual type, row range and layer.
getMaxEntry (void) const
 Get maximum (reference) entry value.
T * getData (void)
 Get LUT data pointer, entries are stored interleaved (e.g. RGBARGBA...)
const T * getData (void) const
 Get LUT data pointer (const version)
T * getEntriesAt (int index, int row, int layer)
 Get LUT entries at given index, row and layer.
const T * getEntriesAt (int index, int row, int layer) const
 Get LUT entries at given index, row and layer (const version)
T * getEntriesAt (int index, int row)
 Get LUT entries at given index and row.
const T * getEntriesAt (int index, int row) const
 Get LUT entries at given index and row (const version)
T * getEntriesAt (int index)
 Get LUT entries at given index.
const T * getEntriesAt (int index) const
 Get LUT entries at given index (const version)
virtual LUTData< T > * clone (void) const
 Create a new LUTData object with the same properties and a new, uninitialized data buffer.

Protected Attributes

_maxEntry
 Maximum entry value (= reference value used for scaling LUT entries)

Detailed Description

template<typename T>
class ml::LUTData< T >

A LUTData object stores an instance of a LUT, rendered for a specified visual type, data type, reference range and index/row/layer set.

For rendering a LUTFunction object into a LUTData, use the methods LUTFunction::render() and LUTFunction::renderRescaled(). To access the data stored in the LUTData object, use the getData() method.

Definition at line 214 of file mlLUTData.h.


Constructor & Destructor Documentation

template<typename T>
ml::LUTData< T >::LUTData ( ) [inline]

Constructor, passes data type identifier constant to LUTDataBase A specialized constructor for each supported data type is defined.

Definition at line 220 of file mlLUTData.h.


Member Function Documentation

template<typename T >
LUTData< T > * ml::LUTData< T >::clone ( void  ) const [virtual]

Create a new LUTData object with the same properties and a new, uninitialized data buffer.

Definition at line 385 of file mlLUTData.h.

References ml::LUTData< T >::init(), and ML_RESULT_OK.

template<typename T>
const T* ml::LUTData< T >::getData ( void  ) const [inline]

Get LUT data pointer (const version)

Definition at line 281 of file mlLUTData.h.

template<typename T>
T* ml::LUTData< T >::getData ( void  ) [inline]

Get LUT data pointer, entries are stored interleaved (e.g. RGBARGBA...)

Definition at line 278 of file mlLUTData.h.

template<typename T>
T* ml::LUTData< T >::getEntriesAt ( int  index,
int  row,
int  layer 
) [inline]

Get LUT entries at given index, row and layer.

Definition at line 284 of file mlLUTData.h.

Referenced by ml::LUTIterator< T >::init().

template<typename T>
const T* ml::LUTData< T >::getEntriesAt ( int  index,
int  row,
int  layer 
) const [inline]

Get LUT entries at given index, row and layer (const version)

Definition at line 288 of file mlLUTData.h.

template<typename T>
T* ml::LUTData< T >::getEntriesAt ( int  index,
int  row 
) [inline]

Get LUT entries at given index and row.

Definition at line 292 of file mlLUTData.h.

Referenced by ml::LUTData< MLuint8 >::getEntriesAt().

template<typename T>
const T* ml::LUTData< T >::getEntriesAt ( int  index,
int  row 
) const [inline]

Get LUT entries at given index and row (const version)

Definition at line 296 of file mlLUTData.h.

Referenced by ml::LUTData< MLuint8 >::getEntriesAt().

template<typename T>
T* ml::LUTData< T >::getEntriesAt ( int  index) [inline]

Get LUT entries at given index.

Definition at line 300 of file mlLUTData.h.

Referenced by ml::LUTData< MLuint8 >::getEntriesAt().

template<typename T>
const T* ml::LUTData< T >::getEntriesAt ( int  index) const [inline]

Get LUT entries at given index (const version)

Definition at line 304 of file mlLUTData.h.

Referenced by ml::LUTData< MLuint8 >::getEntriesAt().

template<typename T>
T ml::LUTData< T >::getMaxEntry ( void  ) const [inline]

Get maximum (reference) entry value.

Definition at line 274 of file mlLUTData.h.

Referenced by ml::LUTData< T >::initShared1D(), and ml::LUTData< T >::initShared2D().

template<typename T>
MLDataType ml::LUTData< T >::getType ( float *  ) [inline]

Definition at line 231 of file mlLUTData.h.

template<typename T>
MLDataType ml::LUTData< T >::getType ( MLint16 ) [inline]

Definition at line 226 of file mlLUTData.h.

template<typename T>
MLDataType ml::LUTData< T >::getType ( MLuint64 ) [inline]

Definition at line 230 of file mlLUTData.h.

template<typename T>
MLDataType ml::LUTData< T >::getType ( MLuint8 ) [inline]

supported basic data types

Definition at line 223 of file mlLUTData.h.

template<typename T>
MLDataType ml::LUTData< T >::getType ( MLint32 ) [inline]

Definition at line 228 of file mlLUTData.h.

template<typename T>
MLDataType ml::LUTData< T >::getType ( double *  ) [inline]

Definition at line 232 of file mlLUTData.h.

template<typename T>
MLDataType ml::LUTData< T >::getType ( MLuint32 ) [inline]

Definition at line 227 of file mlLUTData.h.

template<typename T>
MLDataType ml::LUTData< T >::getType ( MLldouble ) [inline]

Definition at line 233 of file mlLUTData.h.

template<typename T>
MLDataType ml::LUTData< T >::getType ( MLint8 ) [inline]

Definition at line 224 of file mlLUTData.h.

template<typename T>
MLDataType ml::LUTData< T >::getType ( MLuint16 ) [inline]

Definition at line 225 of file mlLUTData.h.

template<typename T>
MLDataType ml::LUTData< T >::getType ( MLint64 ) [inline]

Definition at line 229 of file mlLUTData.h.

template<typename T>
MLErrorCode ml::LUTData< T >::init ( LUTVisualType  visualType,
int  minIndex,
int  maxIndex,
int  minRow,
int  maxRow,
int  minLayer,
int  maxLayer,
maxEntry 
)

Initialize 3D-LUT data for specified visual type, index/row/layer ranges and maximum entry value (= reference value used for scaling LUT entries)

Definition at line 323 of file mlLUTData.h.

References ML_BAD_PARAMETER, and ML_RESULT_OK.

template<typename T>
MLErrorCode ml::LUTData< T >::init ( LUTVisualType  visualType,
int  minIndex,
int  maxIndex,
int  minRow,
int  maxRow,
maxEntry 
) [inline]

Initialize 2D-LUT data for specified visual type, index/row ranges and maximum entry value (= reference value used for scaling LUT entries)

Definition at line 242 of file mlLUTData.h.

Referenced by ml::LUTData< MLuint8 >::init().

template<typename T>
MLErrorCode ml::LUTData< T >::init ( LUTVisualType  visualType,
int  minIndex,
int  maxIndex,
maxEntry 
) [inline]

Initialize LUT data for specified visual type, index range and maximum entry value (= reference value used for scaling LUT entries)

Definition at line 237 of file mlLUTData.h.

Referenced by ml::LUTData< T >::clone(), and ml::LUTData< MLuint8 >::init().

template<typename T>
MLErrorCode ml::LUTData< T >::initShared1D ( LUTVisualType  visualType,
int  minIndex,
int  maxIndex,
int  row,
int  layer,
LUTData< T > *  srcLutData,
int  srcIndex,
int  srcRow,
int  srcLayer 
)

Initialize 1D-LUT data for specified visual type and index range.

Initialize 1D-LUT data for specified visual type, index range and row/layer.

The LUT data buffer is shared with the data buffer of srcLutData, starting at specified srcIndex, srcRow and srcLayer. An error is returned if the requested visual type and index range is incompatible with the source LUTData.

CAUTION: Make sure that the LUT data buffer of the source LUTData remains valid during the life time of this object or until it is re-initialized.

Definition at line 347 of file mlLUTData.h.

References ml::LUTData< T >::getMaxEntry(), and ML_RESULT_OK.

template<typename T>
MLErrorCode ml::LUTData< T >::initShared2D ( LUTVisualType  visualType,
int  minRow,
int  maxRow,
int  layer,
LUTData< T > *  srcLutData,
int  srcRow,
int  srcLayer 
)

Initialize 2D-LUT data for specified visual type, row range and layer.

The LUT data buffer is shared with the data buffer of srcLutData, starting at specified srcRow and srcLayer. An error is returned if the requested visual type and row range is incompatible with the source LUTData.

CAUTION: Make sure that the LUT data buffer of the source LUTData remains valid during the life time of this object or until it is re-initialized.

Definition at line 369 of file mlLUTData.h.

References ml::LUTData< T >::getMaxEntry(), and ML_RESULT_OK.


Member Data Documentation

template<typename T>
T ml::LUTData< T >::_maxEntry [protected]

Maximum entry value (= reference value used for scaling LUT entries)

Definition at line 315 of file mlLUTData.h.


The documentation for this class was generated from the following file: