Developer documentation
Version 3.0.3-105-gd3941f44
stride.h File Reference
#include "app.h"
#include "types.h"
#include "debug.h"
#include "datatype.h"
#include "math/math.h"

Go to the source code of this file.

Namespaces

namespace  MR
 
namespace  MR::Stride
 Functions to handle the memory layout of images.
 

Typedefs

using MR::Stride::List = vector< ssize_t >
 

Functions

template<class HeaderType >
List MR::Stride::get (const HeaderType &header)
 return the strides of header as a vector<ssize_t> More...
 
template<class HeaderType >
void MR::Stride::set (HeaderType &header, const List &stride)
 set the strides of header from a vector<ssize_t> More...
 
template<class HeaderType , class FromHeaderType >
void MR::Stride::set (HeaderType &header, const FromHeaderType &from)
 set the strides of header from another HeaderType More...
 
template<class HeaderType >
vector< size_t > MR::Stride::order (const HeaderType &header, size_t from_axis=0, size_t to_axis=std::numeric_limits< size_t >::max())
 sort range of axes with respect to their absolute stride. More...
 
template<>
vector< size_t > MR::Stride::order< List > (const List &strides, size_t from_axis, size_t to_axis)
 sort axes with respect to their absolute stride. More...
 
template<class HeaderType >
void MR::Stride::sanitise (HeaderType &header)
 remove duplicate and invalid strides. More...
 
template<class HeaderType >
void MR::Stride::sanitise (List &strides, const HeaderType &header)
 remove duplicate and invalid strides. More...
 
List & MR::Stride::sanitise (List &current, const List &desired, const vector< ssize_t > &header)
 remove duplicate and invalid strides. More...
 
template<class HeaderType >
void MR::Stride::actualise (HeaderType &header)
 convert strides from symbolic to actual strides More...
 
template<class HeaderType >
void MR::Stride::actualise (List &strides, const HeaderType &header)
 convert strides from symbolic to actual strides More...
 
template<class HeaderType >
List MR::Stride::get_actual (HeaderType &header)
 get actual strides: More...
 
template<class HeaderType >
List MR::Stride::get_actual (const List &strides, const HeaderType &header)
 get actual strides: More...
 
template<class HeaderType >
void MR::Stride::symbolise (HeaderType &header)
 convert strides from actual to symbolic strides More...
 
template<>
void MR::Stride::symbolise (List &strides)
 convert strides from actual to symbolic strides More...
 
template<class HeaderType >
List MR::Stride::get_symbolic (const HeaderType &header)
 get symbolic strides: More...
 
template<>
List MR::Stride::get_symbolic (const List &list)
 get symbolic strides: More...
 
template<class HeaderType >
size_t MR::Stride::offset (const HeaderType &header)
 calculate offset to start of data More...
 
template<class HeaderType >
size_t MR::Stride::offset (List &strides, const HeaderType &header)
 calculate offset to start of data More...
 
template<class HeaderType >
List MR::Stride::get_nearest_match (const HeaderType &current, const List &desired)
 produce strides from current that match those specified in desired More...
 
List MR::Stride::contiguous_along_axis (size_t axis)
 convenience function to get volume-contiguous strides More...
 
template<class HeaderType >
List MR::Stride::contiguous_along_axis (size_t axis, const HeaderType &header)
 convenience function to get volume-contiguous strides More...
 
template<class HeaderType >
List MR::Stride::contiguous_along_spatial_axes (const HeaderType &header)
 convenience function to get spatially contiguous strides More...
 
List MR::Stride::__from_command_line (const List &current)
 
template<class HeaderType >
void MR::Stride::set_from_command_line (HeaderType &header, const List &default_strides=List())
 

Variables

const App::OptionGroup MR::Stride::Options