|
template<class InputImageType , class OutputImageType > |
void | copy (InputImageType &&source, OutputImageType &&destination, size_t from_axis=0, size_t to_axis=std::numeric_limits< size_t >::max()) |
|
template<class InputImageType , class OutputImageType > |
void | copy_with_progress (InputImageType &&source, OutputImageType &&destination, size_t from_axis=0, size_t to_axis=std::numeric_limits< size_t >::max()) |
|
template<class InputImageType , class OutputImageType > |
void | copy_with_progress_message (const std::string &message, InputImageType &&source, OutputImageType &&destination, size_t from_axis=0, size_t to_axis=std::numeric_limits< size_t >::max()) |
|
FORCE_INLINE LoopAlongAxes | Loop () |
|
FORCE_INLINE LoopAlongAxesProgress | Loop (const std::string &progress_message) |
|
FORCE_INLINE LoopAlongSingleAxis | Loop (size_t axis) |
|
FORCE_INLINE LoopAlongSingleAxisProgress | Loop (const std::string &progress_message, size_t axis) |
|
FORCE_INLINE LoopAlongAxisRange | Loop (size_t axis_from, size_t axis_to) |
|
FORCE_INLINE LoopAlongAxisRangeProgress | Loop (const std::string &progress_message, size_t axis_from, size_t axis_to) |
|
FORCE_INLINE LoopAlongStaticAxes | Loop (std::initializer_list< size_t > axes) |
|
FORCE_INLINE LoopAlongStaticAxesProgress | Loop (const std::string &progress_message, std::initializer_list< size_t > axes) |
|
FORCE_INLINE LoopAlongDynamicAxes | Loop (const vector< size_t > &axes) |
|
FORCE_INLINE LoopAlongDynamicAxesProgress | Loop (const std::string &progress_message, const vector< size_t > &axes) |
|
template<class ImageType > |
FORCE_INLINE LoopAlongDynamicAxes | Loop (const ImageType &source, size_t axis_from=0, size_t axis_to=std::numeric_limits< size_t >::max(), typename std::enable_if< std::is_class< ImageType >::value &&!std::is_same< ImageType, std::string >::value, int >::type=0) |
|
template<class ImageType > |
FORCE_INLINE LoopAlongDynamicAxesProgress | Loop (const std::string &progress_message, const ImageType &source, size_t axis_from=0, size_t axis_to=std::numeric_limits< size_t >::max(), typename std::enable_if< std::is_class< ImageType >::value &&!std::is_same< ImageType, std::string >::value, int >::type=0) |
|
template<class ImageType > |
void | min_max (ImageType &in, typename ImageType::value_type &min, typename ImageType::value_type &max, size_t from_axis=0, size_t to_axis=std::numeric_limits< size_t >::max()) |
|
template<class ImageType , class MaskType > |
void | min_max (ImageType &in, MaskType &mask, typename ImageType::value_type &min, typename ImageType::value_type &max, size_t from_axis=0, size_t to_axis=std::numeric_limits< size_t >::max()) |
|
template<class HeaderType > |
RandomThreadedLoopRunOuter< decltype(Loop(vector< size_t >()))> | RandomThreadedLoop (const HeaderType &source, const vector< size_t > &outer_axes, const vector< size_t > &inner_axes) |
|
template<class HeaderType > |
RandomThreadedLoopRunOuter< decltype(Loop(vector< size_t >()))> | RandomThreadedLoop (const HeaderType &source, const vector< size_t > &axes, size_t num_inner_axes=1) |
|
template<class HeaderType > |
RandomThreadedLoopRunOuter< decltype(Loop(vector< size_t >()))> | RandomThreadedLoop (const HeaderType &source, size_t from_axis=0, size_t to_axis=std::numeric_limits< size_t >::max(), size_t num_inner_axes=1) |
|
template<class HeaderType > |
RandomThreadedLoopRunOuter< decltype(Loop("", vector< size_t >()))> | RandomThreadedLoop (const std::string &progress_message, const HeaderType &source, const vector< size_t > &outer_axes, const vector< size_t > &inner_axes) |
|
template<class HeaderType > |
RandomThreadedLoopRunOuter< decltype(Loop("", vector< size_t >()))> | RandomThreadedLoop (const std::string &progress_message, const HeaderType &source, const vector< size_t > &axes, size_t num_inner_axes=1) |
|
template<class HeaderType > |
RandomThreadedLoopRunOuter< decltype(Loop("", vector< size_t >()))> | RandomThreadedLoop (const std::string &progress_message, const HeaderType &source, size_t from_axis=0, size_t to_axis=std::numeric_limits< size_t >::max(), size_t num_inner_axes=1) |
|
template<class HeaderType > |
StochasticThreadedLoopRunOuter< decltype(Loop(vector< size_t >()))> | StochasticThreadedLoop (const HeaderType &source, const vector< size_t > &outer_axes, const vector< size_t > &inner_axes) |
|
template<class HeaderType > |
StochasticThreadedLoopRunOuter< decltype(Loop(vector< size_t >()))> | StochasticThreadedLoop (const HeaderType &source, const vector< size_t > &axes, size_t num_inner_axes=1) |
|
template<class HeaderType > |
StochasticThreadedLoopRunOuter< decltype(Loop(vector< size_t >()))> | StochasticThreadedLoop (const HeaderType &source, size_t from_axis=0, size_t to_axis=std::numeric_limits< size_t >::max(), size_t num_inner_axes=1) |
|
template<class HeaderType > |
StochasticThreadedLoopRunOuter< decltype(Loop("", vector< size_t >()))> | StochasticThreadedLoop (const std::string &progress_message, const HeaderType &source, const vector< size_t > &outer_axes, const vector< size_t > &inner_axes) |
|
template<class HeaderType > |
StochasticThreadedLoopRunOuter< decltype(Loop("", vector< size_t >()))> | StochasticThreadedLoop (const std::string &progress_message, const HeaderType &source, const vector< size_t > &axes, size_t num_inner_axes=1) |
|
template<class HeaderType > |
StochasticThreadedLoopRunOuter< decltype(Loop("", vector< size_t >()))> | StochasticThreadedLoop (const std::string &progress_message, const HeaderType &source, size_t from_axis=0, size_t to_axis=std::numeric_limits< size_t >::max(), size_t num_inner_axes=1) |
|
template<class InputImageType , class OutputImageType > |
void | threaded_copy (InputImageType &source, OutputImageType &destination, const vector< size_t > &axes, size_t num_axes_in_thread=1) |
|
template<class InputImageType , class OutputImageType > |
void | threaded_copy (InputImageType &source, OutputImageType &destination, size_t from_axis=0, size_t to_axis=std::numeric_limits< size_t >::max(), size_t num_axes_in_thread=1) |
|
template<class InputImageType , class OutputImageType > |
void | threaded_copy_with_progress_message (const std::string &message, InputImageType &source, OutputImageType &destination, const vector< size_t > &axes, size_t num_axes_in_thread=1) |
|
template<class InputImageType , class OutputImageType > |
void | threaded_copy_with_progress_message (const std::string &message, InputImageType &source, OutputImageType &destination, size_t from_axis=0, size_t to_axis=std::numeric_limits< size_t >::max(), size_t num_axes_in_thread=1) |
|
template<class InputImageType , class OutputImageType > |
void | threaded_copy_with_progress (InputImageType &source, OutputImageType &destination, const vector< size_t > &axes, size_t num_axes_in_thread=1) |
|
template<class InputImageType , class OutputImageType > |
void | threaded_copy_with_progress (InputImageType &source, OutputImageType &destination, size_t from_axis=0, size_t to_axis=std::numeric_limits< size_t >::max(), size_t num_axes_in_thread=1) |
|
template<class HeaderType > |
ThreadedLoopRunOuter< decltype(Loop(vector< size_t >()))> | ThreadedLoop (const HeaderType &source, const vector< size_t > &outer_axes, const vector< size_t > &inner_axes) |
| Multi-threaded loop object. More...
|
|
template<class HeaderType > |
ThreadedLoopRunOuter< decltype(Loop(vector< size_t >()))> | ThreadedLoop (const HeaderType &source, const vector< size_t > &axes, size_t num_inner_axes=1) |
| Multi-threaded loop object. More...
|
|
template<class HeaderType > |
ThreadedLoopRunOuter< decltype(Loop(vector< size_t >()))> | ThreadedLoop (const HeaderType &source, size_t from_axis=0, size_t to_axis=std::numeric_limits< size_t >::max(), size_t num_inner_axes=1) |
| Multi-threaded loop object. More...
|
|
template<class HeaderType > |
ThreadedLoopRunOuter< decltype(Loop("", vector< size_t >()))> | ThreadedLoop (const std::string &progress_message, const HeaderType &source, const vector< size_t > &outer_axes, const vector< size_t > &inner_axes) |
| Multi-threaded loop object. More...
|
|
template<class HeaderType > |
ThreadedLoopRunOuter< decltype(Loop("", vector< size_t >()))> | ThreadedLoop (const std::string &progress_message, const HeaderType &source, const vector< size_t > &axes, size_t num_inner_axes=1) |
| Multi-threaded loop object. More...
|
|
template<class HeaderType > |
ThreadedLoopRunOuter< decltype(Loop("", vector< size_t >()))> | ThreadedLoop (const std::string &progress_message, const HeaderType &source, size_t from_axis=0, size_t to_axis=std::numeric_limits< size_t >::max(), size_t num_inner_axes=1) |
| Multi-threaded loop object. More...
|
|
template<class F , class T > |
void | apply (F &&f, T &&t) |
| invoke f(x) for each entry in t More...
|
|
template<typename F , typename T > |
auto | unpack (F &&f, T &&t) -> decltype(Unpack< ::std::tuple_size< typename ::std::decay< T >::type >::value >::unpack(::std::forward< F >(f), ::std::forward< T >(t))) |
| if t is a tuple of elements a ..., invoke f(a...) More...
|
|
void | display_exception_cmdline (const Exception &E, int log_level) |
|
void | cmdline_print_func (const std::string &msg) |
|
void | cmdline_report_to_user_func (const std::string &msg, int type) |
|
void | check_app_exit_code () |
|
| CHECK_MEM_ALIGN (Header) |
|
Header | concatenate (const vector< Header > &headers, const size_t axis, const bool permit_datatype_mismatch) |
|
template<class ImageType > |
std::enable_if< is_adapter_type< typenamestd::remove_reference< ImageType >::type >::value, std::string >::type | save (ImageType &&x, const std::string &filename, bool use_multi_threading=true) |
| save contents of an existing image to file (for debugging only) More...
|
|
template<class ImageType > |
std::enable_if< is_pure_image< typenamestd::remove_reference< ImageType >::type >::value, std::string >::type | save (ImageType &&x, const std::string &filename, bool use_multi_threading=true) |
| save contents of an existing image to file (for debugging only) More...
|
|
template<class ImageType > |
enable_if_image_type< ImageType, void >::type | display (ImageType &x) |
| display the contents of an image in MRView (for debugging only) More...
|
|
template<class HeaderType1 , class HeaderType2 > |
void | check_headers (HeaderType1 &in1, HeaderType2 &in2) |
| check image headers are the same (dimensions, spacing & transform) More...
|
|
template<class ImageType1 , class ImageType2 > |
void | check_images_abs (ImageType1 &in1, ImageType2 &in2, const double tol=0.0) |
| check images are the same within a absolute tolerance More...
|
|
template<class ImageType1 , class ImageType2 > |
void | check_images_frac (ImageType1 &in1, ImageType2 &in2, const double tol=0.0) |
| check images are the same within a fractional tolerance More...
|
|
template<class ImageType1 , class ImageType2 , class ImageTypeTol > |
void | check_images_tolimage (ImageType1 &in1, ImageType2 &in2, ImageTypeTol &tol) |
| check images are the same within a tolerance defined by a third image More...
|
|
template<class ImageType1 , class ImageType2 > |
void | check_images_voxel (ImageType1 &in1, ImageType2 &in2, const double tol=0.0) |
| check images are the same within a fractional tolerance relative to the maximum value in the voxel More...
|
|
template<class HeaderType1 , class HeaderType2 > |
void | check_keyvals (const HeaderType1 &in1, const HeaderType2 &in2) |
| check headers contain the same key-value entries More...
|
|
template<class HeaderType1 , class HeaderType2 > |
bool | headers_match (HeaderType1 &in1, HeaderType2 &in2) |
| check image headers are the same (dimensions, spacing & transform) More...
|
|
template<class ImageType1 , class ImageType2 > |
bool | images_match_abs (ImageType1 &in1, ImageType2 &in2, const double tol=0.0) |
| check images are the same within a absolute tolerance More...
|
|
template<typename ValueType > |
std::enable_if<!is_data_type< ValueType >::value, void >::type | __set_fetch_store_functions (std::function< ValueType(const void *, size_t, default_type, default_type)> &, std::function< void(ValueType, void *, size_t, default_type, default_type)> &, DataType) |
|
template<typename ValueType > |
std::enable_if< is_data_type< ValueType >::value, void >::type | __set_fetch_store_functions (std::function< ValueType(const void *, size_t, default_type, default_type)> &fetch_func, std::function< void(ValueType, void *, size_t, default_type, default_type)> &store_func, DataType datatype) |
|
Eigen::Matrix< default_type, 8, 4 > | get_cuboid_corners (const Eigen::Matrix< default_type, 4, 1 > &xzx1) |
|
Eigen::Matrix< default_type, 8, 4 > | get_bounding_box (const Header &header, const Eigen::Transform< default_type, 3, Eigen::Projective > &voxel2scanner) |
|
Header | compute_minimum_average_header (const vector< Header > &input_headers, const vector< Eigen::Transform< default_type, 3, Eigen::Projective > > &transform_header_with, int voxel_subsampling=1, Eigen::Matrix< default_type, 4, 1 > padding=Eigen::Matrix< default_type, 4, 1 >(1.0, 1.0, 1.0, 1.0)) |
|
template<class ImageType1 , class ImageType2 > |
Header | compute_minimum_average_header (const ImageType1 &im1, const ImageType2 &im2, Eigen::Transform< default_type, 3, Eigen::Projective > transform_1=Eigen::Transform< default_type, 3, Eigen::Projective >::Identity(), Eigen::Transform< default_type, 3, Eigen::Projective > transform_2=Eigen::Transform< default_type, 3, Eigen::Projective >::Identity(), Eigen::Matrix< default_type, 4, 1 > padding=Eigen::Matrix< default_type, 4, 1 >(1.0, 1.0, 1.0, 1.0), int voxel_subsampling=1) |
|
template<typename Derived > |
bool | is_finite (const Eigen::MatrixBase< Derived > &x) |
| check if all elements of an Eigen MatrixBase object are finite More...
|
|
template<typename Derived > |
bool | is_nan (const Eigen::MatrixBase< Derived > &x) |
| check if all elements of an Eigen MatrixBase object are a number More...
|
|
template<class MatrixType > |
void | save_matrix (const MatrixType &M, const std::string &filename, const KeyValues &keyvals=KeyValues(), const bool add_to_command_history=true) |
| write the matrix M to file More...
|
|
template<class ValueType = default_type> |
vector< vector< ValueType > > | load_matrix_2D_vector (const std::string &filename, vector< std::string > *comments=nullptr) |
| read matrix data into a 2D vector filename More...
|
|
template<class ValueType = default_type> |
Eigen::Matrix< ValueType, Eigen::Dynamic, Eigen::Dynamic > | load_matrix (const std::string &filename) |
| read matrix data into an Eigen::Matrix filename More...
|
|
template<class ValueType = default_type> |
Eigen::Matrix< ValueType, Eigen::Dynamic, Eigen::Dynamic > | parse_matrix (const std::string &spec) |
| read matrix data from a text string spec More...
|
|
template<class VectorType > |
transform_type | load_transform (const std::string &filename, VectorType ¢re) |
| read matrix data from filename into an Eigen::Tranform class More...
|
|
transform_type | load_transform (const std::string &filename) |
|
void | save_transform (const transform_type &M, const std::string &filename, const KeyValues &keyvals=KeyValues(), const bool add_to_command_history=true) |
| write the transform M to file More...
|
|
template<class Derived > |
void | save_transform (const transform_type &M, const Eigen::MatrixBase< Derived > ¢re, const std::string &filename, const KeyValues &keyvals=KeyValues(), const bool add_to_command_history=true) |
|
template<class VectorType > |
void | save_vector (const VectorType &V, const std::string &filename, const KeyValues &keyvals=KeyValues(), const bool add_to_command_history=true) |
| write the vector V to file More...
|
|
template<class ValueType = default_type> |
Eigen::Matrix< ValueType, Eigen::Dynamic, 1 > | load_vector (const std::string &filename) |
| read the vector data from filename More...
|
|
std::istream & | getline (std::istream &stream, std::string &string) |
| read a line from the stream More...
|
|
std::string & | add_line (std::string &original, const std::string &new_line) |
| add a line to a string, taking care of inserting a newline if needed More...
|
|
std::string | shorten (const std::string &text, size_t longest=40, size_t prefix=10) |
| convert a long string to 'beginningofstring...endofstring' for display More...
|
|
std::string | lowercase (const std::string &string) |
| return lowercase version of string More...
|
|
std::string | uppercase (const std::string &string) |
| return uppercase version of string More...
|
|
std::string | printf (const char *format,...) |
|
std::string | strip (const std::string &string, const std::string &ws={" \0\t\r\n", 5}, bool left=true, bool right=true) |
|
std::string | unquote (const std::string &string) |
| Remove quotation marks only if surrounding entire string. More...
|
|
void | replace (std::string &string, char orig, char final) |
|
void | replace (std::string &str, const std::string &from, const std::string &to) |
|
vector< std::string > | split (const std::string &string, const char *delimiters=" \t\n", bool ignore_empty_fields=false, size_t num=std::numeric_limits< size_t >::max()) |
|
vector< std::string > | split_lines (const std::string &string, bool ignore_empty_fields=true, size_t num=std::numeric_limits< size_t >::max()) |
|
bool | match (const std::string &pattern, const std::string &text, bool ignore_case=false) |
|
size_t | char_is_dash (const char *arg) |
| match a dash or any Unicode character that looks like one More...
|
|
size_t | is_dash (const std::string &arg) |
| match whole string to a dash or any Unicode character that looks like one More...
|
|
bool | consume_dash (const char *&arg) |
| match current character to a dash or any Unicode character that looks like one More...
|
|
template<class T > |
std::string | str (const T &value, int precision=0) |
|
template<class T > |
T | to (const std::string &string) |
|
template<> |
bool | to< bool > (const std::string &string) |
|
template<> |
std::string | str< cfloat > (const cfloat &value, int precision) |
|
template<> |
cfloat | to< cfloat > (const std::string &string) |
|
template<> |
std::string | str< cdouble > (const cdouble &value, int precision) |
|
template<> |
cdouble | to< cdouble > (const std::string &string) |
|
vector< default_type > | parse_floats (const std::string &spec) |
|
template<typename IntType > |
vector< IntType > | parse_ints (const std::string &spec, const IntType last=std::numeric_limits< IntType >::max()) |
|
std::string | join (const vector< std::string > &V, const std::string &delimiter) |
|
template<typename T > |
std::string | join (const vector< T > &V, const std::string &delimiter) |
|
std::string | join (const char *const *null_terminated_array, const std::string &delimiter) |
|
template<typename X , typename... Args> |
std::shared_ptr< X > | make_shared (Args &&... args) |
|
template<typename X , typename... Args> |
std::unique_ptr< X > | make_unique (Args &&... args) |
|
template<typename X > |
constexpr std::enable_if< std::is_arithmetic< X >::value &&std::is_unsigned< X >::value, X >::type | abs (X x) |
|
template<typename X > |
constexpr std::enable_if< std::is_arithmetic< X >::value &&!std::is_unsigned< X >::value, X >::type | abs (X x) |
|