NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
itkBaseCTEStreamlinesFilter.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  NifTK: A software platform for medical image computing.
4 
5  Copyright (c) University College London (UCL). All rights reserved.
6 
7  This software is distributed WITHOUT ANY WARRANTY; without even
8  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  PURPOSE.
10 
11  See LICENSE.txt in the top level directory for details.
12 
13 =============================================================================*/
14 
15 #ifndef itkBaseCTEStreamlinesFilter_h
16 #define itkBaseCTEStreamlinesFilter_h
17 
18 #include <itkImage.h>
19 #include <itkVector.h>
20 #include <itkImageToImageFilter.h>
21 #include <itkVectorInterpolateImageFunction.h>
22 #include <itkInterpolateImageFunction.h>
23 
24 
25 namespace itk {
35 template < class TImageType, typename TScalarType=double, unsigned int NDimensions=3 >
36 class ITK_EXPORT BaseCTEStreamlinesFilter :
37  public BaseCTEFilter< TImageType >
38 {
39 public:
40 
44  typedef SmartPointer<Self> Pointer;
45  typedef SmartPointer<const Self> ConstPointer;
46 
49 
51  typedef Vector< TScalarType, NDimensions > InputVectorImagePixelType;
53  typedef typename InputVectorImageType::Pointer InputVectorImagePointer;
54  typedef typename InputVectorImageType::ConstPointer InputVectorImageConstPointer;
55  typedef TScalarType InputScalarImagePixelType;
57  typedef typename InputScalarImageType::PointType InputScalarImagePointType;
58  typedef typename InputScalarImageType::Pointer InputScalarImagePointer;
60  typedef typename InputScalarImageType::ConstPointer InputScalarImageConstPointer;
62  typedef InputScalarImageType OutputImageType;
64  typedef typename OutputImageType::Pointer OutputImagePointer;
65  typedef typename OutputImageType::ConstPointer OutputImageConstPointer;
66  typedef VectorInterpolateImageFunction<InputVectorImageType
67  ,TScalarType
69  typedef typename VectorInterpolatorType::Pointer VectorInterpolatorPointer;
70  typedef typename VectorInterpolatorType::PointType VectorInterpolatorPointType;
71  typedef InterpolateImageFunction< InputScalarImageType
72  ,TScalarType > ScalarInterpolatorType;
73  typedef typename ScalarInterpolatorType::Pointer ScalarInterpolatorPointer;
74  typedef typename ScalarInterpolatorType::PointType ScalarInterpolatorPointType;
75 
77  itkSetMacro(LowVoltage, InputScalarImagePixelType);
78  itkGetMacro(LowVoltage, InputScalarImagePixelType);
79 
81  itkSetMacro(HighVoltage, InputScalarImagePixelType);
82  itkGetMacro(HighVoltage, InputScalarImagePixelType);
83 
89  itkSetObjectMacro( VectorInterpolator, VectorInterpolatorType );
90  itkGetConstObjectMacro( VectorInterpolator, VectorInterpolatorType );
91 
97  itkSetObjectMacro( ScalarInterpolator, ScalarInterpolatorType );
98  itkGetConstObjectMacro( ScalarInterpolator, ScalarInterpolatorType );
99 
100 protected:
103  void PrintSelf(std::ostream& os, Indent indent) const;
104 
106  VectorInterpolatorPointer m_VectorInterpolator;
107 
109  ScalarInterpolatorPointer m_ScalarInterpolator;
110 
112  InputScalarImagePixelType m_LowVoltage;
113 
115  InputScalarImagePixelType m_HighVoltage;
116 
117 private:
118 
122  BaseCTEStreamlinesFilter(const Self&);
123  void operator=(const Self&);
124 
125 };
126 
127 } // end namespace
128 
129 #ifndef ITK_MANUAL_INSTANTIATION
130 #include "itkBaseCTEStreamlinesFilter.txx"
131 #endif
132 
133 #endif
InterpolateImageFunction< InputScalarImageType,TScalarType > ScalarInterpolatorType
Definition: itkBaseCTEStreamlinesFilter.h:72
InputScalarImageType::RegionType InputScalarImageRegionType
Definition: itkBaseCTEStreamlinesFilter.h:61
SmartPointer< const Self > ConstPointer
Definition: itkBaseCTEStreamlinesFilter.h:45
ScalarInterpolatorPointer m_ScalarInterpolator
Definition: itkBaseCTEStreamlinesFilter.h:109
SmartPointer< Self > Pointer
Definition: itkBaseCTEStreamlinesFilter.h:44
Image< InputScalarImagePixelType, NDimensions > InputScalarImageType
Definition: itkBaseCTEStreamlinesFilter.h:56
VectorInterpolatorPointer m_VectorInterpolator
Definition: itkBaseCTEStreamlinesFilter.h:106
InputVectorImageType::Pointer InputVectorImagePointer
Definition: itkBaseCTEStreamlinesFilter.h:53
OutputImageType::Pointer OutputImagePointer
Definition: itkBaseCTEStreamlinesFilter.h:64
Definition: niftkITKAffineResampleImage.cxx:74
Base class for filters that calculate thicknesses based on Laplacian streamlines. ...
Definition: itkBaseCTEStreamlinesFilter.h:36
InputScalarImageType OutputImageType
Definition: itkBaseCTEStreamlinesFilter.h:62
OutputImageType::ConstPointer OutputImageConstPointer
Definition: itkBaseCTEStreamlinesFilter.h:65
ImageType::IndexType IndexType
Definition: niftkMakeLapUSProbeBasicModel.cxx:32
VectorInterpolatorType::Pointer VectorInterpolatorPointer
Definition: itkBaseCTEStreamlinesFilter.h:69
InputScalarImagePixelType m_LowVoltage
Definition: itkBaseCTEStreamlinesFilter.h:112
Base class for methods many CTE filters will need.
Definition: itkBaseCTEFilter.h:36
InputScalarImageType::ConstPointer InputScalarImageConstPointer
Definition: itkBaseCTEStreamlinesFilter.h:60
InputVectorImageType::ConstPointer InputVectorImageConstPointer
Definition: itkBaseCTEStreamlinesFilter.h:54
Image< InputVectorImagePixelType, NDimensions > InputVectorImageType
Definition: itkBaseCTEStreamlinesFilter.h:52
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
ImageType::RegionType RegionType
Definition: niftkMakeLapUSProbeBasicModel.cxx:30
BaseCTEStreamlinesFilter Self
Definition: itkBaseCTEStreamlinesFilter.h:42
VectorInterpolatorType::PointType VectorInterpolatorPointType
Definition: itkBaseCTEStreamlinesFilter.h:70
InputScalarImageType::Pointer InputScalarImagePointer
Definition: itkBaseCTEStreamlinesFilter.h:58
InputScalarImagePixelType m_HighVoltage
Definition: itkBaseCTEStreamlinesFilter.h:115
ScalarInterpolatorType::Pointer ScalarInterpolatorPointer
Definition: itkBaseCTEStreamlinesFilter.h:73
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
InputScalarImageType::IndexType InputScalarImageIndexType
Definition: itkBaseCTEStreamlinesFilter.h:59
BaseCTEFilter< TImageType > Superclass
Definition: itkBaseCTEStreamlinesFilter.h:43
~BaseCTEStreamlinesFilter()
Definition: itkBaseCTEStreamlinesFilter.h:102
ScalarInterpolatorType::PointType ScalarInterpolatorPointType
Definition: itkBaseCTEStreamlinesFilter.h:74
InputScalarImageType::PointType InputScalarImagePointType
Definition: itkBaseCTEStreamlinesFilter.h:57
Vector< TScalarType, NDimensions > InputVectorImagePixelType
Definition: itkBaseCTEStreamlinesFilter.h:48
VectorInterpolateImageFunction< InputVectorImageType,TScalarType > VectorInterpolatorType
Definition: itkBaseCTEStreamlinesFilter.h:68
OutputImageType::PixelType OutputImagePixelType
Definition: itkBaseCTEStreamlinesFilter.h:63
TScalarType InputScalarImagePixelType
Definition: itkBaseCTEStreamlinesFilter.h:55