Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
itkHFieldToDeformationFieldImageFilter.h
Go to the documentation of this file.
1// Copied from dtiprocess
2// available there: https://www.nitrc.org/projects/dtiprocess/
3/*=========================================================================
4
5 Program: Insight Segmentation & Registration Toolkit
6 Module: $RCSfile: itkHFieldToDeformationFieldImageFilter.h,v $
7 Language: C++
8 Date: $Date: 2010/03/09 18:01:02 $
9 Version: $Revision: 1.2 $
10
11 Copyright (c) Insight Software Consortium. All rights reserved.
12 See ITKCopyright.txt or https://www.itk.org/HTML/Copyright.htm for details.
13
14 This software is distributed WITHOUT ANY WARRANTY; without even
15 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16 PURPOSE. See the above copyright notices for more information.
17
18=========================================================================*/
19#ifndef itkHFieldToDeformationFieldImageFilter_h
20#define itkHFieldToDeformationFieldImageFilter_h
21
22#include <itkImageToImageFilter.h>
23
24namespace itk
25{
26
27// This functor class invokes the computation of fractional anisotropy from
28// every pixel.
29
42template <typename TInputImage, typename TOutputImage = TInputImage>
43class HFieldToDeformationFieldImageFilter : public ImageToImageFilter<TInputImage, TOutputImage>
44{
45public:
48 typedef ImageToImageFilter<TInputImage, TOutputImage> Superclass;
49
50 typedef SmartPointer<Self> Pointer;
51 typedef SmartPointer<const Self> ConstPointer;
52
53 typedef typename Superclass::OutputImageType OutputImageType;
54 typedef typename TOutputImage::PixelType OutputPixelType;
55 typedef typename Superclass::InputImageType InputImageType;
56 typedef typename TInputImage::PixelType InputPixelType;
57 typedef typename InputPixelType::ValueType InputValueType;
58
59 typedef typename TInputImage::SpacingType SpacingType;
60
63
65 void PrintSelf(std::ostream& os, Indent indent) const override { this->Superclass::PrintSelf(os, indent); }
66
67 // need to override GenerateData (This should be threaded)
68 void GenerateData() override;
69
70 OutputPixelType ComputeDisplacement(typename InputImageType::ConstPointer input, typename InputImageType::IndexType ind, typename InputImageType::PixelType hvec);
71
72protected:
75
76private:
78 void operator=(const Self&) = delete;
79};
80
81} // end namespace itk
82
83#ifndef ITK_MANUAL_INSTANTIATION
84# include "itkHFieldToDeformationFieldImageFilter.txx"
85#endif
86
87#endif
OutputPixelType ComputeDisplacement(typename InputImageType::ConstPointer input, typename InputImageType::IndexType ind, typename InputImageType::PixelType hvec)
~HFieldToDeformationFieldImageFilter() override=default
void PrintSelf(std::ostream &os, Indent indent) const override
ImageToImageFilter< TInputImage, TOutputImage > Superclass
Simplified inverse ITK transforms.