MeVisLab Toolbox Reference
|
A single channel LUT with predefined primitives of different shapes. More...
#include <mlLUTFPrimitive.h>
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 Base * | deepCopy () 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 char * | shapeNames [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. | |
A single channel LUT with predefined primitives of different shapes.
Definition at line 28 of file mlLUTFPrimitive.h.
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.
ml::LUTFPrimitive::LUTFPrimitive | ( | void | ) |
Constructor.
Get base value.
Definition at line 78 of file mlLUTFPrimitive.h.
Get ramp center.
Definition at line 60 of file mlLUTFPrimitive.h.
Get edge width.
Definition at line 72 of file mlLUTFPrimitive.h.
Get native maximum index.
Reimplemented from ml::LUTFunction.
Get native minimum index.
Reimplemented from ml::LUTFunction.
Get peak value.
Definition at line 84 of file mlLUTFPrimitive.h.
Get shape.
Definition at line 54 of file mlLUTFPrimitive.h.
Get ramp width.
Definition at line 66 of file mlLUTFPrimitive.h.
|
protected |
|
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.
|
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.
|
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.
Set base value.
Definition at line 81 of file mlLUTFPrimitive.h.
References ml::LUTFunction::changed(), and mlrange_cast().
Set ramp center.
Definition at line 63 of file mlLUTFPrimitive.h.
References ml::LUTFunction::changed().
Set edge width.
Definition at line 75 of file mlLUTFPrimitive.h.
References ml::LUTFunction::changed(), and mlrange_cast().
Set peak value.
Definition at line 87 of file mlLUTFPrimitive.h.
References ml::LUTFunction::changed(), and mlrange_cast().
Set shape.
Definition at line 57 of file mlLUTFPrimitive.h.
References ml::LUTFunction::changed(), and mlrange_cast().
Set ramp width.
Definition at line 69 of file mlLUTFPrimitive.h.
References ml::LUTFunction::changed().
|
protected |
Base LUT output level, relative to [0,1].
Definition at line 147 of file mlLUTFPrimitive.h.
|
protected |
Ramp center.
Definition at line 138 of file mlLUTFPrimitive.h.
|
protected |
Edge width (used for Wall shape only)
Definition at line 144 of file mlLUTFPrimitive.h.
|
protected |
Center LUT output level, relative to [0,1].
Definition at line 150 of file mlLUTFPrimitive.h.
|
protected |
Function Type.
Definition at line 135 of file mlLUTFPrimitive.h.
|
protected |
Ramp width.
Definition at line 141 of file mlLUTFPrimitive.h.
Shape names.
Definition at line 43 of file mlLUTFPrimitive.h.