NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
itkDisplacementFieldJacobianFilter.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  NifTK: A software platform for medical image computing.
4 
5  Copyright (c) University College London (UCL). All rights reserved.
6 
7  This software is distributed WITHOUT ANY WARRANTY; without even
8  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  PURPOSE.
10 
11  See LICENSE.txt in the top level directory for details.
12 
13 =============================================================================*/
14 
15 #ifndef itkDisplacementFieldJacobianFilter_h
16 #define itkDisplacementFieldJacobianFilter_h
17 
18 #include <itkImageToImageFilter.h>
19 
20 namespace itk {
25 template <class InputScalarType, class OutputScalarType, unsigned int NDimensions>
27  public ImageToImageFilter< Image< Vector<InputScalarType, NDimensions>, NDimensions>,
28  Image< Matrix<OutputScalarType, NDimensions, NDimensions>, NDimensions> >
29 {
30 public:
35  typedef ImageToImageFilter< Image< Vector<InputScalarType, NDimensions>, NDimensions>,
37  typedef SmartPointer<Self> Pointer;
38  typedef SmartPointer<const Self> ConstPointer;
42  itkNewMacro(Self);
46  itkTypeMacro(DisplacementFieldJacobianFilter, ImageToImageFilter);
50  itkStaticConstMacro(Dimension, unsigned int, NDimensions);
54  typedef Matrix<OutputScalarType, NDimensions, NDimensions> OutputPixelType;
56  typedef typename Superclass::InputImageType InputImageType;
61  typename OutputDeterminantImageType::Pointer GetDeterminant() { return this->m_Determinant; }
62 
63 protected:
66  void PrintSelf(std::ostream& os, Indent indent) const {}
70  virtual void GenerateData();
74  typename OutputDeterminantImageType::Pointer m_Determinant;
75 
76 private:
80  DisplacementFieldJacobianFilter(const Self&);
81  void operator=(const Self&);
82 
83 };
84 
85 } // End of namespace.
86 
87 #ifndef ITK_MANUAL_INSTANTIATION
88 #include "itkDisplacementFieldJacobianFilter.txx"
89 #endif
90 
91 #endif
92 
93 
94 
void PrintSelf(std::ostream &os, Indent indent) const
Definition: itkDisplacementFieldJacobianFilter.h:66
Image< OutputPixelType, NDimensions > OutputImageType
Definition: itkDisplacementFieldJacobianFilter.h:55
Definition: niftkITKAffineResampleImage.cxx:74
DisplacementFieldJacobianFilter()
Definition: itkDisplacementFieldJacobianFilter.h:64
Matrix< OutputScalarType, NDimensions, NDimensions > OutputPixelType
Definition: itkDisplacementFieldJacobianFilter.h:54
Image< OutputScalarType, NDimensions > OutputDeterminantImageType
Definition: itkDisplacementFieldJacobianFilter.h:57
SmartPointer< const Self > ConstPointer
Definition: itkDisplacementFieldJacobianFilter.h:38
This class calculates the Jacobian matrix of a deformation field.
Definition: itkDisplacementFieldJacobianFilter.h:26
ImageToImageFilter< Image< Vector< InputScalarType, NDimensions >, NDimensions >, Image< Matrix< OutputScalarType, NDimensions, NDimensions >, NDimensions > > Superclass
Definition: itkDisplacementFieldJacobianFilter.h:36
OutputDeterminantImageType::Pointer m_Determinant
Definition: itkDisplacementFieldJacobianFilter.h:74
SmartPointer< Self > Pointer
Definition: itkDisplacementFieldJacobianFilter.h:37
OutputDeterminantImageType::Pointer GetDeterminant()
Definition: itkDisplacementFieldJacobianFilter.h:61
itkStaticConstMacro(Dimension, unsigned int, NDimensions)
~DisplacementFieldJacobianFilter()
Definition: itkDisplacementFieldJacobianFilter.h:65
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
const unsigned int Dimension
Definition: niftkBreastDCEandADC.cxx:89
Superclass::InputImageType InputImageType
Definition: itkDisplacementFieldJacobianFilter.h:56
DisplacementFieldJacobianFilter Self
Definition: itkDisplacementFieldJacobianFilter.h:34