Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit

In the MITK rendering concept, Mappers are responsible for actually rendering data onto the screen. More...

Collaboration diagram for Mapper Classes:

Classes

class  mitk::ImageVtkMapper2D::LocalStorage
 Internal class holding the mapper, actor, etc. for each of the 3 2D render windows. More...
 
class  mitk::ImageVtkMapper2D
 Mapper to resample and display 2D slices of a 3D image. More...
 
class  mitk::Mapper::BaseLocalStorage
 Base class for mapper specific rendering ressources. More...
 
class  mitk::Mapper
 Base class of all mappers, Vtk as well as OpenGL mappers. More...
 
class  mitk::PlaneGeometryDataMapper2D::LocalStorage
 Internal class holding the mapper, actor, etc. for each of the 3 2D render windows. More...
 
class  mitk::PlaneGeometryDataMapper2D
 Vtk-based 2D mapper for rendering a crosshair with the plane geometry. More...
 
class  mitk::PlaneGeometryDataVtkMapper3D::ActorInfo
 
class  mitk::PlaneGeometryDataVtkMapper3D
 Vtk-based mapper to display a PlaneGeometry in a 3D windowUses a PlaneGeometryDataToSurfaceFilter object to create a vtkPolyData representation of a given PlaneGeometry instance. PlaneGeometry may either contain a common flat plane or a curved plane (ThinPlateSplineCurvedGeometry). More...
 
class  mitk::PointSetVtkMapper2D::LocalStorage
 Internal class holding the mapper, actor, etc. for each of the 3 2D render windows. More...
 
class  mitk::PointSetVtkMapper2D
 Vtk-based 2D mapper for PointSet. More...
 
class  mitk::PointSetVtkMapper3D
 Vtk-based mapper for PointSet. More...
 
class  mitk::SurfaceVtkMapper2D::LocalStorage
 Internal class holding the mapper, actor, etc. for each of the 3 2D render windows. More...
 
class  mitk::SurfaceVtkMapper2D
 Vtk-based mapper for cutting 2D slices out of Surfaces. More...
 
class  mitk::SurfaceVtkMapper3D::LocalStorage
 
class  mitk::SurfaceVtkMapper3D
 Vtk-based mapper for Surfaces. More...
 
class  mitk::VtkMapper::VtkMapperLocalStorage
 
class  mitk::VtkMapper
 Base class of all Vtk Mappers in order to display primitives by exploiting Vtk functionality. More...
 
class  mitk::DoseImageVtkMapper2D::LocalStorage
 Internal class holding the mapper, actor, etc. for each of the 3 2D render windows. More...
 
class  mitk::DoseImageVtkMapper2D
 Mapper to resample and display 2D slices of a 3D image. More...
 
class  mitk::ConnectomicsNetworkMapper3D
 Mapper for Networks. More...
 
class  mitk::CompositeMapper
 Composite pattern for combination of different mappers. More...
 
class  mitk::FiberBundleMapper3D::FBXLocalStorage3D
 
class  mitk::FiberBundleMapper3D
 Mapper for FiberBundle. More...
 
class  mitk::FiberBundleThreadMonitorMapper3D
 Mapper for FiberBundle. More...
 
class  mitk::TbssImageMapper
 Mapper for raw diffusion weighted images. More...
 
class  mitk::GLMapper
 Base class of all OpenGL-based mappers. More...
 
class  mitk::GPUVolumeMapper3D::LocalStorage
 
class  mitk::GPUVolumeMapper3D
 Vtk-based mapper for VolumeData. More...
 
class  mitk::MeshMapper2D
 OpenGL-based mapper to display a mesh in a 2D window. More...
 
class  mitk::MeshVtkMapper3D
 Vtk-based mapper for PointList. More...
 
class  mitk::SplineVtkMapper3D
 Vtk-based mapper for Splines. More...
 
class  mitk::UnstructuredGridVtkMapper3D
 Vtk-based mapper for UnstructuredGrid. More...
 
class  mitk::RegEvaluationMapper2D::LocalStorage
 Internal class holding the mapper, actor, etc. for each of the 3 2D render windows. More...
 
class  mitk::RegEvaluationMapper2D
 Mapper to resample and display 2D slices of registration evaluation visualization. More...
 
class  mitk::LabelSetImageVtkMapper2D::LocalStorage
 Internal class holding the mapper, actor, etc. for each of the 3 2D render windows. More...
 
class  mitk::LabelSetImageVtkMapper2D
 Mapper to resample and display 2D slices of a 3D labelset image. More...
 
class  mitk::ContourMapper2D
 OpenGL-based mapper to display a mitk::Contour object in a 2D render window. More...
 
class  mitk::ContourSetMapper2D
 OpenGL-based mapper to display a mitk::Contour object in a 2D render window. More...
 
class  mitk::ContourSetVtkMapper3D
 Vtk-based mapper for mitk::Contour. More...
 
class  mitk::ContourVtkMapper3D
 Vtk-based mapper for mitk::Contour. More...
 

Detailed Description

In the MITK rendering concept, Mappers are responsible for actually rendering data onto the screen.

Overview

Mappers differ in the type of data they are capable of rendering (e.g. volume data, polygonal data) and the mode of how data is rendered (e.g. 2D or 3D). For example, the ImageMapperGL2D renders volume data in a 2D view, i.e. it extracts a slice of the volume (as determined by the Geometry of the associated Renderer) and displays it as a 2D plane. All Mapper classes are arranged in a class hierarchy according to these criterions.

Integration into the rendering process

Mapper objects are owned by the DataNode which contains the data they have to render. An overview over this composition is given in the section Renderer and RenderWindow Classes. Each DataNode can have (and usually has) multiple Mappers attached, each responsible for different modes of rendering. In most cases this would be one 2D Mapper and one 3D Mapper, but other Mappers are possible, too. Which Mapper of a DataNode to use is determined by an ID; the Renderer of a 2D window would for example ask the DataNode to return an appropriate 2D Mapper.

More details can be found in the section on Rendering.

Future plans

The need to Update() a Mapper can be justified by property changes in the associated data items. However, property changes are not uniformly taken into account when deciding on whether to execute Update() or not. The changes are data specific and difficult to generalize. As an effect, many Update() calls are not really necessary and might slow down the rendering process significantly. One solution to this problem might be a mechanism which allows Mappers to register themselves to relevant data properties, so as to be notified whenever a change occurs. If no modification did occur since the last Update(), and the data itself has remained unchanged, no re-initialization (of the rendering pipeline for example) needs to be performed.