SuPReMo  0.1.1
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MoCoReconSuperResolutionIBP Class Reference

#include <MoCoReconSuperResolutionIBP.h>

Inheritance diagram for MoCoReconSuperResolutionIBP:
Inheritance graph
[legend]
Collaboration diagram for MoCoReconSuperResolutionIBP:
Collaboration graph
[legend]

Public Member Functions

 MoCoReconSuperResolutionIBP (unsigned int maxIterationNumber, bool updateReconstruction)
 
virtual ~MoCoReconSuperResolutionIBP ()
 
virtual void Update ()
 Run the motion-compensated image reconstruction. More...
 
- Public Member Functions inherited from MoCoRecon
 MoCoRecon ()
 
virtual ~MoCoRecon ()
 
void SetCorrespondenceModel (const std::shared_ptr< CorrespondenceModel > &correspondenceModelIn)
 
void SetImageAcquisition (const std::shared_ptr< ImageAcquisition > &imageAcquisitionIn)
 
void SetSurrogateSignals (const SurrogateSignalType &surrSignalsIn)
 
void SetDynamicImages (const std::vector< nifti_image * > &dynamicImagesIn)
 
void SetReconstructionGeometryImage (nifti_image *reconstructionGeometryImageIn)
 
virtual void Update ()=0
 
nifti_image * GetReconstructedImage ()
 
bool GetRepeatedUpdateChangesMCR ()
 
void CopyReconstructedImageContentsToImage (nifti_image *destinationImage)
 

Private Member Functions

void AllocateWeightsImageForReconstruction ()
 
void ClearWeightsImageForReconstruction ()
 
void AllocateCorrectionImage ()
 
void ClearCorrectionImage ()
 
bool CheckReconstrutedImageCanBeUpdated ()
 

Private Attributes

unsigned int maxIterationNumber
 The number of iterations performed during reconstruction. Set during construction. More...
 
bool updateReconstruction
 Update the reconstruction instead of restarting a new one from scratch with every update. More...
 
nifti_image * correctionImage
 The correction image that will be used to update the reconstructed image. More...
 
nifti_image * weightsImageForReconstruction
 The weights image used during the reconstruciton process reconstruction. More...
 

Additional Inherited Members

- Public Types inherited from MoCoRecon
typedef float PrecisionType
 
typedef std::vector< std::vector< PrecisionType > > SurrogateSignalType
 
- Protected Member Functions inherited from MoCoRecon
void AllocateReconstructedImage ()
 
void ClearReconstructedImage ()
 
- Protected Attributes inherited from MoCoRecon
std::shared_ptr< CorrespondenceModelcorrespondenceModel
 Pointer to the correspondence model. More...
 
std::shared_ptr< ImageAcquisitionimageAcquisition
 Pointer to the image acquisition opbject. More...
 
SurrogateSignalType surrogateSignals
 Vector holding the surrogate signals. More...
 
std::vector< nifti_image * > dynamicImages
 Vector holding the dynamic images. More...
 
size_t numberOfDynamicImages
 The number of the dynamic images - will be derived from the vector dynamicImages. More...
 
nifti_image * reconstructionGeometryImage
 Pointer to the image that defines the reconstruction geometry, think of it as a reference image. More...
 
nifti_image * reconstructedImage
 Pointer to the reconstructed image. More...
 
PrecisionType paddingValue
 The padding value used if no data available to reconstruct an image intensity value. More...
 
bool repeatedUpdateChangesMCRImage
 Indicates wether a repeated call of the update function cahgnes the MCR result. More...
 

Detailed Description

This function performs up to maxIter iterations of a motion compensated iterative backprojection super-resolution reconstruction. It will attempt to minimise the SSD between the simulated acquired image data and the real acquired image data.

Constructor & Destructor Documentation

◆ MoCoReconSuperResolutionIBP()

MoCoReconSuperResolutionIBP::MoCoReconSuperResolutionIBP ( unsigned int  maxIterationNumber,
bool  updateReconstruction 
)

◆ ~MoCoReconSuperResolutionIBP()

MoCoReconSuperResolutionIBP::~MoCoReconSuperResolutionIBP ( )
virtual

Member Function Documentation

◆ AllocateCorrectionImage()

void MoCoReconSuperResolutionIBP::AllocateCorrectionImage ( )
private

◆ AllocateWeightsImageForReconstruction()

void MoCoReconSuperResolutionIBP::AllocateWeightsImageForReconstruction ( )
private

◆ CheckReconstrutedImageCanBeUpdated()

bool MoCoReconSuperResolutionIBP::CheckReconstrutedImageCanBeUpdated ( )
private

◆ ClearCorrectionImage()

void MoCoReconSuperResolutionIBP::ClearCorrectionImage ( )
private

◆ ClearWeightsImageForReconstruction()

void MoCoReconSuperResolutionIBP::ClearWeightsImageForReconstruction ( )
private

◆ Update()

void MoCoReconSuperResolutionIBP::Update ( )
virtual

Run the motion-compensated image reconstruction.

Todo: Need to check that the image acquisition is correct. Maybe best to do this extenrally, since this interdependency is not helpful

ToDoL Figure out exactly why this is.

Implements MoCoRecon.

Member Data Documentation

◆ correctionImage

nifti_image* MoCoReconSuperResolutionIBP::correctionImage
private

The correction image that will be used to update the reconstructed image.

◆ maxIterationNumber

unsigned int MoCoReconSuperResolutionIBP::maxIterationNumber
private

The number of iterations performed during reconstruction. Set during construction.

◆ updateReconstruction

bool MoCoReconSuperResolutionIBP::updateReconstruction
private

Update the reconstruction instead of restarting a new one from scratch with every update.

◆ weightsImageForReconstruction

nifti_image* MoCoReconSuperResolutionIBP::weightsImageForReconstruction
private

The weights image used during the reconstruciton process reconstruction.


The documentation for this class was generated from the following files: