Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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: