Medical Imaging Interaction Toolkit  2016.11.0
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,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef _MITK_CONTOUR_SET_H_
18 #define _MITK_CONTOUR_SET_H_
19 
20 #include "mitkBaseData.h"
21 #include "mitkCommon.h"
22 #include "mitkContour.h"
24 #include <map>
25 
26 namespace mitk
27 {
33  {
34  public:
36 
37  itkFactorylessNewMacro(Self) itkCloneMacro(Self)
38 
39  typedef std::map<unsigned long, Contour::Pointer> ContourVectorType;
40  typedef ContourVectorType::iterator ContourIterator;
41  typedef itk::BoundingBox<unsigned long, 3, ScalarType> BoundingBoxType;
42 
46  void Initialize() override;
47 
51  void AddContour(unsigned int index, mitk::Contour::Pointer contour);
52 
56  void RemoveContour(unsigned long index);
57 
61  unsigned int GetNumberOfContours();
62 
66  ContourVectorType GetContours();
67 
71  virtual void UpdateOutputInformation() override;
72 
76  virtual void SetRequestedRegionToLargestPossibleRegion() override;
77 
81  virtual bool RequestedRegionIsOutsideOfTheBufferedRegion() override;
82 
86  virtual bool VerifyRequestedRegion() override;
87 
91  virtual void SetRequestedRegion(const itk::DataObject *data) override;
92 
93  protected:
94  ContourSet();
95  virtual ~ContourSet();
96 
97  private:
101  BoundingBoxType::Pointer m_BoundingBox;
102 
103  ContourVectorType m_ContourVector;
104 
105  unsigned int m_NumberOfContours;
106  };
107 
108 } // namespace mitk
109 
110 #endif //_MITK_CONTOUR_SET_H_
itk::BoundingBox< unsigned long, 3, ScalarType > BoundingBox
Standard 3D-BoundingBox typedef.
Base of all data objects.
Definition: mitkBaseData.h:39
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:35
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:44
std::map< unsigned long, Contour::Pointer > ContourVectorType