zxhproj v 2.2
zxhproj

zxhTransformIterateInverse Class Reference

ForwardTransformToRefGrid: DRAW sampling FillInFindInverse: one closest per quadrant DistanceWeightInterpolateByNeighbours: inv(s) = s + sum w(si)(ti-si) More...

#include <zxhTransformIterateInverse.h>

Inheritance diagram for zxhTransformIterateInverse:
zxhTransformFields zxhTransformBase zxhTransformIterateInverseSDI

List of all members.

Public Member Functions

 zxhTransformIterateInverse ()
 construction
virtual ~zxhTransformIterateInverse ()
 deconstruct
virtual void SetTransform (zxhTransformBase *p)
virtual void NewInverseTransformImages (int dim, const int *size, const float *spacing, const zxhImageInfo *pimageinfo)
 for store inverse transformation fields
virtual void SetRoi (int dim, int *from, int *to)
 for compute the range in test coordinate
virtual bool ComputeInverseByDistanceInterpolate ()
 percentage of accurate points
virtual bool Evaluate ()
virtual void SetJacWeighting (float f)
virtual float GetJacWeighting ()
virtual void TransformWorldToWorld (const float fVectorFromWorld[ImageDimensionMax], float fVectorToWorld[ImageDimensionMax])

Protected Member Functions

virtual bool ForwardTransformToRefGrid (int *roiFrom, int *roiTo, zxhImageDataT< float > *imgFindInverseDis, zxhImageDataT< float > *imgFindInverseCoX, zxhImageDataT< float > *imgFindInverseCoY, zxhImageDataT< float > *imgFindInverseCoZ)
virtual int FillInFindInverse (zxhImageDataT< float > *imgFindInverseDis, zxhImageDataT< float > *imgFindInverseCoX, zxhImageDataT< float > *imgFindInverseCoY, zxhImageDataT< float > *imgFindInverseCoZ)
virtual void DistanceWeightInterpolateByNeighbours (zxhImageDataT< float > *imgFindInverseDis, zxhImageDataT< float > *imgFindInverseCoX, zxhImageDataT< float > *imgFindInverseCoY, zxhImageDataT< float > *imgFindInverseCoZ)
virtual void ComputeJacxyzForwardVoxel (float *Jacxyz, zxhTransformBase *pTransform, float *phyco, float *phycoTo, float *spacing)
virtual void MapToGrid8Neighbour (float *WorldFrom, float *WorldTo, float *gridcoTo, int i, int j, int k, zxhImageDataT< float > *pImgTemp, zxhImageDataT< float > *imgFindInverseDis, zxhImageDataT< float > *imgFindInverseCoX, zxhImageDataT< float > *imgFindInverseCoY, zxhImageDataT< float > *imgFindInverseCoZ)
virtual void ComputeSamplingSpacing (float *JacSpacing, float *Jacxyz, float *spacing)
virtual void ComputeSamplingSpacingByProduct (float *JacSpacing, float *Jacxyz, float *spacing)
 using Product, use 117seconds and ic of R85 warping_index mean std max min = 0.0281921 0.0202759 0.0195877 0.184309 0
virtual void ComputeSamplingSpacingByMaximalPoints (float *JacSpacing, float *Jacxyz, float *spacing)
 using Maximal, use 48 seconds and ic of R85 warping_index mean std max min = 0.0371167 0.0280054 0.0243587 0.19106 0
virtual void DistanceWeightInterpolationOct (float afInterpolateResult[], float *afInterpolateSource, float *afDisSquared)

Protected Attributes

zxhTransformBasem_pTransform
int m_aiRoi [2][ImageDimensionMax]
 roi region
float m_fIterateLength
 currently constant 0.1
float m_fExponent
int m_iFillRange [2]
float m_fJacWeighting

Detailed Description

ForwardTransformToRefGrid: DRAW sampling FillInFindInverse: one closest per quadrant DistanceWeightInterpolateByNeighbours: inv(s) = s + sum w(si)(ti-si)


Member Function Documentation

bool zxhTransformIterateInverse::ComputeInverseByDistanceInterpolate ( ) [virtual]

percentage of accurate points

only for 3D, displacement is better than interpolating from WorldFrom?

Reimplemented in zxhTransformIterateInverseSDI.

void zxhTransformIterateInverse::DistanceWeightInterpolateByNeighbours ( zxhImageDataT< float > *  imgFindInverseDis,
zxhImageDataT< float > *  imgFindInverseCoX,
zxhImageDataT< float > *  imgFindInverseCoY,
zxhImageDataT< float > *  imgFindInverseCoZ 
) [protected, virtual]

interpolate based on displacement is better than on From when the scatter points are not complete or from further points

fill in from neighbour

Reimplemented in zxhTransformIterateInverseSDI.

bool zxhTransformIterateInverse::ForwardTransformToRefGrid ( int *  roiFrom,
int *  roiTo,
zxhImageDataT< float > *  imgFindInverseDis,
zxhImageDataT< float > *  imgFindInverseCoX,
zxhImageDataT< float > *  imgFindInverseCoY,
zxhImageDataT< float > *  imgFindInverseCoZ 
) [protected, virtual]

imgFindInverseCo? are the World_co of the 8 points in target image space imgFindInverseDis are the distance of the 8 points in source image space

Reimplemented in zxhTransformIterateInverseSDI.

void zxhTransformIterateInverse::TransformWorldToWorld ( const float  fVectorFromWorld[ImageDimensionMax],
float  fVectorToWorld[ImageDimensionMax] 
) [virtual]
Returns:
the Worldical coordinate after transform

Reimplemented from zxhTransformFields.


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs