Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
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