Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
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
17namespace itk
18{
23template <class TInput, class TOutput>
24class SeparateComponentsOfADiffusionTensorImage : public ImageToImageFilter<Image<DiffusionTensor3D<TInput>, 3>, Image<TOutput, 3>>
25{
26public:
27 typedef TInput InputDataType;
28 typedef TOutput OutputDataType;
29
30 typedef ImageToImageFilter<Image<DiffusionTensor3D<TInput>, 3>, Image<TOutput, 3>> Superclass;
31
32 typedef DiffusionTensor3D<InputDataType> InputTensorDataType;
33 typedef Image<InputTensorDataType, 3> InputImageType;
35 typedef SmartPointer<Self> Pointer;
36 typedef SmartPointer<const Self> ConstPointer;
37 typedef typename InputImageType::Pointer InputImagePointerType;
38 typedef Image<OutputDataType, 3> OutputImageType;
39 typedef typename OutputImageType::Pointer OutputImagePointerType;
40 typedef itk::ImageRegionIterator<OutputImageType> OutputIteratorType;
41 typedef itk::ImageRegionConstIterator<InputImageType> InputIteratorType;
42 typedef typename OutputImageType::RegionType OutputImageRegionType;
43 // typedef typename OutputTensorDataType::RealValueType TensorRealType ;
44
47
49
50protected:
52
53 void DynamicThreadedGenerateData(const OutputImageRegionType& outputRegionForThread) override;
54
56
58
59private:
60};
61
62} // end namespace itk
63
64#ifndef ITK_MANUAL_INSTANTIATION
65# include "itkSeparateComponentsOfADiffusionTensorImage.txx"
66#endif
67
68#endif
itkTypeMacro(SeparateComponentsOfADiffusionTensorImage, ImageToImageFilter)
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
itk::ImageRegionConstIterator< InputImageType > InputIteratorType
ImageToImageFilter< Image< DiffusionTensor3D< TInput >, 3 >, Image< TOutput, 3 > > Superclass
Simplified inverse ITK transforms.