SuPReMo  0.1.1
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
LowResolutionImageAcquisition Class Reference

#include <LowResolutionImageAcquisition.h>

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

Public Types

typedef float PrecisionType
 
- Public Types inherited from ImageAcquisition
typedef float PrecisionType
 

Public Member Functions

 LowResolutionImageAcquisition ()
 
virtual ~LowResolutionImageAcquisition ()
 
nifti_image * SimulateImageAcquisition (nifti_image *imgInFullImgSpace, nifti_image *imgInAcquisitionSpace, unsigned int dynamicImageTimePoint)
 
void CalculateAdjoint (nifti_image *imgInFullImgSpace, nifti_image *imgInAcquisitionSpace, unsigned int dynamicImageTimePoint)
 
nifti_image * AllocateMinimumSizeImgInFullImgSpace (nifti_image *imgInFullImgSpace, nifti_image *imgInAcquisitionSpace, unsigned int dynamicImageTimePoint)
 
- Public Member Functions inherited from ImageAcquisition
 ImageAcquisition ()
 
virtual ~ImageAcquisition ()
 
virtual nifti_image * SimulateImageAcquisition (nifti_image *imgInFullImgSpace, nifti_image *imgInAcquisitionSpace, unsigned int dynamicImageTimePoint)=0
 
virtual void CalculateAdjoint (nifti_image *imgInFullImgSpace, nifti_image *imgInAcquisitionSpace, unsigned int dynamicImageTimePoint)=0
 
virtual nifti_image * AllocateMinimumSizeImgInFullImgSpace (nifti_image *imgInFullImgSpace, nifti_image *imgInAcquisitionSpace, unsigned int dynamicImageTimePoint)=0
 
virtual nifti_image * GetImageAfterAdjoint ()
 
virtual nifti_image * GetWeightsImageAfterAdjoint ()
 

Protected Member Functions

virtual void AllocateImageAfterAdjoint ()
 
- Protected Member Functions inherited from ImageAcquisition
virtual void AllocateImageAfterAdjoint ()=0
 
virtual void AllocateWeightsImageAfterAdjoint ()
 
virtual void ClearImageAfterAdjoint ()
 
virtual void ClearWeightsImageAfterAdjoint ()
 

Protected Attributes

const PrecisionType lowResolutionThreshold
 Ratio between the high and low resolution image. Only if ratio is larger, low resolution acquisition will be simulated. More...
 
const PrecisionType roundErrorThreshold
 Value used below which rounding can be savely done without loss of accuracy. More...
 
PrecisionType paddingValue
 The padding value used in simulating the image acquisition. More...
 
- Protected Attributes inherited from ImageAcquisition
nifti_image * imageAfterAdjoint
 
nifti_image * weightsImageAfterAdjoint
 
nifti_image * curImageInAcquisitionSpace
 Current image in acquisition space. More...
 
nifti_image * curImageInFullImgSpace
 Current image in full image space. More...
 
unsigned int curDynamicImageTimePoint
 Current dynamic image time point. More...
 

Member Typedef Documentation

◆ PrecisionType

Constructor & Destructor Documentation

◆ LowResolutionImageAcquisition()

LowResolutionImageAcquisition::LowResolutionImageAcquisition ( )

Default constructor

◆ ~LowResolutionImageAcquisition()

LowResolutionImageAcquisition::~LowResolutionImageAcquisition ( )
virtual

Destructor

Member Function Documentation

◆ AllocateImageAfterAdjoint()

void LowResolutionImageAcquisition::AllocateImageAfterAdjoint ( )
protectedvirtual

Implements ImageAcquisition.

◆ AllocateMinimumSizeImgInFullImgSpace()

nifti_image * LowResolutionImageAcquisition::AllocateMinimumSizeImgInFullImgSpace ( nifti_image *  imgInFullImgSpace,
nifti_image *  imgInAcquisitionSpace,
unsigned int  dynamicImageTimePoint 
)
virtual

Computes the minimum sized image in full image space for efficient warping in the objective function calculations. Only the geometric information of the images is used, the dynamic image time point is ignored here.

Parameters
imgInFullImgSpacePointer to nifti image holding the image in full image space.
imgInAcquisitionSpacePointer to the nifti image in acquisition space.
dynamicImageTimePointNot used in this method.

Implements ImageAcquisition.

◆ CalculateAdjoint()

void LowResolutionImageAcquisition::CalculateAdjoint ( nifti_image *  imgInFullImgSpace,
nifti_image *  imgInAcquisitionSpace,
unsigned int  dynamicImageTimePoint 
)
virtual

Backproject the low-resoution image into full image space.

Parameters
imgInFullImgSpacePointer to nifti image holding the image in full image space.
imgInAcquisitionSpacePointer to the nifti image in acquisition space.
dynamicImageTimePointNot used in this method.

Implements ImageAcquisition.

◆ SimulateImageAcquisition()

nifti_image * LowResolutionImageAcquisition::SimulateImageAcquisition ( nifti_image *  imgInFullImgSpace,
nifti_image *  imgInAcquisitionSpace,
unsigned int  dynamicImageTimePoint 
)
virtual

Implementation of the low-resolution image acquisition simulation. Calculates a low-resolution image using the information provided by the image in image space. The simulated image will be allocated and returned as a pointer. The image in acuqisition space will be used to determine the smoothing and downwampling.

Parameters
imgInFullImgSpacePointer to nifti image holding the image in full image space.
imgInAcquisitionSpacePointer to the nifti image in acquisition space.
dynamicImageTimePointThe dynamic image time point in case time-dependent meta data needs to be used internally.
Returns
Pointer to the simulated dyanmic image. This image will be allocated by this function and is expected to be deleted after usaage using nifti_image_free() .

Implements ImageAcquisition.

Member Data Documentation

◆ lowResolutionThreshold

const PrecisionType LowResolutionImageAcquisition::lowResolutionThreshold
protected

Ratio between the high and low resolution image. Only if ratio is larger, low resolution acquisition will be simulated.

◆ paddingValue

PrecisionType LowResolutionImageAcquisition::paddingValue
protected

The padding value used in simulating the image acquisition.

◆ roundErrorThreshold

const PrecisionType LowResolutionImageAcquisition::roundErrorThreshold
protected

Value used below which rounding can be savely done without loss of accuracy.


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