MeVisLab Toolbox Reference
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

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 Types inherited from ml::Base
enum  PersistenceInterface { PersistenceByString , PersistenceByTreeNode , PersistenceByStream }
 This enum describes the different persistence interfaces available. 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
bool isValid (void) const override
 Return true if the LUT function is valid.
double getNativeMinIndex (void) const override
 Get native minimum index.
double getNativeMaxIndex (void) const override
 Get native maximum index.
int getHeight (void) const override
 Get native LUT height (= number of rows, numbering starts at 0).
int getDepth (void) const override
 Get native LUT depth (= number of layers, numbering starts at 0).
double getNativeMinValue (void) const override
 Get native minimum LUT value.
double getNativeMaxValue (void) const override
 Get native maximum LUT value.
Public Member Functions inherited from ml::LUTFunction
 LUTFunction (LUTVisualType vt, bool relative)
 Constructor.
void changed (void)
void overwriteUniqueId (unsigned int newId)
 Overwrites the unique id. NOTE: use this only if you really know what you are doing!
virtual LUTVisualType getVisualType (void) const
 Get LUT visual type.
virtual bool isRelative (void) const
 Is LUT relative?
virtual void setRelative (bool relative)
 Set/reset relative flag.
virtual LUTDimensionality getDimensionality (void) const
 Get dimensionality (1, 2, or 3), usually depending on height and depth.
unsigned int getId (void) const
virtual bool render (LUTDataBase *lutData) const
virtual bool renderRescaled (LUTDataBase *lutData, double minIndex, double maxIndex) const
Public Member Functions inherited from ml::Base
 Base ()
 Constructor.
virtual ~Base ()
 Destructor.
virtual BasedeepCopy () const
bool isOfAllowedType (const std::vector< const RuntimeType * > &types) const
virtual bool isRefCountedBase () const
 Returns whether the instance is derived from RefCountedBase.
virtual std::string detailString () const
virtual bool implementsPersistence (PersistenceInterface) const
virtual std::string persistentState () const
 Returns a string describing the object's internal state.
virtual void setPersistentState (const std::string &state)
virtual void addStateToTree (TreeNode *) const
 Attaches the object state as children of the given parent node.
virtual void readStateFromTree (TreeNode *)
 Reads the object state from the children of the given parent node.
virtual void writeTo (AbstractPersistenceOutputStream *) const
virtual void readFrom (AbstractPersistenceInputStream *, int)

Protected Member Functions

 ML_CLASS_HEADER (LUTFCombine)
LUT implementation
bool renderLUTNative (LUTDataBase *lutData, LUTIteratorBase *lutIterator) const override
bool renderLUTRescaled (LUTDataBase *lutData, LUTIteratorBase *lutIterator, double minIndex, double maxIndex) const override
template<typename T>
bool renderLUT (LUTData< T > *lutData, LUTIterator< T > *lutIterator, double minIndex, double maxIndex, bool rescale) const
Protected Member Functions inherited from ml::LUTFunction
template<typename T>
bool renderT (LUTData< T > *lutData, bool rescaled, double minIndex, double maxIndex) const
template<typename T>
bool interpolateLUT (LUTData< T > *lutData, LUTIterator< T > *lutIterator, double minIndex, double maxIndex) const
 ML_ABSTRACT_CLASS_HEADER (LUTFunction)
virtual LUTVisualType getRenderType (LUTDataBase *) const

Protected Attributes

std::vector< LUTEntry_entries
Protected Attributes inherited from ml::LUTFunction
LUTVisualType _visualType
 LUT visual type.
bool _relative
 Flag for relative LUT.
unsigned int _id

Additional Inherited Members

Static Public Member Functions inherited from ml::LUTFunction
static unsigned int generateUniqueId (void)
Static Protected Attributes inherited from ml::LUTFunction
static unsigned int _gNextId
 Global storage for next unused LUT ID to ensure uniqueness.

Detailed Description

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

Definition at line 28 of file mlLUTFCombine.h.

Member Enumeration Documentation

◆ Mask

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 70 of file mlLUTFCombine.h.

◆ Mode

gives a mode that is used for combining

Enumerator
REPLACE 
ADD 
BLEND 
SUBTRACT 
MULTIPLY 
MIN 
MAX 
NUM_MODES 

Definition at line 63 of file mlLUTFCombine.h.

Constructor & Destructor Documentation

◆ LUTFCombine()

ml::LUTFCombine::LUTFCombine ( void )
inline

Constructor.

Definition at line 33 of file mlLUTFCombine.h.

References ml::LUT_L, and ml::LUTFunction::LUTFunction().

Referenced by ML_CLASS_HEADER().

Member Function Documentation

◆ addEntry()

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

add an entry

◆ clearEntries()

void ml::LUTFCombine::clearEntries ( )

clear the entries

◆ getDepth()

int ml::LUTFCombine::getDepth ( void ) const
overridevirtual

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

Reimplemented from ml::LUTFunction.

◆ getEntry()

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

get the ith entry (no range checking!)

◆ getHeight()

int ml::LUTFCombine::getHeight ( void ) const
overridevirtual

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

Reimplemented from ml::LUTFunction.

◆ getNativeMaxIndex()

double ml::LUTFCombine::getNativeMaxIndex ( void ) const
overridevirtual

Get native maximum index.

Reimplemented from ml::LUTFunction.

◆ getNativeMaxValue()

double ml::LUTFCombine::getNativeMaxValue ( void ) const
overridevirtual

Get native maximum LUT value.

Reimplemented from ml::LUTFunction.

◆ getNativeMinIndex()

double ml::LUTFCombine::getNativeMinIndex ( void ) const
overridevirtual

Get native minimum index.

Reimplemented from ml::LUTFunction.

◆ getNativeMinValue()

double ml::LUTFCombine::getNativeMinValue ( void ) const
overridevirtual

Get native minimum LUT value.

Reimplemented from ml::LUTFunction.

◆ getNumEntries()

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

get number of entries

◆ isValid()

bool ml::LUTFCombine::isValid ( void ) const
overridevirtual

Return true if the LUT function is valid.

Reimplemented from ml::LUTFunction.

◆ ML_CLASS_HEADER()

ml::LUTFCombine::ML_CLASS_HEADER ( LUTFCombine )
protected

References LUTFCombine().

◆ renderLUT()

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.

◆ renderLUTNative()

bool ml::LUTFCombine::renderLUTNative ( LUTDataBase * lutData,
LUTIteratorBase * lutIterator ) const
overrideprotectedvirtual

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.

◆ renderLUTRescaled()

bool ml::LUTFCombine::renderLUTRescaled ( LUTDataBase * lutData,
LUTIteratorBase * lutIterator,
double minIndex,
double maxIndex ) const
overrideprotectedvirtual

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

◆ _entries

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

Definition at line 124 of file mlLUTFCombine.h.


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