Medical Imaging Interaction Toolkit  2018.4.99-4c24e3cb
Medical Imaging Interaction Toolkit
mitkContourSet.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef _MITK_CONTOUR_SET_H_
14 #define _MITK_CONTOUR_SET_H_
15 
16 #include "mitkBaseData.h"
17 #include "mitkCommon.h"
18 #include "mitkContour.h"
20 #include <map>
21 
22 namespace mitk
23 {
29  {
30  public:
32 
33  itkFactorylessNewMacro(Self) itkCloneMacro(Self)
34 
35  typedef std::map<unsigned long, Contour::Pointer> ContourVectorType;
36  typedef ContourVectorType::iterator ContourIterator;
37  typedef itk::BoundingBox<unsigned long, 3, ScalarType> BoundingBoxType;
38 
42  void Initialize() override;
43 
47  void AddContour(unsigned int index, mitk::Contour::Pointer contour);
48 
52  void RemoveContour(unsigned long index);
53 
57  unsigned int GetNumberOfContours();
58 
62  ContourVectorType GetContours();
63 
67  void UpdateOutputInformation() override;
68 
72  void SetRequestedRegionToLargestPossibleRegion() override;
73 
77  bool RequestedRegionIsOutsideOfTheBufferedRegion() override;
78 
82  bool VerifyRequestedRegion() override;
83 
87  void SetRequestedRegion(const itk::DataObject *data) override;
88 
89  protected:
90  ContourSet();
91  ~ContourSet() override;
92 
93  private:
97  BoundingBoxType::Pointer m_BoundingBox;
98 
99  ContourVectorType m_ContourVector;
100 
101  };
102 
103 } // namespace mitk
104 
105 #endif //_MITK_CONTOUR_SET_H_
itk::BoundingBox< unsigned long, 3, ScalarType > BoundingBox
Standard 3D-BoundingBox typedef.
Base of all data objects.
Definition: mitkBaseData.h:37
double ScalarType
ContourVectorType::iterator ContourIterator
itk::BoundingBox< unsigned long, 3, ScalarType > BoundingBoxType
STL namespace.
#define MITKSEGMENTATION_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
Stores vertices for drawing a contour.
Definition: mitkContour.h:31
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:40
std::map< unsigned long, Contour::Pointer > ContourVectorType