MeVisLabToolboxReference
ml::LUTFCombine Class Reference

A LUT function combining several input LUTs into a single output LUT. More...

#include <mlLUTFCombine.h>

Inheritance diagram for ml::LUTFCombine:
ml::LUTFunction ml::Base

List of all members.

Classes

class  LUTEntry
 stores a lut function entry that should be combined More...

Public Types

enum  Mode {
  REPLACE = 0, ADD, BLEND, SUBTRACT,
  MULTIPLY, MIN, MAX, NUM_MODES
}
 gives a mode that is used for combining More...
enum  Mask {
  MASK_R = 0, MASK_G, MASK_B, MASK_A,
  MASK_RGB, MASK_RGBA, NUM_MASKS
}
 gives a mask that is used for combining More...

Public Member Functions

 LUTFCombine (void)
 Constructor.
void clearEntries ()
 clear the entries
void addEntry (const LUTEntry &entry)
 add an entry
unsigned int getNumEntries () const
 get number of entries
const LUTEntrygetEntry (int i) const
 get the ith entry (no range checking!)
LUT properties
virtual bool isValid (void) const
 Return true if the LUT function is valid.
virtual int getNativeMinIndex (void) const
 Get native minimum index.
virtual int getNativeMaxIndex (void) const
 Get native maximum index.
virtual int getHeight (void) const
 Get native LUT height (= number of rows, numbering starts at 0)
virtual int getDepth (void) const
 Get native LUT depth (= number of layers, numbering starts at 0)
virtual double getNativeMinValue (void) const
 Get native minimum LUT value.
virtual double getNativeMaxValue (void) const
 Get native maximum LUT value.

Protected Member Functions

 ML_CLASS_HEADER (LUTFCombine)
LUT implementation
virtual bool renderLUTNative (LUTDataBase *lutData, LUTIteratorBase *lutIterator) const
 Render the lookup table into lutData using lutIterator to access and increment the LUT pointers.
virtual bool renderLUTRescaled (LUTDataBase *lutData, LUTIteratorBase *lutIterator, double minIndex, double maxIndex) const
 Render rescaled LUT into lutData using lutIterator to access and increment the LUT pointers.
template<typename T >
bool renderLUT (LUTData< T > *lutData, LUTIterator< T > *lutIterator, double minIndex, double maxIndex, bool rescale) const
 Render the output LUT into lutData using lutIterator to access and increment the LUT pointers.

Protected Attributes

std::vector< LUTEntry_entries

Detailed Description

A LUT function combining several input LUTs into a single output LUT.

Definition at line 30 of file mlLUTFCombine.h.


Member Enumeration Documentation

gives a mask that is used for combining

Enumerator:
MASK_R 
MASK_G 
MASK_B 
MASK_A 
MASK_RGB 
MASK_RGBA 
NUM_MASKS 

Definition at line 72 of file mlLUTFCombine.h.

gives a mode that is used for combining

Enumerator:
REPLACE 
ADD 
BLEND 
SUBTRACT 
MULTIPLY 
MIN 
MAX 
NUM_MODES 

Definition at line 65 of file mlLUTFCombine.h.


Constructor & Destructor Documentation

ml::LUTFCombine::LUTFCombine ( void  ) [inline]

Constructor.

Definition at line 35 of file mlLUTFCombine.h.


Member Function Documentation

void ml::LUTFCombine::addEntry ( const LUTEntry entry)

add an entry

void ml::LUTFCombine::clearEntries ( )

clear the entries

virtual int ml::LUTFCombine::getDepth ( void  ) const [virtual]

Get native LUT depth (= number of layers, numbering starts at 0)

Reimplemented from ml::LUTFunction.

const LUTEntry& ml::LUTFCombine::getEntry ( int  i) const

get the ith entry (no range checking!)

virtual int ml::LUTFCombine::getHeight ( void  ) const [virtual]

Get native LUT height (= number of rows, numbering starts at 0)

Reimplemented from ml::LUTFunction.

virtual int ml::LUTFCombine::getNativeMaxIndex ( void  ) const [virtual]

Get native maximum index.

Reimplemented from ml::LUTFunction.

virtual double ml::LUTFCombine::getNativeMaxValue ( void  ) const [virtual]

Get native maximum LUT value.

Reimplemented from ml::LUTFunction.

virtual int ml::LUTFCombine::getNativeMinIndex ( void  ) const [virtual]

Get native minimum index.

Reimplemented from ml::LUTFunction.

virtual double ml::LUTFCombine::getNativeMinValue ( void  ) const [virtual]

Get native minimum LUT value.

Reimplemented from ml::LUTFunction.

unsigned int ml::LUTFCombine::getNumEntries ( ) const

get number of entries

virtual bool ml::LUTFCombine::isValid ( void  ) const [virtual]

Return true if the LUT function is valid.

Reimplemented from ml::LUTFunction.

ml::LUTFCombine::ML_CLASS_HEADER ( LUTFCombine  ) [protected]
template<typename T >
bool ml::LUTFCombine::renderLUT ( LUTData< T > *  lutData,
LUTIterator< T > *  lutIterator,
double  minIndex,
double  maxIndex,
bool  rescale 
) const [protected]

Render the output LUT into lutData using lutIterator to access and increment the LUT pointers.

Return true if successful.

virtual bool ml::LUTFCombine::renderLUTNative ( LUTDataBase lutData,
LUTIteratorBase lutIterator 
) const [protected, virtual]

Render the lookup table into lutData using lutIterator to access and increment the LUT pointers.

Both lutData and lutIterator should be type-cast to a derived, type specific class pointer, according to lutData->getDataType(). Return true if successful.

Implements ml::LUTFunction.

virtual bool ml::LUTFCombine::renderLUTRescaled ( LUTDataBase lutData,
LUTIteratorBase lutIterator,
double  minIndex,
double  maxIndex 
) const [protected, virtual]

Render rescaled LUT into lutData using lutIterator to access and increment the LUT pointers.

Both lutData and lutIterator should be type-cast to a derived, type specific class pointer, according to lutData->getDataType(). The LUT is rendered for range minIndex .. maxIndex, but resampled to the index range specified in lutData. Return true if successful.

Reimplemented from ml::LUTFunction.


Member Data Documentation

std::vector<LUTEntry> ml::LUTFCombine::_entries [protected]

Definition at line 125 of file mlLUTFCombine.h.


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