go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Static Private Member Functions
itk::RecursiveBSplineTransformImplementation< OutputDimension, 0, SplineOrder, TScalar > Class Template Reference

#include <itkRecursiveBSplineTransformImplementation.h>

Detailed Description

template<unsigned int OutputDimension, unsigned int SplineOrder, class TScalar>
class itk::RecursiveBSplineTransformImplementation< OutputDimension, 0, SplineOrder, TScalar >

Definition at line 357 of file itkRecursiveBSplineTransformImplementation.h.

Public Types

using InternalFloatType = double
 
using RecursiveBSplineWeightFunctionType = itk::RecursiveBSplineInterpolationWeightFunction< TScalar, OutputDimension, SplineOrder >
 

Public Member Functions

 itkStaticConstMacro (BSplineNumberOfIndices, unsigned int, RecursiveBSplineWeightFunctionType::NumberOfIndices)
 

Static Public Member Functions

static void ComputeNonZeroJacobianIndices (unsigned long *&nzji, const unsigned long parametersPerDim, const unsigned long currentIndex, const OffsetValueType *const gridOffsetTable)
 
static void EvaluateJacobianWithImageGradientProduct (TScalar *&imageJacobian, const InternalFloatType *const movingImageGradient, const double *const weights1D, const double value)
 
static void GetJacobian (TScalar *&jacobians, const double *const weights1D, const double value)
 
static void GetJacobianOfSpatialHessian (InternalFloatType *&jsh_out, const double *const weights1D, const double *const derivativeWeights1D, const double *const hessianWeights1D, const double *const directionCosines, const InternalFloatType *const jsh)
 
static void GetJacobianOfSpatialJacobian (InternalFloatType *&jsj_out, const double *const weights1D, const double *const derivativeWeights1D, const double *const directionCosines, const InternalFloatType *const jsj)
 
static void GetSpatialHessian (InternalFloatType *const sh, const TScalar *const *const mu, const OffsetValueType *const gridOffsetTable, const double *const weights1D, const double *const derivativeWeights1D, const double *const hessianWeights1D)
 
static void GetSpatialJacobian (InternalFloatType *const sj, const TScalar *const *const mu, const OffsetValueType *const gridOffsetTable, const double *const weights1D, const double *const derivativeWeights1D)
 
static void TransformPoint (TScalar *const opp, const TScalar *const *const mu, const OffsetValueType *const gridOffsetTable, const double *const weights1D)
 

Static Private Member Functions

template<typename T1 , typename T2 >
static void FastBitwiseCopy (const T1 &, const T2 &)
 
template<typename T >
static void FastBitwiseCopy (T &destination, const T &source)
 

Member Typedef Documentation

◆ InternalFloatType

template<unsigned int OutputDimension, unsigned int SplineOrder, class TScalar >
using itk::RecursiveBSplineTransformImplementation< OutputDimension, 0, SplineOrder, TScalar >::InternalFloatType = double

◆ RecursiveBSplineWeightFunctionType

template<unsigned int OutputDimension, unsigned int SplineOrder, class TScalar >
using itk::RecursiveBSplineTransformImplementation< OutputDimension, 0, SplineOrder, TScalar >::RecursiveBSplineWeightFunctionType = itk::RecursiveBSplineInterpolationWeightFunction<TScalar, OutputDimension, SplineOrder>

Typedef to know the number of indices at compile time.

Definition at line 363 of file itkRecursiveBSplineTransformImplementation.h.

Member Function Documentation

◆ ComputeNonZeroJacobianIndices()

template<unsigned int OutputDimension, unsigned int SplineOrder, class TScalar >
static void itk::RecursiveBSplineTransformImplementation< OutputDimension, 0, SplineOrder, TScalar >::ComputeNonZeroJacobianIndices ( unsigned long *&  nzji,
const unsigned long  parametersPerDim,
const unsigned long  currentIndex,
const OffsetValueType *const  gridOffsetTable 
)
inlinestatic

ComputeNonZeroJacobianIndices recursive implementation.

Definition at line 412 of file itkRecursiveBSplineTransformImplementation.h.

◆ EvaluateJacobianWithImageGradientProduct()

template<unsigned int OutputDimension, unsigned int SplineOrder, class TScalar >
static void itk::RecursiveBSplineTransformImplementation< OutputDimension, 0, SplineOrder, TScalar >::EvaluateJacobianWithImageGradientProduct ( TScalar *&  imageJacobian,
const InternalFloatType *const  movingImageGradient,
const double *const  weights1D,
const double  value 
)
inlinestatic

EvaluateJacobianWithImageGradientProduct recursive implementation.

Definition at line 397 of file itkRecursiveBSplineTransformImplementation.h.

◆ FastBitwiseCopy() [1/2]

template<unsigned int OutputDimension, unsigned int SplineOrder, class TScalar >
template<typename T1 , typename T2 >
static void itk::RecursiveBSplineTransformImplementation< OutputDimension, 0, SplineOrder, TScalar >::FastBitwiseCopy ( const T1 &  ,
const T2 &   
)
inlinestaticprivate

◆ FastBitwiseCopy() [2/2]

template<unsigned int OutputDimension, unsigned int SplineOrder, class TScalar >
template<typename T >
static void itk::RecursiveBSplineTransformImplementation< OutputDimension, 0, SplineOrder, TScalar >::FastBitwiseCopy ( T &  destination,
const T &  source 
)
inlinestaticprivate

◆ GetJacobian()

template<unsigned int OutputDimension, unsigned int SplineOrder, class TScalar >
static void itk::RecursiveBSplineTransformImplementation< OutputDimension, 0, SplineOrder, TScalar >::GetJacobian ( TScalar *&  jacobians,
const double *const  weights1D,
const double  value 
)
inlinestatic

GetJacobian recursive implementation.

Definition at line 383 of file itkRecursiveBSplineTransformImplementation.h.

◆ GetJacobianOfSpatialHessian()

template<unsigned int OutputDimension, unsigned int SplineOrder, class TScalar >
static void itk::RecursiveBSplineTransformImplementation< OutputDimension, 0, SplineOrder, TScalar >::GetJacobianOfSpatialHessian ( InternalFloatType *&  jsh_out,
const double *const  weights1D,
const double *const  derivativeWeights1D,
const double *const  hessianWeights1D,
const double *const  directionCosines,
const InternalFloatType *const  jsh 
)
inlinestatic

GetJacobianOfSpatialHessian recursive implementation.

Definition at line 497 of file itkRecursiveBSplineTransformImplementation.h.

◆ GetJacobianOfSpatialJacobian()

template<unsigned int OutputDimension, unsigned int SplineOrder, class TScalar >
static void itk::RecursiveBSplineTransformImplementation< OutputDimension, 0, SplineOrder, TScalar >::GetJacobianOfSpatialJacobian ( InternalFloatType *&  jsj_out,
const double *const  weights1D,
const double *const  derivativeWeights1D,
const double *const  directionCosines,
const InternalFloatType *const  jsj 
)
inlinestatic

GetJacobianOfSpatialJacobian recursive implementation.

Definition at line 458 of file itkRecursiveBSplineTransformImplementation.h.

◆ GetSpatialHessian()

template<unsigned int OutputDimension, unsigned int SplineOrder, class TScalar >
static void itk::RecursiveBSplineTransformImplementation< OutputDimension, 0, SplineOrder, TScalar >::GetSpatialHessian ( InternalFloatType *const  sh,
const TScalar *const *const  mu,
const OffsetValueType *const  gridOffsetTable,
const double *const  weights1D,
const double *const  derivativeWeights1D,
const double *const  hessianWeights1D 
)
inlinestatic

GetSpatialHessian recursive implementation.

Definition at line 442 of file itkRecursiveBSplineTransformImplementation.h.

◆ GetSpatialJacobian()

template<unsigned int OutputDimension, unsigned int SplineOrder, class TScalar >
static void itk::RecursiveBSplineTransformImplementation< OutputDimension, 0, SplineOrder, TScalar >::GetSpatialJacobian ( InternalFloatType *const  sj,
const TScalar *const *const  mu,
const OffsetValueType *const  gridOffsetTable,
const double *const  weights1D,
const double *const  derivativeWeights1D 
)
inlinestatic

GetSpatialJacobian recursive implementation.

Definition at line 427 of file itkRecursiveBSplineTransformImplementation.h.

◆ itkStaticConstMacro()

template<unsigned int OutputDimension, unsigned int SplineOrder, class TScalar >
itk::RecursiveBSplineTransformImplementation< OutputDimension, 0, SplineOrder, TScalar >::itkStaticConstMacro ( BSplineNumberOfIndices  ,
unsigned int  ,
RecursiveBSplineWeightFunctionType::NumberOfIndices   
)

◆ TransformPoint()

template<unsigned int OutputDimension, unsigned int SplineOrder, class TScalar >
static void itk::RecursiveBSplineTransformImplementation< OutputDimension, 0, SplineOrder, TScalar >::TransformPoint ( TScalar *const  opp,
const TScalar *const *const  mu,
const OffsetValueType *const  gridOffsetTable,
const double *const  weights1D 
)
inlinestatic

TransformPoint recursive implementation.

Definition at line 369 of file itkRecursiveBSplineTransformImplementation.h.



Generated on 2023-01-13 for elastix by doxygen 1.9.6 elastix logo