STIR  6.2.0
Public Types | Public Member Functions | Static Public Member Functions | List of all members
stir::ParametricDiscretisedDensity< DiscDensT > Class Template Reference

Class to store parametric images. More...

#include "stir/modelling/ParametricDiscretisedDensity.h"

Inherits DiscDensT.

Public Types

typedef ParametricDiscretisedDensity hierarchy_base_type
 A typedef that can be used what the base of the hierarchy is. More...
 
typedef Parametric2Single< DiscDensT >::type SingleDiscretisedDensityType
 
typedef base_type::full_iterator full_densel_iterator
 
typedef base_type::const_full_iterator const_full_densel_iterator
 
typedef NestedIterator< full_densel_iterator, BeginEndFunction< full_densel_iterator > > full_iterator
 
typedef NestedIterator< const_full_densel_iterator, ConstBeginEndFunction< const_full_densel_iterator > > const_full_iterator
 

Public Member Functions

 ParametricDiscretisedDensity (const base_type &density)
 
 ParametricDiscretisedDensity (const DynamicDiscretisedDensity &dyn_im)
 Create blank parametric image from a dynamic image. More...
 
 ParametricDiscretisedDensity (const SingleDiscretisedDensityType &im)
 Create blank parametric image from a single VoxelsOnCartesianGrid. More...
 
void update_parametric_image (const SingleDiscretisedDensityType &single_density, const unsigned int param_num)
 
full_iterator begin_all ()
 
const_full_iterator begin_all_const () const
 
full_iterator end_all ()
 
const_full_iterator end_all_const () const
 
const_full_iterator begin_all () const
 
const_full_iterator end_all () const
 
full_densel_iterator begin_all_densel ()
 
const_full_densel_iterator begin_all_densel_const () const
 
full_densel_iterator end_all_densel ()
 
const_full_densel_iterator end_all_densel_const () const
 
const_full_densel_iterator begin_all_densel () const
 
const_full_densel_iterator end_all_densel () const
 
ParametricDiscretisedDensityget_empty_copy () const override
 Allocate a new object with same characteristics as the current one.
 
ParametricDiscretisedDensityclone () const override
 Allocate a new object which is a copy of the current one.
 
template<class KPFunctionObject >
void construct_single_density_using_function (SingleDiscretisedDensityType &density, KPFunctionObject f) const
 construct a single image by applying a function object on each KineticParameter
 
template<class KPFunctionObject >
const SingleDiscretisedDensityType construct_single_density_using_function (KPFunctionObject f) const
 
void construct_single_density (SingleDiscretisedDensityType &density, const int i) const
 construct a single image corresponding to the parameter with index i
 
const SingleDiscretisedDensityType construct_single_density (const int index) const
 Implementation of non-const functions - which should be able to update a single parameter of a parametric image.
 

Static Public Member Functions

static ParametricDiscretisedDensityread_from_file (const std::string &filename)
 A static member to read an image from file.
 
static unsigned int get_num_params ()
 Get number of parameters in a single densel.
 

Detailed Description

template<typename DiscDensT>
class stir::ParametricDiscretisedDensity< DiscDensT >

Class to store parametric images.

Parameters
DiscDensTshould be a class for storing an image, e.g. VoxelsOnCartesianGrid<KineticParameters<..> >

This class stores parametric images as an image of parameters (as opposed to a sequence of images, one for each parameter). However, it provides various functions to get single images out, e.g. corresponding to a single parameter, or by applying a function on all parameters.

Note that the ExamInfo object stored by the image can contain multiple time frames (presumably corresponding to the time frames of the data where the parametric image is derived from). In some cases, there could only be a single time frame (start to end of the study).

Member Typedef Documentation

◆ hierarchy_base_type

template<typename DiscDensT>
typedef ParametricDiscretisedDensity stir::ParametricDiscretisedDensity< DiscDensT >::hierarchy_base_type

A typedef that can be used what the base of the hierarchy is.

For these purposes, we don't use DiscDensT (even though it's the base_type).

This typedef is used in write_to_file().

Constructor & Destructor Documentation

◆ ParametricDiscretisedDensity() [1/2]

template<typename DiscDensT>
stir::ParametricDiscretisedDensity< DiscDensT >::ParametricDiscretisedDensity ( const DynamicDiscretisedDensity dyn_im)

Create blank parametric image from a dynamic image.

Uses only its geometric/exam info and timing

◆ ParametricDiscretisedDensity() [2/2]

template<typename DiscDensT>
stir::ParametricDiscretisedDensity< DiscDensT >::ParametricDiscretisedDensity ( const SingleDiscretisedDensityType &  im)

Create blank parametric image from a single VoxelsOnCartesianGrid.

Uses only its geometric/exam info and timing


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