13 #ifndef QmitkMultiLabelManager_h
14 #define QmitkMultiLabelManager_h
32 class QmitkMultiLabelManagerControls;
144 void OnRenameLabelShortcutActivated();
150 void OnCreateDetailedSurface(
bool);
151 void OnCreateSmoothedSurface(
bool);
153 void OnCreateMask(
bool);
155 void OnCreateCroppedMask(
bool);
161 void OnLabelRenameRequested(
mitk::Label* label,
bool rename,
bool& canceled)
const;
162 void OnModelUpdated();
163 void OnSegmentationChanged();
176 void WaitCursorOff();
178 void RestoreOverrideCursor();
180 void OnThreadedCalculationDone();
182 void AddSegmentationObserver();
183 void RemoveSegmentationObserver();
188 std::unique_ptr<Ui::QmitkMultiLabelManagerControls> m_Controls;
190 QStringList m_OrganColors;
192 QStringList m_LabelStringList;
194 QShortcut* m_AddLabelInstanceShortcut;
196 bool m_ProcessingManualSelection;
202 mitk::MultiLabelSegmentation::Pointer m_ObservedSegmentation;
211 mitk::LabelSuggestionHelper::ConstPointer m_SuggestionHelper;
#define MITKSEGMENTATIONUI_EXPORT
Inspector widget providing a tree view on labels and groups of a MultiLabelSegmentation instance.
QmitkMultiLabelManager(QWidget *parent=nullptr)
void SetSelectedLabel(mitk::MultiLabelSegmentation::LabelValueType selectedLabel)
Selects the passed label instance and sets a new selection of the view.
LabelValueVectorType GetSelectedLabels() const
Retrieve the currently selected labels (equals the last CurrentSelectionChanged values).
void SetMultiLabelSegmentation(mitk::MultiLabelSegmentation *segmentation)
Sets the segmentation that will be used /monitored by the widget.
void SetMultiLabelNode(mitk::DataNode *node)
Sets the segmentation node that will be used /monitored by the widget.
void SetLabelSuggestionHelper(const mitk::LabelSuggestionHelper *suggestionHelper)
void CurrentSelectionChanged(const LabelValueVectorType &labels)
A signal that will be emitted if the selected labels change.
QStringList & GetLabelStringList()
void GoToLabel(mitk::MultiLabelSegmentation::LabelValueType label, const mitk::Point3D &point) const
A signal that will be emitted if the user has requested to "go to" a certain label.
void LabelRenameRequested(mitk::Label *label, bool rename, bool &canceled) const
Signal that is emitted, if a label should be (re)named and default label naming is deactivated.
~QmitkMultiLabelManager() override
virtual void setEnabled(bool enabled)
void SetSelectedLabels(const LabelValueVectorType &selectedLabels)
Transform a list label values into a model selection and set this as a new selection of the view.
const mitk::LabelSuggestionHelper * GetLabelSuggestionHelper() const
mitk::MultiLabelSegmentation::LabelValueVectorType LabelValueVectorType
void SetDataStorage(mitk::DataStorage *storage)
mitk::MultiLabelSegmentation * GetMultiLabelSegmentation() const
QmitkMultiLabelInspector * GetMultiLabelInspector() const
Returns the inspector this manager wraps. Never null after construction.
void SetDefaultLabelNaming(bool defaultLabelNaming)
mitk::DataNode * GetMultiLabelNode() const
Central node class of the MITK data tree, associating a data object with properties and mappers.
Abstract data management class that organizes DataNode objects in a directed acyclic graph.
Convenience class that helps to manage the lifetime of itk event observers.
Helper class for handling label suggestions with constraint checking.
A data structure describing a label in a multi-label segmentation.
MultiLabelSegmentation class for handling labels and layers in a segmentation session.
std::size_t GroupIndexType
std::vector< LabelValueType > LabelValueVectorType
mitk::Label::PixelType LabelValueType
Convenience header that includes all MITK numeric types.
Find image slices visible on a given plane.