Class for volume reconstruction using inverse interpolation. More...
#include <cmtkInverseInterpolationVolumeReconstruction.h>
Classes | |
class | FunctionAndGradient |
Glue class for function and gradient evaluation. More... | |
Public Types | |
typedef InverseInterpolationVolumeReconstruction < TInterpolator > | Self |
This class. | |
typedef InverseInterpolationVolumeReconstructionBase | Superclass |
Superclass. | |
Public Member Functions | |
InverseInterpolationVolumeReconstruction (const UniformVolume *originalImage, const int numberOfPasses, const int interleaveAxis) | |
Constructor for interleaved image motion correction. | |
InverseInterpolationVolumeReconstruction (const UniformVolume *reconstructionGrid, std::vector< UniformVolume::SmartPtr > &images) | |
Constructor for general volume reconstruction from multiple acquired images. | |
virtual | ~InverseInterpolationVolumeReconstruction () |
Destructor: delete function evaluator object. | |
Private Member Functions | |
void | Interpolation (const ap::real_1d_array &reconstructedPixelArray) |
Interpolates subimages from the existing corrected image. | |
void | ComputeErrorGradientImage (ap::real_1d_array &g) |
Compute gradient of approximation error w.r.t. corrected image pixels. | |
void | GetPassImageDependentPixelRegion (int *region, const UniformVolume *correctedImage, const int *currentCorrectedGridPoint, const UniformVolume *passImage, const AffineXform *transformationToPassImage, const DataGrid::IndexType &passImageDims) |
Get pass image region that contains all pixels dependent on currently considered corrected image pixel. | |
Friends | |
class | Self::FunctionAndGradient |
Give function and gradient evaluator private access. |
Class for volume reconstruction using inverse interpolation.
Definition at line 62 of file cmtkInverseInterpolationVolumeReconstruction.h.
typedef InverseInterpolationVolumeReconstruction<TInterpolator> cmtk::InverseInterpolationVolumeReconstruction< TInterpolator >::Self |
This class.
Reimplemented from cmtk::InverseInterpolationVolumeReconstructionBase.
Definition at line 68 of file cmtkInverseInterpolationVolumeReconstruction.h.
typedef InverseInterpolationVolumeReconstructionBase cmtk::InverseInterpolationVolumeReconstruction< TInterpolator >::Superclass |
Superclass.
Reimplemented from cmtk::InverseInterpolationVolumeReconstructionBase.
Definition at line 71 of file cmtkInverseInterpolationVolumeReconstruction.h.
cmtk::InverseInterpolationVolumeReconstruction< TInterpolator >::InverseInterpolationVolumeReconstruction | ( | const UniformVolume * | originalImage, |
const int | numberOfPasses, | ||
const int | interleaveAxis | ||
) | [inline] |
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 79 of file cmtkInverseInterpolationVolumeReconstruction.h.
cmtk::InverseInterpolationVolumeReconstruction< TInterpolator >::InverseInterpolationVolumeReconstruction | ( | const UniformVolume * | reconstructionGrid, |
std::vector< UniformVolume::SmartPtr > & | images | ||
) | [inline] |
Constructor for general volume reconstruction from multiple acquired images.
Definition at line 87 of file cmtkInverseInterpolationVolumeReconstruction.h.
virtual cmtk::InverseInterpolationVolumeReconstruction< TInterpolator >::~InverseInterpolationVolumeReconstruction | ( | ) | [inline, virtual] |
Destructor: delete function evaluator object.
Definition at line 94 of file cmtkInverseInterpolationVolumeReconstruction.h.
void cmtk::InverseInterpolationVolumeReconstruction< TInterpolator >::ComputeErrorGradientImage | ( | ap::real_1d_array & | g ) | [private] |
Compute gradient of approximation error w.r.t. corrected image pixels.
Definition at line 135 of file cmtkInverseInterpolationVolumeReconstruction.txx.
References cmtk::AffineXform::ApplyInPlace(), cmtk::UniformVolume::FindVoxel(), cmtk::DataGrid::GetDataAt(), cmtk::DataGrid::GetDims(), cmtk::UniformVolume::GetGridLocation(), cmtk::AffineXform::GetInverse(), and cmtk::DataGrid::GetNumberOfPixels().
void cmtk::InverseInterpolationVolumeReconstruction< TInterpolator >::GetPassImageDependentPixelRegion | ( | int * | region, |
const UniformVolume * | correctedImage, | ||
const int * | currentCorrectedGridPoint, | ||
const UniformVolume * | passImage, | ||
const AffineXform * | transformationToPassImage, | ||
const DataGrid::IndexType & | passImageDims | ||
) | [private] |
Get pass image region that contains all pixels dependent on currently considered corrected image pixel.
Definition at line 226 of file cmtkInverseInterpolationVolumeReconstruction.txx.
References cmtk::AffineXform::ApplyInPlace(), cmtk::DataGrid::GetDims(), cmtk::UniformVolume::GetGridLocation(), and cmtk::UniformVolume::GetVoxelIndexNoBounds().
void cmtk::InverseInterpolationVolumeReconstruction< TInterpolator >::Interpolation | ( | const ap::real_1d_array & | reconstructedPixelArray ) | [private] |
Interpolates subimages from the existing corrected image.
Definition at line 44 of file cmtkInverseInterpolationVolumeReconstruction.txx.
References cmtk::AffineXform::ApplyInPlace(), cmtk::UniformVolume::CloneGrid(), cmtk::DataGrid::GetDims(), cmtk::UniformVolume::GetGridLocation(), and cmtk::TYPE_FLOAT.
Referenced by cmtk::InverseInterpolationVolumeReconstruction< TInterpolator >::FunctionAndGradient::Evaluate().
friend class Self::FunctionAndGradient [friend] |
Give function and gradient evaluator private access.
Definition at line 141 of file cmtkInverseInterpolationVolumeReconstruction.h.