Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
SegmentEditorEffects.AbstractScriptedSegmentEditorEffect.AbstractScriptedSegmentEditorEffect Class Reference
Inheritance diagram for SegmentEditorEffects.AbstractScriptedSegmentEditorEffect.AbstractScriptedSegmentEditorEffect:

Public Member Functions

 __init__ (self, scriptedEffect)
 
 cleanup (self)
 
 rasToXy (self, ras, viewWidget)
 
 register (self)
 
 setWidgetMinMaxStepFromImageSpacing (self, spinbox, imageData)
 
 xyToIjk (self, xy, viewWidget, image, parentTransformNode=None)
 
 xyToRas (self, xy, viewWidget)
 
 xyzToIjk (self, xyz, viewWidget, image, parentTransformNode=None)
 
 xyzToRas (self, xyz, viewWidget)
 

Public Attributes

 scriptedEffect = scriptedEffect
 

Detailed Description

Abstract scripted segment editor effects for effects implemented in python.

An example of generic effect is ``ThresholdEffect``.

To use the effect, follow these steps:

1. Instantiation and registration

  Instantiate segment editor effect adaptor class from
  module (e.g. from setup function), and set python source::

    import qSlicerSegmentationsEditorEffectsPythonQt as effects
    scriptedEffect = effects.qSlicerSegmentEditorScriptedEffect(None)
    scriptedEffect.setPythonSource(MyEffect.filePath)
    scriptedEffect.self().register()

  If effect name is added to ``slicer.modules.segmenteditorscriptedeffectnames``
  list then the above instantiation and registration steps are not necessary,
  as the `SegmentEditor` module do all these.

2. Call host C++ implementation using::

    self.scriptedEffect.functionName()

2.a. Most frequently used methods are:

  - Parameter get/set: ``parameter``, ``integerParameter``, ``doubleParameter``, ``setParameter``
  - Add options widget: ``addOptionsWidget``
  - Coordinate transforms: ``rasToXy``, ``xyzToRas``, ``xyToRas``, ``xyzToIjk``, ``xyToIjk``
  - Convenience getters: ``renderWindow``, ``renderer``, ``viewNode``

2.b. Always call API functions (the ones that are defined in the adaptor \
     class ``qSlicerSegmentEditorScriptedEffect``) using the adaptor accessor ``self.scriptedEffect``.

  For example::

    self.scriptedEffect.updateGUIFromMRML()

3. To prevent deactivation of an effect by clicking place fiducial toolbar button, \
   override ``interactionNodeModified(self, interactionNode)``

Definition at line 6 of file AbstractScriptedSegmentEditorEffect.py.

Constructor & Destructor Documentation

◆ __init__()

SegmentEditorEffects.AbstractScriptedSegmentEditorEffect.AbstractScriptedSegmentEditorEffect.__init__ ( self,
scriptedEffect )

Definition at line 49 of file AbstractScriptedSegmentEditorEffect.py.

Member Function Documentation

◆ cleanup()

SegmentEditorEffects.AbstractScriptedSegmentEditorEffect.AbstractScriptedSegmentEditorEffect.cleanup ( self)
Clean up resources, event observers, and Qt signal/slot connections
to ensure proper object deletion.

Subclasses should override this method to disconnect any subclass-specific
signals and slots. This method should be called before the object is
garbage collected or explicitly deleted on the C++ side.

Failing to disconnect signals/slots may prevent the object from being
garbage collected, leading to memory leaks.

For more details, see: https://github.com/Slicer/Slicer/issues/7392

Reimplemented in SegmentEditorEffects.AbstractScriptedSegmentEditorAutoCompleteEffect.AbstractScriptedSegmentEditorAutoCompleteEffect, and SegmentEditorEffects.SegmentEditorThresholdEffect.SegmentEditorThresholdEffect.

Definition at line 56 of file AbstractScriptedSegmentEditorEffect.py.

◆ rasToXy()

SegmentEditorEffects.AbstractScriptedSegmentEditorEffect.AbstractScriptedSegmentEditorEffect.rasToXy ( self,
ras,
viewWidget )

Definition at line 75 of file AbstractScriptedSegmentEditorEffect.py.

◆ register()

SegmentEditorEffects.AbstractScriptedSegmentEditorEffect.AbstractScriptedSegmentEditorEffect.register ( self)

Definition at line 52 of file AbstractScriptedSegmentEditorEffect.py.

◆ setWidgetMinMaxStepFromImageSpacing()

SegmentEditorEffects.AbstractScriptedSegmentEditorEffect.AbstractScriptedSegmentEditorEffect.setWidgetMinMaxStepFromImageSpacing ( self,
spinbox,
imageData )

Definition at line 100 of file AbstractScriptedSegmentEditorEffect.py.

◆ xyToIjk()

SegmentEditorEffects.AbstractScriptedSegmentEditorEffect.AbstractScriptedSegmentEditorEffect.xyToIjk ( self,
xy,
viewWidget,
image,
parentTransformNode = None )

Definition at line 95 of file AbstractScriptedSegmentEditorEffect.py.

◆ xyToRas()

SegmentEditorEffects.AbstractScriptedSegmentEditorEffect.AbstractScriptedSegmentEditorEffect.xyToRas ( self,
xy,
viewWidget )

Definition at line 85 of file AbstractScriptedSegmentEditorEffect.py.

◆ xyzToIjk()

SegmentEditorEffects.AbstractScriptedSegmentEditorEffect.AbstractScriptedSegmentEditorEffect.xyzToIjk ( self,
xyz,
viewWidget,
image,
parentTransformNode = None )

Definition at line 90 of file AbstractScriptedSegmentEditorEffect.py.

◆ xyzToRas()

SegmentEditorEffects.AbstractScriptedSegmentEditorEffect.AbstractScriptedSegmentEditorEffect.xyzToRas ( self,
xyz,
viewWidget )

Definition at line 80 of file AbstractScriptedSegmentEditorEffect.py.

Member Data Documentation

◆ scriptedEffect

SegmentEditorEffects.AbstractScriptedSegmentEditorEffect.AbstractScriptedSegmentEditorEffect.scriptedEffect = scriptedEffect

Definition at line 50 of file AbstractScriptedSegmentEditorEffect.py.


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