Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
List of all members | Public Types | Public Slots | Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes
qSlicerSubjectHierarchySegmentationsPlugin Class Reference

#include <Modules/Loadable/Segmentations/SubjectHierarchyPlugins/qSlicerSubjectHierarchySegmentationsPlugin.h>

Inheritance diagram for qSlicerSubjectHierarchySegmentationsPlugin:
Inheritance graph
[legend]
Collaboration diagram for qSlicerSubjectHierarchySegmentationsPlugin:
Collaboration graph
[legend]

Public Types

typedef qSlicerSubjectHierarchyAbstractPlugin Superclass
 
- Public Types inherited from qSlicerSubjectHierarchyAbstractPlugin
enum  ActionSectionType {
  SectionTop = -400, SectionInteraction = -300, SectionComponent = -200, SectionNode = -100,
  SectionDefault = 0, SectionFolder = 100, SectionBottom = 200
}
 
typedef QObject Superclass
 

Public Slots

void onDisplayNodeModified (vtkObject *caller)
 Called when segmentation display node is modified. More...
 
void onSegmentAdded (vtkObject *caller, void *callData)
 
void onSegmentModified (vtkObject *caller, void *callData)
 
void onSegmentRemoved (vtkObject *caller, void *callData)
 
void onSubjectHierarchyItemAboutToBeRemoved (vtkObject *caller, void *callData)
 
void onSubjectHierarchyItemModified (vtkObject *caller, void *callData)
 

Public Member Functions

bool addNodeToSubjectHierarchy (vtkMRMLNode *node, vtkIdType parentItemID) override
 Creates subject hierarchy item using default method and updates all segments. More...
 
double canAddNodeToSubjectHierarchy (vtkMRMLNode *node, vtkIdType parentItemID=vtkMRMLSubjectHierarchyNode::INVALID_ITEM_ID) const override
 
double canOwnSubjectHierarchyItem (vtkIdType itemID) const override
 
double canReparentItemInsideSubjectHierarchy (vtkIdType itemID, vtkIdType parentItemID) const override
 
int getDisplayVisibility (vtkIdType itemID) const override
 
const QString helpText () const override
 Get help text for plugin to be added in subject hierarchy module widget help box. More...
 
QIcon icon (vtkIdType itemID) override
 
QList< QAction * > itemContextMenuActions () const override
 Get item context menu item actions to add to tree view. More...
 
 qSlicerSubjectHierarchySegmentationsPlugin (QObject *parent=nullptr)
 
bool reparentItemInsideSubjectHierarchy (vtkIdType itemID, vtkIdType parentItemID) override
 
Q_INVOKABLE const QString roleForPlugin () const override
 
void setDisplayVisibility (vtkIdType itemID, int visible) override
 Set display visibility of a owned subject hierarchy item. More...
 
void showContextMenuActionsForItem (vtkIdType itemID) override
 
bool showItemInView (vtkIdType itemID, vtkMRMLAbstractViewNode *viewNode, vtkIdList *allItemsToShow) override
 
void showVisibilityContextMenuActionsForItem (vtkIdType itemID) override
 
QString tooltip (vtkIdType itemID) const override
 Generate tooltip for a owned subject hierarchy item. More...
 
QList< QAction * > visibilityContextMenuActions () const override
 
QIcon visibilityIcon (int visible) override
 Get visibility icon for a visibility state. More...
 
 ~qSlicerSubjectHierarchySegmentationsPlugin () override
 
- Public Member Functions inherited from qSlicerSubjectHierarchyAbstractPlugin
virtual Q_INVOKABLE bool canEditProperties (vtkIdType itemID)
 Returns true if the module can edit properties of this item using editProperties. More...
 
virtual QString displayedItemName (vtkIdType itemID) const
 
virtual Q_INVOKABLE void editProperties (vtkIdType itemID)
 Open module belonging to item and set inputs in opened module. More...
 
virtual Q_INVOKABLE QColor getDisplayColor (vtkIdType itemID, QMap< int, QVariant > &terminologyMetaData) const
 
Q_INVOKABLE bool isThisPluginOwnerOfItem (vtkIdType itemID) const
 Determines if the item is owned by this plugin. More...
 
virtual QString name () const
 Get the name of the plugin. More...
 
 qSlicerSubjectHierarchyAbstractPlugin (QObject *parent=nullptr)
 
virtual Q_INVOKABLE QList< QAction * > sceneContextMenuActions () const
 
virtual Q_INVOKABLE void setDisplayColor (vtkIdType itemID, QColor color, QMap< int, QVariant > terminologyMetaData)
 
virtual void setName (QString name)
 
virtual Q_INVOKABLE void showViewContextMenuActionsForItem (vtkIdType itemID, QVariantMap eventData)
 
virtual Q_INVOKABLE QList< QAction * > viewContextMenuActions () const
 
 ~qSlicerSubjectHierarchyAbstractPlugin () override
 

Protected Slots

void convertLabelmapToSegmentation ()
 Convert labelmap to segmentation node. More...
 
void convertModelsToSegmentation ()
 Convert model hierarchy to segmentation node. More...
 
void convertModelToSegmentation ()
 Convert model to segmentation node. More...
 
void createBinaryLabelmapRepresentation ()
 
void createClosedSurfaceRepresentation ()
 
void exportToBinaryLabelmap ()
 Export to binary labelmap. More...
 
void exportToClosedSurface ()
 Export to closed surface. More...
 
void removeBinaryLabelmapRepresentation ()
 
void removeClosedSurfaceRepresentation ()
 
void toggle2DFillVisibility (bool)
 Toggle 2D fill visibility for the current segmentation. More...
 
void toggle2DOutlineVisibility (bool)
 Toggle 2D outline visibility for the current segmentation. More...
 

Protected Member Functions

void updateAllSegmentsFromMRML (vtkMRMLSegmentationNode *segmentationNode)
 
void updateRepresentation (const QString &representationName, bool create)
 
- Protected Member Functions inherited from qSlicerSubjectHierarchyAbstractPlugin
void hideAllContextMenuActions () const
 

Protected Attributes

QScopedPointer< qSlicerSubjectHierarchySegmentationsPluginPrivate > d_ptr
 
- Protected Attributes inherited from qSlicerSubjectHierarchyAbstractPlugin
QString m_Name
 Name of the plugin. More...
 

Additional Inherited Members

- Properties inherited from qSlicerSubjectHierarchyAbstractPlugin
QString name
 
- Signals inherited from qSlicerSubjectHierarchyAbstractPlugin
void requestExpandItem (vtkIdType itemID)
 Signal requesting expanding of the subject hierarchy tree item belonging to an item. More...
 
void requestInvalidateFilter () const
 
- Static Public Member Functions inherited from qSlicerSubjectHierarchyAbstractPlugin
static Q_INVOKABLE void setActionPosition (QAction *action, int section, int weight=0, double weightAdjustment=0.0)
 
static Q_INVOKABLE qSlicerAbstractModuleWidgetswitchToModule (QString moduleName)
 

Detailed Description

Definition at line 33 of file qSlicerSubjectHierarchySegmentationsPlugin.h.

Member Typedef Documentation

◆ Superclass

Definition at line 39 of file qSlicerSubjectHierarchySegmentationsPlugin.h.

Constructor & Destructor Documentation

◆ qSlicerSubjectHierarchySegmentationsPlugin()

qSlicerSubjectHierarchySegmentationsPlugin::qSlicerSubjectHierarchySegmentationsPlugin ( QObject *  parent = nullptr)

◆ ~qSlicerSubjectHierarchySegmentationsPlugin()

qSlicerSubjectHierarchySegmentationsPlugin::~qSlicerSubjectHierarchySegmentationsPlugin ( )
override

Member Function Documentation

◆ addNodeToSubjectHierarchy()

bool qSlicerSubjectHierarchySegmentationsPlugin::addNodeToSubjectHierarchy ( vtkMRMLNode node,
vtkIdType  parentItemID 
)
overridevirtual

Creates subject hierarchy item using default method and updates all segments.

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ canAddNodeToSubjectHierarchy()

double qSlicerSubjectHierarchySegmentationsPlugin::canAddNodeToSubjectHierarchy ( vtkMRMLNode node,
vtkIdType  parentItemID = vtkMRMLSubjectHierarchyNode::INVALID_ITEM_ID 
) const
overridevirtual

Determines if a data node can be placed in the hierarchy using the actual plugin, and gets a confidence value for a certain MRML node (usually the type and possibly attributes are checked).

Parameters
nodeNode to be added to the hierarchy
parentItemIDProspective parent of the node to add. Default value is invalid. In that case the parent will be ignored, the confidence numbers are got based on the to-be child node alone.
Returns
Floating point confidence number between 0 and 1, where 0 means that the plugin cannot handle the node, and 1 means that the plugin is the only one that can handle the node (by node type or identifier attribute)

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ canOwnSubjectHierarchyItem()

double qSlicerSubjectHierarchySegmentationsPlugin::canOwnSubjectHierarchyItem ( vtkIdType  itemID) const
overridevirtual

Determines if the actual plugin can handle a subject hierarchy item. The plugin with the highest confidence number will "own" the item in the subject hierarchy (set icon, tooltip, set context menu etc.)

Parameters
itemItem to handle in the subject hierarchy tree
Returns
Floating point confidence number between 0 and 1, where 0 means that the plugin cannot handle the item, and 1 means that the plugin is the only one that can handle the item (by node type or identifier attribute)

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ canReparentItemInsideSubjectHierarchy()

double qSlicerSubjectHierarchySegmentationsPlugin::canReparentItemInsideSubjectHierarchy ( vtkIdType  itemID,
vtkIdType  parentItemID 
) const
overridevirtual

Determines if a subject hierarchy item can be reparented in the hierarchy using the current plugin, and gets a confidence value for the reparented item. Most plugins do not perform steps additional to the default, so the default implementation returns a 0 confidence value, which can be overridden in plugins that do handle special cases.

Parameters
itemIDItem to be reparented in the hierarchy
parentItemIDProspective parent of the item to reparent.
Returns
Floating point confidence number between 0 and 1, where 0 means that the plugin cannot handle the item, and 1 means that the plugin is the only one that can handle the item

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ convertLabelmapToSegmentation

void qSlicerSubjectHierarchySegmentationsPlugin::convertLabelmapToSegmentation ( )
protectedslot

Convert labelmap to segmentation node.

◆ convertModelsToSegmentation

void qSlicerSubjectHierarchySegmentationsPlugin::convertModelsToSegmentation ( )
protectedslot

Convert model hierarchy to segmentation node.

◆ convertModelToSegmentation

void qSlicerSubjectHierarchySegmentationsPlugin::convertModelToSegmentation ( )
protectedslot

Convert model to segmentation node.

◆ createBinaryLabelmapRepresentation

void qSlicerSubjectHierarchySegmentationsPlugin::createBinaryLabelmapRepresentation ( )
protectedslot

◆ createClosedSurfaceRepresentation

void qSlicerSubjectHierarchySegmentationsPlugin::createClosedSurfaceRepresentation ( )
protectedslot

◆ exportToBinaryLabelmap

void qSlicerSubjectHierarchySegmentationsPlugin::exportToBinaryLabelmap ( )
protectedslot

Export to binary labelmap.

◆ exportToClosedSurface

void qSlicerSubjectHierarchySegmentationsPlugin::exportToClosedSurface ( )
protectedslot

Export to closed surface.

◆ getDisplayVisibility()

int qSlicerSubjectHierarchySegmentationsPlugin::getDisplayVisibility ( vtkIdType  itemID) const
overridevirtual

Get display visibility of a owned subject hierarchy item

Returns
Display visibility (0: hidden, 1: shown, 2: partially shown)

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ helpText()

const QString qSlicerSubjectHierarchySegmentationsPlugin::helpText ( ) const
overridevirtual

Get help text for plugin to be added in subject hierarchy module widget help box.

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ icon()

QIcon qSlicerSubjectHierarchySegmentationsPlugin::icon ( vtkIdType  itemID)
overridevirtual

Get icon of an owned subject hierarchy item

Returns
Icon to set, empty icon if nothing to set

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ itemContextMenuActions()

QList<QAction*> qSlicerSubjectHierarchySegmentationsPlugin::itemContextMenuActions ( ) const
overridevirtual

Get item context menu item actions to add to tree view.

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ onDisplayNodeModified

void qSlicerSubjectHierarchySegmentationsPlugin::onDisplayNodeModified ( vtkObject *  caller)
slot

Called when segmentation display node is modified.

◆ onSegmentAdded

void qSlicerSubjectHierarchySegmentationsPlugin::onSegmentAdded ( vtkObject *  caller,
void *  callData 
)
slot

Called when segment is added in an observed segmentation node Adds per-segment subject hierarchy node

◆ onSegmentModified

void qSlicerSubjectHierarchySegmentationsPlugin::onSegmentModified ( vtkObject *  caller,
void *  callData 
)
slot

Called when segment is modified in an observed segmentation node. Renames per-segment subject hierarchy node if necessary

◆ onSegmentRemoved

void qSlicerSubjectHierarchySegmentationsPlugin::onSegmentRemoved ( vtkObject *  caller,
void *  callData 
)
slot

Called when segment is removed in an observed segmentation node. Removes per-segment subject hierarchy node

◆ onSubjectHierarchyItemAboutToBeRemoved

void qSlicerSubjectHierarchySegmentationsPlugin::onSubjectHierarchyItemAboutToBeRemoved ( vtkObject *  caller,
void *  callData 
)
slot

Called when a subject hierarchy item is about to be removed. Removes segment from parent segmentation if the removed item belongs to a segment

◆ onSubjectHierarchyItemModified

void qSlicerSubjectHierarchySegmentationsPlugin::onSubjectHierarchyItemModified ( vtkObject *  caller,
void *  callData 
)
slot

Called when a subject hierarchy item is modified. Renames segment if the modified item belongs to a segment

◆ removeBinaryLabelmapRepresentation

void qSlicerSubjectHierarchySegmentationsPlugin::removeBinaryLabelmapRepresentation ( )
protectedslot

◆ removeClosedSurfaceRepresentation

void qSlicerSubjectHierarchySegmentationsPlugin::removeClosedSurfaceRepresentation ( )
protectedslot

◆ reparentItemInsideSubjectHierarchy()

bool qSlicerSubjectHierarchySegmentationsPlugin::reparentItemInsideSubjectHierarchy ( vtkIdType  itemID,
vtkIdType  parentItemID 
)
overridevirtual

Reparent an item that was already in the subject hierarchy under a new parent.

Returns
True if reparented successfully, false otherwise

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ roleForPlugin()

Q_INVOKABLE const QString qSlicerSubjectHierarchySegmentationsPlugin::roleForPlugin ( ) const
overridevirtual

Get role that the plugin assigns to the subject hierarchy node. Each plugin should provide only one role.

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ setDisplayVisibility()

void qSlicerSubjectHierarchySegmentationsPlugin::setDisplayVisibility ( vtkIdType  itemID,
int  visible 
)
overridevirtual

Set display visibility of a owned subject hierarchy item.

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ showContextMenuActionsForItem()

void qSlicerSubjectHierarchySegmentationsPlugin::showContextMenuActionsForItem ( vtkIdType  itemID)
overridevirtual

Show context menu actions valid for a given subject hierarchy item.

Parameters
itemIDSubject Hierarchy item to show the context menu items for

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ showItemInView()

bool qSlicerSubjectHierarchySegmentationsPlugin::showItemInView ( vtkIdType  itemID,
vtkMRMLAbstractViewNode viewNode,
vtkIdList *  allItemsToShow 
)
overridevirtual

Show a segmentation item in a selected view. Overridden here to create closed surface representation for display in 3D views. Returns true on success.

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ showVisibilityContextMenuActionsForItem()

void qSlicerSubjectHierarchySegmentationsPlugin::showVisibilityContextMenuActionsForItem ( vtkIdType  itemID)
overridevirtual

Show visibility context menu actions valid for a given subject hierarchy item.

Parameters
itemIDSubject Hierarchy item to show the visibility context menu items for

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ toggle2DFillVisibility

void qSlicerSubjectHierarchySegmentationsPlugin::toggle2DFillVisibility ( bool  )
protectedslot

Toggle 2D fill visibility for the current segmentation.

◆ toggle2DOutlineVisibility

void qSlicerSubjectHierarchySegmentationsPlugin::toggle2DOutlineVisibility ( bool  )
protectedslot

Toggle 2D outline visibility for the current segmentation.

◆ tooltip()

QString qSlicerSubjectHierarchySegmentationsPlugin::tooltip ( vtkIdType  itemID) const
overridevirtual

Generate tooltip for a owned subject hierarchy item.

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ updateAllSegmentsFromMRML()

void qSlicerSubjectHierarchySegmentationsPlugin::updateAllSegmentsFromMRML ( vtkMRMLSegmentationNode segmentationNode)
protected

◆ updateRepresentation()

void qSlicerSubjectHierarchySegmentationsPlugin::updateRepresentation ( const QString &  representationName,
bool  create 
)
protected

Create or remove representation. If create is true then representation is created, if false then the representation is removed.

◆ visibilityContextMenuActions()

QList<QAction*> qSlicerSubjectHierarchySegmentationsPlugin::visibilityContextMenuActions ( ) const
overridevirtual

Get visibility context menu item actions to add to tree view. These item visibility context menu actions can be shown in the implementations of

See also
showVisibilityContextMenuActionsForItem

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

◆ visibilityIcon()

QIcon qSlicerSubjectHierarchySegmentationsPlugin::visibilityIcon ( int  visible)
overridevirtual

Get visibility icon for a visibility state.

Reimplemented from qSlicerSubjectHierarchyAbstractPlugin.

Member Data Documentation

◆ d_ptr

QScopedPointer<qSlicerSubjectHierarchySegmentationsPluginPrivate> qSlicerSubjectHierarchySegmentationsPlugin::d_ptr
protected

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