diff --git a/Modules/Multilabel/files.cmake b/Modules/Multilabel/files.cmake index 6f267f401b..07cefdaac9 100644 --- a/Modules/Multilabel/files.cmake +++ b/Modules/Multilabel/files.cmake @@ -1,20 +1,21 @@ set(CPP_FILES mitkLabel.cpp mitkLabelSet.cpp mitkLabelSetImage.cpp mitkLabelSetImageConverter.cpp mitkLabelSetImageSource.cpp mitkLabelSetImageHelper.cpp mitkLabelSetImageSurfaceStampFilter.cpp mitkLabelSetImageToSurfaceFilter.cpp mitkLabelSetImageToSurfaceThreadedFilter.cpp mitkLabelSetImageVtkMapper2D.cpp mitkMultilabelObjectFactory.cpp mitkLabelSetIOHelper.cpp mitkDICOMSegmentationPropertyHelper.cpp mitkDICOMSegmentationConstants.cpp + mitkSegmentationTask.cpp ) set(RESOURCE_FILES ) diff --git a/Modules/Multilabel/mitkSegmentationTask.cpp b/Modules/Multilabel/mitkSegmentationTask.cpp new file mode 100644 index 0000000000..a374ac46c0 --- /dev/null +++ b/Modules/Multilabel/mitkSegmentationTask.cpp @@ -0,0 +1,51 @@ +/*============================================================================ + +The Medical Imaging Interaction Toolkit (MITK) + +Copyright (c) German Cancer Research Center (DKFZ) +All rights reserved. + +Use of this source code is governed by a 3-clause BSD license that can be +found in the LICENSE file. + +============================================================================*/ + +#include "mitkSegmentationTask.h" +#include + +mitk::SegmentationTask::SegmentationTask() +{ + // A base data cannot be serialized if empty. To be not considered empty its + // geometry must consist of at least one time step. However, a segmentation + // task would then appear as invisible spacial object in a scene. This can + // be prevented by excluding it from the scene's bounding box calculations. + this->GetTimeGeometry()->Expand(1); + this->SetProperty("includeInBoundingBox", BoolProperty::New(false)); +} + +mitk::SegmentationTask::SegmentationTask(const Self& other) + : BaseData(other) +{ +} + +mitk::SegmentationTask::~SegmentationTask() +{ +} + +void mitk::SegmentationTask::SetRequestedRegionToLargestPossibleRegion() +{ +} + +bool mitk::SegmentationTask::RequestedRegionIsOutsideOfTheBufferedRegion() +{ + return false; +} + +bool mitk::SegmentationTask::VerifyRequestedRegion() +{ + return true; +} + +void mitk::SegmentationTask::SetRequestedRegion(const itk::DataObject*) +{ +} diff --git a/Modules/Multilabel/mitkSegmentationTask.h b/Modules/Multilabel/mitkSegmentationTask.h new file mode 100644 index 0000000000..2f2c8d08c5 --- /dev/null +++ b/Modules/Multilabel/mitkSegmentationTask.h @@ -0,0 +1,42 @@ +/*============================================================================ + +The Medical Imaging Interaction Toolkit (MITK) + +Copyright (c) German Cancer Research Center (DKFZ) +All rights reserved. + +Use of this source code is governed by a 3-clause BSD license that can be +found in the LICENSE file. + +============================================================================*/ + +#ifndef mitkSegmentationTask_h +#define mitkSegmentationTask_h + +#include +#include + +namespace mitk +{ + class MITKMULTILABEL_EXPORT SegmentationTask : public BaseData + { + public: + mitkClassMacro(SegmentationTask, BaseData) + itkFactorylessNewMacro(Self) + itkCloneMacro(Self) + + void SetRequestedRegionToLargestPossibleRegion() override; + bool RequestedRegionIsOutsideOfTheBufferedRegion() override; + bool VerifyRequestedRegion() override; + void SetRequestedRegion(const itk::DataObject*) override; + + protected: + mitkCloneMacro(Self) + + SegmentationTask(); + SegmentationTask(const Self& other); + ~SegmentationTask() override; + }; +} + +#endif