ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkFourierSeriesPath.h>
Public Types | |
typedef CoefficientsType::Pointer | CoefficientsPointer |
typedef VectorContainer < unsigned, VectorType > | CoefficientsType |
typedef SmartPointer< const Self > | ConstPointer |
typedef ContinuousIndex < double, VDimension > | ContinuousIndexType |
typedef Index< VDimension > | IndexType |
typedef Superclass::InputType | InputType |
typedef Offset< VDimension > | OffsetType |
typedef Superclass::OutputType | OutputType |
typedef SmartPointer< Self > | Pointer |
typedef FourierSeriesPath | Self |
typedef ParametricPath < VDimension > | Superclass |
typedef Vector< double, VDimension > | VectorType |
Public Member Functions | |
void | AddHarmonic (const VectorType &CosCoefficients, const VectorType &SinCoefficients) |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
virtual OutputType | Evaluate (const InputType &input) const |
virtual VectorType | EvaluateDerivative (const InputType &input) const |
virtual const char * | GetNameOfClass () const |
virtual void | Initialize (void) |
void | Clear () |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
FourierSeriesPath () | |
void | PrintSelf (std::ostream &os, Indent indent) const |
~FourierSeriesPath () | |
Private Member Functions | |
FourierSeriesPath (const Self &) | |
void | operator= (const Self &) |
Private Attributes | |
CoefficientsPointer | m_CosCoefficients |
CoefficientsPointer | m_SinCoefficients |
Represent a closed path through ND Space by its frequency components.
This class is intended to represent closed parametric paths through an image which are defined by their Fourier coeficients (frequency components). The paths must be closed and defined over the interval [0,1], where the paths' values at input 0 and input 1 are identical. The user can control how many harmonics (how high of frequency components) are represented by a given instantiation of this class. Classic applications of this class include smoothing other closed paths (by finding and using only the first n harmonics of their frequency components) and interpolating exact derivatives of other closed paths by first converting the other paths to FourierSeriesPaths, which have an exactly defined algebraic derivative. (As many harmonics as are necessary to adequately approximate the original path should be used when approximating derivatives.)
Definition at line 58 of file itkFourierSeriesPath.h.
typedef CoefficientsType::Pointer itk::FourierSeriesPath< VDimension >::CoefficientsPointer |
Definition at line 83 of file itkFourierSeriesPath.h.
typedef VectorContainer< unsigned, VectorType > itk::FourierSeriesPath< VDimension >::CoefficientsType |
Definition at line 82 of file itkFourierSeriesPath.h.
typedef SmartPointer< const Self > itk::FourierSeriesPath< VDimension >::ConstPointer |
Reimplemented from itk::ParametricPath< VDimension >.
Definition at line 66 of file itkFourierSeriesPath.h.
typedef ContinuousIndex< double, VDimension > itk::FourierSeriesPath< VDimension >::ContinuousIndexType |
Basic data-structure types used
Reimplemented from itk::ParametricPath< VDimension >.
Definition at line 78 of file itkFourierSeriesPath.h.
typedef Index< VDimension > itk::FourierSeriesPath< VDimension >::IndexType |
All paths must be mapable to index space
Reimplemented from itk::ParametricPath< VDimension >.
Definition at line 79 of file itkFourierSeriesPath.h.
typedef Superclass::InputType itk::FourierSeriesPath< VDimension >::InputType |
Input type
Reimplemented from itk::ParametricPath< VDimension >.
Definition at line 69 of file itkFourierSeriesPath.h.
typedef Offset< VDimension > itk::FourierSeriesPath< VDimension >::OffsetType |
Reimplemented from itk::ParametricPath< VDimension >.
Definition at line 80 of file itkFourierSeriesPath.h.
typedef Superclass::OutputType itk::FourierSeriesPath< VDimension >::OutputType |
Output type
Reimplemented from itk::ParametricPath< VDimension >.
Definition at line 75 of file itkFourierSeriesPath.h.
typedef SmartPointer< Self > itk::FourierSeriesPath< VDimension >::Pointer |
Reimplemented from itk::ParametricPath< VDimension >.
Definition at line 65 of file itkFourierSeriesPath.h.
typedef FourierSeriesPath itk::FourierSeriesPath< VDimension >::Self |
Standard class typedefs.
Reimplemented from itk::ParametricPath< VDimension >.
Definition at line 63 of file itkFourierSeriesPath.h.
typedef ParametricPath< VDimension > itk::FourierSeriesPath< VDimension >::Superclass |
Reimplemented from itk::ParametricPath< VDimension >.
Definition at line 64 of file itkFourierSeriesPath.h.
typedef Vector< double, VDimension > itk::FourierSeriesPath< VDimension >::VectorType |
Reimplemented from itk::ParametricPath< VDimension >.
Definition at line 81 of file itkFourierSeriesPath.h.
itk::FourierSeriesPath< VDimension >::FourierSeriesPath | ( | ) | [protected] |
itk::FourierSeriesPath< VDimension >::~FourierSeriesPath | ( | ) | [inline, protected] |
Definition at line 116 of file itkFourierSeriesPath.h.
itk::FourierSeriesPath< VDimension >::FourierSeriesPath | ( | const Self & | ) | [private] |
void itk::FourierSeriesPath< VDimension >::AddHarmonic | ( | const VectorType & | CosCoefficients, |
const VectorType & | SinCoefficients | ||
) |
Add another harmonic's frequency coefficients.
void itk::FourierSeriesPath< VDimension >::Clear | ( | void | ) | [inline] |
Clear all frequency coefficients (including the "DC" coefficients).
Definition at line 97 of file itkFourierSeriesPath.h.
virtual::itk::LightObject::Pointer itk::FourierSeriesPath< VDimension >::CreateAnother | ( | void | ) | const [virtual] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
virtual OutputType itk::FourierSeriesPath< VDimension >::Evaluate | ( | const InputType & | input | ) | const [virtual] |
Return the location of the parametric path at the specified location.
virtual VectorType itk::FourierSeriesPath< VDimension >::EvaluateDerivative | ( | const InputType & | input | ) | const [virtual] |
Evaluate the first derivative of the ND output with respect to the 1D input. This is an exact, algebraic function.
Reimplemented from itk::ParametricPath< VDimension >.
virtual const char* itk::FourierSeriesPath< VDimension >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::ParametricPath< VDimension >.
virtual void itk::FourierSeriesPath< VDimension >::Initialize | ( | void | ) | [inline, virtual] |
Needed for Pipelining
Reimplemented from itk::DataObject.
Definition at line 109 of file itkFourierSeriesPath.h.
static Pointer itk::FourierSeriesPath< VDimension >::New | ( | ) | [static] |
New() method for dynamic construction
Reimplemented from itk::Object.
void itk::FourierSeriesPath< VDimension >::operator= | ( | const Self & | ) | [private] |
Default 1D input increment amount to trace along the path. Also, the value used by the defualt implementation of EvaluateDerivative() for numerically approximating the derivative with the change over a single default-sized step. (NOTE that the default implementation of EvaluateDerivative() should never be used in practice, but users or lazzy developers may nevertheless unwisely choose to do so anyway.) For integer- input-types, 1 is probably the correct value. For double-input-types, either 1 or 0.1 are probably good values. This value should be set in the constructor of all instantiable children. Values set in child constructors overwrite values set in parent constructors.
Reimplemented from itk::ParametricPath< VDimension >.
void itk::FourierSeriesPath< VDimension >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
Method for grafting the content of one data object into another one. This method is intended to be overloaded by derived classes. Each one of them should use dynamic_casting in order to verify that the grafted object is actually of the same type as the class on which the Graft() method was invoked.
Reimplemented from itk::ParametricPath< VDimension >.
CoefficientsPointer itk::FourierSeriesPath< VDimension >::m_CosCoefficients [private] |
Definition at line 123 of file itkFourierSeriesPath.h.
CoefficientsPointer itk::FourierSeriesPath< VDimension >::m_SinCoefficients [private] |
Definition at line 124 of file itkFourierSeriesPath.h.