open_iA 2021.08
A tool for the visual analysis and processing of volumetric datasets, with a focus on industrial computed tomography.
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. More...
 
virtual void saveMovie ()=0
 Save a movie of a full slice-through of the specimen from top to bottom. More...
 
virtual void setSliceNumber (int sliceNumber)=0
 
virtual void update ()=0
 

Signals

void altMouseWheel (int angle)
 
void clicked ()
 
void ctrlMouseWheel (int angle)
 
void dblClicked ()
 
void leftClicked (int x, int y, int z)
 
void leftDragged (int x, int y, int z)
 
void magicLensToggled (bool enabled)
 
void oslicerPos (int x, int y, int z, int mode)
 triggered on mouse move More...
 
void pick ()
 
void released (int x, int y, int z)
 
void rightClicked (int x, int y, int z)
 
void shiftMouseWheel (int angle)
 
void sliceNumberChanged (int mode, int sliceNumber)
 triggered when slice number changed. More...
 
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? More...
 
virtual vtkCamera * camera ()=0
 Access to the slicer's main renderer's camera. More...
 
virtual void disableInteractor ()=0
 
virtual void enableInteractor ()=0
 
virtual void execute (vtkObject *caller, unsigned long eventId, void *callData)=0
 
virtual vtkRenderWindowInteractor * interactor ()=0
 Access to the interactor of this slicer's render window. More...
 
virtual iASlicerMode mode () const =0
 Get the slice mode (which axis-aligned slice-plane is used for slicing). More...
 
virtual void removeImageActor (vtkSmartPointer< vtkImageActor > imgActor)=0
 
virtual vtkRenderer * renderer ()=0
 Access to the slicer's main renderer. More...
 
virtual vtkGenericOpenGLRenderWindow * renderWindow ()=0
 Access to the slicer's render window. More...
 
virtual void resetCamera ()=0
 Resets the slicer's main renderer's camera such that all channels in it are visible. More...
 
virtual void setBackground (double r, double g, double b)=0
 Sets the background color of the slicer. More...
 
virtual void setCamera (vtkCamera *camera, bool camOwner=true)=0
 Set the camera for the slicer's main renderer. More...
 
virtual void setDefaultInteractor ()=0
 
virtual void setIndex (int x, int y, int z)=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. More...
 
virtual void setMode (const iASlicerMode mode)=0
 Sets the slice mode (which axis-aligned slice-plane to use for slicing). More...
 
virtual void setResliceAxesOrigin (double x, double y, double z)=0
 
virtual void setScalarBarTF (vtkScalarsToColors *ctf)=0
 
virtual void setShowText (bool isVisible)=0
 Enable/disable the tooltip text. More...
 
virtual void setup (iASingleSlicerSettings const &settings)=0
 Sets up the slicer with the given settings. More...
 
virtual int sliceNumber () const =0
 Get current slice number. More...
 
virtual void updateChannelMappers ()=0
 
virtual void setMagicLensEnabled (bool isEnabled)=0
 Magic Lens methods. More...
 
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" More...
 
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. More...
 
virtual void updateROI (int const roi[6])=0
 
virtual void setContours (int numberOfContours, double contourMin, double contourMax)=0
 set contour line parameters. More...
 
virtual void setContours (int numberOfContours, double const *contourValues)=0
 

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

◆ disableInteractor()

virtual void iASlicer::disableInteractor ( )
pure virtual

Implemented in iASlicerImpl.

◆ enableChannel()

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

Implemented in iASlicerImpl.

◆ enableInteractor()

virtual void iASlicer::enableInteractor ( )
pure virtual

Implemented in iASlicerImpl.

◆ execute()

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

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.

◆ leftClicked

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

◆ leftDragged

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

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

◆ oslicerPos

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

triggered on mouse move

◆ pick

void iASlicer::pick ( )
signal

◆ released

void iASlicer::released ( int  x,
int  y,
int  z 
)
signal

◆ 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 ( int  x,
int  y,
int  z 
)
signal

◆ 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 ( double  r,
double  g,
double  b 
)
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

Parameters
rred color part (0..1)
ggreen color part (0..1)
bblue color part (0..1)

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.

◆ setIndex()

virtual void iASlicer::setIndex ( int  x,
int  y,
int  z 
)
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.

◆ setShowText()

virtual void iASlicer::setShowText ( 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: