Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkTensorDerivedMeasurementsFilter_h_
00018 #define __itkTensorDerivedMeasurementsFilter_h_
00019
00020 #include "itkDiffusionTensor3D.h"
00021 #include "itkImageToImageFilter.h"
00022
00023
00024
00025 namespace itk{
00029 template <class TPixel>
00030 class TensorDerivedMeasurementsFilter :
00031 public ImageToImageFilter< itk::Image< itk::DiffusionTensor3D<TPixel>, 3 >,
00032 itk::Image< TPixel, 3 > >
00033 {
00034
00035 public:
00036
00037 enum Measure
00038 {
00039 FA,
00040 RA,
00041 AD,
00042 RD,
00043 CA,
00044 L2,
00045 L3
00046 };
00047
00048 typedef itk::DiffusionTensor3D<TPixel> TensorType;
00049 typedef itk::Image< TensorType, 3 > TensorImageType;
00050 typedef itk::Image< TPixel, 3 > OutputImageType;
00051
00052 typedef TensorDerivedMeasurementsFilter Self;
00053 typedef SmartPointer<Self> Pointer;
00054 typedef SmartPointer<const Self> ConstPointer;
00055 typedef ImageToImageFilter< TensorType,
00056 OutputImageType >
00057 SuperClass;
00058
00060 itkNewMacro(Self);
00061
00063 itkTypeMacro(TensorDerivedMeasurementsFilter, ImageToImageFilter);
00064
00065 itkSetMacro(Measure, Measure);
00066
00067
00068 protected:
00069 TensorDerivedMeasurementsFilter();
00070 ~TensorDerivedMeasurementsFilter() {};
00071
00072
00073 Measure m_Measure;
00074
00075 void GenerateData();
00076
00077 };
00078
00079 }
00080
00081 #ifndef ITK_MANUAL_INSTANTIATION
00082 #include "itkTensorDerivedMeasurementsFilter.txx"
00083 #endif
00084
00085 #endif //__itkTensorDerivedMeasurements_h_
00086