Medical Imaging Interaction Toolkit  2023.12.99-7a59bd54
Medical Imaging Interaction Toolkit
mitk::RenderingModeProperty Class Reference

#include <mitkRenderingModeProperty.h>

Inheritance diagram for mitk::RenderingModeProperty:
Collaboration diagram for mitk::RenderingModeProperty:

Public Types

enum  ImageRenderingMode { LOOKUPTABLE_LEVELWINDOW_COLOR, COLORTRANSFERFUNCTION_LEVELWINDOW_COLOR, LOOKUPTABLE_COLOR, COLORTRANSFERFUNCTION_COLOR }
 
typedef RenderingModeProperty Self
 
typedef EnumerationProperty Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
- Public Types inherited from mitk::EnumerationProperty
typedef EnumerationProperty Self
 
typedef BaseProperty Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef unsigned int IdType
 
typedef std::map< IdType, std::string > EnumIdsContainerType
 
typedef std::map< std::string, IdTypeEnumStringsContainerType
 
typedef EnumIdsContainerType::const_iterator EnumConstIterator
 
- Public Types inherited from mitk::BaseProperty
typedef BaseProperty Self
 
typedef itk::Object Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 

Public Member Functions

virtual std::vector< std::string > GetClassHierarchy () const override
 
virtual const char * GetClassName () const
 
Pointer Clone () const
 
virtual int GetRenderingMode ()
 
BasePropertyoperator= (const BaseProperty &property)
 Assigns property to this BaseProperty instance. More...
 
- Public Member Functions inherited from mitk::EnumerationProperty
Pointer Clone () const
 
virtual bool SetValue (const std::string &name)
 
virtual bool SetValue (const IdType &id)
 
virtual IdType GetValueAsId () const
 
std::string GetValueAsString () const override
 
virtual void Clear ()
 
virtual EnumIdsContainerType::size_type Size () const
 
virtual EnumConstIterator Begin () const
 
virtual EnumConstIterator End () const
 
virtual std::string GetEnumString (const IdType &id) const
 
virtual IdType GetEnumId (const std::string &name) const
 
virtual bool IsValidEnumerationValue (const IdType &id) const
 
virtual bool IsValidEnumerationValue (const std::string &name) const
 
const EnumIdsContainerTypeGetEnumIds () const
 
const EnumStringsContainerTypeGetEnumStrings () const
 
EnumIdsContainerTypeGetEnumIds ()
 
EnumStringsContainerTypeGetEnumStrings ()
 
bool ToJSON (nlohmann::json &j) const override
 
bool FromJSON (const nlohmann::json &j) override
 
EnumerationPropertyoperator= (const EnumerationProperty &)=delete
 
BasePropertyoperator= (const BaseProperty &property)
 Assigns property to this BaseProperty instance. More...
 
- Public Member Functions inherited from mitk::BaseProperty
Pointer Clone () const
 
bool operator== (const BaseProperty &property) const
 Subclasses must implement IsEqual(const BaseProperty&) to support comparison. More...
 
BasePropertyoperator= (const BaseProperty &property)
 Assigns property to this BaseProperty instance. More...
 
bool AssignProperty (const BaseProperty &property)
 Assigns property to this BaseProperty instance. More...
 

Static Public Member Functions

static const char * GetStaticNameOfClass ()
 
static Pointer New ()
 
static Pointer New (const IdType &_arg)
 
static Pointer New (const std::string &_arg)
 
- Static Public Member Functions inherited from mitk::EnumerationProperty
static const char * GetStaticNameOfClass ()
 
static Pointer New ()
 
- Static Public Member Functions inherited from mitk::BaseProperty
static const char * GetStaticNameOfClass ()
 

Protected Member Functions

 RenderingModeProperty ()
 
 RenderingModeProperty (const IdType &value)
 
 RenderingModeProperty (const std::string &value)
 
bool AddEnum (const std::string &name, const IdType &id) override
 
virtual void AddRenderingModes ()
 
- Protected Member Functions inherited from mitk::EnumerationProperty
 EnumerationProperty ()
 
 EnumerationProperty (const EnumerationProperty &)
 
bool IsEqual (const BaseProperty &property) const override
 
bool Assign (const BaseProperty &property) override
 
- Protected Member Functions inherited from mitk::BaseProperty
 BaseProperty ()
 
 BaseProperty (const BaseProperty &other)
 
 ~BaseProperty () override
 

Additional Inherited Members

- Static Public Attributes inherited from mitk::BaseProperty
static const std::string VALUE_CANNOT_BE_CONVERTED_TO_STRING
 Default return value if a property which can not be returned as string. More...
 

Detailed Description

Encapsulates the enumeration for rendering modes. The property human-readable name (which is used in the mitkWorkbench inside the Property View) is "Image Rendering.Mode". This property affects rendering of images and is used inside the mitkImageVtkMapper2D to define which rendering mode is applied to images. Valid values are:

  • LEVELWINDOW_COLOR is DEPRECATED and mapped to LOOKUPTABLE_LEVELWINDOW_COLOR.
  • LOOKUPTABLE_LEVELWINDOW_COLOR: A lookup table, level window and color will be applied to the image. As lookup table, the table object supplied by the property "LookupTable" will be used. As default, we apply a GRAYSCALE mitk::LookupTable. Note, if you want to use a former rainbow-like lookup table, set the mitk::LookupTableProperty to use a LEGACY_RAINBOW_COLOR type mitk::LookupTable. Our default setup using the GRAYSCALE mitk::LookupTable for a test image looks like this:
    This image can be reproduced with the mitkImageVtkMapper2DColorTest or mitkImageVtkMapper2DLevelWindowTest. If "Image Rendering.Mode" is set to LOOKUPTABLE_LEVELWINDOW_COLOR inside the mitkWorkbench, the level window slider will change the rendering of the image. That means it will change the values of an internally used default lookup table. Note, the level window slider changes the property "levelwindow" which modifies the range of the internally used lookup table. This mode will apply the "color" property. The default color is white. If you change the "color" property to yellow, the test image will be rendered like this:
    This image can be reproduced with the mitkImageVtkMapper2DColorTest. Our test image with a lookup table mapping everything from red to blue looks like this:
    This image can be reproduced with the mitkImageVtkMapper2DLookupTableTest. Check this test code for an example how to apply a lookup table to an image.
    Note
    Changing a lookup table via the "levelwindow" property can be unintuitive and unwanted since the level window slider will overwrite the range of the lookup table. Use LOOKUPTABLE_COLOR if you don't want your lookuptable to be influenced by the "levelwindow" property.
  • COLORTRANSFERFUNCTION_LEVELWINDOW_COLOR: A color transfer function, level window and color will be applied to the image. Very similar mode to LOOKUPTABLE_LEVELWINDOW_COLOR. Instead of the lookup table a color transfer function will be used. Color transfer functions are useful to colorize floating point images and allow sometimes more flexibility than a lookup table. The "Image Rendering.Transfer Function" property defines the transfer function. Our test image with a transfer function mapping everything from to red, green and blue looks like this:
    This image can be reproduced with the mitkImageVtkMapper2DTransferFunctionTest. Check the test code for an example how to define a transfer function for an image. This transfer function will be influenced by the property "levelwindow" and the actor will be colored by the "color" property.
    Note
    Changing a transfer function table via the "levelwindow" property can be unintuitive and unwanted since the level window slider will overwrite the.Use COLORTRANSFERFUNCTION_COLOR if you don't want your transfer function to be influenced by the level window.
  • LOOKUPTABLE_COLOR: A lookup table and color will be applied to the image. Similar mode to LOOKUPTABLE_LEVELWINDOW_COLOR, except that the "levelwindow" property will not modify the range of the lookup table.
  • COLORTRANSFERFUNCTION_COLOR: A color trans ferfunction and color will be applied to the image. Similar mode to COLORTRANSFERFUNCTION_LEVELWINDOW_COLOR, except that the "levelwindow" property will not modify the range of the transfer function.

The order is given by the names (e.g. LOOKUPTABLE_COLOR applies first a lookup table and next a color). Currently, there is no GUI (in mitkWorkbench) support for controlling lookup tables or transfer functions. This has to be done by the programmer. Color and level window are controlled by color widget and level window slider. Currently, the color is always applied. We do not set the color to white, if the user changes the mode. We assume that users who change the mode know that a previously set color will still be applied (on top of the respective mode). See VTK documentation for examples how to use vtkTransferfunction and vtkLookupTable.

Definition at line 91 of file mitkRenderingModeProperty.h.

Member Typedef Documentation

◆ ConstPointer

◆ Pointer

◆ Self

◆ Superclass

Member Enumeration Documentation

◆ ImageRenderingMode

Enumerator
LOOKUPTABLE_LEVELWINDOW_COLOR 
COLORTRANSFERFUNCTION_LEVELWINDOW_COLOR 
LOOKUPTABLE_COLOR 
COLORTRANSFERFUNCTION_COLOR 

Definition at line 106 of file mitkRenderingModeProperty.h.

Constructor & Destructor Documentation

◆ RenderingModeProperty() [1/3]

mitk::RenderingModeProperty::RenderingModeProperty ( )
protected

Sets rendering type to default (VTK_RAY_CAST_COMPOSITE_FUNCTION).

◆ RenderingModeProperty() [2/3]

mitk::RenderingModeProperty::RenderingModeProperty ( const IdType value)
protected

Constructor. Sets rendering type to the given value.

◆ RenderingModeProperty() [3/3]

mitk::RenderingModeProperty::RenderingModeProperty ( const std::string &  value)
protected

Constructor. Sets rendering type to the given value.

Member Function Documentation

◆ AddEnum()

bool mitk::RenderingModeProperty::AddEnum ( const std::string &  name,
const IdType id 
)
overrideprotectedvirtual

this function is overridden as protected, so that the user may not add additional invalid rendering types.

Reimplemented from mitk::EnumerationProperty.

◆ AddRenderingModes()

virtual void mitk::RenderingModeProperty::AddRenderingModes ( )
protectedvirtual

Adds the default enumeration types.

◆ Clone()

Pointer mitk::RenderingModeProperty::Clone ( ) const

◆ GetClassHierarchy()

virtual std::vector<std::string> mitk::RenderingModeProperty::GetClassHierarchy ( ) const
inlineoverridevirtual

Reimplemented from mitk::EnumerationProperty.

Definition at line 94 of file mitkRenderingModeProperty.h.

◆ GetClassName()

virtual const char* mitk::RenderingModeProperty::GetClassName ( ) const
virtual

Reimplemented from mitk::EnumerationProperty.

◆ GetRenderingMode()

virtual int mitk::RenderingModeProperty::GetRenderingMode ( )
virtual

Returns the current rendering mode

◆ GetStaticNameOfClass()

static const char* mitk::RenderingModeProperty::GetStaticNameOfClass ( )
inlinestatic

Definition at line 94 of file mitkRenderingModeProperty.h.

◆ New() [1/3]

static Pointer mitk::RenderingModeProperty::New ( )
static

◆ New() [2/3]

static Pointer mitk::RenderingModeProperty::New ( const IdType _arg)
inlinestatic

Definition at line 100 of file mitkRenderingModeProperty.h.

◆ New() [3/3]

static Pointer mitk::RenderingModeProperty::New ( const std::string &  _arg)
inlinestatic

Definition at line 102 of file mitkRenderingModeProperty.h.

◆ operator=()

BaseProperty& mitk::BaseProperty::operator=

Assigns property to this BaseProperty instance.

Subclasses must implement Assign(const BaseProperty&) and call the superclass Assign method for proper handling of polymorphic assignments. The assignment operator of the subclass should be disabled and the baseclass operator should be made visible using "using" statements.


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