open_iA 2023.02
A tool for the visual analysis and processing of volumetric datasets, with a focus on industrial computed tomography.
Loading...
Searching...
No Matches
Public Types | Public Slots | Signals | Public Member Functions | Static Public Attributes | List of all members
iAMdiChild Class Referenceabstract

#include <iAMdiChild.h>

Inheritance diagram for iAMdiChild:
[legend]
Collaboration diagram for iAMdiChild:
[legend]

Public Types

enum  iAInteractionMode { imCamera , imRegistration }
 

Public Slots

virtual void updateRenderer ()=0
 Update 3D renderer.
 
virtual void updateSlicers ()=0
 Update all slice views.
 
virtual void updateViews ()=0
 Updates all views (slicers, renderers)
 

Signals

void closed ()
 
void dataSetChanged (size_t dataSetIdx)
 emitted when properties of a dataset have been changed
 
void dataSetPrepared (size_t dataSetIdx)
 emitted when all data for displaying a dataset has been prepared
 
void dataSetRemoved (size_t dataSetIdx)
 emitted when a dataset has been removed
 
void dataSetRendered (size_t dataSetIdx)
 emitted when the dataset has been added to all relevant views
 
void dataSetSelected (size_t dataSetIdx)
 emitted when a dataset has been selected in the data list
 
void fileLoaded ()
 emitted when the file data is loaded; the initialization operations are not fully done yet then - use dataSetRendered instead if you require the file to be fully loaded!
 
void magicLensToggled (bool isToggled)
 emitted whenever the magic lens has been toggled on or off
 
void preferencesChanged ()
 emitted when the preferences have changed
 
void profilePointChanged (int pointIdx, double *globalPos)
 emitted whenever one of the profile points changes
 
void rendererDeactivated (int c)
 
void renderSettingsChanged ()
 emitted when the renderer settings have changed
 
void slicerSettingsChanged ()
 emitted when the slicer settings have changed
 
void viewsUpdated ()
 emitted when the slicer/renderer views have been updated, and when their camera has been reset
 

Public Member Functions

virtual size_t addDataSet (std::shared_ptr< iADataSet > dataSet)=0
 add a dataset
 
virtual void addTool (QString const &key, std::shared_ptr< iATool > tool)=0
 add a tool to this child (a collection of UI elements with their own behavior and state)
 
virtual void applyRendererSettings (iARenderSettings const &rs, iAVolumeSettings const &vs)=0
 apply the given (3D) renderer settings
 
virtual std::shared_ptr< iADataSetchooseDataSet (QString const &title="Choose dataset")=0
 If more than one dataset loaded, ask user to choose one of them (used for saving)
 
virtual void clearDataSets ()=0
 clear (remove) all datasets
 
virtual uint createChannel ()=0
 Create a new channel, return its ID.
 
virtual QString currentFile () const =0
 Name of the currently open file (project file / first modality file / ...) If possible, use something more specific (e.g.
 
virtual QDockWidget * dataInfoDockWidget ()=0
 Access to dataset information dock widget.
 
virtual std::shared_ptr< iADataSetdataSet (size_t dataSetIdx) const =0
 Retrieve a dataset by its index.
 
virtual size_t dataSetIndex (iADataSet const *dataSet) const =0
 Retrieve the index of a dataset.
 
virtual iADataSetListWidgetdataSetListWidget ()=0
 Retrieve dataset list.
 
virtual std::map< size_t, std::shared_ptr< iADataSet > > const & dataSetMap () const =0
 Retrieve a list of the indices of all datasets loaded in this window.
 
virtual iADataSetViewerdataSetViewer (size_t idx) const =0
 Retrieve the viewer for the dataset with given index.
 
virtual QFileInfo const & fileInfo () const =0
 Access to file info of "current" file.
 
virtual QString filePath () const =0
 
virtual vtkSmartPointer< vtkImageData > firstImageData () const =0
 Retrieve the first image dataset (if any loaded).
 
virtual size_t firstImageDataSetIdx () const =0
 Retrieve the index of the first image data set (if any loaded), or NoDataSet if none loaded.
 
virtual void initChannelRenderer (uint id, bool use3D, bool enableChannel=true)=0
 Initialize the renderers for a channel.
 
virtual iAInteractionMode interactionMode () const =0
 Retrieve the current interaction mode (whether camera is changed, or manual registration is active, see iAInteractionMode)
 
virtual bool isMagicLens2DEnabled () const =0
 whether the 2D magic lens in slicer is currently enabled
 
virtual bool isVolumeDataLoaded () const =0
 whether the child currently has volume data loaded
 
virtual QString layoutName () const =0
 Returns the name of the layout currently applied to this child window.
 
virtual bool linkedViews () const =0
 Whether this child has the linked views feature enabled.
 
virtual void loadLayout (QString const &layout)=0
 Loads the layout with the given name from the settings store, and tries to restore the according dockwidgets configuration.
 
virtual void loadSettings (QSettings const &settings)=0
 load state (saved via saveState)
 
virtual vtkRenderer * magicLens3DRenderer () const =0
 Reinitialize magic lens channel?
 
virtual void multiview ()=0
 Apply the "multiview" layout (i.e. where not only one dock widget but multiple are shown)
 
virtual iAPreferences const & preferences () const =0
 
virtual void removeChannel (uint id)=0
 Remove channel in all slicers.
 
virtual void removeDataSet (size_t dataSetIdx)=0
 remove dataset with given ID
 
virtual void removeTool (QString const &key)=0
 removes the given tool from this child
 
virtual QDockWidget * renderDockWidget ()=0
 Access to 3D renderer dock widget.
 
virtual iARendererrenderer ()=0
 Access to the 3D renderer widget.
 
virtual QWidget * rendererWidget ()=0
 Access to widget containing the 3D renderer.
 
virtual iARenderSettings const & renderSettings () const =0
 
virtual void saveSettings (QSettings &settings)=0
 save state, for example camera position
 
virtual void set3DControlVisibility (bool visible)=0
 
virtual void setChannelRenderingEnabled (uint, bool enabled)=0
 Enable/Disable channel rendering for a given channel ID.
 
virtual void setDataSetMovable (size_t dataSetIdx)=0
 a crutch for letting interactor know which dataset is to be moved and synced across slicers
 
virtual void setMagicLensEnabled (bool isOn)=0
 Enable/Disable the 2D magic lens in slicer.
 
virtual void setMagicLensInput (uint id)=0
 Set the ID of the channel which should be the input to the 2D magic lens in slicer.
 
virtual void setProfilePoints (double const *start, double const *end)=0
 called to set profile point positions in renderer and slicer
 
virtual void setROIVisible (bool isVisible)=0
 
virtual void setWindowTitleAndFile (QString const &f)=0
 set window title, and if a file name is given, set it as window file and add it to recent files
 
virtual iASlicerslicer (int mode)=0
 Access slicer for given mode (use iASlicerMode enum for mode values)
 
virtual QHBoxLayout * slicerContainerLayout (int mode)=0
 Access to the layout in the slicer dockwidget containing the actual iASlicer.
 
virtual QDockWidget * slicerDockWidget (int mode)=0
 Access to slicer dock widget for the given mode.
 
virtual QSlider * slicerScrollBar (int mode)=0
 Access to the scroll bar next to a slicer.
 
virtual iASlicerSettings const & slicerSettings () const =0
 
virtual vtkTransform * slicerTransform ()=0
 
virtual QMap< QString, std::shared_ptr< iATool > > const & tools ()=0
 retrieve all tools attached to this child
 
virtual void updateChannel (uint id, vtkSmartPointer< vtkImageData > imgData, vtkScalarsToColors *ctf, vtkPiecewiseFunction *otf, bool enable)=0
 Update the data of the given channel ID.
 
virtual void updateChannelOpacity (uint id, double opacity)=0
 Update opacity of the given channel ID.
 
virtual void updateLayout ()=0
 Apply the layout currently selected in the layout combobox in the main window.
 
virtual void updateROI (int const roi[6])=0
 
virtual iAVolumeSettings const & volumeSettings () const =0
 
virtual iAChannelDatachannelData (uint id)=0
 
virtual iAChannelData const * channelData (uint id) const =0
 

Static Public Attributes

static const size_t NoDataSet = std::numeric_limits<size_t>::max()
 Constant indicating an invalid dataset index.
 

Member Enumeration Documentation

◆ iAInteractionMode

Enumerator
imCamera 
imRegistration 

Member Function Documentation

◆ addDataSet()

virtual size_t iAMdiChild::addDataSet ( std::shared_ptr< iADataSet dataSet)
pure virtual

add a dataset

Implemented in MdiChild.

◆ addTool()

virtual void iAMdiChild::addTool ( QString const &  key,
std::shared_ptr< iATool tool 
)
pure virtual

add a tool to this child (a collection of UI elements with their own behavior and state)

Implemented in MdiChild.

◆ applyRendererSettings()

virtual void iAMdiChild::applyRendererSettings ( iARenderSettings const &  rs,
iAVolumeSettings const &  vs 
)
pure virtual

apply the given (3D) renderer settings

Implemented in MdiChild.

◆ channelData() [1/2]

virtual iAChannelData const * iAMdiChild::channelData ( uint  id) const
pure virtual

Implemented in MdiChild.

◆ channelData() [2/2]

virtual iAChannelData * iAMdiChild::channelData ( uint  id)
pure virtual

Retrieve data for a given channel ID

Implemented in MdiChild.

◆ chooseDataSet()

virtual std::shared_ptr< iADataSet > iAMdiChild::chooseDataSet ( QString const &  title = "Choose dataset")
pure virtual

If more than one dataset loaded, ask user to choose one of them (used for saving)

Implemented in MdiChild.

◆ clearDataSets()

virtual void iAMdiChild::clearDataSets ( )
pure virtual

clear (remove) all datasets

Implemented in MdiChild.

◆ closed

void iAMdiChild::closed ( )
signal

◆ createChannel()

virtual uint iAMdiChild::createChannel ( )
pure virtual

Create a new channel, return its ID.

Implemented in MdiChild.

◆ currentFile()

virtual QString iAMdiChild::currentFile ( ) const
pure virtual

Name of the currently open file (project file / first modality file / ...) If possible, use something more specific (e.g.

file name from specific modality)

Implemented in MdiChild.

◆ dataInfoDockWidget()

virtual QDockWidget * iAMdiChild::dataInfoDockWidget ( )
pure virtual

Access to dataset information dock widget.

Implemented in MdiChild.

◆ dataSet()

virtual std::shared_ptr< iADataSet > iAMdiChild::dataSet ( size_t  dataSetIdx) const
pure virtual

Retrieve a dataset by its index.

Implemented in MdiChild.

◆ dataSetChanged

void iAMdiChild::dataSetChanged ( size_t  dataSetIdx)
signal

emitted when properties of a dataset have been changed

◆ dataSetIndex()

virtual size_t iAMdiChild::dataSetIndex ( iADataSet const *  dataSet) const
pure virtual

Retrieve the index of a dataset.

Implemented in MdiChild.

◆ dataSetListWidget()

virtual iADataSetListWidget * iAMdiChild::dataSetListWidget ( )
pure virtual

Retrieve dataset list.

Implemented in MdiChild.

◆ dataSetMap()

virtual std::map< size_t, std::shared_ptr< iADataSet > > const & iAMdiChild::dataSetMap ( ) const
pure virtual

Retrieve a list of the indices of all datasets loaded in this window.

Implemented in MdiChild.

◆ dataSetPrepared

void iAMdiChild::dataSetPrepared ( size_t  dataSetIdx)
signal

emitted when all data for displaying a dataset has been prepared

◆ dataSetRemoved

void iAMdiChild::dataSetRemoved ( size_t  dataSetIdx)
signal

emitted when a dataset has been removed

◆ dataSetRendered

void iAMdiChild::dataSetRendered ( size_t  dataSetIdx)
signal

emitted when the dataset has been added to all relevant views

◆ dataSetSelected

void iAMdiChild::dataSetSelected ( size_t  dataSetIdx)
signal

emitted when a dataset has been selected in the data list

◆ dataSetViewer()

virtual iADataSetViewer * iAMdiChild::dataSetViewer ( size_t  idx) const
pure virtual

Retrieve the viewer for the dataset with given index.

Returns
viewer for the given dataset index, nullptr if there is no dataset with given index or if there is no viewer available

Implemented in MdiChild.

◆ fileInfo()

virtual QFileInfo const & iAMdiChild::fileInfo ( ) const
pure virtual

Access to file info of "current" file.

Deprecated:
. Use access via datasets instead

Implemented in MdiChild.

◆ fileLoaded

void iAMdiChild::fileLoaded ( )
signal

emitted when the file data is loaded; the initialization operations are not fully done yet then - use dataSetRendered instead if you require the file to be fully loaded!

◆ filePath()

virtual QString iAMdiChild::filePath ( ) const
pure virtual

Implemented in MdiChild.

◆ firstImageData()

virtual vtkSmartPointer< vtkImageData > iAMdiChild::firstImageData ( ) const
pure virtual

Retrieve the first image dataset (if any loaded).

Will produce an error log entry if no image data is found so use with care

Implemented in MdiChild.

◆ firstImageDataSetIdx()

virtual size_t iAMdiChild::firstImageDataSetIdx ( ) const
pure virtual

Retrieve the index of the first image data set (if any loaded), or NoDataSet if none loaded.

Implemented in MdiChild.

◆ initChannelRenderer()

virtual void iAMdiChild::initChannelRenderer ( uint  id,
bool  use3D,
bool  enableChannel = true 
)
pure virtual

Initialize the renderers for a channel.

Implemented in MdiChild.

◆ interactionMode()

virtual iAInteractionMode iAMdiChild::interactionMode ( ) const
pure virtual

Retrieve the current interaction mode (whether camera is changed, or manual registration is active, see iAInteractionMode)

Implemented in MdiChild.

◆ isMagicLens2DEnabled()

virtual bool iAMdiChild::isMagicLens2DEnabled ( ) const
pure virtual

whether the 2D magic lens in slicer is currently enabled

Implemented in MdiChild.

◆ isVolumeDataLoaded()

virtual bool iAMdiChild::isVolumeDataLoaded ( ) const
pure virtual

whether the child currently has volume data loaded

Implemented in MdiChild.

◆ layoutName()

virtual QString iAMdiChild::layoutName ( ) const
pure virtual

Returns the name of the layout currently applied to this child window.

Implemented in MdiChild.

◆ linkedViews()

virtual bool iAMdiChild::linkedViews ( ) const
pure virtual

Whether this child has the linked views feature enabled.

Implemented in MdiChild.

◆ loadLayout()

virtual void iAMdiChild::loadLayout ( QString const &  layout)
pure virtual

Loads the layout with the given name from the settings store, and tries to restore the according dockwidgets configuration.

Implemented in MdiChild.

◆ loadSettings()

virtual void iAMdiChild::loadSettings ( QSettings const &  settings)
pure virtual

load state (saved via saveState)

Implemented in MdiChild.

◆ magicLens3DRenderer()

virtual vtkRenderer * iAMdiChild::magicLens3DRenderer ( ) const
pure virtual

Reinitialize magic lens channel?

Deprecated:
, use channel mechanisms / setMagicLensInput instead!

Implemented in MdiChild.

◆ magicLensToggled

void iAMdiChild::magicLensToggled ( bool  isToggled)
signal

emitted whenever the magic lens has been toggled on or off

◆ multiview()

virtual void iAMdiChild::multiview ( )
pure virtual

Apply the "multiview" layout (i.e. where not only one dock widget but multiple are shown)

Implemented in MdiChild.

◆ preferences()

virtual iAPreferences const & iAMdiChild::preferences ( ) const
pure virtual

Implemented in MdiChild.

◆ preferencesChanged

void iAMdiChild::preferencesChanged ( )
signal

emitted when the preferences have changed

◆ profilePointChanged

void iAMdiChild::profilePointChanged ( int  pointIdx,
double *  globalPos 
)
signal

emitted whenever one of the profile points changes

◆ removeChannel()

virtual void iAMdiChild::removeChannel ( uint  id)
pure virtual

Remove channel in all slicers.

Implemented in MdiChild.

◆ removeDataSet()

virtual void iAMdiChild::removeDataSet ( size_t  dataSetIdx)
pure virtual

remove dataset with given ID

Implemented in MdiChild.

◆ removeTool()

virtual void iAMdiChild::removeTool ( QString const &  key)
pure virtual

removes the given tool from this child

Implemented in MdiChild.

◆ renderDockWidget()

virtual QDockWidget * iAMdiChild::renderDockWidget ( )
pure virtual

Access to 3D renderer dock widget.

Implemented in MdiChild.

◆ renderer()

virtual iARenderer * iAMdiChild::renderer ( )
pure virtual

Access to the 3D renderer widget.

Implemented in MdiChild.

◆ rendererDeactivated

void iAMdiChild::rendererDeactivated ( int  c)
signal
Deprecated:
. no direct replacement

◆ rendererWidget()

virtual QWidget * iAMdiChild::rendererWidget ( )
pure virtual

Access to widget containing the 3D renderer.

Implemented in MdiChild.

◆ renderSettings()

virtual iARenderSettings const & iAMdiChild::renderSettings ( ) const
pure virtual

Implemented in MdiChild.

◆ renderSettingsChanged

void iAMdiChild::renderSettingsChanged ( )
signal

emitted when the renderer settings have changed

◆ saveSettings()

virtual void iAMdiChild::saveSettings ( QSettings &  settings)
pure virtual

save state, for example camera position

Implemented in MdiChild.

◆ set3DControlVisibility()

virtual void iAMdiChild::set3DControlVisibility ( bool  visible)
pure virtual

Implemented in MdiChild.

◆ setChannelRenderingEnabled()

virtual void iAMdiChild::setChannelRenderingEnabled ( uint  ,
bool  enabled 
)
pure virtual

Enable/Disable channel rendering for a given channel ID.

Implemented in MdiChild.

◆ setDataSetMovable()

virtual void iAMdiChild::setDataSetMovable ( size_t  dataSetIdx)
pure virtual

a crutch for letting interactor know which dataset is to be moved and synced across slicers

Implemented in MdiChild.

◆ setMagicLensEnabled()

virtual void iAMdiChild::setMagicLensEnabled ( bool  isOn)
pure virtual

Enable/Disable the 2D magic lens in slicer.

Implemented in MdiChild.

◆ setMagicLensInput()

virtual void iAMdiChild::setMagicLensInput ( uint  id)
pure virtual

Set the ID of the channel which should be the input to the 2D magic lens in slicer.

Implemented in MdiChild.

◆ setProfilePoints()

virtual void iAMdiChild::setProfilePoints ( double const *  start,
double const *  end 
)
pure virtual

called to set profile point positions in renderer and slicer

Implemented in MdiChild.

◆ setROIVisible()

virtual void iAMdiChild::setROIVisible ( bool  isVisible)
pure virtual

Implemented in MdiChild.

◆ setWindowTitleAndFile()

virtual void iAMdiChild::setWindowTitleAndFile ( QString const &  f)
pure virtual

set window title, and if a file name is given, set it as window file and add it to recent files

Implemented in MdiChild.

◆ slicer()

virtual iASlicer * iAMdiChild::slicer ( int  mode)
pure virtual

Access slicer for given mode (use iASlicerMode enum for mode values)

Implemented in MdiChild.

◆ slicerContainerLayout()

virtual QHBoxLayout * iAMdiChild::slicerContainerLayout ( int  mode)
pure virtual

Access to the layout in the slicer dockwidget containing the actual iASlicer.

Implemented in MdiChild.

◆ slicerDockWidget()

virtual QDockWidget * iAMdiChild::slicerDockWidget ( int  mode)
pure virtual

Access to slicer dock widget for the given mode.

Parameters
modeslicer to access - use constants from iASlicerMode enum

Implemented in MdiChild.

◆ slicerScrollBar()

virtual QSlider * iAMdiChild::slicerScrollBar ( int  mode)
pure virtual

Access to the scroll bar next to a slicer.

Implemented in MdiChild.

◆ slicerSettings()

virtual iASlicerSettings const & iAMdiChild::slicerSettings ( ) const
pure virtual

Implemented in MdiChild.

◆ slicerSettingsChanged

void iAMdiChild::slicerSettingsChanged ( )
signal

emitted when the slicer settings have changed

◆ slicerTransform()

virtual vtkTransform * iAMdiChild::slicerTransform ( )
pure virtual
Deprecated:
access transform used in slicer. should be removed from here; no replacement in place yet

Implemented in MdiChild.

◆ tools()

virtual QMap< QString, std::shared_ptr< iATool > > const & iAMdiChild::tools ( )
pure virtual

retrieve all tools attached to this child

Implemented in MdiChild.

◆ updateChannel()

virtual void iAMdiChild::updateChannel ( uint  id,
vtkSmartPointer< vtkImageData >  imgData,
vtkScalarsToColors *  ctf,
vtkPiecewiseFunction *  otf,
bool  enable 
)
pure virtual

Update the data of the given channel ID.

Implemented in MdiChild.

◆ updateChannelOpacity()

virtual void iAMdiChild::updateChannelOpacity ( uint  id,
double  opacity 
)
pure virtual

Update opacity of the given channel ID.

Implemented in MdiChild.

◆ updateLayout()

virtual void iAMdiChild::updateLayout ( )
pure virtual

Apply the layout currently selected in the layout combobox in the main window.

Implemented in MdiChild.

◆ updateRenderer

virtual void iAMdiChild::updateRenderer ( )
pure virtualslot

Update 3D renderer.

◆ updateROI()

virtual void iAMdiChild::updateROI ( int const  roi[6])
pure virtual

Implemented in MdiChild.

◆ updateSlicers

virtual void iAMdiChild::updateSlicers ( )
pure virtualslot

Update all slice views.

◆ updateViews

virtual void iAMdiChild::updateViews ( )
pure virtualslot

Updates all views (slicers, renderers)

◆ viewsUpdated

void iAMdiChild::viewsUpdated ( )
signal

emitted when the slicer/renderer views have been updated, and when their camera has been reset

◆ volumeSettings()

virtual iAVolumeSettings const & iAMdiChild::volumeSettings ( ) const
pure virtual

Implemented in MdiChild.

Member Data Documentation

◆ NoDataSet

const size_t iAMdiChild::NoDataSet = std::numeric_limits<size_t>::max()
static

Constant indicating an invalid dataset index.


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