|
STIR
6.3.0
|
A convenience class for 4D index ranges. More...
#include "stir/IndexRange4D.h"

Public Member Functions | |
| IndexRange4D (const IndexRange< 4 > &range_v) | |
| IndexRange4D (const int min_1, const int max_1, const int min_2, const int max_2, const int min_3, const int max_3, const int min_4, const int max_4) | |
| IndexRange4D (const int length_1, const int length_2, const int length_3, const int length_4) | |
Public Member Functions inherited from stir::IndexRange< 4 > | |
| IndexRange () | |
| Empty range. | |
| IndexRange (const VectorWithOffset< IndexRange< num_dimensions - 1 >> &range) | |
| Make an IndexRange from the base type. | |
| IndexRange (const IndexRange< num_dimensions > &range) | |
| Copy constructor. | |
| IndexRange (const BasicCoordinate< num_dimensions, int > &min, const BasicCoordinate< num_dimensions, int > &max) | |
| Construct a regular range given by all minimum indices and all maximum indices. | |
| IndexRange (const BasicCoordinate< num_dimensions, int > &sizes) | |
| Construct a regular range given by sizes (minimum indices will be 0) | |
| size_t | size_all () const |
| return the total number of elements in this range | |
| bool | operator== (const IndexRange< num_dimensions > &) const |
| comparison operator | |
| bool | operator!= (const IndexRange< num_dimensions > &) const |
| bool | is_regular () const |
| checks if the range is 'regular' | |
| bool | get_regular_range (BasicCoordinate< num_dimensions, int > &min, BasicCoordinate< num_dimensions, int > &max) const |
| find regular range, returns false if the range is not regular | |
Public Member Functions inherited from stir::VectorWithOffset< IndexRange< num_dimensions - 1 > > | |
| VectorWithOffset () | |
| Default constructor: creates a vector of length 0. | |
| VectorWithOffset (const int hsz) | |
Construct a VectorWithOffset of given length (initialised with T()) | |
| VectorWithOffset (const int min_index, const int max_index) | |
Construct a VectorWithOffset with offset min_index (initialised with T()) | |
| STIR_DEPRECATED | VectorWithOffset (const int hsz, IndexRange< num_dimensions - 1 > *const data_ptr, IndexRange< num_dimensions - 1 > *const end_of_data_ptr) |
| Construct a VectorWithOffset of given length pointing to existing data. More... | |
| STIR_DEPRECATED | VectorWithOffset (const int min_index, const int max_index, IndexRange< num_dimensions - 1 > *const data_ptr, IndexRange< num_dimensions - 1 > *const end_of_data_ptr) |
Construct a VectorWithOffset with offset min_index pointing to existing data. More... | |
| VectorWithOffset (const int hsz, const IndexRange< num_dimensions - 1 > *const data_ptr) | |
| Construct a VectorWithOffset of given length from a bare pointer (copying data) | |
| VectorWithOffset (const int min_index, const int max_index, const IndexRange< num_dimensions - 1 > *const data_ptr) | |
Construct a VectorWithOffset with offset min_index from a bare pointer (copying data) | |
| VectorWithOffset (const int min_index, const int max_index, shared_ptr< IndexRange< num_dimensions - 1 > []> data_sptr) | |
| Construct a VectorWithOffset sharing existing data. More... | |
| VectorWithOffset (const int sz, shared_ptr< IndexRange< num_dimensions - 1 > []> data_sptr) | |
| Construct a VectorWithOffset sharing existing data. More... | |
| VectorWithOffset (const VectorWithOffset &il) | |
| copy constructor | |
| VectorWithOffset (VectorWithOffset &&other) noexcept | |
| move constructor More... | |
| virtual | ~VectorWithOffset () |
| Destructor. | |
| void | recycle () |
| Free all memory and make object as if default-constructed. More... | |
| VectorWithOffset & | operator= (const VectorWithOffset &il) |
| assignment operator with another vector More... | |
| IndexRange< num_dimensions - 1 > & | operator[] (int i) |
| allow array-style access, read/write More... | |
| const IndexRange< num_dimensions - 1 > & | operator[] (int i) const |
| array access, read-only More... | |
| IndexRange< num_dimensions - 1 > & | at (int i) |
| allow array-style access, read/write, but with range checking (throws std::out_of_range) | |
| const IndexRange< num_dimensions - 1 > & | at (int i) const |
| array access, read-only, but with range checking (throws std::out_of_range) | |
| bool | empty () const |
| checks if the vector is empty | |
| void | fill (const IndexRange< num_dimensions - 1 > &n) |
| fill elements with value n | |
| void | apply_lower_threshold (const IndexRange< num_dimensions - 1 > &lower) |
| Sets elements below value to the value. | |
| void | apply_upper_threshold (const IndexRange< num_dimensions - 1 > &upper) |
| Sets elements above value to the value. | |
| int | get_length () const |
| return number of elements in this vector More... | |
| size_t | size () const |
| return number of elements in this vector | |
| int | get_min_index () const |
| get value of first valid index | |
| int | get_max_index () const |
| get value of last valid index | |
| void | set_offset (const int min_index) |
| change value of starting index | |
| void | set_min_index (const int min_index) |
| identical to set_offset() | |
| virtual void | grow (const int min_index, const int max_index) |
grow the range of the vector, new elements are set to T() More... | |
| void | grow (const unsigned int new_size) |
grow the range of the vector from 0 to new_size-1, new elements are set to T() | |
| virtual void | resize (const int min_index, const int max_index) |
change the range of the vector, new elements are set to T() More... | |
| void | resize (const unsigned int new_size) |
change the range of the vector from 0 to new_size-1, new elements are set to T() | |
| void | reserve (const int min_index, const int max_index) |
| make the allocated range at least from min_index to max_index | |
| void | reserve (const unsigned int new_size) |
| make the allocated range at least from 0 to new_size-1 | |
| size_t | capacity () const |
| get allocated size | |
| bool | owns_memory_for_data () const |
| check if this object owns the memory for the data More... | |
| int | get_capacity_min_index () const |
| get min_index within allocated range More... | |
| int | get_capacity_max_index () const |
| get max_index within allocated range More... | |
| bool | operator== (const VectorWithOffset &iv) const |
| bool | operator!= (const VectorWithOffset &iv) const |
| IndexRange< num_dimensions - 1 > * | get_data_ptr () |
| member function for access to the data via a T* More... | |
| const IndexRange< num_dimensions - 1 > * | get_const_data_ptr () const |
| member function for access to the data via a const T* More... | |
| void | release_data_ptr () |
| signal end of access to T* More... | |
| void | release_const_data_ptr () const |
| signal end of access to const T* More... | |
| iterator | begin () |
| use to initialise an iterator to the first element of the vector | |
| const_iterator | begin () const |
| use to initialise an iterator to the first element of the (const) vector | |
| iterator | end () |
| iterator 'past' the last element of the vector | |
| const_iterator | end () const |
| iterator 'past' the last element of the (const) vector | |
| reverse_iterator | rbegin () |
| const_reverse_iterator | rbegin () const |
| reverse_iterator | rend () |
| const_reverse_iterator | rend () const |
| VectorWithOffset & | operator+= (const VectorWithOffset &v) |
adding elements of v to the current vector | |
| VectorWithOffset & | operator-= (const VectorWithOffset &v) |
subtracting elements of v from the current vector | |
| VectorWithOffset & | operator*= (const VectorWithOffset &v) |
multiplying elements of the current vector with elements of v | |
| VectorWithOffset & | operator/= (const VectorWithOffset &v) |
dividing all elements of the current vector by elements of v | |
| VectorWithOffset | operator+ (const VectorWithOffset &v) const |
| adding vectors, element by element | |
| VectorWithOffset | operator- (const VectorWithOffset &v) const |
| subtracting vectors, element by element | |
| VectorWithOffset | operator* (const VectorWithOffset &v) const |
| multiplying vectors, element by element | |
| VectorWithOffset | operator/ (const VectorWithOffset &v) const |
| dividing vectors, element by element | |
Additional Inherited Members | |
Public Types inherited from stir::IndexRange< 4 > | |
| typedef base_type::iterator | iterator |
| typedefs such that we do not need to have typename wherever we use iterators | |
| typedef base_type::const_iterator | const_iterator |
Public Types inherited from stir::VectorWithOffset< IndexRange< num_dimensions - 1 > > | |
| typedef size_t | size_type |
| typedef IndexRange< num_dimensions - 1 > | value_type |
| typedef value_type & | reference |
| typedef const value_type & | const_reference |
| typedef ptrdiff_t | difference_type |
| typedef IndexRange< num_dimensions - 1 > * | iterator |
| typedef IndexRange< num_dimensions - 1 > const * | const_iterator |
| typedef std::reverse_iterator< iterator > | reverse_iterator |
| typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
Protected Types inherited from stir::IndexRange< 4 > | |
| typedef VectorWithOffset< IndexRange< num_dimensions - 1 > > | base_type |
Protected Member Functions inherited from stir::VectorWithOffset< IndexRange< num_dimensions - 1 > > | |
| void | check_state () const |
| Called internally to see if all variables are consistent. More... | |
| void | init_with_copy (const int min_index, const int max_index, IndexRange< num_dimensions - 1 > const *const data_ptr) |
change vector to the new index range and copy data from data_ptr More... | |
| void | init (const int min_index, const int max_index, IndexRange< num_dimensions - 1 > *const data_ptr, bool copy_data) |
initialise vector to the given index range and either copy from or point to data_ptr More... | |
Protected Attributes inherited from stir::VectorWithOffset< IndexRange< num_dimensions - 1 > > | |
| IndexRange< num_dimensions - 1 > * | num |
| pointer to (*this)[0] (taking get_min_index() into account that is). | |
A convenience class for 4D index ranges.
This class is derived from IndexRange<4>. It just provides some extra constructors for making 'regular' ranges.
1.8.13