#include <itkFourierSeriesPath.h>
Inheritance diagram for itk::FourierSeriesPath< VDimension >:


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.)
EllipseParametricPath
Definition at line 61 of file 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) |
| Clear all frequency | coefficients (including the"DC"coefficients).*/void Clear() |
| virtual InputType | EndOfInput () const |
| virtual OutputType | Evaluate (const InputType &input) const |
| virtual VectorType | EvaluateDerivative (const InputType &input) const |
| virtual IndexType | EvaluateToIndex (const InputType &input) const |
| virtual const InputType & | GetDefaultInputStepSize () |
| virtual const char * | GetNameOfClass () const |
| virtual OffsetType | IncrementInput (InputType &input) const |
| virtual void | Initialize (void) |
| itkStaticConstMacro (PathDimension, unsigned int, VDimension) | |
| virtual void | SetDefaultInputStepSize (InputType _arg) |
| virtual InputType | StartOfInput () const |
Static Public Member Functions | |
| static Pointer | New () |
Protected Member Functions | |
| FourierSeriesPath () | |
| virtual IndexType | GetZeroIndex () const |
| virtual OffsetType | GetZeroOffset () const |
| Path () | |
| void | PrintSelf (std::ostream &os, Indent indent) const |
| ~FourierSeriesPath () | |
Protected Attributes | |
| InputType | m_DefaultInputStepSize |
|
|||||
|
Definition at line 87 of file itkFourierSeriesPath.h. |
|
|||||
|
Definition at line 86 of file itkFourierSeriesPath.h. |
|
|||||
|
Reimplemented from itk::ParametricPath< VDimension >. Definition at line 69 of file itkFourierSeriesPath.h. |
|
|||||
|
Basic data-structure types used Reimplemented from itk::ParametricPath< VDimension >. Definition at line 82 of file itkFourierSeriesPath.h. |
|
|||||
|
All paths must be mapable to index space Reimplemented from itk::ParametricPath< VDimension >. Definition at line 83 of file itkFourierSeriesPath.h. |
|
|||||
|
Input type Reimplemented from itk::ParametricPath< VDimension >. Definition at line 72 of file itkFourierSeriesPath.h. |
|
|||||
|
Reimplemented from itk::ParametricPath< VDimension >. Definition at line 84 of file itkFourierSeriesPath.h. |
|
|||||
|
Output type Reimplemented from itk::ParametricPath< VDimension >. Definition at line 78 of file itkFourierSeriesPath.h. |
|
|||||
|
Reimplemented from itk::ParametricPath< VDimension >. Definition at line 68 of file itkFourierSeriesPath.h. |
|
|||||
|
Standard class typedefs. Reimplemented from itk::ParametricPath< VDimension >. Definition at line 66 of file itkFourierSeriesPath.h. |
|
|||||
|
Reimplemented from itk::ParametricPath< VDimension >. Definition at line 67 of file itkFourierSeriesPath.h. |
|
|||||
|
Reimplemented from itk::ParametricPath< VDimension >. Definition at line 85 of file itkFourierSeriesPath.h. |
|
|||||||||
|
|
|
|||||||||
|
Definition at line 121 of file itkFourierSeriesPath.h. |
|
||||||||||||||||
|
Add another harmonic's frequency coefficients. |
|
||||||||||
|
Definition at line 101 of file itkFourierSeriesPath.h. |
|
|
Where does the path end (what is the last valid input value)? This value is sometimes used by IncrementInput() to go to the end of a path. Reimplemented in itk::OrthogonallyCorrected2DParametricPath, and itk::PolyLineParametricPath< VDimension >. |
|
||||||||||
|
Return the location of the parametric path at the specified location. Implements itk::Path< double, ContinuousIndex< double, VDimension >, VDimension >. |
|
||||||||||
|
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 >. |
|
||||||||||
|
Return the nearest index to the parametric path at the specified location. This is a wrapper to Evaluate(). Implements itk::Path< double, ContinuousIndex< double, VDimension >, VDimension >. |
|
|||||||||
|
|
|
|||||||||
|
Run-time type information (and related methods). Reimplemented from itk::ParametricPath< VDimension >. |
|
|
|
|
|
|
|
||||||||||
|
Increment the input variable passed by reference such that the ND index of the path moves to its next vertex-connected (8-connected in 2D) neighbor. Return the Index-space offset of the path from its prior input to its new input. If the path is unable to increment, input is not changed and an offset of Zero is returned. Children are not required to implement bounds checking. This is a fairly slow, iterative algorithm that numerically converges to the next index along the path, in a vertex-connected (8-connected in 2D) fashion. When possible, children of this class should overload this function with something more efficient. WARNING: This default implementation REQUIRES that the ND endpoint of the path be either unique or coincident only with the startpoint, since it uses the endpoint as a stopping condition. Implements itk::Path< double, ContinuousIndex< double, VDimension >, VDimension >. |
|
||||||||||
|
Needed for Pipelining Definition at line 114 of file itkFourierSeriesPath.h. |
|
||||||||||||||||
|
Path dimension. The dimension of a path is fixed at construction. |
|
|||||||||
|
New() method for dynamic construction |
|
|
|
|
||||||||||||||||
|
Reimplemented from itk::ParametricPath< VDimension >. |
|
||||||||||
|
|
|
|
Where does the path begin? For most types of paths, the path will begin at zero. This value can be overridden in children, and is necessary for iterators to know how to go to the beginning of a path. Reimplemented in itk::OrthogonallyCorrected2DParametricPath. |
|
|||||
|
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. Definition at line 136 of file itkParametricPath.h. |
1.4.2 written by Dimitri van Heesch,
© 1997-2000