Slicer  5.2
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 
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