18#ifndef itkMultiBSplineDeformableTransformWithNormal_h 
   19#define itkMultiBSplineDeformableTransformWithNormal_h 
   22#include "itkNearestNeighborInterpolateImageFunction.h" 
   39          unsigned int NDimensions = 3, 
 
   40          unsigned int VSplineOrder = 3>
 
   67  using typename Superclass::ParametersType;
 
   68  using typename Superclass::NumberOfParametersType;
 
   69  using typename Superclass::JacobianType;
 
   70  using typename Superclass::ScalarType;
 
   71  using typename Superclass::InputPointType;
 
   72  using typename Superclass::OutputPointType;
 
   73  using typename Superclass::InputVectorType;
 
   74  using typename Superclass::OutputVectorType;
 
   75  using typename Superclass::InputVnlVectorType;
 
   76  using typename Superclass::OutputVnlVectorType;
 
   77  using typename Superclass::InputCovariantVectorType;
 
   78  using typename Superclass::OutputCovariantVectorType;
 
   89  using WeightsType = 
typename WeightsFunctionType::WeightsType;
 
  161  const ParametersType &
 
  165  const ParametersType &
 
  169  using PixelType = 
typename ParametersType::ValueType;
 
  238  using VectorType = Vector<TScalarType, Self::SpaceDimension>;
 
  239  using BaseType = Vector<VectorType, Self::SpaceDimension>;
 
  251  itkGetConstMacro(NbLabels, 
unsigned char);
 
  268    itkExceptionMacro(
"Method not applicable for deformable transform.");
 
  269    return OutputVectorType();
 
 
  279    itkExceptionMacro(
"Method not applicable for deformable transform. ");
 
  280    return OutputVnlVectorType();
 
 
  287  OutputCovariantVectorType
 
  290    itkExceptionMacro(
"Method not applicable for deformable transform. ");
 
  291    return OutputCovariantVectorType();
 
 
  296  NumberOfParametersType
 
  300  virtual NumberOfParametersType
 
  307    return m_Trans[0]->GetValidRegion();
 
 
  326    return NumberOfWeights;
 
 
  330  NumberOfParametersType
 
  333    return NumberOfWeights * SpaceDimension;
 
 
  404    itkExceptionMacro(
"ERROR: GetJacobianOfSpatialHessian() not yet implemented in the " 
  405                      "MultiBSplineDeformableTransformWithNormal class.");
 
 
  418  PrintSelf(std::ostream & os, Indent indent) 
const override;
 
  471  const ParametersType * m_InputParametersPointer{};
 
  491  ParametersType m_InternalParametersBuffer{};
 
  495  unsigned char                                m_NbLabels{};
 
  499  std::vector<typename TransformType::Pointer> m_Trans{};
 
  500  std::vector<ParametersType>                  m_Para{};
 
  501  mutable int                                  m_LastJacobian{};
 
  506  using Superclass::TransformCovariantVector;
 
  507  using Superclass::TransformVector;
 
  510  static constexpr unsigned NumberOfWeights = TransformType::NumberOfWeights;
 
 
  521#ifndef ITK_MANUAL_INSTANTIATION 
  522#  include "itkMultiBSplineDeformableTransformWithNormal.hxx" 
Returns the weights over the support region used for B-spline interpolation/reconstruction.