Base class for volume reconstruction using inverse interpolation. More...
#include <cmtkInverseInterpolationVolumeReconstructionBase.h>
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::SmartPtr & | GetLowestMaxErrorImage () |
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. |
Base class for volume reconstruction using inverse interpolation.
This class is specifically designed to use the L-BFFS-B Optimizer from alglib.net.
Definition at line 65 of file cmtkInverseInterpolationVolumeReconstructionBase.h.
typedef InverseInterpolationVolumeReconstructionBase cmtk::InverseInterpolationVolumeReconstructionBase::Self |
This class.
Reimplemented from cmtk::VolumeInjectionReconstruction.
Reimplemented in cmtk::DeblurringVolumeReconstruction< TPSF >, and cmtk::InverseInterpolationVolumeReconstruction< TInterpolator >.
Definition at line 71 of file cmtkInverseInterpolationVolumeReconstructionBase.h.
typedef VolumeInjectionReconstruction cmtk::InverseInterpolationVolumeReconstructionBase::Superclass |
Parent class.
Reimplemented in cmtk::DeblurringVolumeReconstruction< TPSF >, and cmtk::InverseInterpolationVolumeReconstruction< TInterpolator >.
Definition at line 74 of file cmtkInverseInterpolationVolumeReconstructionBase.h.
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.
originalImage | Smart pointer to the original image with motion artifacts. |
numberOfPasses | The number of interleaved passes, i.e., the number of pass images that comprise the final image. |
interleaveAxis | Between-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.
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.
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.
double cmtk::InverseInterpolationVolumeReconstructionBase::m_ConstraintWeightLNorm [protected] |
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.
std::vector<UniformVolume::SmartPtr> cmtk::InverseInterpolationVolumeReconstructionBase::m_DifferencePassImages [protected] |
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.
ap::FunctionAndGradient* cmtk::InverseInterpolationVolumeReconstructionBase::m_FunctionAndGradient [protected] |
Function and gradient evaluator object.
Definition at line 173 of file cmtkInverseInterpolationVolumeReconstructionBase.h.
std::vector<UniformVolume::SmartPtr> cmtk::InverseInterpolationVolumeReconstructionBase::m_InterpolatedPassImages [protected] |
Interpolated (from current estimate of correcting image) pass images.
Definition at line 151 of file cmtkInverseInterpolationVolumeReconstructionBase.h.
double cmtk::InverseInterpolationVolumeReconstructionBase::m_LowestMaxError [protected] |
Current lowest maximum error.
Definition at line 148 of file cmtkInverseInterpolationVolumeReconstructionBase.h.
UniformVolume::SmartPtr cmtk::InverseInterpolationVolumeReconstructionBase::m_LowestMaxErrorImage [protected] |
Corrected image with lowest maximum error.
Definition at line 145 of file cmtkInverseInterpolationVolumeReconstructionBase.h.
double cmtk::InverseInterpolationVolumeReconstructionBase::m_MaximumError [protected] |
Maximum error of the approximation, i.e., maximum difference between interpolated and actual pass images.
Definition at line 170 of file cmtkInverseInterpolationVolumeReconstructionBase.h.
double cmtk::InverseInterpolationVolumeReconstructionBase::m_MeanSquaredError [protected] |
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.