DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
Classes | Namespaces | Macros | Functions
utlCore.h File Reference
#include "utlCommandLineParser.h"
#include "utlSTDHeaders.h"
#include "utlCoreMacro.h"
#include "utlSmartAssert.h"
#include <iostream>
#include <fstream>
#include <algorithm>
#include <utility>
#include <vector>
#include <cfloat>
#include <cstdlib>
#include <string>
#include <cstring>
#include <cassert>
#include <complex>
#include <cmath>
#include <limits>
#include <iomanip>
#include <ctime>
#include "utlConstants.h"
#include "utlCoreMKL.h"
#include "utlCore11.h"
+ Include dependency graph for utlCore.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  utl::__InstanceOf< Parent >
 
class  utl::__InstanceOf< Parent >::Help< T >
 

Namespaces

 utl
 

Macros

#define __utl_minmax(T0_, T1_, T2_)
 

Functions

template<class VectorType >
void utl::AbsoluteVector (VectorType &vec, const int N)
 
template<typename VectorType >
VectorType utl::AddNoise (const VectorType &signal, const int size, const double sigma, const bool is_rician=true)
 
template<typename T >
std::vector< T > utl::AddNoise (const std::vector< T > &signal, const double sigma, const bool is_rician=true)
 
template<class Iterator >
unsigned int utl::argmax (Iterator i1, Iterator i2)
 
template<class VectorType >
void utl::argmax2 (const VectorType &vec, int size, int &index0, int &index1)
 
template<class TMatrixType >
double utl::ArgmaxMatrix (const TMatrixType &matrix, const int rows, const int columns, int &row, int &colomn)
 
template<class TMatrixType >
double utl::ArgmaxSymmetricMatrix (const TMatrixType matrix, const int size, int &row, int &colomn, const bool includeDiagonalElements)
 
template<class Iterator >
unsigned int utl::argmin (Iterator i1, Iterator i2)
 
template<class TMatrixType >
double utl::ArgminMatrix (const TMatrixType matrix, const int rows, const int columns, int &row, int &colomn)
 
template<class TMatrixType >
double utl::ArgminSymmetricMatrix (const TMatrixType &matrix, const int size, int &row, int &colomn, const bool includeDiagonalElements)
 
template<typename T >
void utl::cartesian2Spherical (const T x, const T y, const T z, T &r, T &theta, T &phi)
 
template<typename T >
void utl::cartesian2Spherical (T &x, T &y, T &z)
 
void utl::ComputeNDArrayIndex (const int offset, std::vector< int > &index, const std::vector< int > &size, const int storedWay, std::vector< int > offsetTable=std::vector< int >())
 
int utl::ComputeNDArrayOffset (const std::vector< int > &multiIndex, const std::vector< int > &size, const int storedWay, std::vector< int > offsetTable=std::vector< int >())
 
void utl::ComputeOffsetTable (const std::vector< int > &size, std::vector< int > &offsetTable, const int storedWay)
 
template<typename T >
void utl::ConnectVector (std::vector< T > &vec1, const std::vector< T > &vec2)
 
template<class T >
std::string utl::ConvertNumberToString (const T value, const int precision=6)
 
template<class T >
utl::ConvertStringToNumber (const std::string &input)
 
std::string utl::ConvertToUnixOutputPath (const char *path)
 
void utl::ConvertToUnixSlashes (std::string &path)
 
std::string utl::ConvertToWindowsOutputPath (const char *path)
 
template<class VectorType >
std::string utl::ConvertVectorToString (VectorType vec, const int N, const char *separate=" ")
 
template<vcl_size_t M>
std::vector< std::string > utl::CovertChar2DArrayToStringArray (const char arr[][M], int N)
 
template<vcl_size_t M>
void utl::CovertStringArrayToChar2DArray (const std::vector< std::string > &vec, char arr[][M], int N)
 
std::string utl::CreateExpandedPath (const std::string &path)
 
template<typename T >
utl::cube (const T &x)
 
template<typename T >
std::vector< int > utl::FindVector (const std::vector< T > &vec, const T &elem, const double gap=1e-9)
 
template<>
std::vector< int > utl::FindVector< std::string > (const std::vector< std::string > &vec, const std::string &elem, const double)
 
template<class T1 , class T2 >
void utl::FlipVector (T1 &vec, const T2 &flip, const int N)
 
template<typename T >
utl::GaussRand (const T value, const double sigma)
 
template<class VectorType >
VectorType utl::GetAbsoluteVector (const VectorType &vec, const int N)
 
template<class IteratorType >
std::vector< double > utl::GetContainerStats (IteratorType v1, IteratorType v2)
 
template<>
std::vector< double > utl::GetContainerStats< const std::complex< double > * > (const std::complex< double > *v1, const std::complex< double > *v2)
 
template<>
std::vector< double > utl::GetContainerStats< const std::complex< float > * > (const std::complex< float > *v1, const std::complex< float > *v2)
 
template<>
std::vector< double > utl::GetContainerStats< const std::string * > (const std::string *v1, const std::string *v2)
 
template<>
std::vector< double > utl::GetContainerStats< std::complex< double > * > (std::complex< double > *v1, std::complex< double > *v2)
 
template<>
std::vector< double > utl::GetContainerStats< std::complex< float > * > (std::complex< float > *v1, std::complex< float > *v2)
 
void utl::GetFileExtension (const std::string &fileNameAbsolute, std::string &ext, std::string &fileNoExt)
 
template<class IteratorType >
int utl::GetNumberOfNonZeroValues (IteratorType v, IteratorType v2, const double threshold=1e-6)
 
void utl::GetPath (const std::string &fileNameAbsolute, std::string &path, std::string &file)
 
std::vector< int > utl::GetRange (const int start, const int end, const int space=1)
 
std::string utl::GetSequentialFileName (const std::string &filePrefix, const unsigned int iteration, const std::string &fileExtension, const unsigned int paddedLength=6)
 
template<class TVectorType >
double utl::GetSumOfVector (const TVectorType &vec, const int NSize)
 
template<class VectorType >
VectorType utl::GetVectorLinspace (const double valueMin, const double valueMax, const int num)
 
template<class VectorType >
VectorType utl::GetVectorShrinkage (const VectorType &vec, const int N, const double kappa)
 
template<class VectorType >
bool utl::IsContainsNaN (const VectorType &a, const int size)
 
bool utl::IsEndingWith (const std::string &fullString, const std::string &ending)
 
bool utl::IsEven (const int value)
 
bool utl::IsFileExist (const std::string &file)
 
template<class Parent , class Object >
bool utl::IsInstanceOf (const Object &o)
 
bool utl::IsInt (const std::string &input, const double epss=1e-10)
 
bool utl::IsInt (const double dd, const double epss=1e-10)
 
bool utl::IsInt (const float dd, const double epss=1e-10)
 
template<class VectorType , class T >
bool utl::IsInVector (const VectorType &vec, const int size, const T &num, const double eps=1e-10)
 
template<typename T >
bool utl::IsInVector (const std::vector< T > &vec, const T &num, const double eps=1e-10)
 
bool utl::IsNumber (const std::string &input)
 
bool utl::IsOdd (const int value)
 
template<class T >
bool utl::IsSame (const T &value, const T &v0, const double eps=1e-10)
 
template<>
bool utl::IsSame< char > (const char &value, const char &v0, const double)
 
template<>
bool utl::IsSame< int > (const int &value, const int &v0, const double)
 
template<>
bool utl::IsSame< std::string > (const std::string &value, const std::string &v0, const double)
 
template<class T , vcl_size_t N1, vcl_size_t N2>
bool utl::IsSameArray (const T(&a1)[N1], const T(&a2)[N2], const double eps=1e-10)
 
template<class T >
bool utl::IsSameVector (const std::vector< T > &vec1, const std::vector< T > &vec2, const double eps=1e-10)
 
template<class T1 , class T2 >
void utl::MatrixToMatrix (const T1 &mat1, T2 &mat2, const int NRows, const int NColumns)
 
template<typename T >
const T & utl::max (const T &a, const T &b)
 
template<typename T >
const T & utl::max (const T &a, const T &b, const T &c)
 
template<typename T >
const T & utl::max (const T &a, const T &b, const T &c, const T &d)
 
const unsigned int utl::max (const unsigned int a, const vcl_size_t b)
 
const unsigned int utl::max (const vcl_size_t a, const unsigned int b)
 
const int utl::max (const unsigned int a, const int b)
 
const int utl::max (const int a, const unsigned int b)
 
const int utl::max (const int a, const vcl_size_t b)
 
const int utl::max (const vcl_size_t a, const int b)
 
const double utl::max (const double a, const float b)
 
const double utl::max (const float a, const double b)
 
const double utl::max (const double a, const int b)
 
const double utl::max (const int a, const double b)
 
const double utl::max (const float a, const int b)
 
const double utl::max (const int a, const float b)
 
template<class T >
utl::max_element (const std::vector< T > &v)
 
template<typename T >
utl::median_element (std::vector< T > values)
 
template<typename T >
const T & utl::min (const T &a, const T &b)
 
template<typename T >
const T & utl::min (const T &a, const T &b, const T &c)
 
template<typename T >
const T & utl::min (const T &a, const T &b, const T &c, const T &d)
 
const unsigned int utl::min (const unsigned int a, const vcl_size_t b)
 
const unsigned int utl::min (const vcl_size_t a, const unsigned int b)
 
const int utl::min (const unsigned int a, const int b)
 
const int utl::min (const int a, const unsigned int b)
 
const int utl::min (const int a, const vcl_size_t b)
 
const int utl::min (const vcl_size_t a, const int b)
 
const double utl::min (const float a, const double b)
 
const double utl::min (const double a, const float b)
 
const double utl::min (const double a, const int b)
 
const double utl::min (const int a, const double b)
 
const double utl::min (const float a, const int b)
 
const double utl::min (const int a, const float b)
 
template<class T >
utl::min_element (const std::vector< T > &v)
 
template<class VectorType >
VectorType utl::NormalizeMax (const VectorType &v, const int nSize)
 
template<typename T >
std::vector< T > utl::NormalizeMax (const std::vector< T > &v)
 
template<class VectorType >
VectorType utl::NormalizeMinMax (const VectorType &v, const int nSize)
 
template<typename T >
std::vector< T > utl::NormalizeMinMax (std::vector< T > &v)
 
template<class VectorType >
VectorType utl::NormalizeUnitNorm (const VectorType &v, const int nSize)
 
template<typename T >
std::vector< T > utl::NormalizeUnitNorm (const std::vector< T > &v)
 
template<typename T >
std::ostream & std::operator<< (std::ostream &out, const std::vector< T > &vec)
 
template<typename T >
std::ostream & std::operator<< (std::ostream &out, const std::complex< T > &val)
 
template<class IteratorType >
void utl::PowerVector (IteratorType v1, IteratorType v2, const double poww)
 
template<class IteratorType >
void utl::PrintContainer (IteratorType v1, IteratorType v2, const std::string &str="", const char *separate=" ", std::ostream &os=std::cout, bool showStats=true)
 
template<class TMatrixType >
void utl::PrintMatrix (const TMatrixType &matrix, const int NumberRows, const int NumberColumns, const std::string &str="", const char *separate=" ", std::ostream &os=std::cout, bool showStats=true)
 
template<class TMatrixType >
void utl::PrintMatrixStats (const TMatrixType &matrix, const int NumberRows, const int NumberColumns, const std::string &str="", const char *separate=" ", std::ostream &os=std::cout)
 
template<typename T >
void utl::PrintVector (const std::vector< T > &vec, const std::string &str="", const char *separate=" ", std::ostream &os=std::cout, bool showStats=true)
 
template<class VectorType >
void utl::PrintVector (const VectorType &vec, const int NSize, const std::string &str="", const char *separate=" ", std::ostream &os=std::cout, bool showStats=true)
 
template<>
void utl::PrintVector< std::string > (const std::vector< std::string > &vec, const std::string &str, const char *separate, std::ostream &os, bool showStats)
 
template<typename T >
utl::Random (const T d1=T(0.0), const T d2=T(1.0))
 
long utl::RandomInt (const long d1=0, const long d2=1)
 
std::vector< double > utl::RandomPointInSphere (const bool hemis)
 
template<typename T >
std::vector< T > utl::RandomVec (const std::vector< T > &vec, const int num, std::vector< int > &result_index)
 
void utl::ReadLines (const std::string &filename, std::vector< std::vector< std::string > > &strVec, const char *cc=" ")
 
void utl::ReadLinesFirstlineCheck (const std::string &filename, std::vector< std::vector< std::string > > &strVec, const char *cc=" ")
 
template<class TMatrixType >
void utl::ReadMatrix (const std::string &file, TMatrixType &matrix)
 
template<class T >
void utl::ReadVector (const std::string &vectorStr, std::vector< T > &vec, const char *cc=" ")
 
template<>
void utl::ReadVector< std::string > (const std::string &vectorStr, std::vector< std::string > &vec, const char *cc)
 
void utl::ReplaceString (std::string &source, const char *replace, const char *with)
 
template<typename T >
utl::RicianRand (const T value, const double sigma)
 
template<class T >
int utl::RoundNumber (const T x)
 
template<typename Vector2D >
void utl::Save2DVector (const Vector2D &vv, std::ostream &out=std::cout)
 
template<typename Vector2D >
void utl::Save2DVector (const Vector2D &vv, const std::string &file)
 
template<class TMatrixType >
void utl::SaveMatrix (const TMatrixType &matrix, const int NumberRows, const int NumberColumns, const std::string &file)
 
template<typename VectorType >
void utl::SaveVector (const VectorType &vv, const int NSize, const std::string &vectorStr, const bool is_save_number=false)
 
template<typename T >
void utl::SaveVector (const std::vector< T > &vv, const std::string &vectorStr, const bool is_save_number=false)
 
template<typename T >
std::vector< T > utl::SelectVector (const std::vector< T > &vec, const std::vector< int > &index)
 
template<typename T >
std::vector< T > utl::SelectVector (const std::vector< T > &vec, const int startIndex, const int numberOfElement)
 
template<typename T >
std::vector< std::vector< int > > utl::SeparateVector (const std::vector< T > &vec, std::vector< T > &vec_sep, const double gap=1e-9)
 
template<typename T >
int utl::SetVector (const char *s, std::vector< T > &vec, const int least_num=0, const char &c=',')
 
template<typename T >
int utl::SetVector (const std::string &s, std::vector< T > &vec, const int least_num=0, const char &c=',')
 
template<typename T >
int utl::sign (const T &x)
 
template<typename T >
void utl::spherical2Cartesian (const T r, const T theta, const T phi, T &x, T &y, T &z)
 
template<typename T >
void utl::spherical2Cartesian (T &x, T &y, T &z)
 
void utl::SplitString (const std::string &str, std::vector< std::string > &strVec, const char *cc=" ")
 
template<typename T >
utl::square (const T &x)
 
int utl::strfind (const char *s, const char c)
 
bool utl::StringCompareCaseIgnored (const std::string &str1, const std::string &str2)
 
std::string utl::StringToLowerCase (const std::string &str)
 
std::string utl::StringToUpperCase (const std::string &str)
 
void utl::SwapBytes (void *ptr, const int sizePerElement, const int count)
 
unsigned long utl::Tic (std::ostream &os=std::cout)
 
unsigned long utl::TicToc (const bool is_tic, std::ostream &os=std::cout)
 
unsigned long utl::Time ()
 
unsigned long utl::Toc (std::ostream &os=std::cout)
 
template<class VectorType >
void utl::VectorShrinkage (VectorType &vec, const int N, const double kappa)
 
template<class T1 , class T2 >
void utl::VectorToVector (const T1 &v1, T2 &v2, const int N)
 
std::string utl::ZeroPad (const unsigned int number, const unsigned int paddedLength)
 

Detailed Description

Author
Dr. Jian Cheng (JC), jian..nosp@m.chen.nosp@m.g.198.nosp@m.3@gm.nosp@m.ail.c.nosp@m.om

Definition in file utlCore.h.

Macro Definition Documentation

#define __utl_minmax (   T0_,
  T1_,
  T2_ 
)
Value:
inline const T0_ min(const T1_ a, const T2_ b) {return a<=b?a:b; } \
inline const T0_ min(const T2_ a, const T1_ b) {return a<=b?a:b; } \
inline const T0_ max(const T1_ a, const T2_ b) {return a>=b?a:b; } \
inline const T0_ max(const T2_ a, const T1_ b) {return a>=b?a:b; }
const double min(const int a, const float b)
Definition: utlCore.h:280
const double max(const int a, const float b)
Definition: utlCore.h:280

Definition at line 269 of file utlCore.h.

Function Documentation

template<typename T >
std::ostream& std::operator<< ( std::ostream &  out,
const std::vector< T > &  vec 
)

Definition at line 2023 of file utlCore.h.

template<typename T >
std::ostream& std::operator<< ( std::ostream &  out,
const std::complex< T > &  val 
)

Definition at line 2040 of file utlCore.h.