Slicer  5.1
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
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 
24 namespace itk
25 {
26 
27 // This functor class invokes the computation of fractional anisotropy from
28 // every pixel.
29 
45 template <typename TInputImage,
46  typename TOutputImage = TInputImage>
48  public
49  ImageToImageFilter<TInputImage, TOutputImage>
50 {
51 public:
54  typedef ImageToImageFilter<TInputImage, TOutputImage> Superclass;
55 
56  typedef SmartPointer<Self> Pointer;
57  typedef SmartPointer<const Self> ConstPointer;
58 
59  typedef typename Superclass::OutputImageType OutputImageType;
60  typedef typename TOutputImage::PixelType OutputPixelType;
61  typedef typename Superclass::InputImageType InputImageType;
62  typedef typename TInputImage::PixelType InputPixelType;
63  typedef typename InputPixelType::ValueType InputValueType;
64 
65  typedef typename TInputImage::SpacingType SpacingType;
66 
69 
71  void PrintSelf(std::ostream& os, Indent indent) const override
72  {
73  this->Superclass::PrintSelf( os, indent );
74  }
75 
76  // need to override GenerateData (This should be threaded)
77  void GenerateData() override;
78 
79  OutputPixelType ComputeDisplacement(typename InputImageType::ConstPointer input,
80  typename InputImageType::IndexType ind,
81  typename InputImageType::PixelType hvec);
82 protected:
84  ~HFieldToDeformationFieldImageFilter() override = default;
85 private:
86  HFieldToDeformationFieldImageFilter(const Self &) = delete;
87  void operator=(const Self &) = delete;
88 
89 };
90 
91 } // end namespace itk
92 
93 #ifndef ITK_MANUAL_INSTANTIATION
94 #include "itkHFieldToDeformationFieldImageFilter.txx"
95 #endif
96 
97 #endif
Computes the Mean Diffusivity for every pixel of a input tensor image.
OutputPixelType ComputeDisplacement(typename InputImageType::ConstPointer input, typename InputImageType::IndexType ind, typename InputImageType::PixelType hvec)
Simplified inverse ITK transforms.
~HFieldToDeformationFieldImageFilter() override=default
void PrintSelf(std::ostream &os, Indent indent) const override
ImageToImageFilter< TInputImage, TOutputImage > Superclass