![]() |
Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
|
Scripted abstract effect for implementing label effects in python. More...
#include <Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorScriptedLabelEffect.h>
Public Types | |
typedef qSlicerSegmentEditorAbstractLabelEffect | Superclass |
![]() | |
typedef qSlicerSegmentEditorAbstractEffect | Superclass |
![]() | |
enum | ConfirmationResult { NotConfirmed , ConfirmedWithoutDialog , ConfirmedWithDialog } |
enum | ModificationMode { ModificationModeSet , ModificationModeAdd , ModificationModeRemove , ModificationModeRemoveAll } |
typedef QObject | Superclass |
Public Slots | |
void | updateGUIFromMRML () override |
Update user interface from parameter set node. | |
void | updateMRMLFromGUI () override |
Update parameter set node from user interface. | |
![]() | |
void | updateGUIFromMRML () override |
Update user interface from parameter set node. | |
void | updateMRMLFromGUI () override |
Update parameter set node from user interface. | |
![]() | |
virtual void | updateGUIFromMRML ()=0 |
virtual void | updateMRMLFromGUI ()=0 |
Public Member Functions | |
void | activate () override |
Perform actions to activate the effect (show options frame, etc.) | |
qSlicerSegmentEditorAbstractEffect * | clone () override |
Clone editor effect. Override to return a new instance of the effect sub-class. | |
QCursor | createCursor (qMRMLWidget *viewWidget) override |
Create a cursor customized for the given effect, potentially for each view. | |
void | deactivate () override |
Perform actions to deactivate the effect (hide options frame, destroy actors, etc.) | |
const QString | helpText () const override |
Get help text for effect to be displayed in the help box. | |
QIcon | icon () override |
Get icon for effect to be displayed in segment editor. | |
void | interactionNodeModified (vtkMRMLInteractionNode *interactionNode) override |
Let the effect know that the interaction node is modified. | |
void | layoutChanged () override |
Simple mechanism to let the effects know that the layout has changed. | |
void | masterVolumeNodeChanged () override |
Deprecated. Use sourceVolumeNodeChanged() method instead. | |
bool | processInteractionEvents (vtkRenderWindowInteractor *callerInteractor, unsigned long eid, qMRMLWidget *viewWidget) override |
void | processViewNodeEvents (vtkMRMLAbstractViewNode *callerViewNode, unsigned long eid, qMRMLWidget *viewWidget) override |
Q_INVOKABLE QString | pythonSource () const |
qSlicerSegmentEditorScriptedLabelEffect (QObject *parent=nullptr) | |
void | referenceGeometryChanged () override |
Simple mechanism to let the effects know that reference geometry change has changed. | |
Q_INVOKABLE PyObject * | self () const |
Convenience method allowing to retrieve the associated scripted instance. | |
void | setMRMLDefaults () override |
Set default parameters in the parameter MRML node. | |
void | setName (QString name) override |
void | setPerSegment (bool perSegment) override |
Set flag indicating whether effect operates on segments (true) or the whole segmentation (false). | |
Q_INVOKABLE bool | setPythonSource (const QString filePath) |
void | setupOptionsFrame () override |
Create options frame widgets, make connections, and add them to the main options frame using. | |
void | sourceVolumeNodeChanged () override |
Simple mechanism to let the effects know that source volume has changed. | |
~qSlicerSegmentEditorScriptedLabelEffect () override | |
![]() | |
qSlicerSegmentEditorAbstractLabelEffect (QObject *parent=nullptr) | |
~qSlicerSegmentEditorAbstractLabelEffect () override | |
![]() | |
virtual Q_INVOKABLE bool | active () |
Returns true if the effect is currently active (activated and has not deactivated since then) | |
Q_INVOKABLE void | addActor2D (qMRMLWidget *viewWidget, vtkActor2D *actor) |
Q_INVOKABLE void | addActor3D (qMRMLWidget *viewWidget, vtkProp3D *actor) |
Q_INVOKABLE QWidget * | addLabeledOptionsWidget (QString label, QLayout *newOptionsWidget) |
Q_INVOKABLE QWidget * | addLabeledOptionsWidget (QString label, QWidget *newOptionsWidget) |
Q_INVOKABLE void | addOptionsWidget (QLayout *newOptionsWidget) |
Q_INVOKABLE void | addOptionsWidget (QWidget *newOptionsWidget) |
virtual Q_INVOKABLE void | cleanup () |
Q_INVOKABLE bool | commonParameterDefined (QString name) |
Returns true if the common parameter is already defined. | |
Q_INVOKABLE int | confirmCurrentSegmentVisible () |
Q_INVOKABLE void | cursorOff (qMRMLWidget *viewWidget) |
Turn off cursor and save cursor to restore later. | |
Q_INVOKABLE void | cursorOn (qMRMLWidget *viewWidget) |
Restore saved cursor. | |
Q_INVOKABLE vtkOrientedImageData * | defaultModifierLabelmap () |
Q_INVOKABLE double | doubleParameter (QString name) |
Get effect-specific or common double type parameter from effect parameter set node. | |
Q_INVOKABLE int | integerParameter (QString name) |
Get effect-specific or common integer type parameter from effect parameter set node. | |
Q_INVOKABLE vtkOrientedImageData * | maskLabelmap () |
Q_INVOKABLE vtkOrientedImageData * | masterVolumeImageData () |
Deprecated. Use sourceVolumeImageData method instead. | |
Q_INVOKABLE vtkOrientedImageData * | modifierLabelmap () |
virtual Q_INVOKABLE void | modifySegmentByLabelmap (vtkMRMLSegmentationNode *segmentationNode, const char *segmentID, vtkOrientedImageData *modifierLabelmap, ModificationMode modificationMode, bool bypassMasking=false) |
virtual Q_INVOKABLE void | modifySegmentByLabelmap (vtkMRMLSegmentationNode *segmentationNode, const char *segmentID, vtkOrientedImageData *modifierLabelmap, ModificationMode modificationMode, const int modificationExtent[6], bool bypassMasking=false) |
virtual Q_INVOKABLE void | modifySelectedSegmentByLabelmap (vtkOrientedImageData *modifierLabelmap, ModificationMode modificationMode, bool bypassMasking=false) |
virtual Q_INVOKABLE void | modifySelectedSegmentByLabelmap (vtkOrientedImageData *modifierLabelmap, ModificationMode modificationMode, const int modificationExtent[6], bool bypassMasking=false) |
virtual Q_INVOKABLE void | modifySelectedSegmentByLabelmap (vtkOrientedImageData *modifierLabelmap, ModificationMode modificationMode, QList< int > extent, bool bypassMasking=false) |
virtual QString | name () const |
Q_INVOKABLE vtkMRMLNode * | nodeReference (QString name) |
Get effect-specific or common node reference type parameter from effect parameter set node. | |
Q_INVOKABLE QFrame * | optionsFrame () |
Get effect options frame. | |
Q_INVOKABLE QFormLayout * | optionsLayout () |
Get layout of options frame. | |
Q_INVOKABLE QString | parameter (QString name) |
Get effect-specific or common string type parameter from effect parameter set node. | |
Q_INVOKABLE bool | parameterDefined (QString name) |
Returns true if the effect-specific parameter is already defined. | |
Q_INVOKABLE vtkMRMLSegmentEditorNode * | parameterSetNode () |
Get segment editor parameter set node. | |
virtual bool | perSegment () const |
Get flag indicating whether effect operates on segments (true) or the whole segmentation (false). | |
qSlicerSegmentEditorAbstractEffect (QObject *parent=nullptr) | |
Q_INVOKABLE vtkOrientedImageData * | referenceGeometryImage () |
Q_INVOKABLE void | removeActor2D (qMRMLWidget *viewWidget, vtkActor2D *actor) |
Remove actor from the renderer of the widget. | |
Q_INVOKABLE void | removeActor3D (qMRMLWidget *viewWidget, vtkProp3D *actor) |
Remove actor from the renderer of the widget. | |
virtual bool | requireSegments () const |
If this property is set to true then this effect is enabled only when the segmentation has segment(s) in it. | |
Q_INVOKABLE void | saveStateForUndo () |
Q_INVOKABLE vtkMRMLScene * | scene () |
Get MRML scene (from parameter set node) | |
Q_INVOKABLE bool | segmentationDisplayableInView (vtkMRMLAbstractViewNode *viewNode) |
Q_INVOKABLE vtkOrientedImageData * | selectedSegmentLabelmap () |
Q_INVOKABLE void | selectEffect (QString effectName) |
void | setCallbackSlots (QObject *receiver, const char *selectEffectSlot, const char *updateVolumeSlot, const char *saveStateForUndoSlot) |
Q_INVOKABLE void | setCommonNodeReference (QString name, vtkMRMLNode *node) |
Convenience function to set node reference common parameter. | |
Q_INVOKABLE void | setCommonParameter (QString name, double value) |
Convenience function to set double common parameter. | |
Q_INVOKABLE void | setCommonParameter (QString name, int value) |
Convenience function to set integer common parameter. | |
Q_INVOKABLE void | setCommonParameter (QString name, QString value) |
Q_INVOKABLE void | setCommonParameterDefault (QString name, double value) |
Q_INVOKABLE void | setCommonParameterDefault (QString name, int value) |
Q_INVOKABLE void | setCommonParameterDefault (QString name, QString value) |
Q_INVOKABLE void | setNodeReference (QString name, vtkMRMLNode *node) |
Q_INVOKABLE void | setParameter (QString name, double value) |
Q_INVOKABLE void | setParameter (QString name, int value) |
Q_INVOKABLE void | setParameter (QString name, QString value) |
Q_INVOKABLE void | setParameterDefault (QString name, double value) |
Q_INVOKABLE void | setParameterDefault (QString name, int value) |
Q_INVOKABLE void | setParameterDefault (QString name, QString value) |
Q_INVOKABLE void | setParameterSetNode (vtkMRMLSegmentEditorNode *node) |
Set segment editor parameter set node. | |
virtual void | setRequireSegments (bool requireSegments) |
If this property is set to true then this effect is enabled only when the segmentation has segment(s) in it. | |
void | setShowEffectCursorInSliceView (bool show) |
void | setShowEffectCursorInThreeDView (bool show) |
virtual void | setTitle (QString title) |
Set the title of the effect. | |
void | setVolumes (vtkOrientedImageData *alignedSourceVolume, vtkOrientedImageData *modifierLabelmap, vtkOrientedImageData *maskLabelmap, vtkOrientedImageData *selectedSegmentLabelmap, vtkOrientedImageData *referenceGeometryImage) |
Called by the editor widget. | |
bool | showEffectCursorInSliceView () |
bool | showEffectCursorInThreeDView () |
Q_INVOKABLE vtkOrientedImageData * | sourceVolumeImageData () |
virtual QString | title () const |
~qSlicerSegmentEditorAbstractEffect () override | |
Protected Attributes | |
QScopedPointer< qSlicerSegmentEditorScriptedLabelEffectPrivate > | d_ptr |
![]() | |
QScopedPointer< qSlicerSegmentEditorAbstractLabelEffectPrivate > | d_ptr |
![]() | |
QScopedPointer< qSlicerSegmentEditorAbstractEffectPrivate > | d_ptr |
bool | m_Active {false} |
vtkWeakPointer< vtkSegment > | m_AlreadyConfirmedSegmentVisible |
double | m_EraseValue {0.0} |
double | m_FillValue {1.0} |
QString | m_Name |
bool | m_PerSegment {true} |
bool | m_RequireSegments {true} |
bool | m_ShowEffectCursorInSliceView {true} |
bool | m_ShowEffectCursorInThreeDView {false} |
QString | m_Title |
Additional Inherited Members | |
![]() | |
QString | name |
bool | perSegment |
bool | requireSegments |
bool | showEffectCursorInSliceView |
bool | showEffectCursorInThreeDView |
QString | title |
![]() | |
static Q_INVOKABLE void | appendImage (vtkOrientedImageData *inputImage, vtkOrientedImageData *appendedImage) |
Append image onto image. Resamples appended image and saves result in input image. | |
static Q_INVOKABLE void | appendPolyMask (vtkOrientedImageData *input, vtkPolyData *polyData, qMRMLSliceWidget *sliceWidget, vtkMRMLSegmentationNode *segmentationNode=nullptr) |
Rasterize a poly data onto the input image into the slice view. | |
static Q_INVOKABLE void | createMaskImageFromPolyData (vtkPolyData *polyData, vtkOrientedImageData *outputMask, qMRMLSliceWidget *sliceWidget) |
Create a slice view screen space (2D) mask image for the given polydata. | |
static Q_INVOKABLE void | imageToWorldMatrix (vtkMRMLVolumeNode *node, vtkMatrix4x4 *ijkToRas) |
static Q_INVOKABLE void | imageToWorldMatrix (vtkOrientedImageData *image, vtkMRMLSegmentationNode *node, vtkMatrix4x4 *ijkToRas) |
![]() | |
static Q_INVOKABLE void | applyImageMask (vtkOrientedImageData *input, vtkOrientedImageData *mask, double fillValue, bool notMask=false) |
static Q_INVOKABLE void | forceRender (qMRMLWidget *viewWidget) |
static QPoint | rasToXy (double ras[3], qMRMLSliceWidget *sliceWidget) |
Convert RAS position to XY in-slice position. | |
static Q_INVOKABLE QPoint | rasToXy (QVector3D ras, qMRMLSliceWidget *sliceWidget) |
Convert RAS position to XY in-slice position, python accessor method. | |
static Q_INVOKABLE vtkRenderer * | renderer (qMRMLWidget *viewWidget) |
Get renderer for view widget. | |
static Q_INVOKABLE vtkRenderWindow * | renderWindow (qMRMLWidget *viewWidget) |
Get render window for view widget. | |
static Q_INVOKABLE void | scheduleRender (qMRMLWidget *viewWidget) |
static Q_INVOKABLE double | sliceSpacing (qMRMLSliceWidget *sliceWidget) |
static Q_INVOKABLE vtkMRMLAbstractViewNode * | viewNode (qMRMLWidget *viewWidget) |
Get node for view widget. | |
static void | xyToIjk (double xy[2], int outputIjk[3], qMRMLSliceWidget *sliceWidget, vtkOrientedImageData *image, vtkMRMLTransformNode *parentTransform=nullptr) |
Convert XY in-slice position to image IJK position. | |
static void | xyToIjk (QPoint xy, int outputIjk[3], qMRMLSliceWidget *sliceWidget, vtkOrientedImageData *image, vtkMRMLTransformNode *parentTransform=nullptr) |
Convert XY in-slice position to image IJK position. | |
static Q_INVOKABLE QVector3D | xyToIjk (QPoint xy, qMRMLSliceWidget *sliceWidget, vtkOrientedImageData *image, vtkMRMLTransformNode *parentTransform=nullptr) |
Convert XY in-slice position to image IJK position, python accessor method. | |
static void | xyToRas (double xy[2], double outputRas[3], qMRMLSliceWidget *sliceWidget) |
Convert XY in-slice position to RAS position. | |
static void | xyToRas (QPoint xy, double outputRas[3], qMRMLSliceWidget *sliceWidget) |
Convert XY in-slice position to RAS position. | |
static Q_INVOKABLE QVector3D | xyToRas (QPoint xy, qMRMLSliceWidget *sliceWidget) |
Convert XY in-slice position to RAS position, python accessor method. | |
static void | xyzToIjk (double inputXyz[3], int outputIjk[3], qMRMLSliceWidget *sliceWidget, vtkOrientedImageData *image, vtkMRMLTransformNode *parentTransform=nullptr) |
Convert XYZ slice view position to image IJK position,. | |
static Q_INVOKABLE QVector3D | xyzToIjk (QVector3D inputXyz, qMRMLSliceWidget *sliceWidget, vtkOrientedImageData *image, vtkMRMLTransformNode *parentTransform=nullptr) |
Convert XYZ slice view position to image IJK position, python accessor method,. | |
static void | xyzToRas (double inputXyz[3], double outputRas[3], qMRMLSliceWidget *sliceWidget) |
static Q_INVOKABLE QVector3D | xyzToRas (QVector3D inputXyz, qMRMLSliceWidget *sliceWidget) |
Convert XYZ slice view position to RAS position, python accessor method. | |
Scripted abstract effect for implementing label effects in python.
This class provides an interface to label effects implemented in python. Label effects are a subtype of general effects that edit the currently selected segment (i.e. for things like paint or draw, but not for things like threshold) USAGE: Subclass AbstractScriptedSegmentEditorLabelEffect in EditorEffects/Python subfolder, and register effect by creating this class and setting python source to implemented effect subclass. One example is the DrawEffect.
Definition at line 47 of file qSlicerSegmentEditorScriptedLabelEffect.h.
Definition at line 53 of file qSlicerSegmentEditorScriptedLabelEffect.h.
qSlicerSegmentEditorScriptedLabelEffect::qSlicerSegmentEditorScriptedLabelEffect | ( | QObject * | parent = nullptr | ) |
|
override |
|
overridevirtual |
Perform actions to activate the effect (show options frame, etc.)
Reimplemented from qSlicerSegmentEditorAbstractEffect.
|
overridevirtual |
Clone editor effect. Override to return a new instance of the effect sub-class.
Implements qSlicerSegmentEditorAbstractLabelEffect.
|
overridevirtual |
Create a cursor customized for the given effect, potentially for each view.
Reimplemented from qSlicerSegmentEditorAbstractEffect.
|
overridevirtual |
Perform actions to deactivate the effect (hide options frame, destroy actors, etc.)
Reimplemented from qSlicerSegmentEditorAbstractEffect.
|
overridevirtual |
Get help text for effect to be displayed in the help box.
Reimplemented from qSlicerSegmentEditorAbstractEffect.
|
overridevirtual |
Get icon for effect to be displayed in segment editor.
Reimplemented from qSlicerSegmentEditorAbstractEffect.
|
overridevirtual |
Let the effect know that the interaction node is modified.
Reimplemented from qSlicerSegmentEditorAbstractEffect.
|
overridevirtual |
Simple mechanism to let the effects know that the layout has changed.
Reimplemented from qSlicerSegmentEditorAbstractEffect.
|
overridevirtual |
Deprecated. Use sourceVolumeNodeChanged() method instead.
Reimplemented from qSlicerSegmentEditorAbstractEffect.
|
overridevirtual |
Callback function invoked when interaction happens
callerInteractor | Interactor object that was observed to catch the event |
eid | Event identifier |
viewWidget | Widget of the Slicer layout view. Can be |
Reimplemented from qSlicerSegmentEditorAbstractEffect.
|
overridevirtual |
Callback function invoked when view node is modified
callerViewNode | View node that was observed to catch the event. Can be either |
eid | Event identifier |
viewWidget | Widget of the Slicer layout view. Can be |
Reimplemented from qSlicerSegmentEditorAbstractEffect.
Q_INVOKABLE QString qSlicerSegmentEditorScriptedLabelEffect::pythonSource | ( | ) | const |
|
overridevirtual |
Simple mechanism to let the effects know that reference geometry change has changed.
Reimplemented from qSlicerSegmentEditorAbstractLabelEffect.
Q_INVOKABLE PyObject * qSlicerSegmentEditorScriptedLabelEffect::self | ( | ) | const |
Convenience method allowing to retrieve the associated scripted instance.
|
overridevirtual |
Set default parameters in the parameter MRML node.
Reimplemented from qSlicerSegmentEditorAbstractLabelEffect.
|
overridevirtual |
|
overridevirtual |
Set flag indicating whether effect operates on segments (true) or the whole segmentation (false).
Reimplemented from qSlicerSegmentEditorAbstractEffect.
Q_INVOKABLE bool qSlicerSegmentEditorScriptedLabelEffect::setPythonSource | ( | const QString | filePath | ) |
Set python source for the implemented effect
filePath | Python file path |
|
overridevirtual |
Create options frame widgets, make connections, and add them to the main options frame using.
Reimplemented from qSlicerSegmentEditorAbstractLabelEffect.
|
overridevirtual |
Simple mechanism to let the effects know that source volume has changed.
Reimplemented from qSlicerSegmentEditorAbstractLabelEffect.
|
overrideslot |
Update user interface from parameter set node.
|
overrideslot |
Update parameter set node from user interface.
|
protected |
Definition at line 130 of file qSlicerSegmentEditorScriptedLabelEffect.h.