MeVisLab Toolbox Reference
ml::LUTFConcat Class Reference

Concatenate LUTs in row or layer direction. More...

#include <mlLUTFConcat.h>

Inheritance diagram for ml::LUTFConcat:
ml::LUTFunction ml::Base

Public Member Functions

 LUTFConcat (void)
 Constructor.
 
Input LUTs
virtual void addInputLut (const LUTFunction *lutFunction)
 Add input LUT function.
 
virtual void clearInputLuts (void)
 Clear list of input LUT functions.
 
virtual const LUTFunctiongetInputLut (int i) const
 Get i-th input LUT function.
 
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.
 
LUT rendering

These methods are called by LUT users to obtain a rendering of the LUT function.

bool render (LUTDataBase *lutData) const override
 Render LUT in (previously initialized) LUTData object.
 
bool renderRescaled (LUTDataBase *lutData, double minIndex, double maxIndex) const override
 Render rescaled LUT in (previously initialized) LUTData object.
 
- Public Member Functions inherited from ml::LUTFunction
 LUTFunction (LUTVisualType vt, bool relative)
 Constructor.
 
void changed (void)
 Assign a new LUT ID.
 
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
 Get current LUT ID.
 
- Public Member Functions inherited from ml::Base
 Base ()
 Constructor.
 
virtual ~Base ()
 Destructor.
 
virtual BasedeepCopy () const
 Set addStateToTree version number that can be accessed via getAddStateVersion()
 
bool isOfAllowedType (const std::vector< const RuntimeType * > &types) const
 Check if this object's type is equal to or derived from one of the types given in the argument.
 
virtual bool isRefCountedBase () const
 Returns if the instance is derived from RefCountedBase.
 
virtual std::string detailString () const
 Return a string describing this object.
 
virtual bool implementsPersistence (PersistenceInterface) const
 Override this method to declare which persistence interfaces are implemented by your derived class.
 
virtual std::string persistentState () const
 Returns a string describing the object's internal state.
 
virtual void setPersistentState (const std::string &state)
 Restores the object's internal state from a string that had been previously generated using persistentState().
 
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
 Write the objects state to the data stream object.
 
virtual void readFrom (AbstractPersistenceInputStream *, int)
 Read the objects state from the data stream object.
 

Protected Member Functions

 ML_CLASS_HEADER (LUTFConcat)
 
LUT implementation
bool renderLUTNative (LUTDataBase *, LUTIteratorBase *) const override
 Dummy implementation of inherited pure virtual method, not used.
 
virtual bool renderLUT (LUTDataBase *lutData, double minIndex, double maxIndex, bool rescaled) const
 Perform LUT rendering by redirecting to input LUT functions, implemented for both native and rescaled rendering.
 
- Protected Member Functions inherited from ml::LUTFunction
template<typename T >
bool renderT (LUTData< T > *lutData, bool rescaled, double minIndex, double maxIndex) const
 Perform type-specific, native or rescaled (rescaled = true, rescale to range minIndex ... maxIndex) LUT rendering by.
 
template<typename T >
bool interpolateLUT (LUTData< T > *lutData, LUTIterator< T > *lutIterator, double minIndex, double maxIndex) const
 Perform type-specific rescaled LUT rendering by.
 
 ML_ABSTRACT_CLASS_HEADER (LUTFunction)
 
virtual LUTVisualType getRenderType (LUTDataBase *) const
 Get visual type used for rendering.
 
virtual bool renderLUTRescaled (LUTDataBase *lutData, LUTIteratorBase *lutIterator, double minIndex, double maxIndex) const
 Render a single row of a rescaled LUT into lutData using lutIterator to access and increment the LUT pointers and to identify the current row and layer.
 

Protected Attributes

std::vector< const LUTFunction * > _inLUTs
 Input LUTs.
 
CatMode _catMode
 Direction of concatenation (row or layer)
 
- Protected Attributes inherited from ml::LUTFunction
LUTVisualType _visualType
 LUT visual type.
 
bool _relative
 Flag for relative LUT.
 
unsigned int _id
 Unique LUT ID, changed by the changed() method whenever a property of the LUT function object is modified.
 

Transform parameters

enum  CatMode { CAT_ROWS = 0 , CAT_LAYERS , NUM_CAT_MODES }
 Direction of concatenation. More...
 
virtual void setCatMode (CatMode catMode)
 Set direction of concatenation.
 
virtual CatMode getCatMode (void) const
 

Additional Inherited Members

- Public Types inherited from ml::Base
enum  PersistenceInterface { PersistenceByString , PersistenceByTreeNode , PersistenceByStream }
 This enum describes the different persistence interfaces available. More...
 
- Static Public Member Functions inherited from ml::LUTFunction
static unsigned int generateUniqueId (void)
 Generate a unique id (unique for all mlLUTFunctions), this can also be called to get a unique id for a LUTData object manually.
 
- Static Protected Attributes inherited from ml::LUTFunction
static unsigned int _gNextId
 Global storage for next unused LUT ID to ensure uniqueness.
 

Detailed Description

Concatenate LUTs in row or layer direction.

Definition at line 28 of file mlLUTFConcat.h.

Member Enumeration Documentation

◆ CatMode

Direction of concatenation.

Enumerator
CAT_ROWS 

Concatenate in row direction.

CAT_LAYERS 

Concatenate in layer direction.

NUM_CAT_MODES 

Number of concatenation directions.

Definition at line 55 of file mlLUTFConcat.h.

Constructor & Destructor Documentation

◆ LUTFConcat()

ml::LUTFConcat::LUTFConcat ( void )

Constructor.

Member Function Documentation

◆ addInputLut()

virtual void ml::LUTFConcat::addInputLut ( const LUTFunction * lutFunction)
virtual

Add input LUT function.

◆ clearInputLuts()

virtual void ml::LUTFConcat::clearInputLuts ( void )
virtual

Clear list of input LUT functions.

◆ getCatMode()

virtual CatMode ml::LUTFConcat::getCatMode ( void ) const
inlinevirtual

Definition at line 64 of file mlLUTFConcat.h.

◆ getDepth()

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

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

Reimplemented from ml::LUTFunction.

◆ getHeight()

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

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

Reimplemented from ml::LUTFunction.

◆ getInputLut()

virtual const LUTFunction * ml::LUTFConcat::getInputLut ( int i) const
virtual

Get i-th input LUT function.

◆ getNativeMaxIndex()

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

Get native maximum index.

Reimplemented from ml::LUTFunction.

◆ getNativeMaxValue()

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

Get native maximum LUT value.

Reimplemented from ml::LUTFunction.

◆ getNativeMinIndex()

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

Get native minimum index.

Reimplemented from ml::LUTFunction.

◆ getNativeMinValue()

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

Get native minimum LUT value.

Reimplemented from ml::LUTFunction.

◆ isValid()

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

Return true if the LUT function is valid.

Reimplemented from ml::LUTFunction.

◆ ML_CLASS_HEADER()

ml::LUTFConcat::ML_CLASS_HEADER ( LUTFConcat )
protected

◆ render()

bool ml::LUTFConcat::render ( LUTDataBase * lutData) const
overridevirtual

Render LUT in (previously initialized) LUTData object.

Return true if successful.

Overloaded here to redirect rendering to input LUT functions

Reimplemented from ml::LUTFunction.

◆ renderLUT()

virtual bool ml::LUTFConcat::renderLUT ( LUTDataBase * lutData,
double minIndex,
double maxIndex,
bool rescaled ) const
protectedvirtual

Perform LUT rendering by redirecting to input LUT functions, implemented for both native and rescaled rendering.

◆ renderLUTNative()

bool ml::LUTFConcat::renderLUTNative ( LUTDataBase * ,
LUTIteratorBase *  ) const
inlineoverrideprotectedvirtual

Dummy implementation of inherited pure virtual method, not used.

Implements ml::LUTFunction.

Definition at line 124 of file mlLUTFConcat.h.

◆ renderRescaled()

bool ml::LUTFConcat::renderRescaled ( LUTDataBase * lutData,
double minIndex,
double maxIndex ) const
overridevirtual

Render rescaled LUT in (previously initialized) LUTData object.

LUT is rendered for range minIndex .. maxIndex, but resampled to the index range specified in lutData. Return true if successful

Overloaded here to redirect rendering to input LUT functions

Reimplemented from ml::LUTFunction.

◆ setCatMode()

virtual void ml::LUTFConcat::setCatMode ( CatMode catMode)
virtual

Set direction of concatenation.

Member Data Documentation

◆ _catMode

CatMode ml::LUTFConcat::_catMode
protected

Direction of concatenation (row or layer)

Definition at line 138 of file mlLUTFConcat.h.

◆ _inLUTs

std::vector<const LUTFunction*> ml::LUTFConcat::_inLUTs
protected

Input LUTs.

Definition at line 135 of file mlLUTFConcat.h.


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