![]() |
open_iA 2021.08
A tool for the visual analysis and processing of volumetric datasets, with a focus on industrial computed tomography.
|
vtk-based slicer widget. "Channels" (i.e. image layers) are inserted via the addChannel method More...
#include <iASlicerImpl.h>
Public Types | |
| enum | InteractionMode { Normal , SnakeEdit , SnakeShow } |
Public Slots | |
| void | addPoint (double x, double y, double z) |
| Adds a new spline point to the end of the spline curve. More... | |
| void | deleteSnakeLine () |
| Deletes the current spline curve. More... | |
| void | deselectPoint () |
| Function to deselect points in snake slicer (necessary to avoid endless loops with signals and slots). More... | |
| void | menuDeleteSnakeLine () |
| Called when the delete snake line menu is clicked. More... | |
| void | movePoint (size_t selectedPointIndex, double xPos, double yPos, double zPos) |
| Moves a point of the snake slicer to a new position. More... | |
| void | rotateSlice (double angle) override |
| void | saveAsImage () override |
| Save an image of the image viewer native resolution or the current view. More... | |
| void | saveImageStack () |
| Save an image stack of the current view. More... | |
| void | saveMovie () override |
| Save a movie of a full slice-through of the specimen from top to bottom. More... | |
| void | setProfileHandlesOn (bool isOn) |
| Toggle the possibility to move start and end point of the profile. More... | |
| bool | setProfilePoint (int pointInd, double *Pos) |
| Sets coordinates for line profile. More... | |
| void | setSlabCompositeMode (int compositeMode) |
| void | setSlabThickness (int thickness) |
| void | setSliceNumber (int sliceNumber) override |
| void | setSliceProfileOn (bool isOn) |
| Toggle the "raw" profile mode, i.e. whether the profile is shown on top of the slicer image. More... | |
| void | switchInteractionMode (int mode) |
| Switches between interaction modi (normal, snake slicer view or editing) More... | |
| void | toggleInteractorState () |
| Toggle interactor state of this slicer between enabled/disabled. More... | |
| void | update () override |
Public Slots inherited from iASlicer | |
| 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 | addedPoint (double x, double y, double z) |
| void | deletedSnakeLine () |
| void | deselectedPoint () |
| void | movedPoint (size_t selectedPointIndex, double xPos, double yPos, double zPos) |
| void | profilePointChanged (int pointInd, double *Pos) |
| void | sliceRangeChanged (int minIdx, int maxIdx) |
| void | sliceRotated () |
| triggered when slice was rotated More... | |
| void | switchedMode (int mode) |
Signals inherited from iASlicer | |
| 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 | |
| iASlicerImpl (QWidget *parent, const iASlicerMode mode, bool decorations=true, bool magicLensAvailable=true, vtkAbstractTransform *transform=nullptr, vtkPoints *snakeSlicerPoints=nullptr) | |
| Creates a new slicer widget. More... | |
| virtual | ~iASlicerImpl () |
| void | addImageActor (vtkSmartPointer< vtkImageActor > imgActor) override |
| void | blend (vtkAlgorithmOutput *data1, vtkAlgorithmOutput *data2, double opacity, double *range) override |
| Blend two images. Should probably be implemented in terms of two channels? More... | |
| vtkCamera * | camera () override |
| Access to the slicer's main renderer's camera. More... | |
| void | disableInteractor () override |
| void | enableInteractor () override |
| void | execute (vtkObject *caller, unsigned long eventId, void *callData) override |
| vtkRenderWindowInteractor * | interactor () override |
| Access to the interactor of this slicer's render window. More... | |
| iASlicerMode | mode () const override |
| Get the slice mode (which axis-aligned slice-plane is used for slicing). More... | |
| QCursor | mouseCursor () |
| void | removeImageActor (vtkSmartPointer< vtkImageActor > imgActor) override |
| vtkRenderer * | renderer () override |
| Access to the slicer's main renderer. More... | |
| vtkGenericOpenGLRenderWindow * | renderWindow () override |
| Access to the slicer's render window. More... | |
| void | resetCamera () override |
| Resets the slicer's main renderer's camera such that all channels in it are visible. More... | |
| void | saveSliceMovie (QString const &fileName, int qual=2) |
| void | setBackground (double r, double g, double b) override |
| Sets the background color of the slicer. More... | |
| void | setCamera (vtkCamera *camera, bool camOwner=true) override |
| Set the camera for the slicer's main renderer. More... | |
| void | setDefaultInteractor () override |
| void | setIndex (int x, int y, int z) override |
| void | setLinkedMdiChild (iAMdiChild *mdiChild) override |
| in case the "linked mdi" feature is used, use this to set the mdi child this slicer is linked to. More... | |
| void | setMode (const iASlicerMode mode) override |
| Sets the slice mode (which axis-aligned slice-plane to use for slicing). More... | |
| void | setMouseCursor (QString const &s) |
| void | setPositionMarkerCenter (double x, double y, double z) |
| Set the position of the position marker (in slicer coordinates). More... | |
| void | setResliceAxesOrigin (double x, double y, double z) override |
| void | setRightButtonDragZoomEnabled (bool enabled) |
| void | setScalarBarTF (vtkScalarsToColors *ctf) override |
| void | setShowText (bool isVisible) override |
| Enable/disable the tooltip text. More... | |
| void | setStatisticalExtent (int statExt) |
| void | setTransform (vtkAbstractTransform *tr) |
| void | setup (iASingleSlicerSettings const &settings) override |
| Sets up the slicer with the given settings. More... | |
| void | showIsolines (bool s) |
| Enable/disable contour lines. More... | |
| void | showPosition (bool s) |
| int | sliceNumber () const override |
| Get current slice number. More... | |
| void | triggerSliceRangeChange () |
| call if the dimension of the input in direction of the slice axis has changed. More... | |
| void | updateChannelMappers () override |
| void | setMagicLensEnabled (bool isEnabled) override |
| Magic Lens methods. More... | |
| void | setMagicLensSize (int newSize) |
| int | magicLensSize () const |
| void | setMagicLensFrameWidth (int newWidth) |
| void | setMagicLensCount (int count) override |
| void | setMagicLensInput (uint id) override |
| uint | magicLensInput () const override |
| void | setMagicLensOpacity (double opacity) override |
| double | magicLensOpacity () const override |
| void | updateMagicLensColors () override |
| void | updateMagicLens () override |
| iAMagicLens * | magicLens () override |
| void | addChannel (uint id, iAChannelData const &chData, bool enable) override |
| management of channels - each channel represents one "layer" More... | |
| void | removeChannel (uint id) override |
| void | updateChannel (uint id, iAChannelData const &chData) override |
| iAChannelSlicerData * | channel (uint id) override |
| void | setChannelOpacity (uint id, double opacity) override |
| void | enableChannel (uint id, bool enabled) override |
| bool | hasChannel (uint id) const override |
| void | setROIVisible (bool isVisible) override |
| ROI rectangle. More... | |
| void | updateROI (int const roi[6]) override |
| void | setContours (int numberOfContours, double contourMin, double contourMax) override |
| set contour line parameters. More... | |
| void | setContours (int numberOfContours, double const *contourValues) override |
Public Member Functions inherited from iASlicer | |
| iASlicer (QWidget *parent) | |
| virtual | ~iASlicer () |
vtk-based slicer widget. "Channels" (i.e. image layers) are inserted via the addChannel method
| iASlicerImpl::iASlicerImpl | ( | QWidget * | parent, |
| const iASlicerMode | mode, | ||
| bool | decorations = true, |
||
| bool | magicLensAvailable = true, |
||
| vtkAbstractTransform * | transform = nullptr, |
||
| vtkPoints * | snakeSlicerPoints = nullptr |
||
| ) |
Creates a new slicer widget.
| parent | the parent widget; can be nullptr for no current parent. |
| mode | determines which axis-aligned slice-plane is used for slicing. |
| decorations | whether to show the scalar bar widget, the measure bar, the logo and the tooltip. |
| magicLensAvailable | whether a magic lens should be available. |
| transform | the basic transform the reslicers inside the channels of this slicer (should probably be removed here). |
| snakeSlicerPoints | the array of points in the snake slicer (leave at default nullptr if you don't require snake slicer). |
|
virtual |
|
overridevirtual |
management of channels - each channel represents one "layer"
Implements iASlicer.
|
signal |
|
overridevirtual |
Implements iASlicer.
|
slot |
Adds a new spline point to the end of the spline curve.
|
overridevirtual |
Blend two images. Should probably be implemented in terms of two channels?
Implements iASlicer.
|
overridevirtual |
Access to the slicer's main renderer's camera.
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
|
signal |
|
slot |
Deletes the current spline curve.
|
signal |
|
slot |
Function to deselect points in snake slicer (necessary to avoid endless loops with signals and slots).
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
Access to the interactor of this slicer's render window.
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
| int iASlicerImpl::magicLensSize | ( | ) | const |
|
slot |
Called when the delete snake line menu is clicked.
|
overridevirtual |
Get the slice mode (which axis-aligned slice-plane is used for slicing).
Implements iASlicer.
| QCursor iASlicerImpl::mouseCursor | ( | ) |
|
signal |
|
slot |
Moves a point of the snake slicer to a new position.
|
signal |
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
Access to the slicer's main renderer.
Implements iASlicer.
|
overridevirtual |
Access to the slicer's render window.
Implements iASlicer.
|
overridevirtual |
Resets the slicer's main renderer's camera such that all channels in it are visible.
Implements iASlicer.
|
overrideslot |
|
overrideslot |
Save an image of the image viewer native resolution or the current view.
|
slot |
Save an image stack of the current view.
|
overrideslot |
Save a movie of a full slice-through of the specimen from top to bottom.
| void iASlicerImpl::saveSliceMovie | ( | QString const & | fileName, |
| int | qual = 2 |
||
| ) |
|
overridevirtual |
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
| r | red color part (0..1) |
| g | green color part (0..1) |
| b | blue color part (0..1) |
Implements iASlicer.
|
overridevirtual |
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)
| camera | the new camera to assing |
| camOwner | whether the slicer should assume ownership of the camera. If true, Delete() will be called on it in the destructor |
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
set contour line parameters.
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
in case the "linked mdi" feature is used, use this to set the mdi child this slicer is linked to.
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
Magic Lens methods.
Implements iASlicer.
| void iASlicerImpl::setMagicLensFrameWidth | ( | int | newWidth | ) |
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
| void iASlicerImpl::setMagicLensSize | ( | int | newSize | ) |
|
overridevirtual |
Sets the slice mode (which axis-aligned slice-plane to use for slicing).
Implements iASlicer.
| void iASlicerImpl::setMouseCursor | ( | QString const & | s | ) |
| void iASlicerImpl::setPositionMarkerCenter | ( | double | x, |
| double | y, | ||
| double | z | ||
| ) |
Set the position of the position marker (in slicer coordinates).
|
slot |
Toggle the possibility to move start and end point of the profile.
|
slot |
Sets coordinates for line profile.
|
overridevirtual |
Implements iASlicer.
| void iASlicerImpl::setRightButtonDragZoomEnabled | ( | bool | enabled | ) |
|
overridevirtual |
ROI rectangle.
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
Enable/disable the tooltip text.
Implements iASlicer.
|
slot |
|
slot |
|
overrideslot |
|
slot |
Toggle the "raw" profile mode, i.e. whether the profile is shown on top of the slicer image.
| void iASlicerImpl::setStatisticalExtent | ( | int | statExt | ) |
| void iASlicerImpl::setTransform | ( | vtkAbstractTransform * | tr | ) |
|
overridevirtual |
Sets up the slicer with the given settings.
Implements iASlicer.
| void iASlicerImpl::showIsolines | ( | bool | s | ) |
Enable/disable contour lines.
| void iASlicerImpl::showPosition | ( | bool | s | ) |
|
overridevirtual |
Get current slice number.
Implements iASlicer.
|
signal |
|
signal |
triggered when slice was rotated
|
signal |
|
slot |
Switches between interaction modi (normal, snake slicer view or editing)
| mode | mode which should be switched to (see InteractionMode enum) |
|
slot |
Toggle interactor state of this slicer between enabled/disabled.
| void iASlicerImpl::triggerSliceRangeChange | ( | ) |
call if the dimension of the input in direction of the slice axis has changed.
|
overrideslot |
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.
|
overridevirtual |
Implements iASlicer.