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 Slots | Signals | Public Member Functions | List of all members
iASlicer Class Referenceabstract

vtk-based slicer widget. "Channels" (i.e. image layers) are inserted via the addChannel method More...

#include <iASlicer.h>

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

Public Slots

virtual void rotateSlice (double angle)=0
 
virtual void saveAsImage ()=0
 Save an image of the image viewer native resolution or the current view.
 
virtual void saveMovie ()=0
 Save a movie of a full slice-through of the specimen from top to bottom.
 
virtual void setSliceNumber (int sliceNumber)=0
 
virtual void update ()=0
 

Signals

void altMouseWheel (int angle)
 
void clicked ()
 
void ctrlMouseWheel (int angle)
 
void dblClicked ()
 
void editSettings ()
 triggered when the user selects "Settings" from the context menu
 
void leftClicked (double x, double y, double z)
 Triggered on mouse left button clicked.
 
void leftDragged (double x, double y, double z)
 Triggered on mouse move with left button clicked.
 
void leftReleased (double x, double y, double z)
 Triggered on mouse button released.
 
void magicLensToggled (bool enabled)
 
void mouseMoved (double x, double y, double z, int mode)
 Triggered on mouse move, sends x,y,z (world) coordinates and mode of slicer.
 
void rightClicked (double x, double y, double z)
 Triggered on mouse right button clicked.
 
void shiftMouseWheel (int angle)
 
void sliceNumberChanged (int mode, int sliceNumber)
 triggered when slice number changed.
 
void updateSignal ()
 
void userInteraction ()
 

Public Member Functions

 iASlicer (QWidget *parent)
 
virtual ~iASlicer ()
 
virtual void addImageActor (vtkSmartPointer< vtkImageActor > imgActor)=0
 
virtual void blend (vtkAlgorithmOutput *data1, vtkAlgorithmOutput *data2, double opacity, double *range)=0
 Blend two images. Should probably be implemented in terms of two channels?
 
virtual vtkCamera * camera ()=0
 Access to the slicer's main renderer's camera.
 
virtual void enableInteractor (bool enabled)=0
 
virtual void execute (vtkObject *caller, unsigned long eventId, void *callData)=0
 
virtual int globalAxis (int slicerAxis)=0
 retrieve the global axis that is represented by the given local axis (e.g. for XY:, 0 -> X, 1 -> Y, 2 -> Z; for XZ: 0 -> X, 1 -> Z, ...)
 
virtual vtkRenderWindowInteractor * interactor ()=0
 Access to the interactor of this slicer's render window.
 
virtual bool isInteractorEnabled () const =0
 
virtual iASlicerMode mode () const =0
 Get the slice mode (which axis-aligned slice-plane is used for slicing).
 
virtual void removeImageActor (vtkSmartPointer< vtkImageActor > imgActor)=0
 
virtual vtkRenderer * renderer ()=0
 Access to the slicer's main renderer.
 
virtual vtkGenericOpenGLRenderWindow * renderWindow ()=0
 Access to the slicer's render window.
 
virtual void resetCamera ()=0
 Resets the slicer's main renderer's camera such that all channels in it are visible.
 
virtual void setBackground (QColor color)=0
 Sets the background color of the slicer.
 
virtual void setCamera (vtkCamera *camera, bool camOwner=true)=0
 Set the camera for the slicer's main renderer.
 
virtual void setDefaultInteractor ()=0
 
virtual void setLinkedMdiChild (iAMdiChild *mdiChild)=0
 in case the "linked mdi" feature is used, use this to set the mdi child this slicer is linked to.
 
virtual void setMode (const iASlicerMode mode)=0
 Sets the slice mode (which axis-aligned slice-plane to use for slicing).
 
virtual void setResliceAxesOrigin (double x, double y, double z)=0
 
virtual void setScalarBarTF (vtkScalarsToColors *ctf)=0
 
virtual void setShowTooltip (bool isVisible)=0
 Enable/disable the tooltip text.
 
virtual void setup (iASingleSlicerSettings const &settings)=0
 Sets up the slicer with the given settings.
 
virtual int sliceNumber () const =0
 Get current slice number.
 
virtual void updateChannelMappers ()=0
 
virtual void setMagicLensEnabled (bool isEnabled)=0
 Magic Lens methods.
 
virtual void setMagicLensCount (int count)=0
 
virtual void setMagicLensInput (uint id)=0
 
virtual uint magicLensInput () const =0
 
virtual void setMagicLensOpacity (double opacity)=0
 
virtual double magicLensOpacity () const =0
 
virtual void updateMagicLensColors ()=0
 
virtual void updateMagicLens ()=0
 
virtual iAMagicLensmagicLens ()=0
 
virtual void addChannel (uint id, iAChannelData const &chData, bool enable)=0
 management of channels - each channel represents one "layer"
 
virtual void removeChannel (uint id)=0
 
virtual void updateChannel (uint id, iAChannelData const &chData)=0
 
virtual iAChannelSlicerDatachannel (uint id)=0
 
virtual void setChannelOpacity (uint id, double opacity)=0
 
virtual void enableChannel (uint id, bool enabled)=0
 
virtual bool hasChannel (uint id) const =0
 
virtual void setROIVisible (bool isVisible)=0
 ROI rectangle.
 
virtual void updateROI (int const roi[6])=0
 
virtual void setContours (int numberOfContours, double contourMin, double contourMax)=0
 set contour line parameters.
 
virtual void setContours (int numberOfContours, double const *contourValues)=0
 
- Public Member Functions inherited from iAQVTKWidget
 iAQVTKWidget (QWidget *parent=nullptr)
 Creates the widget; makes sure its inner vtk render window is set, and sets an appropriate surface format.
 
bool event (QEvent *evt) override
 
void updateAll ()
 

Detailed Description

vtk-based slicer widget. "Channels" (i.e. image layers) are inserted via the addChannel method

Constructor & Destructor Documentation

◆ iASlicer()

iASlicer::iASlicer ( QWidget *  parent)
inline

◆ ~iASlicer()

virtual iASlicer::~iASlicer ( )
inlinevirtual

Member Function Documentation

◆ addChannel()

virtual void iASlicer::addChannel ( uint  id,
iAChannelData const &  chData,
bool  enable 
)
pure virtual

management of channels - each channel represents one "layer"

Implemented in iASlicerImpl.

◆ addImageActor()

virtual void iASlicer::addImageActor ( vtkSmartPointer< vtkImageActor >  imgActor)
pure virtual

Implemented in iASlicerImpl.

◆ altMouseWheel

void iASlicer::altMouseWheel ( int  angle)
signal

◆ blend()

virtual void iASlicer::blend ( vtkAlgorithmOutput *  data1,
vtkAlgorithmOutput *  data2,
double  opacity,
double *  range 
)
pure virtual

Blend two images. Should probably be implemented in terms of two channels?

Implemented in iASlicerImpl.

◆ camera()

virtual vtkCamera * iASlicer::camera ( )
pure virtual

Access to the slicer's main renderer's camera.

Implemented in iASlicerImpl.

◆ channel()

virtual iAChannelSlicerData * iASlicer::channel ( uint  id)
pure virtual

Implemented in iASlicerImpl.

◆ clicked

void iASlicer::clicked ( )
signal

◆ ctrlMouseWheel

void iASlicer::ctrlMouseWheel ( int  angle)
signal

◆ dblClicked

void iASlicer::dblClicked ( )
signal

◆ editSettings

void iASlicer::editSettings ( )
signal

triggered when the user selects "Settings" from the context menu

◆ enableChannel()

virtual void iASlicer::enableChannel ( uint  id,
bool  enabled 
)
pure virtual

Implemented in iASlicerImpl.

◆ enableInteractor()

virtual void iASlicer::enableInteractor ( bool  enabled)
pure virtual

Implemented in iASlicerImpl.

◆ execute()

virtual void iASlicer::execute ( vtkObject *  caller,
unsigned long  eventId,
void *  callData 
)
pure virtual

Implemented in iASlicerImpl.

◆ globalAxis()

virtual int iASlicer::globalAxis ( int  slicerAxis)
pure virtual

retrieve the global axis that is represented by the given local axis (e.g. for XY:, 0 -> X, 1 -> Y, 2 -> Z; for XZ: 0 -> X, 1 -> Z, ...)

Implemented in iASlicerImpl.

◆ hasChannel()

virtual bool iASlicer::hasChannel ( uint  id) const
pure virtual

Implemented in iASlicerImpl.

◆ interactor()

virtual vtkRenderWindowInteractor * iASlicer::interactor ( )
pure virtual

Access to the interactor of this slicer's render window.

Implemented in iASlicerImpl.

◆ isInteractorEnabled()

virtual bool iASlicer::isInteractorEnabled ( ) const
pure virtual

Implemented in iASlicerImpl.

◆ leftClicked

void iASlicer::leftClicked ( double  x,
double  y,
double  z 
)
signal

Triggered on mouse left button clicked.

◆ leftDragged

void iASlicer::leftDragged ( double  x,
double  y,
double  z 
)
signal

Triggered on mouse move with left button clicked.

◆ leftReleased

void iASlicer::leftReleased ( double  x,
double  y,
double  z 
)
signal

Triggered on mouse button released.

◆ magicLens()

virtual iAMagicLens * iASlicer::magicLens ( )
pure virtual

Implemented in iASlicerImpl.

◆ magicLensInput()

virtual uint iASlicer::magicLensInput ( ) const
pure virtual

Implemented in iASlicerImpl.

◆ magicLensOpacity()

virtual double iASlicer::magicLensOpacity ( ) const
pure virtual

Implemented in iASlicerImpl.

◆ magicLensToggled

void iASlicer::magicLensToggled ( bool  enabled)
signal

◆ mode()

virtual iASlicerMode iASlicer::mode ( ) const
pure virtual

Get the slice mode (which axis-aligned slice-plane is used for slicing).

Implemented in iASlicerImpl.

◆ mouseMoved

void iASlicer::mouseMoved ( double  x,
double  y,
double  z,
int  mode 
)
signal

Triggered on mouse move, sends x,y,z (world) coordinates and mode of slicer.

◆ removeChannel()

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

Implemented in iASlicerImpl.

◆ removeImageActor()

virtual void iASlicer::removeImageActor ( vtkSmartPointer< vtkImageActor >  imgActor)
pure virtual

Implemented in iASlicerImpl.

◆ renderer()

virtual vtkRenderer * iASlicer::renderer ( )
pure virtual

Access to the slicer's main renderer.

Implemented in iASlicerImpl.

◆ renderWindow()

virtual vtkGenericOpenGLRenderWindow * iASlicer::renderWindow ( )
pure virtual

Access to the slicer's render window.

Implemented in iASlicerImpl.

◆ resetCamera()

virtual void iASlicer::resetCamera ( )
pure virtual

Resets the slicer's main renderer's camera such that all channels in it are visible.

Implemented in iASlicerImpl.

◆ rightClicked

void iASlicer::rightClicked ( double  x,
double  y,
double  z 
)
signal

Triggered on mouse right button clicked.

◆ rotateSlice

virtual void iASlicer::rotateSlice ( double  angle)
pure virtualslot

◆ saveAsImage

virtual void iASlicer::saveAsImage ( )
pure virtualslot

Save an image of the image viewer native resolution or the current view.

◆ saveMovie

virtual void iASlicer::saveMovie ( )
pure virtualslot

Save a movie of a full slice-through of the specimen from top to bottom.

◆ setBackground()

virtual void iASlicer::setBackground ( QColor  color)
pure virtual

Sets the background color of the slicer.

By default, background color is auto-determined via the slicer mode. If set manually via this method, it will keep the given color indefinitely; can be reset by setting "invalid" color (i.e., QColor())

Parameters
colorthe color to use as background

Implemented in iASlicerImpl.

◆ setCamera()

virtual void iASlicer::setCamera ( vtkCamera *  camera,
bool  camOwner = true 
)
pure virtual

Set the camera for the slicer's main renderer.

Use this if you want share the camera between multiple views (i.e. synchronize their viewing parameters)

Parameters
camerathe new camera to assing
camOwnerwhether the slicer should assume ownership of the camera. If true, Delete() will be called on it in the destructor

Implemented in iASlicerImpl.

◆ setChannelOpacity()

virtual void iASlicer::setChannelOpacity ( uint  id,
double  opacity 
)
pure virtual

Implemented in iASlicerImpl.

◆ setContours() [1/2]

virtual void iASlicer::setContours ( int  numberOfContours,
double const *  contourValues 
)
pure virtual

Implemented in iASlicerImpl.

◆ setContours() [2/2]

virtual void iASlicer::setContours ( int  numberOfContours,
double  contourMin,
double  contourMax 
)
pure virtual

set contour line parameters.

Implemented in iASlicerImpl.

◆ setDefaultInteractor()

virtual void iASlicer::setDefaultInteractor ( )
pure virtual

Implemented in iASlicerImpl.

◆ setLinkedMdiChild()

virtual void iASlicer::setLinkedMdiChild ( iAMdiChild mdiChild)
pure virtual

in case the "linked mdi" feature is used, use this to set the mdi child this slicer is linked to.

Implemented in iASlicerImpl.

◆ setMagicLensCount()

virtual void iASlicer::setMagicLensCount ( int  count)
pure virtual

Implemented in iASlicerImpl.

◆ setMagicLensEnabled()

virtual void iASlicer::setMagicLensEnabled ( bool  isEnabled)
pure virtual

Magic Lens methods.

Implemented in iASlicerImpl.

◆ setMagicLensInput()

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

Implemented in iASlicerImpl.

◆ setMagicLensOpacity()

virtual void iASlicer::setMagicLensOpacity ( double  opacity)
pure virtual

Implemented in iASlicerImpl.

◆ setMode()

virtual void iASlicer::setMode ( const iASlicerMode  mode)
pure virtual

Sets the slice mode (which axis-aligned slice-plane to use for slicing).

Implemented in iASlicerImpl.

◆ setResliceAxesOrigin()

virtual void iASlicer::setResliceAxesOrigin ( double  x,
double  y,
double  z 
)
pure virtual

Implemented in iASlicerImpl.

◆ setROIVisible()

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

ROI rectangle.

Implemented in iASlicerImpl.

◆ setScalarBarTF()

virtual void iASlicer::setScalarBarTF ( vtkScalarsToColors *  ctf)
pure virtual

Implemented in iASlicerImpl.

◆ setShowTooltip()

virtual void iASlicer::setShowTooltip ( bool  isVisible)
pure virtual

Enable/disable the tooltip text.

Implemented in iASlicerImpl.

◆ setSliceNumber

virtual void iASlicer::setSliceNumber ( int  sliceNumber)
pure virtualslot

◆ setup()

virtual void iASlicer::setup ( iASingleSlicerSettings const &  settings)
pure virtual

Sets up the slicer with the given settings.

Implemented in iASlicerImpl.

◆ shiftMouseWheel

void iASlicer::shiftMouseWheel ( int  angle)
signal

◆ sliceNumber()

virtual int iASlicer::sliceNumber ( ) const
pure virtual

Get current slice number.

Implemented in iASlicerImpl.

◆ sliceNumberChanged

void iASlicer::sliceNumberChanged ( int  mode,
int  sliceNumber 
)
signal

triggered when slice number changed.

Parameters
modeslicer mode (=plane)
sliceNumbernumber of the slice that was switched to

◆ update

virtual void iASlicer::update ( )
pure virtualslot

◆ updateChannel()

virtual void iASlicer::updateChannel ( uint  id,
iAChannelData const &  chData 
)
pure virtual

Implemented in iASlicerImpl.

◆ updateChannelMappers()

virtual void iASlicer::updateChannelMappers ( )
pure virtual

Implemented in iASlicerImpl.

◆ updateMagicLens()

virtual void iASlicer::updateMagicLens ( )
pure virtual

Implemented in iASlicerImpl.

◆ updateMagicLensColors()

virtual void iASlicer::updateMagicLensColors ( )
pure virtual

Implemented in iASlicerImpl.

◆ updateROI()

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

Implemented in iASlicerImpl.

◆ updateSignal

void iASlicer::updateSignal ( )
signal

◆ userInteraction

void iASlicer::userInteraction ( )
signal

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