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
mitkSurfaceStampImageFilter.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 _mitkSurfaceStampImageFilter_h__
18 #define _mitkSurfaceStampImageFilter_h__
19 
21 #include "mitkCommon.h"
22 #include "mitkImageToImageFilter.h"
23 #include "mitkSurface.h"
24 
25 #include <itkQuadEdgeMesh.h>
26 
27 class vtkPolyData;
28 
29 namespace mitk
30 {
53  {
54  public:
56  itkNewMacro(Self);
57 
58  itkSetMacro(MakeOutputBinary, bool);
59  itkGetMacro(MakeOutputBinary, bool);
60  itkBooleanMacro(MakeOutputBinary);
61 
62  itkSetMacro(OverwriteBackground, bool);
63  itkGetMacro(OverwriteBackground, bool);
64  itkBooleanMacro(OverwriteBackground);
65 
66  itkGetConstMacro(BackgroundValue, float);
67  itkSetMacro(BackgroundValue, float);
68 
69  itkGetConstMacro(ForegroundValue, float);
70  itkSetMacro(ForegroundValue, float);
71 
72  virtual void GenerateInputRequestedRegion();
73 
74  virtual void GenerateOutputInformation();
75 
76  virtual void GenerateData();
77 
78  void SetSurface(mitk::Surface *surface);
79 
80  typedef itk::QuadEdgeMesh<double, 3> MeshType;
81 
82  protected:
84 
85  virtual ~SurfaceStampImageFilter();
86 
87  void SurfaceStamp(int time = 0);
88 
89  template <typename TPixel>
90  void SurfaceStampProcessing(itk::Image<TPixel, 3> *input, MeshType *mesh);
91 
92  void SurfaceStampBinaryOutputProcessing(MeshType *mesh);
93 
98 
100  };
101 } // namespace mitk
102 
103 #endif /* MITKCOONSPATCHFILTER_H_HEADER_INCLUDED_C10B22CD */
Class for storing surfaces (vtkPolyData).
Definition: mitkSurface.h:32
Converts surface data to pixel data. Requires a surface and an image, which header information define...
Superclass of all classes generating some kind of mitk::BaseData.
#define MITKSEGMENTATION_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:44
Superclass of all classes having one or more Images as input and generating Images as output...
itk::QuadEdgeMesh< double, 3 > MeshType