Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
itkSeparateComponentsOfADiffusionTensorImage.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Copyright (c) Brigham and Women's Hospital (BWH) All Rights Reserved.
4 
5  See License.txt or http://www.slicer.org/copyright/copyright.txt for details.
6 
7 ==========================================================================*/
8 #ifndef itkSeparateComponentsOfADiffusionTensorImage_h
9 #define itkSeparateComponentsOfADiffusionTensorImage_h
10 
11 #include <itkImageToImageFilter.h>
12 #include <itkImage.h>
13 #include <itkDiffusionTensor3D.h>
14 #include <itkImageRegionIterator.h>
15 #include <itkImageRegionConstIterator.h>
16 
17 namespace itk
18 {
23 template <class TInput, class TOutput>
25  : public ImageToImageFilter
26  <Image<DiffusionTensor3D<TInput>, 3>,
27  Image<TOutput, 3> >
28 {
29 public:
30  typedef TInput InputDataType;
31  typedef TOutput OutputDataType;
32 
33  typedef ImageToImageFilter
34  <Image<DiffusionTensor3D<TInput>, 3>,
35  Image<TOutput, 3> >
37 
38  typedef DiffusionTensor3D<InputDataType> InputTensorDataType;
39  typedef Image<InputTensorDataType, 3> InputImageType;
41  typedef SmartPointer<Self> Pointer;
42  typedef SmartPointer<const Self> ConstPointer;
43  typedef typename InputImageType::Pointer InputImagePointerType;
44  typedef Image<OutputDataType, 3> OutputImageType;
45  typedef typename OutputImageType::Pointer OutputImagePointerType;
46  typedef itk::ImageRegionIterator<OutputImageType> OutputIteratorType;
47  typedef itk::ImageRegionConstIterator<InputImageType> InputIteratorType;
48  typedef typename OutputImageType::RegionType OutputImageRegionType;
49 // typedef typename OutputTensorDataType::RealValueType TensorRealType ;
50 
53 
54  itkNewMacro( Self );
55 protected:
57 
58  void DynamicThreadedGenerateData( const OutputImageRegionType & outputRegionForThread) override;
59 
60  void GenerateOutputInformation() override;
61 
62  void GenerateInputRequestedRegion() override;
63 
64 private:
65 
66 };
67 
68 } // end namespace itk
69 
70 #ifndef ITK_MANUAL_INSTANTIATION
71 #include "itkSeparateComponentsOfADiffusionTensorImage.txx"
72 #endif
73 
74 #endif
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
Simplified inverse ITK transforms.
itk::ImageRegionConstIterator< InputImageType > InputIteratorType
ImageToImageFilter< Image< DiffusionTensor3D< TInput >, 3 >, Image< TOutput, 3 > > Superclass
itkTypeMacro(SeparateComponentsOfADiffusionTensorImage, ImageToImageFilter)