SuPReMo  0.1.1
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
ImagePyramid< VoxelType > Class Template Reference

#include <ImagePyramid.h>

Public Member Functions

 ImagePyramid ()
 
 ImagePyramid (const ImagePyramid &rhsPyramid)
 
 ~ImagePyramid ()
 
ImagePyramidoperator= (const ImagePyramid< VoxelType > &rhsPyramid)
 
void GenerateLevels (const nifti_image *const imageIn, unsigned int numberOfLevels, unsigned int numberOfLevelsToPerform, unsigned int minNumberOfVoxelsPerDim=1, float(*minVoxDim)[3]=nullptr)
 
nifti_image * GetLevel (unsigned int level)
 

Private Attributes

unsigned int numberOfLevels
 The total number of levels. More...
 
unsigned int numberOfLevelsToPerform
 The number of levels on which computations are performed. More...
 
nifti_image ** imageLevels
 Pointer to all image levels. More...
 

Detailed Description

template<class VoxelType>
class ImagePyramid< VoxelType >

Class that implements a mulit-resolution image pyramid. This class implements a decimating multi-resolution image pyramid. From one level to the next the image resolution is halved.

Constructor & Destructor Documentation

◆ ImagePyramid() [1/2]

template<class VoxelType >
ImagePyramid< VoxelType >::ImagePyramid

Constructor

◆ ImagePyramid() [2/2]

template<class VoxelType >
ImagePyramid< VoxelType >::ImagePyramid ( const ImagePyramid< VoxelType > &  rhsPyramid)

Copy constructor

◆ ~ImagePyramid()

template<class VoxelType >
ImagePyramid< VoxelType >::~ImagePyramid

Destructor. Deletes the image data that was generated with GenerateLevels()

Member Function Documentation

◆ GenerateLevels()

template<class VoxelType >
void ImagePyramid< VoxelType >::GenerateLevels ( const nifti_image *const  imageIn,
unsigned int  numberOfLevels,
unsigned int  numberOfLevelsToPerform,
unsigned int  minNumberOfVoxelsPerDim = 1,
float(*)  minVoxDim[3] = nullptr 
)

Generate the pyramid levels

Parameters
imageInPointer to the nifti input image
numberOfLevelsTotal number of pyramid levels. Will be increased, if numberOfLevelsToPerform is larger than this.
numberOfLevelsToPerformTotal number of levels to perform. If it is larger than numberOfLevels, it will be updated.
minNumberOfVoxelsPerDimThe minimum number of voxels per level below which a dimension will not be subsampled.
minVoxDimThe minimal voxel dimension. If minVoxDim is provided, then the image is only downsampled if voxel size in the resampled image <= minVoxDim.
Todo:
Need to find a solution if slope is zero. If this is the case, the input data will be blacked out.

◆ GetLevel()

template<class VoxelType >
nifti_image * ImagePyramid< VoxelType >::GetLevel ( unsigned int  level)
inline

Get the pointer to a nifti image that represents a level of the decimating Gaussian image pyramid.

Parameters
levelThe requested level.
Returns
A pointer to the requested pyramid level. Will return NULL if the requested level does not exist.

◆ operator=()

template<class VoxelType >
ImagePyramid< VoxelType > & ImagePyramid< VoxelType >::operator= ( const ImagePyramid< VoxelType > &  rhsPyramid)

Copy operator

Member Data Documentation

◆ imageLevels

template<class VoxelType >
nifti_image** ImagePyramid< VoxelType >::imageLevels
private

Pointer to all image levels.

◆ numberOfLevels

template<class VoxelType >
unsigned int ImagePyramid< VoxelType >::numberOfLevels
private

The total number of levels.

◆ numberOfLevelsToPerform

template<class VoxelType >
unsigned int ImagePyramid< VoxelType >::numberOfLevelsToPerform
private

The number of levels on which computations are performed.


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