#include <ofFMGSolver.h>
Public Member Functions | |
| OFFMGSolver (i3d::Image3d< VOXEL > *In0, i3d::Image3d< VOXEL > *In1, i3d::Vector3d< float >Sp=i3d::Vector3d< float >(1.0, 1.0, 1.0)) | |
| virtual | ~OFFMGSolver () |
| virtual void | Initialization () |
| void | SetFineSpacing (i3d::Vector3d< float >fsp) |
| i3d::Vector3d< float > & | GetFineSpacing () |
| void | SetNumberOfSteps (size_t FMGSteps, size_t RestrSteps, size_t ProlSteps) |
| void | SetNumberOfMaxLevels (size_t MLevel) |
| void | SetRo (VOXEL r) |
| void | SetSigma (VOXEL s) |
| void | SetWCycle (bool Val) |
| void | SetDesiredRelativeError (VOXEL dre) |
| void | SetDerivationInput (size_t i) |
| size_t | GetDerivationInput () |
| void | SaveResults (char *FName, size_t Level=static_cast< size_t >(0)) |
| std::valarray< i3d::Image3d < VOXEL > * > & | GetResults () |
| i3d::Image3d< VOXEL > * | GetResults (size_t axe) |
| void | SetResults (i3d::Image3d< VOXEL > *w, size_t axe) |
| void | SetAlpha (VOXEL a) |
| VOXEL | GetGradientGamma () |
| void | SetGradientGamma (VOXEL gg) |
| void | SetBaseSolverType (size_t st) |
| size_t | GetBaseSolverType () |
| virtual void | Execute () |
| void | SetUsedForWarping (bool w) |
| bool | GetUsedForWarping () |
| void | SetWarpingStuffPointers (i3d::Image3d< VOXEL > *fl=static_cast< i3d::Image3d< VOXEL > >(NULL), i3d::Image3d< VOXEL > *x=static_cast< i3d::Image3d< VOXEL > >(NULL), i3d::Image3d< VOXEL > *y=static_cast< i3d::Image3d< VOXEL > >(NULL), i3d::Image3d< VOXEL > *z=static_cast< i3d::Image3d< VOXEL > >(NULL)) |
| void | AddOverallSolution () |
| MultiGridLevel< VOXEL > * | GetLevel (size_t index) |
| size_t | GetWarpBase () |
Protected Member Functions | |
| void | ComputeNumberOfLevels () |
| void | ComputeSpacing2n (i3d::Vector3d< size_t > &Size, i3d::Vector3d< size_t > &Size2n, i3d::Vector3d< float > &Spacing, i3d::Vector3d< float > &Spacing2n) |
| void | ComputeSize2n (i3d::Vector3d< size_t > &Size, i3d::Vector3d< size_t > &Size2n) |
| virtual void | ComputeRightHandSide (MotionTensor< VOXEL > *Tensor, MultiGridLevel< VOXEL > *Level) |
| virtual void | ComputeMatrix (MotionTensor< VOXEL > *Tensor, MultiGridLevel< VOXEL > *Level) |
| virtual void | ComputeSubMatrix (MotionTensor< VOXEL > *Tensor, MultiGridLevel< VOXEL > *Level, size_t i, size_t j) |
| virtual void | RelaxOnLevel (size_t Level, size_t Steps) |
| virtual void | SpecificRegularizerComputations (MotionTensor< VOXEL > *Tensor, size_t param) |
| void | PreSmoothInput () |
| virtual void | ProlongateSolution (size_t Level) |
| virtual void | RestrictResidual (size_t Level) |
| virtual void | ComputeResidual (size_t Level) |
| virtual void | ProlongateCorrection (size_t Level) |
| virtual void | AddCorrection (size_t Level) |
| virtual void | SetSolutionToZero (size_t Level) |
| void | DoCycle (size_t StartLevel, size_t Repeat) |
| void | ComputeRelativeError () |
| VOXEL | ComputeNormOfResidual () |
Protected Attributes | |
| i3d::Image3d< VOXEL > * | InputT0 |
| i3d::Image3d< VOXEL > * | InputT1 |
| size_t | PresmoothRelaxSteps |
| size_t | PostsmoothRelaxSteps |
| size_t | NumberOfFullCycles |
| std::valarray< MultiGridLevel < VOXEL > * > | Levels |
| size_t | Dimensions |
| size_t | NumberOfLevels |
| i3d::Vector3d< size_t > | FineSize |
| i3d::Vector3d< float > | FineSpacing |
| bool | WCycle |
| size_t | DerivationInput |
| VOXEL | Ro |
| VOXEL | Sigma |
| VOXEL | Alpha |
| VOXEL | GradientGamma |
| VOXEL | RelativeError |
| VOXEL | DesiredRelativeError |
| bool | UsedForWarping |
| std::valarray< i3d::Image3d < VOXEL > * > | WarpingStuff |
| size_t | WarpBase |
| size_t | BaseSolverType |
| OFFMGSolver< VOXEL >::OFFMGSolver | ( | i3d::Image3d< VOXEL > * | In0, | |
| i3d::Image3d< VOXEL > * | In1, | |||
| i3d::Vector3d< float > | Sp = i3d::Vector3d <float>(1.0, 1.0, 1.0) | |||
| ) |
| OFFMGSolver< VOXEL >::~OFFMGSolver | ( | ) | [virtual] |
| void OFFMGSolver< VOXEL >::Initialization | ( | ) | [virtual] |
Reimplemented in OFFlAnisotropic< VOXEL >, OFFlIsotropic< VOXEL >, and OFHomogenous< VOXEL >.
| void OFFMGSolver< VOXEL >::SetFineSpacing | ( | i3d::Vector3d< float > | fsp | ) | [inline] |
| i3d::Vector3d<float>& OFFMGSolver< VOXEL >::GetFineSpacing | ( | ) | [inline] |
| void OFFMGSolver< VOXEL >::SetNumberOfSteps | ( | size_t | FMGSteps, | |
| size_t | RestrSteps, | |||
| size_t | ProlSteps | |||
| ) |
| void OFFMGSolver< VOXEL >::SetNumberOfMaxLevels | ( | size_t | MLevel | ) |
| void OFFMGSolver< VOXEL >::SetRo | ( | VOXEL | r | ) |
| void OFFMGSolver< VOXEL >::SetSigma | ( | VOXEL | s | ) |
| void OFFMGSolver< VOXEL >::SetWCycle | ( | bool | Val | ) |
| void OFFMGSolver< VOXEL >::SetDesiredRelativeError | ( | VOXEL | dre | ) |
| void OFFMGSolver< VOXEL >::SetDerivationInput | ( | size_t | i | ) | [inline] |
| size_t OFFMGSolver< VOXEL >::GetDerivationInput | ( | ) | [inline] |
| void OFFMGSolver< VOXEL >::SaveResults | ( | char * | FName, | |
| size_t | Level = static_cast <size_t> (0) | |||
| ) |
| valarray< Image3d< VOXEL > * > & OFFMGSolver< VOXEL >::GetResults | ( | ) |
| Image3d< VOXEL > * OFFMGSolver< VOXEL >::GetResults | ( | size_t | axe | ) |
| void OFFMGSolver< VOXEL >::SetResults | ( | i3d::Image3d< VOXEL > * | w, | |
| size_t | axe | |||
| ) |
| void OFFMGSolver< VOXEL >::SetAlpha | ( | VOXEL | a | ) |
| VOXEL OFFMGSolver< VOXEL >::GetGradientGamma | ( | ) |
| void OFFMGSolver< VOXEL >::SetGradientGamma | ( | VOXEL | gg | ) |
| void OFFMGSolver< VOXEL >::SetBaseSolverType | ( | size_t | st | ) |
| size_t OFFMGSolver< VOXEL >::GetBaseSolverType | ( | ) |
| void OFFMGSolver< VOXEL >::Execute | ( | ) | [virtual] |
| void OFFMGSolver< VOXEL >::SetUsedForWarping | ( | bool | w | ) |
| bool OFFMGSolver< VOXEL >::GetUsedForWarping | ( | ) |
| void OFFMGSolver< VOXEL >::SetWarpingStuffPointers | ( | i3d::Image3d< VOXEL > * | fl = static_cast < i3d::Image3d <VOXEL> >(NULL), |
|
| i3d::Image3d< VOXEL > * | x = static_cast < i3d::Image3d <VOXEL> >(NULL), |
|||
| i3d::Image3d< VOXEL > * | y = static_cast < i3d::Image3d <VOXEL> >(NULL), |
|||
| i3d::Image3d< VOXEL > * | z = static_cast < i3d::Image3d <VOXEL> >(NULL) | |||
| ) |
| void OFFMGSolver< VOXEL >::AddOverallSolution | ( | ) |
| MultiGridLevel< VOXEL > * OFFMGSolver< VOXEL >::GetLevel | ( | size_t | index | ) |
| size_t OFFMGSolver< VOXEL >::GetWarpBase | ( | ) |
| void OFFMGSolver< VOXEL >::ComputeNumberOfLevels | ( | ) | [protected] |
| void OFFMGSolver< VOXEL >::ComputeSpacing2n | ( | i3d::Vector3d< size_t > & | Size, | |
| i3d::Vector3d< size_t > & | Size2n, | |||
| i3d::Vector3d< float > & | Spacing, | |||
| i3d::Vector3d< float > & | Spacing2n | |||
| ) | [protected] |
| void OFFMGSolver< VOXEL >::ComputeSize2n | ( | i3d::Vector3d< size_t > & | Size, | |
| i3d::Vector3d< size_t > & | Size2n | |||
| ) | [protected] |
| void OFFMGSolver< VOXEL >::ComputeRightHandSide | ( | MotionTensor< VOXEL > * | Tensor, | |
| MultiGridLevel< VOXEL > * | Level | |||
| ) | [protected, virtual] |
Reimplemented in OFHomogenous< VOXEL >.
| void OFFMGSolver< VOXEL >::ComputeMatrix | ( | MotionTensor< VOXEL > * | Tensor, | |
| MultiGridLevel< VOXEL > * | Level | |||
| ) | [protected, virtual] |
Reimplemented in OFHomogenous< VOXEL >.
| void OFFMGSolver< VOXEL >::ComputeSubMatrix | ( | MotionTensor< VOXEL > * | Tensor, | |
| MultiGridLevel< VOXEL > * | Level, | |||
| size_t | i, | |||
| size_t | j | |||
| ) | [protected, virtual] |
Reimplemented in OFHomogenous< VOXEL >, OFImAnisotropic< VOXEL >, and OFImIsotropic< VOXEL >.
| void OFFMGSolver< VOXEL >::RelaxOnLevel | ( | size_t | Level, | |
| size_t | Steps | |||
| ) | [protected, virtual] |
Reimplemented in OFFlIsotropic< VOXEL >, and OFHomogenous< VOXEL >.
| void OFFMGSolver< VOXEL >::SpecificRegularizerComputations | ( | MotionTensor< VOXEL > * | Tensor, | |
| size_t | param | |||
| ) | [protected, virtual] |
Reimplemented in OFImAnisotropic< VOXEL >, OFImIsotropic< VOXEL >, and OFRbDataImAniso< VOXEL >.
| void OFFMGSolver< VOXEL >::PreSmoothInput | ( | ) | [protected] |
| void OFFMGSolver< VOXEL >::ProlongateSolution | ( | size_t | Level | ) | [protected, virtual] |
Reimplemented in OFFlAnisotropic< VOXEL >, OFFlIsotropic< VOXEL >, and OFHomogenous< VOXEL >.
| void OFFMGSolver< VOXEL >::RestrictResidual | ( | size_t | Level | ) | [protected, virtual] |
Reimplemented in OFclg< VOXEL >, OFFlAnisotropic< VOXEL >, OFFlIsotropic< VOXEL >, OFHomogenous< VOXEL >, and OFRbDataImAniso< VOXEL >.
| void OFFMGSolver< VOXEL >::ComputeResidual | ( | size_t | Level | ) | [protected, virtual] |
Reimplemented in OFclg< VOXEL >, OFFlAnisotropic< VOXEL >, OFFlIsotropic< VOXEL >, OFHomogenous< VOXEL >, and OFRbDataImAniso< VOXEL >.
| void OFFMGSolver< VOXEL >::ProlongateCorrection | ( | size_t | Level | ) | [protected, virtual] |
Reimplemented in OFFlAnisotropic< VOXEL >, OFFlIsotropic< VOXEL >, and OFHomogenous< VOXEL >.
| void OFFMGSolver< VOXEL >::AddCorrection | ( | size_t | Level | ) | [protected, virtual] |
Reimplemented in OFFlAnisotropic< VOXEL >, OFFlIsotropic< VOXEL >, and OFHomogenous< VOXEL >.
| void OFFMGSolver< VOXEL >::SetSolutionToZero | ( | size_t | Level | ) | [protected, virtual] |
Reimplemented in OFFlAnisotropic< VOXEL >, OFFlIsotropic< VOXEL >, and OFHomogenous< VOXEL >.
| void OFFMGSolver< VOXEL >::DoCycle | ( | size_t | StartLevel, | |
| size_t | Repeat | |||
| ) | [protected] |
| void OFFMGSolver< VOXEL >::ComputeRelativeError | ( | ) | [protected] |
| VOXEL OFFMGSolver< VOXEL >::ComputeNormOfResidual | ( | ) | [protected] |
i3d::Image3d<VOXEL>* OFFMGSolver< VOXEL >::InputT0 [protected] |
i3d::Image3d<VOXEL>* OFFMGSolver< VOXEL >::InputT1 [protected] |
size_t OFFMGSolver< VOXEL >::PresmoothRelaxSteps [protected] |
size_t OFFMGSolver< VOXEL >::PostsmoothRelaxSteps [protected] |
size_t OFFMGSolver< VOXEL >::NumberOfFullCycles [protected] |
std::valarray< MultiGridLevel <VOXEL> *> OFFMGSolver< VOXEL >::Levels [protected] |
size_t OFFMGSolver< VOXEL >::Dimensions [protected] |
size_t OFFMGSolver< VOXEL >::NumberOfLevels [protected] |
i3d::Vector3d<size_t> OFFMGSolver< VOXEL >::FineSize [protected] |
i3d::Vector3d<float> OFFMGSolver< VOXEL >::FineSpacing [protected] |
bool OFFMGSolver< VOXEL >::WCycle [protected] |
size_t OFFMGSolver< VOXEL >::DerivationInput [protected] |
VOXEL OFFMGSolver< VOXEL >::Ro [protected] |
VOXEL OFFMGSolver< VOXEL >::Sigma [protected] |
VOXEL OFFMGSolver< VOXEL >::Alpha [protected] |
VOXEL OFFMGSolver< VOXEL >::GradientGamma [protected] |
VOXEL OFFMGSolver< VOXEL >::RelativeError [protected] |
VOXEL OFFMGSolver< VOXEL >::DesiredRelativeError [protected] |
bool OFFMGSolver< VOXEL >::UsedForWarping [protected] |
std::valarray< i3d::Image3d <VOXEL> *> OFFMGSolver< VOXEL >::WarpingStuff [protected] |
size_t OFFMGSolver< VOXEL >::WarpBase [protected] |
size_t OFFMGSolver< VOXEL >::BaseSolverType [protected] |
1.7.1