Public Types | Public Member Functions | Protected Attributes

cmtk::InverseInterpolationVolumeReconstructionBase Class Reference
[cmtkRecon Library]

Base class for volume reconstruction using inverse interpolation. More...

#include <cmtkInverseInterpolationVolumeReconstructionBase.h>

Inheritance diagram for cmtk::InverseInterpolationVolumeReconstructionBase:
Inheritance graph
[legend]
Collaboration diagram for cmtk::InverseInterpolationVolumeReconstructionBase:
Collaboration graph
[legend]

List of all members.

Public Types

typedef
InverseInterpolationVolumeReconstructionBase 
Self
 This class.
typedef
VolumeInjectionReconstruction 
Superclass
 Parent class.

Public Member Functions

 InverseInterpolationVolumeReconstructionBase (const UniformVolume *originalImage, const int numberOfPasses, const int interleaveAxis)
 Constructor for interleaved image motion correction.
 InverseInterpolationVolumeReconstructionBase (const UniformVolume *reconstructionGrid, std::vector< UniformVolume::SmartPtr > &images)
 Constructor for general volume reconstruction from multiple acquired images.
virtual ~InverseInterpolationVolumeReconstructionBase ()
 Virtual destructor stub.
double ComputeApproximationError ()
 Compute approximation error.
UniformVolume::SmartPtrGetLowestMaxErrorImage ()
 Returns the reconstructed image wioth the lowest maximum error.
void SetUseRegionalIntensityTruncation (const bool flag=true)
 Set flag for regional intensity trunctation.
void SetUseFourthOrderError (const bool flag=true)
 Set fourth order error flag.
void SetConstraintWeightLNorm (const double weight)
 Set L-norm constraint weight.
void Optimize (const int numberOfIterations)
 Optimize approximation error.
double GetMeanSquaredError () const
 Return MSD error.
double GetMaximumError () const
 Return maximum error.

Protected Attributes

bool m_RegionalIntensityTruncation
 Flag for regional pixel intensity truncation.
UniformVolume::SmartPtr m_LowestMaxErrorImage
 Corrected image with lowest maximum error.
double m_LowestMaxError
 Current lowest maximum error.
std::vector
< UniformVolume::SmartPtr
m_InterpolatedPassImages
 Interpolated (from current estimate of correcting image) pass images.
std::vector
< UniformVolume::SmartPtr
m_DifferencePassImages
 Difference Subimages between original and interpolated Subimages, used for error- and gradientcalculation.
bool m_FourthOrderError
 Flag for fourth order error optimization.
double m_ConstraintWeightLNorm
 Constraint weight for Laplacian norm regularizer.
double m_MeanSquaredError
 Mean squared error of the approximation, i.e., MSD between interpolated and actual pass images.
double m_MaximumError
 Maximum error of the approximation, i.e., maximum difference between interpolated and actual pass images.
ap::FunctionAndGradient * m_FunctionAndGradient
 Function and gradient evaluator object.

Detailed Description

Base class for volume reconstruction using inverse interpolation.

This class is specifically designed to use the L-BFFS-B Optimizer from alglib.net.

See also:
http://www.alglib.net/optimization/lbfgsb.php
Author:
Torsten Rohlfing

Definition at line 65 of file cmtkInverseInterpolationVolumeReconstructionBase.h.


Member Typedef Documentation


Constructor & Destructor Documentation

cmtk::InverseInterpolationVolumeReconstructionBase::InverseInterpolationVolumeReconstructionBase ( const UniformVolume originalImage,
const int  numberOfPasses,
const int  interleaveAxis 
)

Constructor for interleaved image motion correction.

Take original image. Set interleaved image count and stacking axis. Construct separate 3D image stacks for interleaved passes. Allocate corrected image.

Parameters:
originalImageSmart pointer to the original image with motion artifacts.
numberOfPassesThe number of interleaved passes, i.e., the number of pass images that comprise the final image.
interleaveAxisBetween-slice axis of the interleaved acquisition.

Definition at line 45 of file cmtkInverseInterpolationVolumeReconstructionBase.cxx.

cmtk::InverseInterpolationVolumeReconstructionBase::InverseInterpolationVolumeReconstructionBase ( const UniformVolume reconstructionGrid,
std::vector< UniformVolume::SmartPtr > &  images 
)

Constructor for general volume reconstruction from multiple acquired images.

Definition at line 55 of file cmtkInverseInterpolationVolumeReconstructionBase.cxx.

virtual cmtk::InverseInterpolationVolumeReconstructionBase::~InverseInterpolationVolumeReconstructionBase (  ) [inline, virtual]

Virtual destructor stub.

Definition at line 89 of file cmtkInverseInterpolationVolumeReconstructionBase.h.


Member Function Documentation

double cmtk::InverseInterpolationVolumeReconstructionBase::ComputeApproximationError (  )

Compute approximation error.

This function computed the difference images between the original and the interpolated pass images, and it also computes from these the mean squared and the maximum approximation errors.

Returns:
The approximation error, i.e., the sum of squared differences of the intensities in the original pass images and the corresponding intensities in the images interpolated from the current estimated corrected image.

Definition at line 66 of file cmtkInverseInterpolationVolumeReconstructionBase.cxx.

References cmtk::TYPE_FLOAT.

UniformVolume::SmartPtr& cmtk::InverseInterpolationVolumeReconstructionBase::GetLowestMaxErrorImage (  ) [inline]

Returns the reconstructed image wioth the lowest maximum error.

Definition at line 102 of file cmtkInverseInterpolationVolumeReconstructionBase.h.

double cmtk::InverseInterpolationVolumeReconstructionBase::GetMaximumError (  ) const [inline]

Return maximum error.

Definition at line 135 of file cmtkInverseInterpolationVolumeReconstructionBase.h.

double cmtk::InverseInterpolationVolumeReconstructionBase::GetMeanSquaredError (  ) const [inline]

Return MSD error.

Definition at line 129 of file cmtkInverseInterpolationVolumeReconstructionBase.h.

void cmtk::InverseInterpolationVolumeReconstructionBase::Optimize ( const int  numberOfIterations )

Optimize approximation error.

Definition at line 112 of file cmtkInverseInterpolationVolumeReconstructionBase.cxx.

References cmtk::StdErr.

void cmtk::InverseInterpolationVolumeReconstructionBase::SetConstraintWeightLNorm ( const double  weight ) [inline]

Set L-norm constraint weight.

Definition at line 120 of file cmtkInverseInterpolationVolumeReconstructionBase.h.

void cmtk::InverseInterpolationVolumeReconstructionBase::SetUseFourthOrderError ( const bool  flag = true ) [inline]

Set fourth order error flag.

Definition at line 114 of file cmtkInverseInterpolationVolumeReconstructionBase.h.

void cmtk::InverseInterpolationVolumeReconstructionBase::SetUseRegionalIntensityTruncation ( const bool  flag = true ) [inline]

Set flag for regional intensity trunctation.

Definition at line 108 of file cmtkInverseInterpolationVolumeReconstructionBase.h.


Member Data Documentation

Constraint weight for Laplacian norm regularizer.

Regularization is turned off if weight is less than, or equal to, zero.

Definition at line 164 of file cmtkInverseInterpolationVolumeReconstructionBase.h.

Difference Subimages between original and interpolated Subimages, used for error- and gradientcalculation.

Definition at line 154 of file cmtkInverseInterpolationVolumeReconstructionBase.h.

Flag for fourth order error optimization.

If this flag is set, the error optimized is the fourth order error, otherwise the second order (square) error.

Definition at line 159 of file cmtkInverseInterpolationVolumeReconstructionBase.h.

Function and gradient evaluator object.

Definition at line 173 of file cmtkInverseInterpolationVolumeReconstructionBase.h.

Interpolated (from current estimate of correcting image) pass images.

Definition at line 151 of file cmtkInverseInterpolationVolumeReconstructionBase.h.

Current lowest maximum error.

Definition at line 148 of file cmtkInverseInterpolationVolumeReconstructionBase.h.

Corrected image with lowest maximum error.

Definition at line 145 of file cmtkInverseInterpolationVolumeReconstructionBase.h.

Maximum error of the approximation, i.e., maximum difference between interpolated and actual pass images.

Definition at line 170 of file cmtkInverseInterpolationVolumeReconstructionBase.h.

Mean squared error of the approximation, i.e., MSD between interpolated and actual pass images.

Definition at line 167 of file cmtkInverseInterpolationVolumeReconstructionBase.h.

Flag for regional pixel intensity truncation.

Definition at line 142 of file cmtkInverseInterpolationVolumeReconstructionBase.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines