open_iA 2021.08
A tool for the visual analysis and processing of volumetric datasets, with a focus on industrial computed tomography.
Public Types | Public Slots | Signals | Public Member Functions | 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 disableRenderWindows (int ch)=0
 
virtual void enableRenderWindows ()=0
 method "enabling render windows", basically called when dataset is ready to be shown but quite convoluted and confusing, so: More...
 
virtual void updateRenderer ()=0
 Update 3D renderer. More...
 
virtual void updateSlicers ()=0
 Update all slice views. More...
 
virtual void updateViews ()=0
 Updates all views (slicers, renderers) More...
 

Signals

void active ()
 obscure signal, actual use has to be determined More...
 
void closed ()
 
void fileLoaded ()
 emitted when the file data is loaded; the initialization operations are not fully done yet then - use histogramAvailable instead if you require the file to be fully loaded! More...
 
void histogramAvailable ()
 emitted when a file is fully loaded and its statistics and histogram are available. More...
 
void magicLensToggled (bool isToggled)
 emitted whenever the magic lens has been toggled on or off More...
 
void rendererDeactivated (int c)
 
void renderSettingsChanged ()
 emitted when the renderer settings have changed More...
 
void slicerSettingsChanged ()
 emitted when the slicer settings have changed More...
 
void transferFunctionChanged ()
 emitted when a transfer function changed More...
 
void viewsUpdated ()
 emitted when the slicer/renderer views have been updated, and when their camera has been reset More...
 
void pointSelected ()
 
void noPointSelected ()
 
void endPointSelected ()
 

Public Member Functions

virtual void addProject (QString const &key, QSharedPointer< iAProjectBase > project)=0
 add project More...
 
virtual void addStatusMsg (QString const &txt)=0
 Adds a message to the status bar. More...
 
virtual bool brightMode () const =0
 whether the current qss theme is bright mode (true) or dark mode (false) More...
 
virtual int chooseModalityNr (QString const &caption)=0
 If more than one modality loaded, ask user to choose one of them. More...
 
virtual void clearHistogram ()=0
 Clear current histogram (i.e. don't show it anymore) More...
 
virtual void connectIOThreadSignals (iAIO *thread)=0
 
virtual void connectThreadSignalsToChildSlots (iAAlgorithm *thread)=0
 
virtual uint createChannel ()=0
 Create a new channel, return its ID. More...
 
virtual QString currentFile () const =0
 Name of the currently open file (project file / first modality file / ...) If possible, use something more specific (e.g. More...
 
virtual dlg_modalitiesdataDockWidget ()=0
 Access to modalities dock widget (TODO: separate dock widget from rest of functionality) More...
 
virtual bool displayResult (QString const &title, vtkImageData *image=nullptr, vtkPolyData *poly=nullptr)=0
 display an image or a mesh might be deprecated soon. More...
 
virtual bool editRendererSettings (iARenderSettings const &rs, iAVolumeSettings const &vs)=0
 "set" rednder settings More...
 
virtual QFileInfo const & fileInfo () const =0
 Access to file info of "current" file. More...
 
virtual QString filePath () const =0
 
virtual iAChartWithFunctionsWidgethistogram ()=0
 
virtual QDockWidget * histogramDockWidget ()=0
 Access to histogram dock widget. More...
 
virtual vtkImageData * imageData ()=0
 Access to the "main image". More...
 
virtual vtkSmartPointer< vtkImageData > imagePointer ()=0
 Access to the "main image". More...
 
virtual QDockWidget * imagePropertyDockWidget ()=0
 Access to image property dock widget. More...
 
virtual void initChannelRenderer (uint id, bool use3D, bool enableChannel=true)=0
 Initialize the renderers for a channel. More...
 
virtual iAInteractionMode interactionMode () const =0
 Retrieve the current interaction mode (whether camera is changed, or manual registration is active, see iAInteractionMode) More...
 
virtual bool isFullyLoaded () const =0
 Checks whether the main image data is fully loaded. More...
 
virtual bool isMagicLens2DEnabled () const =0
 whether the 2D magic lens in slicer is currently enabled More...
 
virtual bool isVolumeDataLoaded () const =0
 whether the child currently has volume data loaded More...
 
virtual QString layoutName () const =0
 Returns the name of the layout currently applied to this child window. More...
 
virtual bool linkedViews () const =0
 Whether this child has the linked views feature enabled. More...
 
virtual bool loadFile (const QString &f, bool isStack)=0
 Load a file. More...
 
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. More...
 
virtual iAMainWindowmainWnd ()=0
 Access to main window. More...
 
virtual QSharedPointer< iAModalityListmodalities ()=0
 Retrieve the list of all currently loaded modalities. More...
 
virtual QSharedPointer< iAModalitymodality (int idx)=0
 Retrieve data for modality with given index. More...
 
virtual void multiview ()=0
 Apply the "multiview" layout (i.e. More...
 
virtual vtkPolyData * polyData ()=0
 Access to "main" polydata object (if any) More...
 
virtual int const * position () const =0
 Current coordinate position (defined by the respective slice number in the slice views). More...
 
virtual iAPreferences const & preferences () const =0
 
virtual void reInitMagicLens (uint id, QString const &name, vtkSmartPointer< vtkImageData > imgData, vtkScalarsToColors *ctf)=0
 Reinitialize magic lens channel? More...
 
virtual void removeChannel (uint id)=0
 Remove channel in all slicers. More...
 
virtual QDockWidget * renderDockWidget ()=0
 Access to 3D renderer dock widget. More...
 
virtual iARendererrenderer ()=0
 Access to the 3D renderer widget. More...
 
virtual iARenderSettings const & renderSettings () const =0
 
virtual void saveProject (QString const &fileName)=0
 save currently loaded files / tools in given project file More...
 
virtual void setChannelRenderingEnabled (uint, bool enabled)=0
 Enable/Disable channel rendering for a given channel ID. More...
 
virtual void setImageData (vtkImageData *iData)=0
 Set "main image" - does not update views (see displayResult for a method that does)! More...
 
virtual void setMagicLensEnabled (bool isOn)=0
 Enable/Disable the 2D magic lens in slicer. More...
 
virtual void setMagicLensInput (uint id)=0
 Set the ID of the channel which should be the input to the 2D magic lens in slicer. More...
 
virtual void setModalities (QSharedPointer< iAModalityList > modList)=0
 Set list of modalities. More...
 
virtual void setReInitializeRenderWindows (bool reInit)=0
 
virtual void setROIVisible (bool isVisible)=0
 
virtual iASlicerslicer (int mode)=0
 Access slicer for given mode (use iASlicerMode enum for mode values) More...
 
virtual QHBoxLayout * slicerContainerLayout (int mode)=0
 Access to the layout in the slicer dockwidget containing the actual iASlicer. More...
 
virtual QDockWidget * slicerDockWidget (int mode)=0
 Access to slicer dock widget for the given mode. More...
 
virtual QSlider * slicerScrollBar (int mode)=0
 Access to the scroll bar next to a slicer. More...
 
virtual iASlicerSettings const & slicerSettings () const =0
 
virtual vtkTransform * slicerTransform ()=0
 
virtual void updateChannel (uint id, vtkSmartPointer< vtkImageData > imgData, vtkScalarsToColors *ctf, vtkPiecewiseFunction *otf, bool enable)=0
 Update the data of the given channel ID. More...
 
virtual void updateChannelOpacity (uint id, double opacity)=0
 Update opacity of the given channel ID. More...
 
virtual void updateLayout ()=0
 Apply the layout currently selected in the layout combobox in the main window. More...
 
virtual void updateROI (int const roi[6])=0
 
virtual iAVolumeSettings const & volumeSettings () const =0
 
virtual iAVolumeStackvolumeStack ()=0
 Access the "volume stack" if a stack of volumes is loaded. More...
 
virtual iAChannelDatachannelData (uint id)=0
 
virtual iAChannelData const * channelData (uint id) const =0
 
virtual size_t histogramNewBinCount (QSharedPointer< iAModality >)=0
 for recomputing histogram. should probably be made private somehow More...
 
virtual bool histogramComputed (size_t newBinCount, QSharedPointer< iAModality >)=0
 
virtual void computeHistogramAsync (std::function< void()> callbackSlot, size_t newBinCount, QSharedPointer< iAModality >)=0
 

Member Enumeration Documentation

◆ iAInteractionMode

Enumerator
imCamera 
imRegistration 

Member Function Documentation

◆ active

void iAMdiChild::active ( )
signal

obscure signal, actual use has to be determined

◆ addProject()

virtual void iAMdiChild::addProject ( QString const &  key,
QSharedPointer< iAProjectBase project 
)
pure virtual

add project

Implemented in MdiChild.

◆ addStatusMsg()

virtual void iAMdiChild::addStatusMsg ( QString const &  txt)
pure virtual

Adds a message to the status bar.

Deprecated:
. Status bar will be removed soon in favor of the log window. Use iALog instead.

◆ brightMode()

virtual bool iAMdiChild::brightMode ( ) const
pure virtual

whether the current qss theme is bright mode (true) or dark mode (false)

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.

◆ chooseModalityNr()

virtual int iAMdiChild::chooseModalityNr ( QString const &  caption)
pure virtual

If more than one modality loaded, ask user to choose one of them.

(currently used for determining which modality to save)

Implemented in MdiChild.

◆ clearHistogram()

virtual void iAMdiChild::clearHistogram ( )
pure virtual

Clear current histogram (i.e. don't show it anymore)

Implemented in MdiChild.

◆ closed

void iAMdiChild::closed ( )
signal

◆ computeHistogramAsync()

virtual void iAMdiChild::computeHistogramAsync ( std::function< void()>  callbackSlot,
size_t  newBinCount,
QSharedPointer< iAModality  
)
pure virtual

Implemented in MdiChild.

◆ connectIOThreadSignals()

virtual void iAMdiChild::connectIOThreadSignals ( iAIO thread)
pure virtual
Deprecated:
. Use iARunASync / new IO mechanism (to be devised)...

Implemented in MdiChild.

◆ connectThreadSignalsToChildSlots()

virtual void iAMdiChild::connectThreadSignalsToChildSlots ( iAAlgorithm thread)
pure virtual
Deprecated:
. Use iARunAsync / iAJobListView directly also, don't use iAAlgorithm anymore!

Implemented in MdiChild.

◆ 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.

◆ dataDockWidget()

virtual dlg_modalities * iAMdiChild::dataDockWidget ( )
pure virtual

Access to modalities dock widget (TODO: separate dock widget from rest of functionality)

Implemented in MdiChild.

◆ disableRenderWindows

virtual void iAMdiChild::disableRenderWindows ( int  ch)
pure virtualslot
Deprecated:
. will be removed soon, no direct replacement

◆ displayResult()

virtual bool iAMdiChild::displayResult ( QString const &  title,
vtkImageData *  image = nullptr,
vtkPolyData *  poly = nullptr 
)
pure virtual

display an image or a mesh might be deprecated soon.

Use modality methods instead - though probably still required for first dataset at the moment.

Implemented in MdiChild.

◆ editRendererSettings()

virtual bool iAMdiChild::editRendererSettings ( iARenderSettings const &  rs,
iAVolumeSettings const &  vs 
)
pure virtual

"set" rednder settings

Implemented in MdiChild.

◆ enableRenderWindows

virtual void iAMdiChild::enableRenderWindows ( )
pure virtualslot

method "enabling render windows", basically called when dataset is ready to be shown but quite convoluted and confusing, so:

Deprecated:
. will be removed soon, no direct replacement

◆ endPointSelected

void iAMdiChild::endPointSelected ( )
signal

◆ fileInfo()

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

Access to file info of "current" file.

Deprecated:
. Use access via modalities 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 histogramAvailable instead if you require the file to be fully loaded!

◆ filePath()

virtual QString iAMdiChild::filePath ( ) const
pure virtual

Implemented in MdiChild.

◆ histogram()

virtual iAChartWithFunctionsWidget * iAMdiChild::histogram ( )
pure virtual

Implemented in MdiChild.

◆ histogramAvailable

void iAMdiChild::histogramAvailable ( )
signal

emitted when a file is fully loaded and its statistics and histogram are available.

◆ histogramComputed()

virtual bool iAMdiChild::histogramComputed ( size_t  newBinCount,
QSharedPointer< iAModality  
)
pure virtual

Implemented in MdiChild.

◆ histogramDockWidget()

virtual QDockWidget * iAMdiChild::histogramDockWidget ( )
pure virtual

Access to histogram dock widget.

Implemented in MdiChild.

◆ histogramNewBinCount()

virtual size_t iAMdiChild::histogramNewBinCount ( QSharedPointer< iAModality )
pure virtual

for recomputing histogram. should probably be made private somehow

Implemented in MdiChild.

◆ imageData()

virtual vtkImageData * iAMdiChild::imageData ( )
pure virtual

Access to the "main image".

Deprecated:
retrieve images via the modalities (modality(int) etc.) instead!

Implemented in MdiChild.

◆ imagePointer()

virtual vtkSmartPointer< vtkImageData > iAMdiChild::imagePointer ( )
pure virtual

Access to the "main image".

Deprecated:
retrieve images via the modalities (modality(int) etc.) instead!

Implemented in MdiChild.

◆ imagePropertyDockWidget()

virtual QDockWidget * iAMdiChild::imagePropertyDockWidget ( )
pure virtual

Access to image property dock widget.

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.

◆ isFullyLoaded()

virtual bool iAMdiChild::isFullyLoaded ( ) const
pure virtual

Checks whether the main image data is fully loaded.

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.

◆ loadFile()

virtual bool iAMdiChild::loadFile ( const QString &  f,
bool  isStack 
)
pure virtual

Load a file.

Deprecated:
. Use modality methods / new IO structure (to be defined)

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.

◆ magicLensToggled

void iAMdiChild::magicLensToggled ( bool  isToggled)
signal

emitted whenever the magic lens has been toggled on or off

◆ mainWnd()

virtual iAMainWindow * iAMdiChild::mainWnd ( )
pure virtual

Access to main window.

Deprecated:
should not be available here

Implemented in MdiChild.

◆ modalities()

virtual QSharedPointer< iAModalityList > iAMdiChild::modalities ( )
pure virtual

Retrieve the list of all currently loaded modalities.

Implemented in MdiChild.

◆ modality()

virtual QSharedPointer< iAModality > iAMdiChild::modality ( int  idx)
pure virtual

Retrieve data for modality with given index.

Implemented in MdiChild.

◆ multiview()

virtual void iAMdiChild::multiview ( )
pure virtual

Apply the "multiview" layout (i.e.

where not only one dock widget but multiple are shown) Should probably not be used anymore, might be deprecated soon

Implemented in MdiChild.

◆ noPointSelected

void iAMdiChild::noPointSelected ( )
signal

◆ pointSelected

void iAMdiChild::pointSelected ( )
signal

emitted when transfer function is edited

◆ polyData()

virtual vtkPolyData * iAMdiChild::polyData ( )
pure virtual

Access to "main" polydata object (if any)

Deprecated:
move out of mdi child, into something like an iAModality

Implemented in MdiChild.

◆ position()

virtual int const * iAMdiChild::position ( ) const
pure virtual

Current coordinate position (defined by the respective slice number in the slice views).

Implemented in MdiChild.

◆ preferences()

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

Implemented in MdiChild.

◆ reInitMagicLens()

virtual void iAMdiChild::reInitMagicLens ( uint  id,
QString const &  name,
vtkSmartPointer< vtkImageData >  imgData,
vtkScalarsToColors *  ctf 
)
pure virtual

Reinitialize magic lens channel?

Deprecated:
, use channel mechanisms / setMagicLensInput instead!

Implemented in MdiChild.

◆ removeChannel()

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

Remove channel in all slicers.

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

◆ renderSettings()

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

Implemented in MdiChild.

◆ renderSettingsChanged

void iAMdiChild::renderSettingsChanged ( )
signal

emitted when the renderer settings have changed

◆ saveProject()

virtual void iAMdiChild::saveProject ( QString const &  fileName)
pure virtual

save currently loaded files / tools in given project file

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.

◆ setImageData()

virtual void iAMdiChild::setImageData ( vtkImageData *  iData)
pure virtual

Set "main image" - does not update views (see displayResult for a method that does)!

Deprecated:
all access to images should proceed via modalities (modality(int) / setModalities /...) or channels (createChannel/updateChannel)

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.

◆ setModalities()

virtual void iAMdiChild::setModalities ( QSharedPointer< iAModalityList modList)
pure virtual

Set list of modalities.

Implemented in MdiChild.

◆ setReInitializeRenderWindows()

virtual void iAMdiChild::setReInitializeRenderWindows ( bool  reInit)
pure virtual
Deprecated:
. can be removed together with enableRenderWindow/disableRenderWindow

Implemented in MdiChild.

◆ setROIVisible()

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

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 (TODO: separate dock widget from rest of functionality)

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 slicers directly?

Implemented in MdiChild.

◆ transferFunctionChanged

void iAMdiChild::transferFunctionChanged ( )
signal

emitted when a transfer function changed

◆ 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.

◆ volumeStack()

virtual iAVolumeStack * iAMdiChild::volumeStack ( )
pure virtual

Access the "volume stack" if a stack of volumes is loaded.

Implemented in MdiChild.


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