go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Data Structures | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Private Member Functions
itk::BSplineKernelFunction2< VSplineOrder > Class Template Reference

#include <itkBSplineKernelFunction2.h>

Detailed Description

template<unsigned int VSplineOrder = 3>
class itk::BSplineKernelFunction2< VSplineOrder >

B-spline kernel used for density estimation and nonparameteric regression.

This class encapsulates B-spline kernel for density estimation or nonparametric regression. See documentation for KernelFunction for more details.

This class is templated over the spline order.

Warning
Evaluate is only implemented for spline order 0 to 3
See also
KernelFunction

Definition at line 58 of file itkBSplineKernelFunction2.h.

Inheritance diagram for itk::BSplineKernelFunction2< VSplineOrder >:
Inheritance graph
[legend]

Data Structures

struct  Dispatch
 

Public Types

using Pointer = SmartPointer< Self >
 
using Self = BSplineKernelFunction2
 
using Superclass = KernelFunctionBase2< double >
 
using WeightArrayType = FixedArray< double, VSplineOrder+1 >
 
- Public Types inherited from itk::KernelFunctionBase2< double >
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using RealType = double
 
using Self = KernelFunctionBase2
 
using Superclass = KernelFunctionBase< double >
 

Public Member Functions

double Evaluate (const double &u) const override
 
void Evaluate (const double &u, double *weights) const override
 
virtual const char * GetClassName () const
 
 ITK_DISALLOW_COPY_AND_MOVE (BSplineKernelFunction2)
 
 itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder)
 
double Evaluate (const double &u) const override=0
 
virtual void Evaluate (const double &u, double *weights) const=0
 
virtual const char * GetClassName () const
 

Static Public Member Functions

static double FastEvaluate (const double u)
 
static void FastEvaluate (const double u, double *const weights)
 
static Pointer New ()
 

Protected Member Functions

 BSplineKernelFunction2 ()=default
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~BSplineKernelFunction2 () override=default
 
- Protected Member Functions inherited from itk::KernelFunctionBase2< double >
 KernelFunctionBase2 ()=default
 
 ~KernelFunctionBase2 () override=default
 

Static Private Member Functions

static double Evaluate (const Dispatch< 0 > &, const double u)
 
static void Evaluate (const Dispatch< 0 > &, const double u, double *weights)
 
static double Evaluate (const Dispatch< 1 > &, const double u)
 
static void Evaluate (const Dispatch< 1 > &, const double u, double *weights)
 
static double Evaluate (const Dispatch< 2 > &, const double u)
 
static void Evaluate (const Dispatch< 2 > &, const double u, double *weights)
 
static double Evaluate (const Dispatch< 3 > &, const double u)
 
static void Evaluate (const Dispatch< 3 > &, const double u, double *weights)
 

Member Typedef Documentation

◆ Pointer

template<unsigned int VSplineOrder = 3>
using itk::BSplineKernelFunction2< VSplineOrder >::Pointer = SmartPointer<Self>

Definition at line 66 of file itkBSplineKernelFunction2.h.

◆ Self

template<unsigned int VSplineOrder = 3>
using itk::BSplineKernelFunction2< VSplineOrder >::Self = BSplineKernelFunction2

Standard class typedefs.

Definition at line 64 of file itkBSplineKernelFunction2.h.

◆ Superclass

template<unsigned int VSplineOrder = 3>
using itk::BSplineKernelFunction2< VSplineOrder >::Superclass = KernelFunctionBase2<double>

Definition at line 65 of file itkBSplineKernelFunction2.h.

◆ WeightArrayType

template<unsigned int VSplineOrder = 3>
using itk::BSplineKernelFunction2< VSplineOrder >::WeightArrayType = FixedArray<double, VSplineOrder + 1>

Store weights for the entire support.

Definition at line 78 of file itkBSplineKernelFunction2.h.

Constructor & Destructor Documentation

◆ BSplineKernelFunction2()

template<unsigned int VSplineOrder = 3>
itk::BSplineKernelFunction2< VSplineOrder >::BSplineKernelFunction2 ( )
protecteddefault

◆ ~BSplineKernelFunction2()

template<unsigned int VSplineOrder = 3>
itk::BSplineKernelFunction2< VSplineOrder >::~BSplineKernelFunction2 ( )
overrideprotecteddefault

Member Function Documentation

◆ Evaluate() [1/10]

template<unsigned int VSplineOrder = 3>
static double itk::BSplineKernelFunction2< VSplineOrder >::Evaluate ( const Dispatch< 0 > &  ,
const double  u 
)
inlinestaticprivate

B-spline functions for one point. Zeroth order spline.

Definition at line 141 of file itkBSplineKernelFunction2.h.

◆ Evaluate() [2/10]

template<unsigned int VSplineOrder = 3>
static void itk::BSplineKernelFunction2< VSplineOrder >::Evaluate ( const Dispatch< 0 > &  ,
const double  u,
double weights 
)
inlinestaticprivate

B-spline functions for all points in the support. Zeroth order spline.

Definition at line 226 of file itkBSplineKernelFunction2.h.

◆ Evaluate() [3/10]

template<unsigned int VSplineOrder = 3>
static double itk::BSplineKernelFunction2< VSplineOrder >::Evaluate ( const Dispatch< 1 > &  ,
const double  u 
)
inlinestaticprivate

First order spline

Definition at line 162 of file itkBSplineKernelFunction2.h.

◆ Evaluate() [4/10]

template<unsigned int VSplineOrder = 3>
static void itk::BSplineKernelFunction2< VSplineOrder >::Evaluate ( const Dispatch< 1 > &  ,
const double  u,
double weights 
)
inlinestaticprivate

First order spline

Definition at line 247 of file itkBSplineKernelFunction2.h.

◆ Evaluate() [5/10]

template<unsigned int VSplineOrder = 3>
static double itk::BSplineKernelFunction2< VSplineOrder >::Evaluate ( const Dispatch< 2 > &  ,
const double  u 
)
inlinestaticprivate

Second order spline.

Definition at line 179 of file itkBSplineKernelFunction2.h.

◆ Evaluate() [6/10]

template<unsigned int VSplineOrder = 3>
static void itk::BSplineKernelFunction2< VSplineOrder >::Evaluate ( const Dispatch< 2 > &  ,
const double  u,
double weights 
)
inlinestaticprivate

Second order spline.

Definition at line 258 of file itkBSplineKernelFunction2.h.

◆ Evaluate() [7/10]

template<unsigned int VSplineOrder = 3>
static double itk::BSplineKernelFunction2< VSplineOrder >::Evaluate ( const Dispatch< 3 > &  ,
const double  u 
)
inlinestaticprivate

Third order spline.

Definition at line 200 of file itkBSplineKernelFunction2.h.

◆ Evaluate() [8/10]

template<unsigned int VSplineOrder = 3>
static void itk::BSplineKernelFunction2< VSplineOrder >::Evaluate ( const Dispatch< 3 > &  ,
const double  u,
double weights 
)
inlinestaticprivate

Third order spline.

Definition at line 271 of file itkBSplineKernelFunction2.h.

◆ Evaluate() [9/10]

template<unsigned int VSplineOrder = 3>
double itk::BSplineKernelFunction2< VSplineOrder >::Evaluate ( const double u) const
inlineoverridevirtual

Evaluate the function at one point.

Implements itk::KernelFunctionBase2< double >.

Definition at line 101 of file itkBSplineKernelFunction2.h.

◆ Evaluate() [10/10]

template<unsigned int VSplineOrder = 3>
void itk::BSplineKernelFunction2< VSplineOrder >::Evaluate ( const double u,
double weights 
) const
inlineoverridevirtual

Evaluate the function at the entire support. This is slightly faster, since no if's are needed.

Implements itk::KernelFunctionBase2< double >.

Definition at line 111 of file itkBSplineKernelFunction2.h.

◆ FastEvaluate() [1/2]

template<unsigned int VSplineOrder = 3>
static double itk::BSplineKernelFunction2< VSplineOrder >::FastEvaluate ( const double  u)
inlinestatic

Evaluate the function at one point. Faster than the corresponding public Evaluate member function, because it is static (whereas this Evaluate member function is virtual).

Definition at line 83 of file itkBSplineKernelFunction2.h.

◆ FastEvaluate() [2/2]

template<unsigned int VSplineOrder = 3>
static void itk::BSplineKernelFunction2< VSplineOrder >::FastEvaluate ( const double  u,
double *const  weights 
)
inlinestatic

Evaluate the function at the entire support. This is slightly faster, since no if's are needed. It is also faster than the corresponding public Evaluate member function, because it is static (whereas this Evaluate member function is virtual).

Definition at line 93 of file itkBSplineKernelFunction2.h.

◆ GetClassName()

template<unsigned int VSplineOrder = 3>
virtual const char * itk::BSplineKernelFunction2< VSplineOrder >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::KernelFunctionBase2< double >.

◆ ITK_DISALLOW_COPY_AND_MOVE()

template<unsigned int VSplineOrder = 3>
itk::BSplineKernelFunction2< VSplineOrder >::ITK_DISALLOW_COPY_AND_MOVE ( BSplineKernelFunction2< VSplineOrder >  )

◆ itkStaticConstMacro()

template<unsigned int VSplineOrder = 3>
itk::BSplineKernelFunction2< VSplineOrder >::itkStaticConstMacro ( SplineOrder  ,
unsigned int  ,
VSplineOrder   
)

Enum of for spline order.

◆ New()

template<unsigned int VSplineOrder = 3>
static Pointer itk::BSplineKernelFunction2< VSplineOrder >::New ( )
static

Method for creation through the object factory.

◆ PrintSelf()

template<unsigned int VSplineOrder = 3>
void itk::BSplineKernelFunction2< VSplineOrder >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
inlineoverrideprotected

Definition at line 122 of file itkBSplineKernelFunction2.h.



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