Slicer  4.11
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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)