STIR 6.4.0
OneParamModel.inl
1//
2//
3/*
4 Copyright (C) 2006 - 2007, Hammersmith Imanet Ltd
5 This file is part of STIR.
6
7 SPDX-License-Identifier: Apache-2.0
8
9 See STIR/LICENSE.txt for details
10
11 \file
12 \ingroup modelling
13
14 \brief Implementations of inline functions of class stir::PatlakPlot<num_param,num_samples>
15
16 \author Charalampos Tsoumpas
17
18*/
19
20START_NAMESPACE_STIR
21
23OneParamModel::OneParamModel()
24{
25 _matrix_is_stored = false;
26}
27
28OneParamModel::OneParamModel(const int starting_frame, const int last_frame)
29{
30 this->_matrix_is_stored = false;
31 this->_starting_frame = starting_frame;
32 this->_last_frame = last_frame;
33}
34
36OneParamModel::~OneParamModel()
37{}
38
40ModelMatrix<1>
41OneParamModel::get_unit_matrix(const int starting_frame, const int last_frame)
42{
43 if (_matrix_is_stored == false)
44 {
45 this->_starting_frame = starting_frame;
46 this->_last_frame = last_frame;
47 BasicCoordinate<2, int> min_range;
48 BasicCoordinate<2, int> max_range;
49 min_range[1] = 1;
50 min_range[2] = this->_starting_frame;
51 max_range[1] = 1;
52 max_range[2] = this->_last_frame;
53 IndexRange<2> data_range(min_range, max_range);
54 Array<2, float> unit_array(data_range);
55
56 for (int frame_num = this->_starting_frame; frame_num <= this->_last_frame; ++frame_num)
57 unit_array[1][frame_num] = 1.F;
58
59 _unit_matrix.set_model_array(unit_array);
60 _matrix_is_stored = true;
61 }
62 return _unit_matrix;
63}
64
65END_NAMESPACE_STIR