STIR 6.4.0
assign_to_subregion.inl
Go to the documentation of this file.
1
2/*
3 Copyright (C) 2003- 2009, Hammersmith Imanet Ltd
4 This file is part of STIR.
5
6 SPDX-License-Identifier: Apache-2.0
7
8 See STIR/LICENSE.txt for details
9*/
19
20START_NAMESPACE_STIR
21
22template <class elemT>
23void
25 const BasicCoordinate<3, int>& mask_location,
26 const BasicCoordinate<3, int>& half_mask_size,
27 const elemT& value)
28{
29 const int min_k_index = input_array.get_min_index();
30 const int max_k_index = input_array.get_max_index();
31 for (int k = std::max(mask_location[1] - half_mask_size[1], min_k_index);
32 k <= std::min(mask_location[1] + half_mask_size[1], max_k_index);
33 ++k)
34 {
35 const int min_j_index = input_array[k].get_min_index();
36 const int max_j_index = input_array[k].get_max_index();
37 for (int j = std::max(mask_location[2] - half_mask_size[2], min_j_index);
38 j <= std::min(mask_location[2] + half_mask_size[2], max_j_index);
39 ++j)
40 {
41 const int min_i_index = input_array[k][j].get_min_index();
42 const int max_i_index = input_array[k][j].get_max_index();
43 for (int i = std::max(mask_location[3] - half_mask_size[3], min_i_index);
44 i <= std::min(mask_location[3] + half_mask_size[3], max_i_index);
45 ++i)
46 input_array[k][j][i] = value;
47 }
48 }
49}
50
51END_NAMESPACE_STIR
This class defines multi-dimensional (numeric) arrays.
Definition Array.h:78
class BasicCoordinate<int num_dimensions, typename coordT> defines num_dimensions -dimensional coordi...
Definition BasicCoordinate.h:57
int get_max_index() const
get value of last valid index
Definition VectorWithOffset.inl:131
int get_min_index() const
get value of first valid index
Definition VectorWithOffset.inl:124
void assign_to_subregion(Array< 3, elemT > &input_array, const BasicCoordinate< 3, int > &mask_location, const BasicCoordinate< 3, int > &half_size, const elemT &value)
assign a value to a sub-region of an array
Definition assign_to_subregion.inl:24