|
Medical Imaging Interaction Toolkit
2025.08.00
Medical Imaging Interaction Toolkit
|
Controls the selection of the slice the associated BaseRenderer will display. More...
#include <mitkSliceNavigationController.h>


Classes | |
| class | GeometrySendEvent |
| class | GeometrySliceEvent |
| class | GeometryUpdateEvent |
| class | TimeGeometryEvent |
Public Types | |
| typedef SliceNavigationController | Self |
| typedef BaseController | Superclass |
| typedef itk::SmartPointer< Self > | Pointer |
| typedef itk::SmartPointer< const Self > | ConstPointer |
Public Types inherited from mitk::BaseController | |
| typedef BaseController | Self |
| typedef OperationActor | Superclass |
| typedef itk::SmartPointer< Self > | Pointer |
| typedef itk::SmartPointer< const Self > | ConstPointer |
Public Member Functions | |
| virtual std::vector< std::string > | GetClassHierarchy () const override |
| virtual const char * | GetClassName () const |
| void | SetInputWorldTimeGeometry (const TimeGeometry *geometry) |
| Set the input world time geometry out of which the geometries for slicing will be created. More... | |
| virtual const TimeGeometry * | GetInputWorldTimeGeometry () |
| virtual const TimeGeometry * | GetCreatedWorldGeometry () |
| Access the created geometry. More... | |
| virtual TimeGeometry * | GetCreatedWorldGeometry () |
| itkSetEnumMacro (ViewDirection, AnatomicalPlane) | |
| Set the desired view directions. More... | |
| itkGetEnumMacro (ViewDirection, AnatomicalPlane) | |
| itkSetEnumMacro (DefaultViewDirection, AnatomicalPlane) | |
| Set the default view direction. More... | |
| itkGetEnumMacro (DefaultViewDirection, AnatomicalPlane) | |
| const char * | GetViewDirectionAsString () const |
| virtual void | SetViewDirectionToDefault () |
| virtual void | Update () |
| Do the actual creation and send it to the connected observers (renderers) More... | |
| virtual void | Update (AnatomicalPlane viewDirection, bool top=true, bool frontside=true, bool rotated=false) |
| Extended version of Update, additionally allowing to specify the direction/orientation of the created geometry. More... | |
| virtual void | SendCreatedWorldGeometry () |
| Send the created geometry to the connected observers (renderers) More... | |
| virtual void | SendCreatedWorldGeometryUpdate () |
| Tell observers to re-read the currently selected 2D geometry. More... | |
| virtual void | SendSlice () |
| Send the currently selected slice to the connected observers (renderers) More... | |
| template<typename T > | |
| void | ConnectGeometrySendEvent (T *receiver) |
| template<typename T > | |
| void | ConnectGeometryUpdateEvent (T *receiver) |
| template<typename T > | |
| void | ConnectGeometrySliceEvent (T *receiver) |
| template<typename T > | |
| void | Disconnect (T *receiver) |
| void | SelectSliceByPoint (const Point3D &point) |
| Positions the SNC according to the specified point. More... | |
| const BaseGeometry * | GetCurrentGeometry3D () |
| Returns the BaseGeometry of the currently selected time step. More... | |
| const PlaneGeometry * | GetCurrentPlaneGeometry () |
| Returns the currently selected Plane in the current BaseGeometry (if existent). More... | |
| virtual void | SetRenderer (BaseRenderer *_arg) |
| Sets / gets the BaseRenderer associated with this SNC (if any). While the BaseRenderer is not directly used by SNC, this is a convenience method to enable BaseRenderer access via the SNC. More... | |
| virtual BaseRenderer * | GetRenderer () |
| void | ReorientSlices (const Point3D &point, const Vector3D &normal) |
| Re-orients the slice stack. All slices will be oriented to the given normal vector. The given point (world coordinates) defines the selected slice. Careful: The resulting axis vectors are not clearly defined this way. If you want to define them clearly, use ReorientSlices (const Point3D &point, const Vector3D &axisVec0, const Vector3D &axisVec1). More... | |
| void | ReorientSlices (const Point3D &point, const Vector3D &axisVec0, const Vector3D &axisVec1) |
| Re-orients the slice stack so that all planes are oriented according to the given axis vectors. The given Point eventually defines selected slice. More... | |
| void | ExecuteOperation (Operation *operation) override |
| virtual void | SetSliceLocked (bool _arg) |
| Feature option to lock planes during mouse interaction. This option flag disables the mouse event which causes the center cross to move near by. More... | |
| virtual bool | GetSliceLocked () |
| virtual void | SliceLockedOn () |
| virtual void | SliceLockedOff () |
| virtual void | SetSliceRotationLocked (bool _arg) |
| Feature option to lock slice rotation. More... | |
| virtual bool | GetSliceRotationLocked () |
| virtual void | SliceRotationLockedOn () |
| virtual void | SliceRotationLockedOff () |
| void | AdjustSliceStepperRange () |
| Adjusts the numerical range of the slice stepper according to the current geometry orientation of this SNC's SlicedGeometry. More... | |
Public Member Functions inherited from mitk::BaseController | |
| Stepper * | GetStepper () |
| Get the stepper through the corresponding dimension. More... | |
| const Stepper * | GetStepper () const |
Public Member Functions inherited from mitk::OperationActor | |
| itkTypeMacroNoParent (OperationActor) virtual ~OperationActor() | |
Static Public Member Functions | |
| static const char * | GetStaticNameOfClass () |
| static Pointer | New () |
Static Public Member Functions inherited from mitk::BaseController | |
| static const char * | GetStaticNameOfClass () |
| static Pointer | New () |
Public Attributes | |
| Message1< const Point3D & > | SetCrosshairEvent |
Protected Types | |
| typedef std::map< void *, std::list< unsigned long > > | ObserverTagsMapType |
Protected Member Functions | |
| SliceNavigationController () | |
| ~SliceNavigationController () override | |
| void | CreateWorldGeometry (bool top, bool frontside, bool rotated) |
Protected Member Functions inherited from mitk::BaseController | |
| BaseController () | |
| Default Constructor. More... | |
| ~BaseController () override | |
| Default Destructor. More... | |
Protected Attributes | |
| TimeGeometry::ConstPointer | m_InputWorldTimeGeometry |
| TimeGeometry::Pointer | m_CreatedWorldGeometry |
| AnatomicalPlane | m_ViewDirection |
| AnatomicalPlane | m_DefaultViewDirection |
| RenderingManager::Pointer | m_RenderingManager |
| BaseRenderer * | m_Renderer |
| bool | m_BlockUpdate |
| bool | m_SliceLocked |
| bool | m_SliceRotationLocked |
| ObserverTagsMapType | m_ReceiverToObserverTagsMap |
Protected Attributes inherited from mitk::BaseController | |
| Stepper::Pointer | m_Stepper |
| unsigned long | m_LastUpdateTime |
Controls the selection of the slice the associated BaseRenderer will display.
A SliceNavigationController takes a TimeGeometry as input world time geometry and generates a different TimeGeometry as output, depending on the current view direction and the current time step. The TimeGeometry holds a number of SlicedGeometry3Ds and these in turn hold a series of PlaneGeometries. One of these PlaneGeometries is selected as world geometry for the BaseRenderers associated to 2D views.
The SliceNavigationController holds a Stepper, which controls the slice-selection of a single PlaneGeometry from the TimeGeometry. SliceNavigationController generates ITK events to tell observers, like a BaseRenderer, when the selected slice changes.
Example:
You can connect visible navigation widgets to a SliceNavigationController, e.g., a QmitkSliceNavigationWidget (for Qt):
If you do not want that all renderwindows are updated when a new slice is selected, you can use a specific RenderingManager, which updates only those renderwindows that should be updated. This is sometimes useful when a 3D view does not need to be updated when the slices in some 2D views are changed.
Definition at line 130 of file mitkSliceNavigationController.h.
| typedef itk::SmartPointer<const Self> mitk::SliceNavigationController::ConstPointer |
Definition at line 134 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 365 of file mitkSliceNavigationController.h.
Definition at line 134 of file mitkSliceNavigationController.h.
Definition at line 134 of file mitkSliceNavigationController.h.
Definition at line 134 of file mitkSliceNavigationController.h.
|
protected |
|
overrideprotected |
| void mitk::SliceNavigationController::AdjustSliceStepperRange | ( | ) |
Adjusts the numerical range of the slice stepper according to the current geometry orientation of this SNC's SlicedGeometry.
|
inline |
Definition at line 243 of file mitkSliceNavigationController.h.
|
inline |
Definition at line 261 of file mitkSliceNavigationController.h.
|
inline |
Definition at line 252 of file mitkSliceNavigationController.h.
|
protected |
|
inline |
Definition at line 271 of file mitkSliceNavigationController.h.
|
overridevirtual |
Reimplemented from mitk::BaseController.
|
inlineoverridevirtual |
Reimplemented from mitk::BaseController.
Definition at line 134 of file mitkSliceNavigationController.h.
|
virtual |
Reimplemented from mitk::BaseController.
|
virtual |
Access the created geometry.
|
virtual |
| const BaseGeometry* mitk::SliceNavigationController::GetCurrentGeometry3D | ( | ) |
Returns the BaseGeometry of the currently selected time step.
| const PlaneGeometry* mitk::SliceNavigationController::GetCurrentPlaneGeometry | ( | ) |
Returns the currently selected Plane in the current BaseGeometry (if existent).
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
inlinestatic |
Definition at line 134 of file mitkSliceNavigationController.h.
| const char* mitk::SliceNavigationController::GetViewDirectionAsString | ( | ) | const |
| mitk::SliceNavigationController::itkGetEnumMacro | ( | DefaultViewDirection | , |
| AnatomicalPlane | |||
| ) |
| mitk::SliceNavigationController::itkGetEnumMacro | ( | ViewDirection | , |
| AnatomicalPlane | |||
| ) |
| mitk::SliceNavigationController::itkSetEnumMacro | ( | DefaultViewDirection | , |
| AnatomicalPlane | |||
| ) |
Set the default view direction.
This is used to re-initialize the view direction of the SNC to the default value with SetViewDirectionToDefault()
| mitk::SliceNavigationController::itkSetEnumMacro | ( | ViewDirection | , |
| AnatomicalPlane | |||
| ) |
Set the desired view directions.
|
static |
| void mitk::SliceNavigationController::ReorientSlices | ( | const Point3D & | point, |
| const Vector3D & | axisVec0, | ||
| const Vector3D & | axisVec1 | ||
| ) |
Re-orients the slice stack so that all planes are oriented according to the given axis vectors. The given Point eventually defines selected slice.
| void mitk::SliceNavigationController::ReorientSlices | ( | const Point3D & | point, |
| const Vector3D & | normal | ||
| ) |
Re-orients the slice stack. All slices will be oriented to the given normal vector. The given point (world coordinates) defines the selected slice. Careful: The resulting axis vectors are not clearly defined this way. If you want to define them clearly, use ReorientSlices (const Point3D &point, const Vector3D &axisVec0, const Vector3D &axisVec1).
| void mitk::SliceNavigationController::SelectSliceByPoint | ( | const Point3D & | point | ) |
Positions the SNC according to the specified point.
|
virtual |
Send the created geometry to the connected observers (renderers)
Called by Update().
|
virtual |
Tell observers to re-read the currently selected 2D geometry.
|
virtual |
Send the currently selected slice to the connected observers (renderers)
Called by Update().
| void mitk::SliceNavigationController::SetInputWorldTimeGeometry | ( | const TimeGeometry * | geometry | ) |
Set the input world time geometry out of which the geometries for slicing will be created.
Any previous set input geometry (3D or Time) will be ignored in the future.
|
virtual |
Sets / gets the BaseRenderer associated with this SNC (if any). While the BaseRenderer is not directly used by SNC, this is a convenience method to enable BaseRenderer access via the SNC.
|
virtual |
Feature option to lock planes during mouse interaction. This option flag disables the mouse event which causes the center cross to move near by.
|
virtual |
Feature option to lock slice rotation.
This option flag disables separately the rotation of a slice which is implemented in mitkSliceRotator.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Do the actual creation and send it to the connected observers (renderers)
|
virtual |
Extended version of Update, additionally allowing to specify the direction/orientation of the created geometry.
|
protected |
Definition at line 360 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 351 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 354 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 350 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 366 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 358 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 356 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 362 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 363 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 353 of file mitkSliceNavigationController.h.
Definition at line 284 of file mitkSliceNavigationController.h.