Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
itkProjectionFilter.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 ITKPROJECTIONFILTER_H_
18 #define ITKPROJECTIONFILTER_H_
19 
20 #include "itkObject.h"
21 #include "itkImage.h"
22 #include "mitkImage.h"
23 #include "mitkTbssImage.h"
24 
25 namespace itk
26 {
27 
28 
42 class ProjectionFilter : public Object
43 {
44 
45 public:
46 
47  typedef itk::Image<float, 3> RealImageType;
48 
49  typedef itk::CovariantVector<int,3> VectorType;
50 
51  typedef itk::Image<VectorType, 3> VectorImageType;
52 
53  typedef itk::Image<char,3> CharImageType;
54 
55  typedef itk::Image<float, 4> Float4DImageType;
56  typedef itk::Image<float, 3> FloatImageType;
57 
58 
59 
60 public:
61 
64 
66  typedef Object Superclass;
67 
70 
73 
75  itkFactorylessNewMacro(Self)
76  itkCloneMacro(Self)
77 
78 
80  void Project();
81 
82 
87  itkSetMacro(DistanceMap, RealImageType::Pointer)
88 
89 
94  itkSetMacro(Directions, VectorImageType::Pointer)
95 
96 
101  itkSetMacro(Skeleton, CharImageType::Pointer)
102 
103 
110  itkSetMacro(Tube, CharImageType::Pointer)
111 
112 
114  itkSetMacro(AllFA, Float4DImageType::Pointer)
115 
116 
118  itkGetMacro(Projections, Float4DImageType::Pointer)
119 
120 
121 protected:
122 
125 
127  virtual ~ProjectionFilter();
128 
129  RealImageType::Pointer m_DistanceMap;
130 
131  VectorImageType::Pointer m_Directions;
132 
133  CharImageType::Pointer m_Skeleton;
134 
135  CharImageType::Pointer m_Tube;
136 
137  Float4DImageType::Pointer m_Projections;
138 
139  Float4DImageType::Pointer m_AllFA;
140 
141  int round(float x)
142  {
143  if (x>0.0) return ((int) (x+0.5));
144  else return ((int) (x-0.5));
145  }
146 
147 protected:
148 
149 
150 
151 };
152 
153 }
154 
155 #ifndef ITK_MANUAL_INSTANTIATION
156 #include "itkProjectionFilter.txx"
157 #endif
158 
159 #endif
Float4DImageType::Pointer m_AllFA
itk::Image< float, 3 > RealImageType
CharImageType::Pointer m_Skeleton
CharImageType::Pointer m_Tube
itk::Image< VectorType, 3 > VectorImageType
SmartPointer< const Self > ConstPointer
void Project()
Does the actual projection.
RealImageType::Pointer m_DistanceMap
itk::Image< float, 4 > Float4DImageType
itk::CovariantVector< int, 3 > VectorType
itk::Image< char, 3 > CharImageType
Projection part of the TBSS pipeline.
VectorImageType::Pointer m_Directions
SmartPointer< Self > Pointer
Float4DImageType::Pointer m_Projections
itk::Image< float, 3 > FloatImageType