Computer Assited Medical Intervention Tool Kit  version 4.1
Public Types | Public Slots | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
camitk::MedicalImageViewer Class Reference

The views manager. More...

#include <MedicalImageViewer.h>

Inherits camitk::Viewer.

Public Types

enum  LayoutVisibility {
  VIEWER_ALL, VIEWER_3D, VIEWER_AXIAL, VIEWER_CORONAL,
  VIEWER_SAGITTAL, VIEWER_ARBITRARY
}
 describes the possible currently displayed InteractiveViewer More...
 

Public Slots

void synchronizeSelection ()
 called when an internal InteractiveViewers has emitted a selectionChanged signal More...
 

Public Member Functions

void setVisibleViewer (LayoutVisibility)
 called to change the layout, i.e. which viewer is visible More...
 
 ~MedicalImageViewer () override
 destructor More...
 
Viewer inherited
unsigned int numberOfViewedComponent () override
 
void refresh (Viewer *whoIsAsking=nullptr) override
 refresh the view (can be interesting to know which other viewer is calling this) More...
 
QWidget * getWidget (QWidget *parent=nullptr) override
 get the viewer widget. More...
 
QObject * getPropertyObject () override
 get the propertyObject (only the 3D Scene one) More...
 
QMenu * getMenu () override
 get the viewer menu More...
 
QToolBar * getToolBar () override
 get the viewer toolbar More...
 
virtual void setToolbarAutoVisibility (bool)
 force toolbar visibility. More...
 
- Public Member Functions inherited from camitk::Viewer
virtual void refreshInterfaceNode (Component *comp)
 Update the whole tree of the representation of the Component. More...
 
 Viewer (QString name)
 default constructor More...
 
 ~Viewer () override=default
 default destructor More...
 

Static Public Member Functions

static MedicalImageViewergetInstance ()
 get singleton instance More...
 

Protected Member Functions

 MedicalImageViewer ()
 Protected construtor (singleton) More...
 
- Protected Member Functions inherited from camitk::Viewer
void clearSelection ()
 clear the selection More...
 
void selectionChanged (ComponentList &compSet)
 The selection has changed to the given ComponentList. More...
 
void selectionChanged (Component *comp)
 the selection has changed to be just one comp More...
 

Private Member Functions

void updateLayout ()
 set the current visibility of the different viewer More...
 

Private Attributes

bool autoUpdateToolbarVisibility
 if true, the toolbar automatically updated More...
 
unsigned int displayedTopLevelComponents
 number of top-level component that are currently displayed More...
 
QFrame * frame
 the main widget More...
 
QGridLayout * frameLayout
 The main layout. More...
 
QVBoxLayout * topLeftLayout
 the layout for the arbitrary/axial at the top left position of frameLayout More...
 
QMenu * viewerMenu
 the QMenu for the MedicalImageViewer More...
 
QMap< LayoutVisibility, Viewer * > viewers
 contains all InteractiveViewer instance (access them by LayoutVisibility) More...
 
QList< LayoutVisibilityviewerVisibility
 viewer visibility enum More...
 
LayoutVisibility visibleLayout
 which viewer(s) is/are currently visible More...
 

Static Private Attributes

static MedicalImageViewersingleton = nullptr
 the default instance (singleton) More...
 

Additional Inherited Members

- Signals inherited from camitk::Viewer
void selectionChanged ()
 this signal is emitted when the current selection was changed by the viewer More...
 

Detailed Description

The views manager.

MedicalImageViewer is a viewer that can display from 1 to 4 InteractiveViewer that represents the axial, coronal, sagittal and 3D view of the same medical image. The views used the default InteractiveViewers singletons.

This class follow the "singleton" design pattern, see getInstance(). Singleton is enforced/recommanded so that actions can directly use the show*Viewer() methods

medicalimageviewer.png
The medical image viewer

Member Enumeration Documentation

◆ LayoutVisibility

describes the possible currently displayed InteractiveViewer

Enumerator
VIEWER_ALL 

All InteractiveViewer are visible.

VIEWER_3D 

Only the 3D InteractiveViewer are visible.

VIEWER_AXIAL 

Only the axial InteractiveViewer are visible.

VIEWER_CORONAL 

Only the coronal InteractiveViewer are visible.

VIEWER_SAGITTAL 

Only the sagittal InteractiveViewer are visible.

VIEWER_ARBITRARY 

Only the arbitrary InteractiveViewer are visible.

Constructor & Destructor Documentation

◆ ~MedicalImageViewer()

camitk::MedicalImageViewer::~MedicalImageViewer ( )
override

destructor

References frame.

◆ MedicalImageViewer()

camitk::MedicalImageViewer::MedicalImageViewer ( )
protected

Protected construtor (singleton)

References autoUpdateToolbarVisibility, displayedTopLevelComponents, frame, frameLayout, VIEWER_3D, viewerMenu, and visibleLayout.

Referenced by getInstance().

Member Function Documentation

◆ getInstance()

MedicalImageViewer * camitk::MedicalImageViewer::getInstance ( )
static

get singleton instance

References MedicalImageViewer(), and singleton.

◆ getMenu()

QMenu * camitk::MedicalImageViewer::getMenu ( )
overridevirtual

◆ getPropertyObject()

QObject * camitk::MedicalImageViewer::getPropertyObject ( )
overridevirtual

get the propertyObject (only the 3D Scene one)

Reimplemented from camitk::Viewer.

References camitk::InteractiveViewer::get3DViewer(), and camitk::InteractiveViewer::getPropertyObject().

◆ getToolBar()

QToolBar * camitk::MedicalImageViewer::getToolBar ( )
overridevirtual

get the viewer toolbar

Reimplemented from camitk::Viewer.

References VIEWER_3D, and viewers.

Referenced by setToolbarAutoVisibility(), and updateLayout().

◆ getWidget()

QWidget * camitk::MedicalImageViewer::getWidget ( QWidget *  parent = nullptr)
overridevirtual

◆ numberOfViewedComponent()

unsigned int camitk::MedicalImageViewer::numberOfViewedComponent ( )
overridevirtual

returns the number of Component that are displayed by this viewer

Implements camitk::Viewer.

References VIEWER_ALL, viewers, and viewerVisibility.

Referenced by refresh().

◆ refresh()

void camitk::MedicalImageViewer::refresh ( Viewer whoIsAsking = nullptr)
overridevirtual

◆ setToolbarAutoVisibility()

void camitk::MedicalImageViewer::setToolbarAutoVisibility ( bool  toolbarVisibility)
virtual

force toolbar visibility.

The toolbar is normally updated automatically on layout update (see updateLayout()) and is visible if all the 3D scene is visible (which is the default visualization state). Calling this method with false will avoid this automatic update.

By default the toolbar is automatically update

References autoUpdateToolbarVisibility, and getToolBar().

◆ setVisibleViewer()

void camitk::MedicalImageViewer::setVisibleViewer ( LayoutVisibility  visibleViewer)

called to change the layout, i.e. which viewer is visible

References updateLayout(), and visibleLayout.

◆ synchronizeSelection

void camitk::MedicalImageViewer::synchronizeSelection ( )
slot

called when an internal InteractiveViewers has emitted a selectionChanged signal

References camitk::Viewer::refresh(), camitk::Viewer::selectionChanged(), and viewers.

Referenced by getWidget().

◆ updateLayout()

void camitk::MedicalImageViewer::updateLayout ( )
private

Member Data Documentation

◆ autoUpdateToolbarVisibility

bool camitk::MedicalImageViewer::autoUpdateToolbarVisibility
private

if true, the toolbar automatically updated

Referenced by MedicalImageViewer(), setToolbarAutoVisibility(), and updateLayout().

◆ displayedTopLevelComponents

unsigned int camitk::MedicalImageViewer::displayedTopLevelComponents
private

number of top-level component that are currently displayed

Referenced by MedicalImageViewer(), and refresh().

◆ frame

QFrame* camitk::MedicalImageViewer::frame
private

◆ frameLayout

QGridLayout* camitk::MedicalImageViewer::frameLayout
private

The main layout.

Referenced by getWidget(), and MedicalImageViewer().

◆ singleton

MedicalImageViewer * camitk::MedicalImageViewer::singleton = nullptr
staticprivate

the default instance (singleton)

Referenced by getInstance().

◆ topLeftLayout

QVBoxLayout* camitk::MedicalImageViewer::topLeftLayout
private

the layout for the arbitrary/axial at the top left position of frameLayout

Referenced by getWidget().

◆ viewerMenu

QMenu* camitk::MedicalImageViewer::viewerMenu
private

the QMenu for the MedicalImageViewer

Referenced by getMenu(), and MedicalImageViewer().

◆ viewers

QMap<LayoutVisibility, Viewer*> camitk::MedicalImageViewer::viewers
private

contains all InteractiveViewer instance (access them by LayoutVisibility)

Referenced by getMenu(), getToolBar(), getWidget(), numberOfViewedComponent(), refresh(), synchronizeSelection(), and updateLayout().

◆ viewerVisibility

QList<LayoutVisibility> camitk::MedicalImageViewer::viewerVisibility
private

viewer visibility enum

Referenced by getMenu(), getWidget(), numberOfViewedComponent(), and updateLayout().

◆ visibleLayout

LayoutVisibility camitk::MedicalImageViewer::visibleLayout
private

which viewer(s) is/are currently visible

Referenced by MedicalImageViewer(), refresh(), setVisibleViewer(), and updateLayout().


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