13 #ifndef mitkSegGroupInsertOperation_h
14 #define mitkSegGroupInsertOperation_h
38 using ModifyLabelsMapType = std::map<MultiLabelSegmentation::GroupIndexType, MultiLabelSegmentation::ConstLabelVectorType>;
51 const ModifyLabelsMapType& groupLabels = {});
88 bool noLabels =
false,
bool noGroupImages =
false);
#define MITKSEGMENTATION_EXPORT
MultiLabelSegmentation class for handling labels and layers in a segmentation session.
std::size_t GroupIndexType
ConstLabelVector ConstLabelVectorType
Base class for any operation based on a MultiLabelSegmentation instance.
An Operation for inserting groups into a MultiLabelSegmentation.
MultiLabelSegmentation::ConstLabelVectorType GetGroupLabels(MultiLabelSegmentation::GroupIndexType groupID) const
Get the labels for a specific group index.
SegGroupInsertOperation & operator=(const SegGroupInsertOperation &)=delete
std::map< MultiLabelSegmentation::GroupIndexType, std::unique_ptr< CompressedImageContainer > > ModifyCompressedImageMapType
std::string GetGroupName(MultiLabelSegmentation::GroupIndexType groupID) const
Get the group name for a specific group index.
GroupIndexSetType GetImageGroupIDs() const
Get the group indices that have associated image data.
Image::Pointer GetGroupImage(MultiLabelSegmentation::GroupIndexType groupID) const
Get the group image for a specific group index.
std::map< MultiLabelSegmentation::GroupIndexType, Image::ConstPointer > ModifyGroupImageMapType
static SegGroupInsertOperation * CreateFromSegmentation(MultiLabelSegmentation *segmentation, const GroupIndexSetType &relevantGroupIDs, bool noLabels=false, bool noGroupImages=false)
Factory method that creates an insert operation from the current state of a segmentation.
std::map< MultiLabelSegmentation::GroupIndexType, std::string > ModifyGroupNameMapType
SegGroupInsertOperation(const SegGroupInsertOperation &)=delete
ModifyLabelsMapType m_Labels
ModifyCompressedImageMapType m_Images
SegGroupInsertOperation(MultiLabelSegmentation *segmentation, const GroupIndexSetType &groupIDs, const ModifyGroupImageMapType &groupImages={}, const ModifyLabelsMapType &groupLabels={})
Construct an insert operation with the given group data.
~SegGroupInsertOperation() override=default
mitkClassMacro(SegGroupInsertOperation, SegChangeOperationBase)
std::map< MultiLabelSegmentation::GroupIndexType, MultiLabelSegmentation::ConstLabelVectorType > ModifyLabelsMapType
GroupIndexSetType GetGroupIDs() const
Get all group indices managed by this operation.
ModifyGroupNameMapType m_Names
GroupIndexSetType m_GroupIDs
std::set< MultiLabelSegmentation::GroupIndexType > GroupIndexSetType
GroupIndexSetType GetLabelGroupIDs() const
Get the group indices that have associated label data.
Find image slices visible on a given plane.