SuPReMo  0.1.1
Loading...
Searching...
No Matches
ImagePyramid.h
1// ====================================================================================================
2//
3// SuPReMo: Surrogate Parameterised Respiratory Motion Model
4// An implementation of the generalised motion modelling and image registration framework
5//
6// Copyright (c) University College London (UCL). All rights reserved.
7//
8// This software is distributed WITHOUT ANY WARRANTY; without even
9// the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
10// PURPOSE.
11//
12// See LICENSE.txt in the top level directory for details.
13//
14// ====================================================================================================
15
16
17#pragma once
18
19
20#include "nifti1.h"
21#include "nifti1_io.h"
22
23
28template<class VoxelType>
30
31public:
35
38 ImagePyramid( const ImagePyramid& rhsPyramid );
39
43
46 ImagePyramid & operator= ( const ImagePyramid<VoxelType>& rhsPyramid );
47
48
57 void GenerateLevels( const nifti_image* const imageIn,
58 unsigned int numberOfLevels,
59 unsigned int numberOfLevelsToPerform,
60 unsigned int minNumberOfVoxelsPerDim = 1,
61 float (* minVoxDim)[3] = nullptr );
62
67 inline nifti_image* GetLevel(unsigned int level);
68
69
70
71
72private:
73 unsigned int numberOfLevels;
75
76 nifti_image ** imageLevels;
77};
78
79
80#include "ImagePyramid.cpp"
Definition: ImagePyramid.h:29
nifti_image ** imageLevels
Pointer to all image levels.
Definition: ImagePyramid.h:76
ImagePyramid & operator=(const ImagePyramid< VoxelType > &rhsPyramid)
Definition: ImagePyramid.cpp:86
unsigned int numberOfLevels
The total number of levels.
Definition: ImagePyramid.h:73
ImagePyramid()
Definition: ImagePyramid.cpp:28
~ImagePyramid()
Definition: ImagePyramid.cpp:146
void GenerateLevels(const nifti_image *const imageIn, unsigned int numberOfLevels, unsigned int numberOfLevelsToPerform, unsigned int minNumberOfVoxelsPerDim=1, float(*minVoxDim)[3]=nullptr)
Definition: ImagePyramid.cpp:174
unsigned int numberOfLevelsToPerform
The number of levels on which computations are performed.
Definition: ImagePyramid.h:74
nifti_image * GetLevel(unsigned int level)
Definition: ImagePyramid.cpp:273