13 #ifndef mitkSegGroupModifyOperation_h
14 #define mitkSegGroupModifyOperation_h
35 using ModifyLabelsMapType = std::map<MultiLabelSegmentation::GroupIndexType, MultiLabelSegmentation::ConstLabelVectorType>;
65 const std::set<MultiLabelSegmentation::GroupIndexType>& relevantGroupIDs,
bool coverAllTimeSteps,
TimeStepType timeStep = 0,
66 bool noLabels =
false,
bool noGroupImages =
false,
bool noNames =
false);
69 using ModifyCompressedImageMapType = std::map<MultiLabelSegmentation::GroupIndexType, std::map<TimeStepType, std::unique_ptr<CompressedImageContainer>>>;
#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 applying an edited slice to the a group of a MultiLabelSegmentation.
mitkClassMacro(SegGroupModifyOperation, SegChangeOperationBase)
ModifyGroupNameMapType m_ModifiedNames
MultiLabelSegmentation::ConstLabelVectorType GetModifiedLabels(MultiLabelSegmentation::GroupIndexType groupID) const
Get the modified group image for a certain group and time step that is applied in the operation.
~SegGroupModifyOperation() override=default
SegGroupModifyOperation(const SegGroupModifyOperation &)=delete
std::map< MultiLabelSegmentation::GroupIndexType, std::string > ModifyGroupNameMapType
ModifyLabelsMapType m_ModifiedLabels
GroupIndexVectorType GetNameGroupIDs() const
TimeStepVectorType GetImageTimeSteps(MultiLabelSegmentation::GroupIndexType groupID) const
std::vector< TimeStepType > TimeStepVectorType
GroupIndexVectorType GetLabelGroupIDs() const
ModifyCompressedImageMapType m_ModifiedImages
std::map< TimeStepType, Image::ConstPointer > ModifyTSImageMapType
std::map< MultiLabelSegmentation::GroupIndexType, ModifyTSImageMapType > ModifyGroupImageMapType
std::map< MultiLabelSegmentation::GroupIndexType, MultiLabelSegmentation::ConstLabelVectorType > ModifyLabelsMapType
SegGroupModifyOperation(MultiLabelSegmentation *segmentation, const ModifyGroupImageMapType &modifiedGroupImages, const ModifyLabelsMapType &modifiedLabels, const ModifyGroupNameMapType &modifiedNames)
GroupIndexVectorType GetImageGroupIDs() const
std::string GetModifiedName(MultiLabelSegmentation::GroupIndexType groupID) const
static SegGroupModifyOperation * CreatFromSegmentation(MultiLabelSegmentation *segmentation, const std::set< MultiLabelSegmentation::GroupIndexType > &relevantGroupIDs, bool coverAllTimeSteps, TimeStepType timeStep=0, bool noLabels=false, bool noGroupImages=false, bool noNames=false)
std::vector< MultiLabelSegmentation::GroupIndexType > GroupIndexVectorType
Image::Pointer GetModifiedGroupImage(MultiLabelSegmentation::GroupIndexType groupID, TimeStepType timeStep) const
Get the modified group image for a certain group and time step that is applied in the operation.
SegGroupModifyOperation & operator=(const SegGroupModifyOperation &)=delete
std::map< MultiLabelSegmentation::GroupIndexType, std::map< TimeStepType, std::unique_ptr< CompressedImageContainer > >> ModifyCompressedImageMapType
Find image slices visible on a given plane.