STIR 6.4.0
extract_line.inl
Go to the documentation of this file.
1//
2//
3/*
4 Copyright (C) 2004- 2009, Hammersmith Imanet
5 This file is part of STIR.
6
7 SPDX-License-Identifier: Apache-2.0
8
9 See STIR/LICENSE.txt for details
10*/
21
22START_NAMESPACE_STIR
23template <class elemT>
24Array<1, elemT>
25extract_line(const Array<3, elemT>& input_array, const BasicCoordinate<3, int>& index, const int dimension)
26{
27 BasicCoordinate<3, int> min_index, max_index;
28 min_index[1] = input_array.get_min_index();
29 max_index[1] = input_array.get_max_index();
30 min_index[2] = input_array[index[1]].get_min_index();
31 max_index[2] = input_array[index[1]].get_max_index();
32 min_index[3] = input_array[index[1]][index[2]].get_min_index();
33 max_index[3] = input_array[index[1]][index[2]].get_max_index();
34 Array<1, elemT> line(min_index[dimension], max_index[dimension]);
35 BasicCoordinate<3, int> running_index = index;
36 int& counter = running_index[dimension];
37 for (counter = min_index[dimension]; counter <= max_index[dimension]; ++counter)
38 line[counter] = input_array[running_index];
39 return line;
40}
41
42END_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
Array< 1, elemT > extract_line(const Array< 3, elemT > &, const BasicCoordinate< 3, int > &index, const int dimension)
extracts a line from an array in the direction of the specified dimension.
Definition extract_line.inl:25