Slicer 5.9
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
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,
43 typename TOutputImage = TInputImage>
45 public
46 ImageToImageFilter<TInputImage, TOutputImage>
47{
48public:
51 typedef ImageToImageFilter<TInputImage, TOutputImage> Superclass;
52
53 typedef SmartPointer<Self> Pointer;
54 typedef SmartPointer<const Self> ConstPointer;
55
56 typedef typename Superclass::OutputImageType OutputImageType;
57 typedef typename TOutputImage::PixelType OutputPixelType;
58 typedef typename Superclass::InputImageType InputImageType;
59 typedef typename TInputImage::PixelType InputPixelType;
60 typedef typename InputPixelType::ValueType InputValueType;
61
62 typedef typename TInputImage::SpacingType SpacingType;
63
66
68 void PrintSelf(std::ostream& os, Indent indent) const override
69 {
70 this->Superclass::PrintSelf( os, indent );
71 }
72
73 // need to override GenerateData (This should be threaded)
74 void GenerateData() override;
75
76 OutputPixelType ComputeDisplacement(typename InputImageType::ConstPointer input,
77 typename InputImageType::IndexType ind,
78 typename InputImageType::PixelType hvec);
79protected:
82private:
84 void operator=(const Self &) = delete;
85
86};
87
88} // end namespace itk
89
90#ifndef ITK_MANUAL_INSTANTIATION
91#include "itkHFieldToDeformationFieldImageFilter.txx"
92#endif
93
94#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.