Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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