3 #ifndef __stir_modelling_ParametricDiscretisedDensity_H__ 4 #define __stir_modelling_ParametricDiscretisedDensity_H__ 29 template <
typename DiscDensT>
30 class ParametricDiscretisedDensity;
33 class DynamicDiscretisedDensity;
36 template <
typename DiscDensT>
39 template <
typename DiscDensT>
45 template <
int num_parameters,
typename elemT>
63 template <
typename DiscDensT>
68 typedef DiscDensT base_type;
80 typedef typename base_type::full_iterator full_densel_iterator;
81 typedef typename base_type::const_full_iterator const_full_densel_iterator;
90 static unsigned int get_num_params();
110 void update_parametric_image(
const SingleDiscretisedDensityType& single_density,
const unsigned int param_num);
112 full_iterator begin_all() {
return full_iterator(base_type::begin_all(), base_type::end_all()); }
114 const_full_iterator begin_all_const()
const 116 return const_full_iterator(base_type::begin_all_const(), base_type::end_all_const());
119 full_iterator end_all() {
return full_iterator(base_type::end_all(), base_type::end_all()); }
121 const_full_iterator end_all_const()
const 123 return const_full_iterator(base_type::end_all_const(), base_type::end_all_const());
126 const_full_iterator begin_all()
const {
return this->begin_all_const(); }
128 const_full_iterator end_all()
const {
return this->end_all_const(); }
130 full_densel_iterator begin_all_densel() {
return base_type::begin_all(); }
132 const_full_densel_iterator begin_all_densel_const()
const {
return base_type::begin_all_const(); }
134 full_densel_iterator end_all_densel() {
return base_type::end_all(); }
136 const_full_densel_iterator end_all_densel_const()
const {
return base_type::end_all_const(); }
138 const_full_densel_iterator begin_all_densel()
const {
return this->begin_all_densel_const(); }
140 const_full_densel_iterator end_all_densel()
const {
return this->end_all_densel_const(); }
149 template <
class KPFunctionObject>
150 void construct_single_density_using_function(SingleDiscretisedDensityType& density, KPFunctionObject f)
const;
152 template <
class KPFunctionObject>
153 const SingleDiscretisedDensityType construct_single_density_using_function(KPFunctionObject f)
const;
157 void construct_single_density(SingleDiscretisedDensityType& density,
const int i)
const;
159 const SingleDiscretisedDensityType construct_single_density(
const int index)
const;
161 // can't be done really 162 SingleDiscretisedDensityType &
163 construct_single_density(
const int index);
177 #endif //__stir_modelling_ParametricDiscretisedDensity_H__ This class is used to represent voxelised densities on a cuboid grid (3D).
Definition: FBP3DRPReconstruction.h:43
ParametricDiscretisedDensity hierarchy_base_type
A typedef that can be used what the base of the hierarchy is.
Definition: ParametricDiscretisedDensity.h:76
Class to store parametric images.
Definition: ECAT7ParametricDensityOutputFileFormat.h:36
defines the stir::DiscretisedDensity class
Class NestedIterator implements a (forward) iterator using a pair of 'nested' iterators.
Definition: NestedIterator.h:93
unique_ptr< DataT > read_from_file(const FileSignature &signature, FileT file)
Function that reads data from file using the default InputFileFormatRegistry, using the provided File...
Definition: read_from_file.h:46
Class of multiple image frames, one for each time frame Each time frame is a DiscretisedDensity<3,float>
Definition: DynamicDiscretisedDensity.h:45
A helper class to find the type of a 'single' image for a corresponding parametric image...
Definition: ParametricDiscretisedDensity.h:37
VoxelsOnCartesianGrid< KineticParameters< 2, float > > ParametricVoxelsOnCartesianGridBaseType
Convenience typedef for base-type of Cartesian Voxelised Parametric Images with just two parameters...
Definition: ParametricDiscretisedDensity.h:169
defines the stir::VoxelsOnCartesianGrid class
Declaration of class stir::KineticParameters.
This file declares the stir::NestedIterator class and supporting function objects.
ParametricDiscretisedDensity< ParametricVoxelsOnCartesianGridBaseType > ParametricVoxelsOnCartesianGrid
Convenience typedef for Cartesian Voxelised Parametric Images with just two parameters.
Definition: ParametricDiscretisedDensity.h:172