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
mitkPlanarFigureSegmentationController.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 mitkPlanarFigureSegmentationController_h_Included
18 #define mitkPlanarFigureSegmentationController_h_Included
19 
20 #include "mitkCommon.h"
21 #include "mitkImage.h"
23 
24 #include "mitkPlanarFigure.h"
28 #include <mitkSurface.h>
29 
30 namespace mitk
31 {
49  {
50  public:
52  itkFactorylessNewMacro(
54  itkCloneMacro(Self)
55 
57 
58  typedef std::vector<PlanarFigure::Pointer> PlanarFigureListType;
59  typedef std::vector<Surface::Pointer> SurfaceListType;
60 
68  void SetReferenceImage(Image::Pointer referenceImage);
69 
81  void AddPlanarFigure(PlanarFigure::Pointer planarFigure);
82 
83  void RemovePlanarFigure(mitk::PlanarFigure::Pointer planarFigure);
84 
98  Image::Pointer GetInterpolationResult();
99 
108  static Surface::Pointer CreateSurfaceFromPlanarFigure(PlanarFigure::Pointer figure);
109 
110  PlanarFigureListType GetAllPlanarFigures();
111 
112  void SetReferenceDirectionVector(mitk::Vector3D vector);
113 
114  protected:
116 
117  void InitializeFilters();
118 
119  template <typename TPixel, unsigned int VImageDimension>
120  void GetImageBase(itk::Image<TPixel, VImageDimension> *input, itk::ImageBase<3>::Pointer &result);
121 
122  PlanarFigureListType m_PlanarFigureList;
123  SurfaceListType m_SurfaceList;
124 
129 
134 
139 
141 
143 
145  };
146 
147 } // namespace
148 
149 #endif
ReduceContourSetFilter::Pointer m_ReduceFilter
Filter to reduce the number of control points.
itk::SmartPointer< Self > Pointer
DataCollection - Class to facilitate loading/accessing structured data.
ComputeContourSetNormalsFilter::Pointer m_NormalsFilter
Filter to compute the normals for the created surface.
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:53
#define MITKPLANARFIGURESEGMENTATION_EXPORT
This class creates a binary image from a set of PlanarFigures.
CreateDistanceImageFromSurfaceFilter::Pointer m_DistanceImageCreator
Filter to create "distance-image" from contours.
itk::SmartPointer< Self > Pointer
Definition: mitkBaseData.h:42