Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
Mapper to resample and display 2D slices of registration evaluation visualization. More...
#include <mitkRegEvaluationMapper2D.h>
Classes | |
class | LocalStorage |
Internal class holding the mapper, actor, etc. for each of the 3 2D render windows. More... | |
Public Member Functions | |
mitkClassMacro (RegEvaluationMapper2D, VtkMapper) | |
Pointer | Clone () const |
const mitk::DataNode * | GetTargetNode (void) |
const mitk::DataNode * | GetMovingNode (void) |
const mitk::Image * | GetTargetImage (void) |
Get the target image to map. More... | |
const mitk::Image * | GetMovingImage (void) |
Get the moving image to map. More... | |
const mitk::MAPRegistrationWrapper * | GetRegistration (void) |
Get the target image to map. More... | |
virtual void | Update (mitk::BaseRenderer *renderer) |
Checks whether this mapper needs to update itself and generate data. More... | |
virtual vtkProp * | GetVtkProp (mitk::BaseRenderer *renderer) |
LocalStorage * | GetLocalStorage (mitk::BaseRenderer *renderer) |
Get the LocalStorage corresponding to the current renderer. More... | |
Public Member Functions inherited from mitk::VtkMapper | |
virtual std::vector< std::string > | GetClassHierarchy () const override |
virtual const char * | GetClassName () const |
virtual bool | IsVtkBased () const override |
Returns whether this is an vtk-based mapper. More... | |
void | MitkRender (mitk::BaseRenderer *renderer, mitk::VtkPropRenderer::RenderType type) override |
Determines which geometry should be rendered (opaque, translucent, volumetric, overlay) and calls the appropriate function. More... | |
virtual void | MitkRenderOverlay (BaseRenderer *renderer) |
Checks visibility and renders the overlay. More... | |
virtual void | MitkRenderOpaqueGeometry (BaseRenderer *renderer) |
Checks visibility and renders untransparent geometry. More... | |
virtual void | MitkRenderTranslucentGeometry (BaseRenderer *renderer) |
Checks visiblity and renders transparent geometry. More... | |
virtual void | MitkRenderVolumetricGeometry (BaseRenderer *renderer) |
Checks visibility and renders volumes. More... | |
virtual bool | HasVtkProp (const vtkProp *prop, BaseRenderer *renderer) |
Returns true if this mapper owns the specified vtkProp for the given BaseRenderer. More... | |
virtual void | UpdateVtkTransform (mitk::BaseRenderer *renderer) |
Set the vtkTransform of the m_Prop3D for the current time step of renderer. More... | |
virtual void | ApplyProperties (vtkActor *actor, mitk::BaseRenderer *renderer) |
Apply color and opacity properties read from the PropertyList. More... | |
void | ApplyShaderProperties (mitk::BaseRenderer *renderer) |
SHADERTODO. More... | |
virtual void | ApplyColorAndOpacityProperties (mitk::BaseRenderer *renderer, vtkActor *actor) override |
Apply color and opacity properties read from the PropertyList. Called by mapper subclasses. More... | |
virtual void | ReleaseGraphicsResources (mitk::BaseRenderer *) |
Release vtk-based graphics resources that are being consumed by this mapper. More... | |
Public Member Functions inherited from mitk::Mapper | |
virtual void | SetDataNode (DataNode *_arg) |
Set the DataNode containing the data to map. More... | |
virtual DataNode * | GetDataNode () const |
Get the DataNode containing the data to map. Method only returns valid DataNode Pointer if the mapper belongs to a data node. Otherwise, the returned DataNode Pointer might be invalid. More... | |
BaseData * | GetData () const |
Get the data to map. More... | |
virtual bool | GetColor (float rgb[3], BaseRenderer *renderer, const char *name="color") const |
Convenience access method for color properties (instances of ColorProperty) More... | |
virtual bool | GetVisibility (bool &visible, BaseRenderer *renderer, const char *name="visible") const |
Convenience access method for visibility properties (instances of BoolProperty) More... | |
virtual bool | GetOpacity (float &opacity, BaseRenderer *renderer, const char *name="opacity") const |
Convenience access method for opacity properties (instances of FloatProperty) More... | |
virtual bool | GetLevelWindow (LevelWindow &levelWindow, BaseRenderer *renderer, const char *name="levelwindow") const |
Convenience access method for color properties (instances of LevelWindoProperty) More... | |
virtual bool | IsVisible (BaseRenderer *renderer, const char *name="visible") const |
Convenience access method for visibility properties (instances of BoolProperty). Return value is the visibility. Default is visible==true, i.e., true is returned even if the property (propertyKey) is not found. More... | |
int | GetTimestep () const |
Returns the current time step as calculated from the renderer. More... | |
virtual bool | IsLODEnabled (BaseRenderer *) const |
Static Public Member Functions | |
static Pointer | New () |
static void | SetDefaultProperties (mitk::DataNode *node, mitk::BaseRenderer *renderer=NULL, bool overwrite=false) |
Set the default properties for general image rendering. More... | |
Static Public Member Functions inherited from mitk::VtkMapper | |
static const char * | GetStaticNameOfClass () |
static void | SetVtkMapperImmediateModeRendering (vtkMapper *mapper) |
Re-issues all drawing commands required to describe the entire scene each time a new frame is required, regardless of actual changes. More... | |
Static Public Member Functions inherited from mitk::Mapper | |
static const char * | GetStaticNameOfClass () |
static void | SetDefaultProperties (DataNode *node, BaseRenderer *renderer=nullptr, bool overwrite=false) |
Set default values of properties used by this mapper to node. More... | |
Public Attributes | |
mitk::LocalStorageHandler< LocalStorage > | m_LSH |
The LocalStorageHandler holds all (three) LocalStorages for the three 2D render windows. More... | |
Public Attributes inherited from mitk::VtkMapper | |
mitk::LocalStorageHandler< VtkMapperLocalStorage > | m_VtkMapperLSH |
Protected Member Functions | |
void | TransformActor (mitk::BaseRenderer *renderer) |
Transforms the actor to the actual position in 3D. More... | |
void | GeneratePlane (mitk::BaseRenderer *renderer, double planeBounds[6]) |
Generates a plane according to the size of the resliced image in milimeters. More... | |
RegEvaluationMapper2D () | |
virtual | ~RegEvaluationMapper2D () |
virtual void | GenerateDataForRenderer (mitk::BaseRenderer *renderer) |
Does the actual resampling, without rendering the image yet. All the data is generated inside this method. The vtkProp (or Actor) is filled with content (i.e. the resliced image). More... | |
void | PrepareContour (mitk::DataNode *datanode, LocalStorage *localStorage) |
void | PrepareDifference (LocalStorage *localStorage) |
void | PrepareWipe (mitk::DataNode *datanode, LocalStorage *localStorage, const Point2D ¤tIndex2D) |
void | PrepareCheckerBoard (mitk::DataNode *datanode, LocalStorage *localStorage) |
void | PrepareColorBlend (LocalStorage *localStorage) |
void | PrepareBlend (mitk::DataNode *datanode, LocalStorage *localStorage) |
float | CalculateLayerDepth (mitk::BaseRenderer *renderer) |
This method uses the vtkCamera clipping range and the layer property to calcualte the depth of the object (e.g. image or contour). The depth is used to keep the correct order for the final VTK rendering. More... | |
void | ApplyLookuptable (mitk::BaseRenderer *renderer, const mitk::DataNode *dataNode, vtkMitkLevelWindowFilter *levelFilter) |
This method applies (or modifies) the lookuptable for all types of images. More... | |
void | ApplyLevelWindow (mitk::BaseRenderer *renderer, const mitk::DataNode *dataNode, vtkMitkLevelWindowFilter *levelFilter) |
ApplyLevelWindow Apply the level window for the given renderer. More... | |
void | ApplyOpacity (mitk::BaseRenderer *renderer) |
Set the opacity of the actor. More... | |
bool | RenderingGeometryIntersectsImage (const Geometry2D *renderingGeometry, SlicedGeometry3D *imageGeometry) |
Calculates whether the given rendering geometry intersects the given SlicedGeometry3D. More... | |
Protected Member Functions inherited from mitk::VtkMapper | |
VtkMapper () | |
virtual | ~VtkMapper () |
Protected Member Functions inherited from mitk::Mapper | |
Mapper () | |
explicit constructor which disallows implicit conversions More... | |
virtual | ~Mapper () |
virtual destructor in order to derive from this class More... | |
virtual void | GenerateData () |
Generate the data needed for rendering (independent of a specific renderer) More... | |
virtual void | CalculateTimeStep (BaseRenderer *renderer) |
Updates the time step, which is sometimes needed in subclasses. More... | |
virtual void | ResetMapper (BaseRenderer *) |
Reset the mapper (i.e., make sure that nothing is displayed) if no valid data is present. In most cases the reimplemented function disables the according actors (toggling visibility off) More... | |
virtual OverlayManager * | GetOverlayManager () const |
Additional Inherited Members | |
Public Types inherited from mitk::VtkMapper | |
typedef VtkMapper | Self |
typedef Mapper | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
Public Types inherited from mitk::Mapper | |
typedef Mapper | Self |
typedef itk::Object | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
Protected Attributes inherited from mitk::Mapper | |
mitk::DataNode * | m_DataNode |
Mapper to resample and display 2D slices of registration evaluation visualization.
Definition at line 58 of file mitkRegEvaluationMapper2D.h.
|
protected |
Default constructor
Definition at line 75 of file mitkRegEvaluationMapper2D.cpp.
|
protectedvirtual |
Default deconstructor
Definition at line 79 of file mitkRegEvaluationMapper2D.cpp.
|
protected |
ApplyLevelWindow Apply the level window for the given renderer.
renderer | Level window for which renderer? |
Definition at line 588 of file mitkRegEvaluationMapper2D.cpp.
References mitk::DataNode::GetLevelWindow(), vtkMitkLevelWindowFilter::GetLookupTable(), mitk::LevelWindow::GetLowerWindowBound(), mitk::LevelWindow::GetUpperWindowBound(), vtkMitkLevelWindowFilter::SetMaxOpacity(), and vtkMitkLevelWindowFilter::SetMinOpacity().
|
protected |
This method applies (or modifies) the lookuptable for all types of images.
Definition at line 611 of file mitkRegEvaluationMapper2D.cpp.
References mitk::DataNode::GetProperty(), mitk::RegEvaluationMapper2D::LocalStorage::m_ColorLookupTable, and vtkMitkLevelWindowFilter::SetLookupTable().
|
protected |
Set the opacity of the actor.
Definition at line 633 of file mitkRegEvaluationMapper2D.cpp.
References mitk::RegEvaluationMapper2D::LocalStorage::m_Actor, and mitk::RegEvaluationMapper2D::LocalStorage::m_Actors.
|
protected |
This method uses the vtkCamera clipping range and the layer property to calcualte the depth of the object (e.g. image or contour). The depth is used to keep the correct order for the final VTK rendering.
Definition at line 99 of file mitkRegEvaluationMapper2D.cpp.
References mitk::BaseRenderer::GetVtkRenderer(), and MITK_WARN.
Pointer mitk::RegEvaluationMapper2D::Clone | ( | ) | const |
|
protectedvirtual |
Does the actual resampling, without rendering the image yet. All the data is generated inside this method. The vtkProp (or Actor) is filled with content (i.e. the resliced image).
After generation, a 4x4 transformation matrix(t) of the current slice is obtained from the vtkResliceImage object via GetReslicesAxis(). This matrix is applied to each textured plane (actor->SetUserTransform(t)) to transform everything to the actual 3D position (cf. the following image).
Reimplemented from mitk::Mapper.
Definition at line 178 of file mitkRegEvaluationMapper2D.cpp.
References mitk::PlaneClipping::CalculateClippedPlaneBounds(), mitk::DataNode::GetBoolProperty(), mitk::BaseRenderer::GetCurrentWorldGeometry2D(), mitk::BaseRenderer::GetCurrentWorldGeometry2DUpdateTime(), mitk::VtkResliceInterpolationProperty::GetInterpolation(), mitk::PropertyList::GetMTime(), mitk::DataNode::GetProperty(), mitk::DataNode::GetPropertyList(), mitk::DataNode::GetPropertyValue(), mitk::PlaneGeometry::HasReferenceGeometry(), mitk::BaseGeometry::IsValid(), mitk::RegEvaluationMapper2D::LocalStorage::m_Actor, mitk::RegEvaluationMapper2D::LocalStorage::m_Actors, mitk::RegEvaluationMapper2D::LocalStorage::m_EmptyPolyData, mitk::RegEvaluationMapper2D::LocalStorage::m_EvaluationImage, mitk::RegEvaluationMapper2D::LocalStorage::m_LastUpdateTime, mitk::RegEvaluationMapper2D::LocalStorage::m_MappedExtractFilter, mitk::RegEvaluationMapper2D::LocalStorage::m_MappedLevelWindowFilter, mitk::RegEvaluationMapper2D::LocalStorage::m_Mapper, mitk::RegEvaluationMapper2D::LocalStorage::m_mmPerPixel, mitk::RegEvaluationMapper2D::LocalStorage::m_Plane, mitk::RegEvaluationMapper2D::LocalStorage::m_Reslicer, mitk::RegEvaluationMapper2D::LocalStorage::m_slicedMappedImage, mitk::RegEvaluationMapper2D::LocalStorage::m_slicedTargetImage, mitk::RegEvaluationMapper2D::LocalStorage::m_TargetExtractFilter, mitk::RegEvaluationMapper2D::LocalStorage::m_TargetLevelWindowFilter, mitk::RegEvaluationMapper2D::LocalStorage::m_Texture, mitk::ImageMappingHelper::map(), mitk::PlaneGeometry::Map(), mitk::RegEvalStyleProperty::New(), mitk::nodeProp_RegEvalBlendFactor, mitk::nodeProp_RegEvalCheckerCount, mitk::nodeProp_RegEvalCurrentPosition, mitk::nodeProp_RegEvalStyle, mitk::nodeProp_RegEvalTargetContour, mitk::nodeProp_RegEvalWipeStyle, mitk::PropertyIsOutdated(), mitk::ExtractSliceFilter::RESLICE_CUBIC, mitk::ExtractSliceFilter::RESLICE_LINEAR, mitk::ExtractSliceFilter::RESLICE_NEAREST, and mitk::PlaneGeometry::WorldToIndex().
|
protected |
Generates a plane according to the size of the resliced image in milimeters.
In VTK a vtkPlaneSource is defined through three points. The origin and two points defining the axes of the plane (see VTK documentation). The origin is set to (xMin; yMin; Z), where xMin and yMin are the minimal bounds of the resliced image in space. Z is relevant for blending and the layer property. The center of the plane (C) is also the center of the view plane (cf. the image above).
Definition at line 84 of file mitkRegEvaluationMapper2D.cpp.
References mitk::RegEvaluationMapper2D::LocalStorage::m_Plane.
mitk::RegEvaluationMapper2D::LocalStorage * mitk::RegEvaluationMapper2D::GetLocalStorage | ( | mitk::BaseRenderer * | renderer | ) |
Get the LocalStorage corresponding to the current renderer.
Definition at line 743 of file mitkRegEvaluationMapper2D.cpp.
const mitk::Image * mitk::RegEvaluationMapper2D::GetMovingImage | ( | void | ) |
Get the moving image to map.
Definition at line 128 of file mitkRegEvaluationMapper2D.cpp.
References mitk::RegEvaluationObject::GetMovingImage().
const mitk::DataNode * mitk::RegEvaluationMapper2D::GetMovingNode | ( | void | ) |
Definition at line 150 of file mitkRegEvaluationMapper2D.cpp.
References mitk::RegEvaluationObject::GetMovingNode().
const mitk::MAPRegistrationWrapper * mitk::RegEvaluationMapper2D::GetRegistration | ( | void | ) |
Get the target image to map.
Definition at line 161 of file mitkRegEvaluationMapper2D.cpp.
References mitk::RegEvaluationObject::GetRegistration().
const mitk::Image * mitk::RegEvaluationMapper2D::GetTargetImage | ( | void | ) |
Get the target image to map.
Definition at line 117 of file mitkRegEvaluationMapper2D.cpp.
References mitk::RegEvaluationObject::GetTargetImage().
const mitk::DataNode * mitk::RegEvaluationMapper2D::GetTargetNode | ( | void | ) |
Definition at line 139 of file mitkRegEvaluationMapper2D.cpp.
References mitk::RegEvaluationObject::GetTargetNode().
|
virtual |
Implements mitk::VtkMapper.
Definition at line 172 of file mitkRegEvaluationMapper2D.cpp.
mitk::RegEvaluationMapper2D::mitkClassMacro | ( | RegEvaluationMapper2D | , |
VtkMapper | |||
) |
Standard class typedefs.
|
static |
Method for creation through the object factory.
Referenced by mitk::RegEvaluationObjectFactory::CreateMapper().
|
protected |
Definition at line 571 of file mitkRegEvaluationMapper2D.cpp.
References mitk::DataNode::GetIntProperty(), mitk::RegEvaluationMapper2D::LocalStorage::m_EvaluationImage, mitk::RegEvaluationMapper2D::LocalStorage::m_MappedExtractFilter, mitk::RegEvaluationMapper2D::LocalStorage::m_TargetExtractFilter, mitk::New(), and mitk::nodeProp_RegEvalBlendFactor.
|
protected |
Definition at line 539 of file mitkRegEvaluationMapper2D.cpp.
References mitk::DataNode::GetIntProperty(), mitk::RegEvaluationMapper2D::LocalStorage::m_EvaluationImage, mitk::RegEvaluationMapper2D::LocalStorage::m_MappedLevelWindowFilter, mitk::RegEvaluationMapper2D::LocalStorage::m_TargetLevelWindowFilter, mitk::New(), and mitk::nodeProp_RegEvalCheckerCount.
|
protected |
|
protected |
Definition at line 452 of file mitkRegEvaluationMapper2D.cpp.
References mitk::DataNode::GetBoolProperty(), mitk::RegEvaluationMapper2D::LocalStorage::m_EvaluationImage, mitk::RegEvaluationMapper2D::LocalStorage::m_MappedExtractFilter, mitk::RegEvaluationMapper2D::LocalStorage::m_TargetExtractFilter, mitk::New(), and mitk::nodeProp_RegEvalTargetContour.
|
protected |
|
protected |
Definition at line 510 of file mitkRegEvaluationMapper2D.cpp.
References mitk::DataNode::GetProperty(), mitk::RegEvaluationMapper2D::LocalStorage::m_EvaluationImage, mitk::RegEvaluationMapper2D::LocalStorage::m_MappedLevelWindowFilter, mitk::RegEvaluationMapper2D::LocalStorage::m_TargetLevelWindowFilter, mitk::New(), mitk::RegEvalWipeStyleProperty::New(), and mitk::nodeProp_RegEvalWipeStyle.
|
protected |
Calculates whether the given rendering geometry intersects the given SlicedGeometry3D.
This method checks if the given Geometry2D intersects the given SlicedGeometry3D. It calculates the distance of the Geometry2D to all 8 cornerpoints of the SlicedGeometry3D. If all distances have the same sign (all positive or all negative) there is no intersection. If the distances have different sign, there is an intersection.
Definition at line 768 of file mitkRegEvaluationMapper2D.cpp.
References mitk::BaseGeometry::GetCornerPoint(), and mitk::PlaneGeometry::SignedDistance().
|
static |
Set the default properties for general image rendering.
Definition at line 702 of file mitkRegEvaluationMapper2D.cpp.
References mitk::DataNode::AddProperty(), mitk::DataNode::GetData(), mitk::RegEvaluationObject::GetTargetImage(), mitk::Image::IsRotated(), mitk::BoolProperty::New(), mitk::IntProperty::New(), mitk::FloatProperty::New(), mitk::VtkResliceInterpolationProperty::New(), mitk::RegEvalWipeStyleProperty::New(), mitk::RegEvalStyleProperty::New(), mitk::LookupTable::New(), mitk::LookupTableProperty::New(), mitk::ColorProperty::New(), mitk::RenderingModeProperty::New(), mitk::nodeProp_RegEvalBlendFactor, mitk::nodeProp_RegEvalCheckerCount, mitk::nodeProp_RegEvalCurrentPosition, mitk::nodeProp_RegEvalStyle, mitk::nodeProp_RegEvalTargetContour, mitk::nodeProp_RegEvalWipeStyle, and mitk::DataNode::SetProperty().
|
protected |
Transforms the actor to the actual position in 3D.
renderer | The current renderer corresponding to the render window. |
Definition at line 748 of file mitkRegEvaluationMapper2D.cpp.
References mitk::RegEvaluationMapper2D::LocalStorage::m_Actor, mitk::RegEvaluationMapper2D::LocalStorage::m_Actors, mitk::RegEvaluationMapper2D::LocalStorage::m_mmPerPixel, mitk::RegEvaluationMapper2D::LocalStorage::m_Reslicer, and mitk::New().
|
virtual |
Checks whether this mapper needs to update itself and generate data.
Reimplemented from mitk::Mapper.
Definition at line 647 of file mitkRegEvaluationMapper2D.cpp.
References mitk::BaseRenderer::GetCurrentWorldGeometry2D(), mitk::BaseRenderer::GetCurrentWorldGeometry2DUpdateTime(), mitk::PropertyList::GetMTime(), mitk::DataNode::GetMTime(), mitk::DataNode::GetPropertyList(), mitk::BaseData::GetTimeGeometry(), mitk::TimeGeometry::IsValidTimeStep(), mitk::RegEvaluationMapper2D::LocalStorage::m_LastUpdateTime, and mitk::SlicedData::UpdateOutputInformation().
mitk::LocalStorageHandler<LocalStorage> mitk::RegEvaluationMapper2D::m_LSH |
The LocalStorageHandler holds all (three) LocalStorages for the three 2D render windows.
Definition at line 151 of file mitkRegEvaluationMapper2D.h.