MeVisLab Toolbox Reference
ml::LUTFPrimitive Class Reference

A single channel LUT with predefined primitives of different shapes. More...

#include <mlLUTFPrimitive.h>

Inheritance diagram for ml::LUTFPrimitive:
ml::LUTFunction ml::Base

Public Types

enum  ShapeType {
  Ramp = 0 , Wall , Gauss , Sigmoid ,
  numShapes
}
 Shape constants. More...
 
- Public Types inherited from ml::Base
enum  PersistenceInterface { PersistenceByString , PersistenceByTreeNode , PersistenceByStream }
 This enum describes the different persistence interfaces available. More...
 

Public Member Functions

 LUTFPrimitive (void)
 Constructor.
 
LUT parameters
virtual ShapeType getShape (void) const
 Get shape.
 
virtual void setShape (ShapeType shape)
 Set shape.
 
virtual double getCenter (void) const
 Get ramp center.
 
virtual void setCenter (double center)
 Set ramp center.
 
virtual double getWidth (void) const
 Get ramp width.
 
virtual void setWidth (double width)
 Set ramp width.
 
virtual double getEdgeWidth (void) const
 Get edge width.
 
virtual void setEdgeWidth (double edgeWidth)
 Set edge width.
 
virtual double getBaseValue (void) const
 Get base value.
 
virtual void setBaseValue (double baseValue)
 Set base value.
 
virtual double getPeakValue (void) const
 Get peak value.
 
virtual void setPeakValue (double peakValue)
 Set peak value.
 
LUT properties
double getNativeMinIndex (void) const override
 Get native minimum index.
 
double getNativeMaxIndex (void) const override
 Get native maximum index.
 
- 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 bool isValid (void) const
 Return true if the LUT function is valid. An invalid LUT function can not be rendered.
 
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.
 
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.
 
unsigned int getId (void) const
 Get current LUT ID.
 
virtual bool render (LUTDataBase *lutData) const
 Render LUT in (previously initialized) LUTData object.
 
virtual bool renderRescaled (LUTDataBase *lutData, double minIndex, double maxIndex) const
 Render rescaled LUT in (previously initialized) LUTData object.
 
- 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.
 

Static Public Attributes

static const charshapeNames [numShapes]
 Shape names.
 

Protected Member Functions

 ML_CLASS_HEADER (LUTFPrimitive)
 
LUT implementation
bool renderLUTNative (LUTDataBase *lutData, LUTIteratorBase *lutIterator) const override
 Render the lookup table into lutData using lutIterator to access and increment the LUT pointers.
 
bool renderLUTRescaled (LUTDataBase *lutData, LUTIteratorBase *lutIterator, double minIndex, double maxIndex) const override
 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 center, double width, double edgeWidth) const
 Render a LUT primitive (as selected by the _shape member variable) into lutData using lutIterator to access and increment the LUT pointers.
 
- 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.
 

Protected Attributes

ShapeType _shape
 Function Type.
 
double _center
 Ramp center.
 
double _width
 Ramp width.
 
double _edgeWidth
 Edge width (used for Wall shape only)
 
double _baseValue
 Base LUT output level, relative to [0,1].
 
double _peakValue
 Center LUT output level, relative to [0,1].
 
- 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.
 

Additional Inherited Members

- 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

A single channel LUT with predefined primitives of different shapes.

Definition at line 28 of file mlLUTFPrimitive.h.

Member Enumeration Documentation

◆ ShapeType

Shape constants.

Enumerator
Ramp 

Linear ramp.

Wall 

Double ramp.

Gauss 

Gaussian shape.

Sigmoid 

Sigmoid shape.

numShapes 

Number of available shape primitives.

Definition at line 33 of file mlLUTFPrimitive.h.

Constructor & Destructor Documentation

◆ LUTFPrimitive()

ml::LUTFPrimitive::LUTFPrimitive ( void )

Constructor.

Member Function Documentation

◆ getBaseValue()

virtual double ml::LUTFPrimitive::getBaseValue ( void ) const
inlinevirtual

Get base value.

Definition at line 78 of file mlLUTFPrimitive.h.

◆ getCenter()

virtual double ml::LUTFPrimitive::getCenter ( void ) const
inlinevirtual

Get ramp center.

Definition at line 60 of file mlLUTFPrimitive.h.

◆ getEdgeWidth()

virtual double ml::LUTFPrimitive::getEdgeWidth ( void ) const
inlinevirtual

Get edge width.

Definition at line 72 of file mlLUTFPrimitive.h.

◆ getNativeMaxIndex()

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

Get native maximum index.

Reimplemented from ml::LUTFunction.

◆ getNativeMinIndex()

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

Get native minimum index.

Reimplemented from ml::LUTFunction.

◆ getPeakValue()

virtual double ml::LUTFPrimitive::getPeakValue ( void ) const
inlinevirtual

Get peak value.

Definition at line 84 of file mlLUTFPrimitive.h.

◆ getShape()

virtual ShapeType ml::LUTFPrimitive::getShape ( void ) const
inlinevirtual

Get shape.

Definition at line 54 of file mlLUTFPrimitive.h.

◆ getWidth()

virtual double ml::LUTFPrimitive::getWidth ( void ) const
inlinevirtual

Get ramp width.

Definition at line 66 of file mlLUTFPrimitive.h.

◆ ML_CLASS_HEADER()

ml::LUTFPrimitive::ML_CLASS_HEADER ( LUTFPrimitive )
protected

◆ renderLUT()

template<typename T >
bool ml::LUTFPrimitive::renderLUT ( LUTData< T > * lutData,
LUTIterator< T > * lutIterator,
double center,
double width,
double edgeWidth ) const
protected

Render a LUT primitive (as selected by the _shape member variable) into lutData using lutIterator to access and increment the LUT pointers.

Return true if successful.

◆ renderLUTNative()

bool ml::LUTFPrimitive::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::LUTFPrimitive::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.

◆ setBaseValue()

virtual void ml::LUTFPrimitive::setBaseValue ( double baseValue)
inlinevirtual

Set base value.

Definition at line 81 of file mlLUTFPrimitive.h.

References ml::LUTFunction::changed(), and mlrange_cast().

◆ setCenter()

virtual void ml::LUTFPrimitive::setCenter ( double center)
inlinevirtual

Set ramp center.

Definition at line 63 of file mlLUTFPrimitive.h.

References ml::LUTFunction::changed().

◆ setEdgeWidth()

virtual void ml::LUTFPrimitive::setEdgeWidth ( double edgeWidth)
inlinevirtual

Set edge width.

Definition at line 75 of file mlLUTFPrimitive.h.

References ml::LUTFunction::changed(), and mlrange_cast().

◆ setPeakValue()

virtual void ml::LUTFPrimitive::setPeakValue ( double peakValue)
inlinevirtual

Set peak value.

Definition at line 87 of file mlLUTFPrimitive.h.

References ml::LUTFunction::changed(), and mlrange_cast().

◆ setShape()

virtual void ml::LUTFPrimitive::setShape ( ShapeType shape)
inlinevirtual

Set shape.

Definition at line 57 of file mlLUTFPrimitive.h.

References ml::LUTFunction::changed(), and mlrange_cast().

◆ setWidth()

virtual void ml::LUTFPrimitive::setWidth ( double width)
inlinevirtual

Set ramp width.

Definition at line 69 of file mlLUTFPrimitive.h.

References ml::LUTFunction::changed().

Member Data Documentation

◆ _baseValue

double ml::LUTFPrimitive::_baseValue
protected

Base LUT output level, relative to [0,1].

Definition at line 147 of file mlLUTFPrimitive.h.

◆ _center

double ml::LUTFPrimitive::_center
protected

Ramp center.

Definition at line 138 of file mlLUTFPrimitive.h.

◆ _edgeWidth

double ml::LUTFPrimitive::_edgeWidth
protected

Edge width (used for Wall shape only)

Definition at line 144 of file mlLUTFPrimitive.h.

◆ _peakValue

double ml::LUTFPrimitive::_peakValue
protected

Center LUT output level, relative to [0,1].

Definition at line 150 of file mlLUTFPrimitive.h.

◆ _shape

ShapeType ml::LUTFPrimitive::_shape
protected

Function Type.

Definition at line 135 of file mlLUTFPrimitive.h.

◆ _width

double ml::LUTFPrimitive::_width
protected

Ramp width.

Definition at line 141 of file mlLUTFPrimitive.h.

◆ shapeNames

const char* ml::LUTFPrimitive::shapeNames[numShapes]
static

Shape names.

Definition at line 43 of file mlLUTFPrimitive.h.


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