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
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