Open3D (C++ API)  0.18.0+6e910d9
Namespaces | Data Structures | Typedefs | Enumerations | Functions | Variables
open3d::utility Namespace Reference

Namespaces

 detail_
 
 filesystem
 
 random
 

Data Structures

struct  MiniVecHash
 
struct  MiniVecEq
 
class  CompilerInfo
 Compiler information. More...
 
class  CPUInfo
 CPU information. More...
 
struct  hash_tuple
 
struct  hash_tuple< std::tuple< TT... > >
 
struct  hash_eigen
 
struct  hash_enum_class
 
class  IJsonConvertible
 
class  ISAInfo
 ISA information. More...
 
class  Logger
 Logger class should be used as a global singleton object (GetInstance()). More...
 
class  VerbosityContextManager
 
struct  MiniVec
 
struct  in_place_t
 
class  optional
 
struct  trivial_init_t
 
struct  nullopt_t
 
class  bad_optional_access
 
union  storage_t
 
union  constexpr_storage_t
 
struct  optional_base
 
struct  constexpr_optional_base
 
class  optional< T & >
 
class  optional< T && >
 
struct  Overloaded
 
struct  Overloaded< T1, Ts... >
 
struct  Overloaded< T1 >
 
class  ProgressBar
 
class  OMPProgressBar
 
class  CountingProgressReporter
 
struct  ConsoleProgressUpdater
 update_progress(double percent) functor for ProgressBar More...
 
class  Timer
 
class  ScopeTimer
 
class  FPSTimer
 

Typedefs

using Matrix4d_allocator = Eigen::aligned_allocator< Eigen::Matrix4d >
 
using Matrix6d_allocator = Eigen::aligned_allocator< Eigen::Matrix6d >
 
using Vector2d_allocator = Eigen::aligned_allocator< Eigen::Vector2d >
 
using Vector3uint8_allocator = Eigen::aligned_allocator< Eigen::Vector3uint8 >
 
using Vector4i_allocator = Eigen::aligned_allocator< Eigen::Vector4i >
 
using Vector4d_allocator = Eigen::aligned_allocator< Eigen::Vector4d >
 
using Vector6d_allocator = Eigen::aligned_allocator< Eigen::Vector6d >
 
template<class T >
using OptionalBase = typename std::conditional< std::is_trivially_destructible< T >::value, constexpr_optional_base< typename std::remove_const< T >::type >, optional_base< typename std::remove_const< T >::type > >::type
 

Enumerations

enum class  ISATarget {
  SSE2 = 100 , SSE4 = 101 , AVX = 102 , AVX2 = 103 ,
  AVX512KNL = 104 , AVX512SKX = 105 , NEON = 200 , GENX = 300 ,
  UNKNOWN = -1 , DISABLED = -100
}
 Set of known ISA targets. More...
 
enum class  TextColor {
  Black = 0 , Red = 1 , Green = 2 , Yellow = 3 ,
  Blue = 4 , Magenta = 5 , Cyan = 6 , White = 7
}
 
enum class  VerbosityLevel { Error = 0 , Warning = 1 , Info = 2 , Debug = 3 }
 

Functions

std::string GetProgramOptionAsString (int argc, char **argv, const std::string &option, const std::string &default_value)
 
int GetProgramOptionAsInt (int argc, char **argv, const std::string &option, const int default_value)
 
double GetProgramOptionAsDouble (int argc, char **argv, const std::string &option, const double default_value)
 
Eigen::VectorXd GetProgramOptionAsEigenVectorXd (int argc, char **argv, const std::string &option, const Eigen::VectorXd default_value)
 
bool ProgramOptionExists (int argc, char **argv, const std::string &option)
 
bool ProgramOptionExistsAny (int argc, char **argv, const std::vector< std::string > &options)
 
std::string GetMD5 (const std::string &file_path)
 Computes MD5 Hash for the given file. More...
 
std::string DownloadFromURL (const std::string &url, const std::string &md5, const std::string &download_dir)
 Download a file from URL. If a file already exists and the MD5 hash matches, the download will be skipped. More...
 
std::string DownloadFromMirrors (const std::vector< std::string > &mirrors, const std::string &md5, const std::string &download_dir)
 Download a file from list of mirror URLs. If a file already exists and the MD5 hash matches, the download will be skipped. All file names must be the same in mirrors. More...
 
std::tuple< bool, Eigen::VectorXd > SolveLinearSystemPSD (const Eigen::MatrixXd &A, const Eigen::VectorXd &b, bool prefer_sparse, bool check_symmetric, bool check_det, bool check_psd)
 Function to solve Ax=b. More...
 
Eigen::Matrix4d TransformVector6dToMatrix4d (const Eigen::Vector6d &input)
 
Eigen::Vector6d TransformMatrix4dToVector6d (const Eigen::Matrix4d &input)
 
std::tuple< bool, Eigen::Matrix4d > SolveJacobianSystemAndObtainExtrinsicMatrix (const Eigen::Matrix6d &JTJ, const Eigen::Vector6d &JTr)
 
std::tuple< bool, std::vector< Eigen::Matrix4d, Matrix4d_allocator > > SolveJacobianSystemAndObtainExtrinsicMatrixArray (const Eigen::MatrixXd &JTJ, const Eigen::VectorXd &JTr)
 
template<typename MatType , typename VecType >
std::tuple< MatType, VecType, double > ComputeJTJandJTr (std::function< void(int, VecType &, double &, double &)> f, int iteration_num, bool verbose)
 
template<typename MatType , typename VecType >
std::tuple< MatType, VecType, double > ComputeJTJandJTr (std::function< void(int, std::vector< VecType, Eigen::aligned_allocator< VecType >> &, std::vector< double > &, std::vector< double > &)> f, int iteration_num, bool verbose)
 
template std::tuple< Eigen::Matrix6d, Eigen::Vector6d, double > ComputeJTJandJTr (std::function< void(int, Eigen::Vector6d &, double &, double &)> f, int iteration_num, bool verbose)
 
template std::tuple< Eigen::Matrix6d, Eigen::Vector6d, double > ComputeJTJandJTr (std::function< void(int, std::vector< Eigen::Vector6d, Vector6d_allocator > &, std::vector< double > &, std::vector< double > &)> f, int iteration_num, bool verbose)
 
Eigen::Matrix3d RotationMatrixX (double radians)
 
Eigen::Matrix3d RotationMatrixY (double radians)
 
Eigen::Matrix3d RotationMatrixZ (double radians)
 
Eigen::Vector3uint8 ColorToUint8 (const Eigen::Vector3d &color)
 
Eigen::Vector3d ColorToDouble (uint8_t r, uint8_t g, uint8_t b)
 Color conversion from uint8_t 0-255 to double [0,1]. More...
 
Eigen::Vector3d ColorToDouble (const Eigen::Vector3uint8 &rgb)
 
template<typename IdxType >
Eigen::Matrix3d ComputeCovariance (const std::vector< Eigen::Vector3d > &points, const std::vector< IdxType > &indices)
 Function to compute the covariance matrix of a set of points. More...
 
template<typename IdxType >
std::tuple< Eigen::Vector3d, Eigen::Matrix3d > ComputeMeanAndCovariance (const std::vector< Eigen::Vector3d > &points, const std::vector< IdxType > &indices)
 Function to compute the mean and covariance matrix of a set of points. More...
 
template Eigen::Matrix3d ComputeCovariance (const std::vector< Eigen::Vector3d > &points, const std::vector< size_t > &indices)
 
template std::tuple< Eigen::Vector3d, Eigen::Matrix3d > ComputeMeanAndCovariance (const std::vector< Eigen::Vector3d > &points, const std::vector< size_t > &indices)
 
template Eigen::Matrix3d ComputeCovariance (const std::vector< Eigen::Vector3d > &points, const std::vector< int > &indices)
 
template std::tuple< Eigen::Vector3d, Eigen::Matrix3d > ComputeMeanAndCovariance (const std::vector< Eigen::Vector3d > &points, const std::vector< int > &indices)
 
template<typename RealType , typename IdxType >
std::tuple< Eigen::Vector3d, Eigen::Matrix3d > ComputeMeanAndCovariance (const RealType *const points, const std::vector< IdxType > &indices)
 
template std::tuple< Eigen::Vector3d, Eigen::Matrix3d > ComputeMeanAndCovariance (const float *const points, const std::vector< size_t > &indices)
 
template std::tuple< Eigen::Vector3d, Eigen::Matrix3d > ComputeMeanAndCovariance (const double *const points, const std::vector< size_t > &indices)
 
template std::tuple< Eigen::Vector3d, Eigen::Matrix3d > ComputeMeanAndCovariance (const float *const points, const std::vector< int > &indices)
 
template std::tuple< Eigen::Vector3d, Eigen::Matrix3d > ComputeMeanAndCovariance (const double *const points, const std::vector< int > &indices)
 
Eigen::Matrix3d SkewMatrix (const Eigen::Vector3d &vec)
 Genretate a skew-symmetric matrix from a vector 3x1. More...
 
bool IsSupportedCompressedFilePath (const std::string &file_path)
 Returns true if the file is a supported compressed file path. It does not check if the file exists. It only checks the file extension. More...
 
void Extract (const std::string &file_path, const std::string &extract_dir)
 Function to extract compressed files. More...
 
void ExtractFromZIP (const std::string &file_path, const std::string &extract_dir)
 Function to extract files compressed in .zip format. More...
 
std::vector< std::string > SplitString (const std::string &str, const std::string &delimiters, bool trim_empty_str)
 
bool ContainsString (const std::string &src, const std::string &dst)
 
bool StringStartsWith (const std::string &src, const std::string &tar)
 
bool StringEndsWith (const std::string &src, const std::string &tar)
 
std::string JoinStrings (const std::vector< std::string > &strs, const std::string &delimiter)
 
std::string & LeftStripString (std::string &str, const std::string &chars)
 
std::string & RightStripString (std::string &str, const std::string &chars)
 
std::string & StripString (std::string &str, const std::string &chars)
 
std::string ToLower (const std::string &s)
 Convert string to the lower case. More...
 
std::string ToUpper (const std::string &s)
 Convert string to the upper case. More...
 
size_t WordLength (const std::string &doc, size_t start_pos, const std::string &valid_chars)
 
void Sleep (int milliseconds)
 
std::string GetCurrentTimeStamp ()
 Returns current time stamp. More...
 
template<typename... Args>
std::string FormatString (const std::string &format, Args... args)
 Format string. More...
 
template<typename... Args>
std::string FastFormatString (const std::string &format, Args... args)
 Format string fast (Unix / BSD Only) More...
 
int DivUp (int x, int y)
 Computes the quotient of x/y with rounding up. More...
 
Json::Value StringToJson (const std::string &json_str)
 Parse string and convert to Json::value. Throws exception if the conversion is invalid. More...
 
std::string JsonToString (const Json::Value &json)
 Serialize a Json::Value to a string. More...
 
void SetVerbosityLevel (VerbosityLevel level)
 
VerbosityLevel GetVerbosityLevel ()
 Get global verbosity level of Open3D. More...
 
template<int N>
FN_SPECIFIERS MiniVec< float, N > floor (const MiniVec< float, N > &a)
 
template<int N>
FN_SPECIFIERS MiniVec< double, N > floor (const MiniVec< double, N > &a)
 
template<int N>
FN_SPECIFIERS MiniVec< float, N > ceil (const MiniVec< float, N > &a)
 
template<int N>
FN_SPECIFIERS MiniVec< double, N > ceil (const MiniVec< double, N > &a)
 
template<class T , int N>
FN_SPECIFIERS MiniVec< T, N > operator- (const MiniVec< T, N > &a)
 
template<class T , int N>
FN_SPECIFIERS MiniVec< T, N > operator! (const MiniVec< T, N > &a)
 
template<class T >
constexpr T && constexpr_forward (typename std::remove_reference< T >::type &t) noexcept
 
template<class T >
constexpr T && constexpr_forward (typename std::remove_reference< T >::type &&t) noexcept
 
template<class T >
constexpr std::remove_reference< T >::type && constexpr_move (T &&t) noexcept
 
template<class T >
constexpr bool operator== (const optional< T > &x, const optional< T > &y)
 
template<class T >
constexpr bool operator!= (const optional< T > &x, const optional< T > &y)
 
template<class T >
constexpr bool operator< (const optional< T > &x, const optional< T > &y)
 
template<class T >
constexpr bool operator> (const optional< T > &x, const optional< T > &y)
 
template<class T >
constexpr bool operator<= (const optional< T > &x, const optional< T > &y)
 
template<class T >
constexpr bool operator>= (const optional< T > &x, const optional< T > &y)
 
template<class T >
constexpr bool operator== (const optional< T > &x, nullopt_t) noexcept
 
template<class T >
constexpr bool operator== (nullopt_t, const optional< T > &x) noexcept
 
template<class T >
constexpr bool operator!= (const optional< T > &x, nullopt_t) noexcept
 
template<class T >
constexpr bool operator!= (nullopt_t, const optional< T > &x) noexcept
 
template<class T >
constexpr bool operator< (const optional< T > &, nullopt_t) noexcept
 
template<class T >
constexpr bool operator< (nullopt_t, const optional< T > &x) noexcept
 
template<class T >
constexpr bool operator<= (const optional< T > &x, nullopt_t) noexcept
 
template<class T >
constexpr bool operator<= (nullopt_t, const optional< T > &) noexcept
 
template<class T >
constexpr bool operator> (const optional< T > &x, nullopt_t) noexcept
 
template<class T >
constexpr bool operator> (nullopt_t, const optional< T > &) noexcept
 
template<class T >
constexpr bool operator>= (const optional< T > &, nullopt_t) noexcept
 
template<class T >
constexpr bool operator>= (nullopt_t, const optional< T > &x) noexcept
 
template<class T >
constexpr bool operator== (const optional< T > &x, const T &v)
 
template<class T >
constexpr bool operator== (const T &v, const optional< T > &x)
 
template<class T >
constexpr bool operator!= (const optional< T > &x, const T &v)
 
template<class T >
constexpr bool operator!= (const T &v, const optional< T > &x)
 
template<class T >
constexpr bool operator< (const optional< T > &x, const T &v)
 
template<class T >
constexpr bool operator> (const T &v, const optional< T > &x)
 
template<class T >
constexpr bool operator> (const optional< T > &x, const T &v)
 
template<class T >
constexpr bool operator< (const T &v, const optional< T > &x)
 
template<class T >
constexpr bool operator>= (const optional< T > &x, const T &v)
 
template<class T >
constexpr bool operator<= (const T &v, const optional< T > &x)
 
template<class T >
constexpr bool operator<= (const optional< T > &x, const T &v)
 
template<class T >
constexpr bool operator>= (const T &v, const optional< T > &x)
 
template<class T >
constexpr bool operator== (const optional< T & > &x, const T &v)
 
template<class T >
constexpr bool operator== (const T &v, const optional< T & > &x)
 
template<class T >
constexpr bool operator!= (const optional< T & > &x, const T &v)
 
template<class T >
constexpr bool operator!= (const T &v, const optional< T & > &x)
 
template<class T >
constexpr bool operator< (const optional< T & > &x, const T &v)
 
template<class T >
constexpr bool operator> (const T &v, const optional< T & > &x)
 
template<class T >
constexpr bool operator> (const optional< T & > &x, const T &v)
 
template<class T >
constexpr bool operator< (const T &v, const optional< T & > &x)
 
template<class T >
constexpr bool operator>= (const optional< T & > &x, const T &v)
 
template<class T >
constexpr bool operator<= (const T &v, const optional< T & > &x)
 
template<class T >
constexpr bool operator<= (const optional< T & > &x, const T &v)
 
template<class T >
constexpr bool operator>= (const T &v, const optional< T & > &x)
 
template<class T >
constexpr bool operator== (const optional< const T & > &x, const T &v)
 
template<class T >
constexpr bool operator== (const T &v, const optional< const T & > &x)
 
template<class T >
constexpr bool operator!= (const optional< const T & > &x, const T &v)
 
template<class T >
constexpr bool operator!= (const T &v, const optional< const T & > &x)
 
template<class T >
constexpr bool operator< (const optional< const T & > &x, const T &v)
 
template<class T >
constexpr bool operator> (const T &v, const optional< const T & > &x)
 
template<class T >
constexpr bool operator> (const optional< const T & > &x, const T &v)
 
template<class T >
constexpr bool operator< (const T &v, const optional< const T & > &x)
 
template<class T >
constexpr bool operator>= (const optional< const T & > &x, const T &v)
 
template<class T >
constexpr bool operator<= (const T &v, const optional< const T & > &x)
 
template<class T >
constexpr bool operator<= (const optional< const T & > &x, const T &v)
 
template<class T >
constexpr bool operator>= (const T &v, const optional< const T & > &x)
 
template<class T >
void swap (optional< T > &x, optional< T > &y) noexcept(noexcept(x.swap(y)))
 
template<class T >
constexpr optional< typename std::decay< T >::typemake_optional (T &&v)
 
template<class X >
constexpr optional< X & > make_optional (std::reference_wrapper< X > v)
 
template<typename... Ts>
Overloaded< Ts... > Overload (Ts... ts)
 
int EstimateMaxThreads ()
 Estimate the maximum number of threads to be used in a parallel region. More...
 
bool InParallel ()
 Returns true if in an parallel section. More...
 
template<class Tin , class Tout >
void InclusivePrefixSum (const Tin *first, const Tin *last, Tout *out)
 

Variables

constexpr in_place_t in_place {}
 
constexpr struct open3d::utility::trivial_init_t trivial_init
 
constexpr nullopt_t nullopt {nullopt_t::init()}
 

Typedef Documentation

◆ Matrix4d_allocator

using open3d::utility::Matrix4d_allocator = typedef Eigen::aligned_allocator<Eigen::Matrix4d>

◆ Matrix6d_allocator

using open3d::utility::Matrix6d_allocator = typedef Eigen::aligned_allocator<Eigen::Matrix6d>

◆ OptionalBase

template<class T >
using open3d::utility::OptionalBase = typedef typename std::conditional< std::is_trivially_destructible<T>::value, constexpr_optional_base<typename std::remove_const< T>::type>, optional_base<typename std::remove_const<T>::type> >::type

◆ Vector2d_allocator

using open3d::utility::Vector2d_allocator = typedef Eigen::aligned_allocator<Eigen::Vector2d>

◆ Vector3uint8_allocator

using open3d::utility::Vector3uint8_allocator = typedef Eigen::aligned_allocator<Eigen::Vector3uint8>

◆ Vector4d_allocator

using open3d::utility::Vector4d_allocator = typedef Eigen::aligned_allocator<Eigen::Vector4d>

◆ Vector4i_allocator

using open3d::utility::Vector4i_allocator = typedef Eigen::aligned_allocator<Eigen::Vector4i>

◆ Vector6d_allocator

using open3d::utility::Vector6d_allocator = typedef Eigen::aligned_allocator<Eigen::Vector6d>

Enumeration Type Documentation

◆ ISATarget

Set of known ISA targets.

Enumerator
SSE2 
SSE4 
AVX 
AVX2 
AVX512KNL 
AVX512SKX 
NEON 
GENX 
UNKNOWN 
DISABLED 

◆ TextColor

Enumerator
Black 
Red 
Green 
Yellow 
Blue 
Magenta 
Cyan 
White 

◆ VerbosityLevel

Enumerator
Error 

LogError throws now a runtime_error with the given error message. This should be used if there is no point in continuing the given algorithm at some point and the error is not returned in another way (e.g., via a bool/int as return value).

Warning 

LogWarning is used if an error occurs, but the error is also signaled via a return value (i.e., there is no need to throw an exception). This warning should further be used, if the algorithms encounters a state that does not break its continuation, but the output is likely not to be what the user expected.

Info 

LogInfo is used to inform the user with expected output, e.g, pressed a key in the visualizer prints helping information.

Debug 

LogDebug is used to print debug/additional information on the state of the algorithm.

Function Documentation

◆ ceil() [1/2]

template<int N>
FN_SPECIFIERS MiniVec<double, N> open3d::utility::ceil ( const MiniVec< double, N > &  a)

◆ ceil() [2/2]

template<int N>
FN_SPECIFIERS MiniVec<float, N> open3d::utility::ceil ( const MiniVec< float, N > &  a)

◆ ColorToDouble() [1/2]

Eigen::Vector3d open3d::utility::ColorToDouble ( const Eigen::Vector3uint8 &  rgb)

◆ ColorToDouble() [2/2]

Eigen::Vector3d open3d::utility::ColorToDouble ( uint8_t  r,
uint8_t  g,
uint8_t  b 
)

Color conversion from uint8_t 0-255 to double [0,1].

◆ ColorToUint8()

Eigen::Vector3uint8 open3d::utility::ColorToUint8 ( const Eigen::Vector3d &  color)

Color conversion from double [0,1] to uint8_t 0-255; this does proper clipping and rounding

◆ ComputeCovariance() [1/3]

template<typename IdxType >
Eigen::Matrix3d open3d::utility::ComputeCovariance ( const std::vector< Eigen::Vector3d > &  points,
const std::vector< IdxType > &  indices 
)

Function to compute the covariance matrix of a set of points.

◆ ComputeCovariance() [2/3]

template Eigen::Matrix3d open3d::utility::ComputeCovariance ( const std::vector< Eigen::Vector3d > &  points,
const std::vector< int > &  indices 
)

◆ ComputeCovariance() [3/3]

template Eigen::Matrix3d open3d::utility::ComputeCovariance ( const std::vector< Eigen::Vector3d > &  points,
const std::vector< size_t > &  indices 
)

◆ ComputeJTJandJTr() [1/4]

template std::tuple<Eigen::Matrix6d, Eigen::Vector6d, double> open3d::utility::ComputeJTJandJTr ( std::function< void(int, Eigen::Vector6d &, double &, double &)>  f,
int  iteration_num,
bool  verbose 
)

◆ ComputeJTJandJTr() [2/4]

template std::tuple<Eigen::Matrix6d, Eigen::Vector6d, double> open3d::utility::ComputeJTJandJTr ( std::function< void(int, std::vector< Eigen::Vector6d, Vector6d_allocator > &, std::vector< double > &, std::vector< double > &)>  f,
int  iteration_num,
bool  verbose 
)

◆ ComputeJTJandJTr() [3/4]

template<typename MatType , typename VecType >
std::tuple< MatType, VecType, double > open3d::utility::ComputeJTJandJTr ( std::function< void(int, std::vector< VecType, Eigen::aligned_allocator< VecType >> &, std::vector< double > &, std::vector< double > &)>  f,
int  iteration_num,
bool  verbose = true 
)

Function to compute JTJ and Jtr Input: function pointer f and total number of rows of Jacobian matrix Output: JTJ, JTr, sum of r^2 Note: f takes index of row, and outputs corresponding residual and row vector.

◆ ComputeJTJandJTr() [4/4]

template<typename MatType , typename VecType >
std::tuple< MatType, VecType, double > open3d::utility::ComputeJTJandJTr ( std::function< void(int, VecType &, double &, double &)>  f,
int  iteration_num,
bool  verbose = true 
)

Function to compute JTJ and Jtr Input: function pointer f and total number of rows of Jacobian matrix Output: JTJ, JTr, sum of r^2 Note: f takes index of row, and outputs corresponding residual and row vector.

◆ ComputeMeanAndCovariance() [1/8]

template std::tuple<Eigen::Vector3d, Eigen::Matrix3d> open3d::utility::ComputeMeanAndCovariance ( const double *const  points,
const std::vector< int > &  indices 
)

◆ ComputeMeanAndCovariance() [2/8]

template std::tuple<Eigen::Vector3d, Eigen::Matrix3d> open3d::utility::ComputeMeanAndCovariance ( const double *const  points,
const std::vector< size_t > &  indices 
)

◆ ComputeMeanAndCovariance() [3/8]

template std::tuple<Eigen::Vector3d, Eigen::Matrix3d> open3d::utility::ComputeMeanAndCovariance ( const float *const  points,
const std::vector< int > &  indices 
)

◆ ComputeMeanAndCovariance() [4/8]

template std::tuple<Eigen::Vector3d, Eigen::Matrix3d> open3d::utility::ComputeMeanAndCovariance ( const float *const  points,
const std::vector< size_t > &  indices 
)

◆ ComputeMeanAndCovariance() [5/8]

template<typename RealType , typename IdxType >
std::tuple< Eigen::Vector3d, Eigen::Matrix3d > open3d::utility::ComputeMeanAndCovariance ( const RealType *const  points,
const std::vector< IdxType > &  indices 
)

Function to compute the mean and covariance matrix of a set of points.

Template Parameters
RealTypeEither float or double.
IdxTypeEither size_t or int.
Parameters
pointsContiguous memory with the 3D points.
indicesThe indices for which the mean and covariance will be computed.
Returns
The mean and covariance matrix.

◆ ComputeMeanAndCovariance() [6/8]

template<typename IdxType >
std::tuple< Eigen::Vector3d, Eigen::Matrix3d > open3d::utility::ComputeMeanAndCovariance ( const std::vector< Eigen::Vector3d > &  points,
const std::vector< IdxType > &  indices 
)

Function to compute the mean and covariance matrix of a set of points.

◆ ComputeMeanAndCovariance() [7/8]

template std::tuple<Eigen::Vector3d, Eigen::Matrix3d> open3d::utility::ComputeMeanAndCovariance ( const std::vector< Eigen::Vector3d > &  points,
const std::vector< int > &  indices 
)

◆ ComputeMeanAndCovariance() [8/8]

template std::tuple<Eigen::Vector3d, Eigen::Matrix3d> open3d::utility::ComputeMeanAndCovariance ( const std::vector< Eigen::Vector3d > &  points,
const std::vector< size_t > &  indices 
)

◆ constexpr_forward() [1/2]

template<class T >
constexpr T&& open3d::utility::constexpr_forward ( typename std::remove_reference< T >::type &&  t)
inlineconstexprnoexcept

◆ constexpr_forward() [2/2]

template<class T >
constexpr T&& open3d::utility::constexpr_forward ( typename std::remove_reference< T >::type t)
inlineconstexprnoexcept

◆ constexpr_move()

template<class T >
constexpr std::remove_reference<T>::type&& open3d::utility::constexpr_move ( T &&  t)
inlineconstexprnoexcept

◆ ContainsString()

bool open3d::utility::ContainsString ( const std::string &  src,
const std::string &  dst 
)

Returns true of the source string contains the destination string.

Parameters
srcSource string.
dstDestination string.

◆ DivUp()

int open3d::utility::DivUp ( int  x,
int  y 
)
inline

Computes the quotient of x/y with rounding up.

◆ DownloadFromMirrors()

std::string open3d::utility::DownloadFromMirrors ( const std::vector< std::string > &  mirrors,
const std::string &  md5,
const std::string &  download_dir 
)

Download a file from list of mirror URLs. If a file already exists and the MD5 hash matches, the download will be skipped. All file names must be the same in mirrors.

Parameters
mirrorsList of file mirror URLs for the same file. The saved file name will be the last part of the URL.
md5MD5 checksum of the file. This is required as the same URL may point to different files over time.
download_dirThe file will be downloaded to download_dir.
Returns
Path to downloaded file.
Exceptions
std::runtime_errorIf the download fails.

◆ DownloadFromURL()

std::string open3d::utility::DownloadFromURL ( const std::string &  url,
const std::string &  md5,
const std::string &  download_dir 
)

Download a file from URL. If a file already exists and the MD5 hash matches, the download will be skipped.

Parameters
urlFile URL. The saved file name will be the last part of the URL.
md5MD5 checksum of the file. This is required as the same URL may point to different files over time.
download_dirThe file will be downloaded to download_dir.
Returns
Path to downloaded file.
Exceptions
std::runtime_errorIf the download fails.

◆ EstimateMaxThreads()

int open3d::utility::EstimateMaxThreads ( )

Estimate the maximum number of threads to be used in a parallel region.

◆ Extract()

void open3d::utility::Extract ( const std::string &  file_path,
const std::string &  extract_dir 
)

Function to extract compressed files.

Parameters
file_pathPath to file. Example: "/path/to/file/file.zip"
extract_dirDirectory path where the file will be extracted to. If the directory does not exist, it will be created.

◆ ExtractFromZIP()

void open3d::utility::ExtractFromZIP ( const std::string &  file_path,
const std::string &  extract_dir 
)

Function to extract files compressed in .zip format.

Parameters
file_pathPath to file. Example: "/path/to/file/file.zip"
extract_dirDirectory path where the file will be extracted to.

◆ FastFormatString()

template<typename... Args>
std::string open3d::utility::FastFormatString ( const std::string &  format,
Args...  args 
)
inline

Format string fast (Unix / BSD Only)

◆ floor() [1/2]

template<int N>
FN_SPECIFIERS MiniVec<double, N> open3d::utility::floor ( const MiniVec< double, N > &  a)

◆ floor() [2/2]

template<int N>
FN_SPECIFIERS MiniVec<float, N> open3d::utility::floor ( const MiniVec< float, N > &  a)

◆ FormatString()

template<typename... Args>
std::string open3d::utility::FormatString ( const std::string &  format,
Args...  args 
)
inline

Format string.

◆ GetCurrentTimeStamp()

std::string open3d::utility::GetCurrentTimeStamp ( )

Returns current time stamp.

◆ GetMD5()

std::string open3d::utility::GetMD5 ( const std::string &  file_path)

Computes MD5 Hash for the given file.

Parameters
file_pathPath to the file.

◆ GetProgramOptionAsDouble()

double open3d::utility::GetProgramOptionAsDouble ( int  argc,
char **  argv,
const std::string &  option,
const double  default_value 
)

◆ GetProgramOptionAsEigenVectorXd()

Eigen::VectorXd open3d::utility::GetProgramOptionAsEigenVectorXd ( int  argc,
char **  argv,
const std::string &  option,
const Eigen::VectorXd  default_value 
)

◆ GetProgramOptionAsInt()

int open3d::utility::GetProgramOptionAsInt ( int  argc,
char **  argv,
const std::string &  option,
const int  default_value 
)

◆ GetProgramOptionAsString()

std::string open3d::utility::GetProgramOptionAsString ( int  argc,
char **  argv,
const std::string &  option,
const std::string &  default_value 
)

◆ GetVerbosityLevel()

VerbosityLevel open3d::utility::GetVerbosityLevel ( )

Get global verbosity level of Open3D.

◆ InclusivePrefixSum()

template<class Tin , class Tout >
void open3d::utility::InclusivePrefixSum ( const Tin *  first,
const Tin *  last,
Tout *  out 
)

◆ InParallel()

bool open3d::utility::InParallel ( )

Returns true if in an parallel section.

◆ IsSupportedCompressedFilePath()

bool open3d::utility::IsSupportedCompressedFilePath ( const std::string &  file_path)

Returns true if the file is a supported compressed file path. It does not check if the file exists. It only checks the file extension.

Parameters
file_pathThe file path to check.

◆ JoinStrings()

std::string open3d::utility::JoinStrings ( const std::vector< std::string > &  strs,
const std::string &  delimiter 
)

◆ JsonToString()

std::string open3d::utility::JsonToString ( const Json::Value &  json)

Serialize a Json::Value to a string.

Parameters
jsonThe Json::Value object to be converted.
Returns
A string containing the json value.

◆ LeftStripString()

std::string & open3d::utility::LeftStripString ( std::string &  str,
const std::string &  chars 
)

◆ make_optional() [1/2]

template<class X >
constexpr optional<X&> open3d::utility::make_optional ( std::reference_wrapper< X v)
constexpr

◆ make_optional() [2/2]

template<class T >
constexpr optional<typename std::decay<T>::type> open3d::utility::make_optional ( T &&  v)
constexpr

◆ operator!()

template<class T , int N>
FN_SPECIFIERS MiniVec<T, N> open3d::utility::operator! ( const MiniVec< T, N > &  a)

◆ operator!=() [1/9]

template<class T >
constexpr bool open3d::utility::operator!= ( const optional< const T & > &  x,
const T &  v 
)
constexpr

◆ operator!=() [2/9]

template<class T >
constexpr bool open3d::utility::operator!= ( const optional< T & > &  x,
const T &  v 
)
constexpr

◆ operator!=() [3/9]

template<class T >
constexpr bool open3d::utility::operator!= ( const optional< T > &  x,
const optional< T > &  y 
)
constexpr

◆ operator!=() [4/9]

template<class T >
constexpr bool open3d::utility::operator!= ( const optional< T > &  x,
const T &  v 
)
constexpr

◆ operator!=() [5/9]

template<class T >
constexpr bool open3d::utility::operator!= ( const optional< T > &  x,
nullopt_t   
)
constexprnoexcept

◆ operator!=() [6/9]

template<class T >
constexpr bool open3d::utility::operator!= ( const T &  v,
const optional< const T & > &  x 
)
constexpr

◆ operator!=() [7/9]

template<class T >
constexpr bool open3d::utility::operator!= ( const T &  v,
const optional< T & > &  x 
)
constexpr

◆ operator!=() [8/9]

template<class T >
constexpr bool open3d::utility::operator!= ( const T &  v,
const optional< T > &  x 
)
constexpr

◆ operator!=() [9/9]

template<class T >
constexpr bool open3d::utility::operator!= ( nullopt_t  ,
const optional< T > &  x 
)
constexprnoexcept

◆ operator-()

template<class T , int N>
FN_SPECIFIERS MiniVec<T, N> open3d::utility::operator- ( const MiniVec< T, N > &  a)

◆ operator<() [1/9]

template<class T >
constexpr bool open3d::utility::operator< ( const optional< const T & > &  x,
const T &  v 
)
constexpr

◆ operator<() [2/9]

template<class T >
constexpr bool open3d::utility::operator< ( const optional< T & > &  x,
const T &  v 
)
constexpr

◆ operator<() [3/9]

template<class T >
constexpr bool open3d::utility::operator< ( const optional< T > &  ,
nullopt_t   
)
constexprnoexcept

◆ operator<() [4/9]

template<class T >
constexpr bool open3d::utility::operator< ( const optional< T > &  x,
const optional< T > &  y 
)
constexpr

◆ operator<() [5/9]

template<class T >
constexpr bool open3d::utility::operator< ( const optional< T > &  x,
const T &  v 
)
constexpr

◆ operator<() [6/9]

template<class T >
constexpr bool open3d::utility::operator< ( const T &  v,
const optional< const T & > &  x 
)
constexpr

◆ operator<() [7/9]

template<class T >
constexpr bool open3d::utility::operator< ( const T &  v,
const optional< T & > &  x 
)
constexpr

◆ operator<() [8/9]

template<class T >
constexpr bool open3d::utility::operator< ( const T &  v,
const optional< T > &  x 
)
constexpr

◆ operator<() [9/9]

template<class T >
constexpr bool open3d::utility::operator< ( nullopt_t  ,
const optional< T > &  x 
)
constexprnoexcept

◆ operator<=() [1/9]

template<class T >
constexpr bool open3d::utility::operator<= ( const optional< const T & > &  x,
const T &  v 
)
constexpr

◆ operator<=() [2/9]

template<class T >
constexpr bool open3d::utility::operator<= ( const optional< T & > &  x,
const T &  v 
)
constexpr

◆ operator<=() [3/9]

template<class T >
constexpr bool open3d::utility::operator<= ( const optional< T > &  x,
const optional< T > &  y 
)
constexpr

◆ operator<=() [4/9]

template<class T >
constexpr bool open3d::utility::operator<= ( const optional< T > &  x,
const T &  v 
)
constexpr

◆ operator<=() [5/9]

template<class T >
constexpr bool open3d::utility::operator<= ( const optional< T > &  x,
nullopt_t   
)
constexprnoexcept

◆ operator<=() [6/9]

template<class T >
constexpr bool open3d::utility::operator<= ( const T &  v,
const optional< const T & > &  x 
)
constexpr

◆ operator<=() [7/9]

template<class T >
constexpr bool open3d::utility::operator<= ( const T &  v,
const optional< T & > &  x 
)
constexpr

◆ operator<=() [8/9]

template<class T >
constexpr bool open3d::utility::operator<= ( const T &  v,
const optional< T > &  x 
)
constexpr

◆ operator<=() [9/9]

template<class T >
constexpr bool open3d::utility::operator<= ( nullopt_t  ,
const optional< T > &   
)
constexprnoexcept

◆ operator==() [1/9]

template<class T >
constexpr bool open3d::utility::operator== ( const optional< const T & > &  x,
const T &  v 
)
constexpr

◆ operator==() [2/9]

template<class T >
constexpr bool open3d::utility::operator== ( const optional< T & > &  x,
const T &  v 
)
constexpr

◆ operator==() [3/9]

template<class T >
constexpr bool open3d::utility::operator== ( const optional< T > &  x,
const optional< T > &  y 
)
constexpr

◆ operator==() [4/9]

template<class T >
constexpr bool open3d::utility::operator== ( const optional< T > &  x,
const T &  v 
)
constexpr

◆ operator==() [5/9]

template<class T >
constexpr bool open3d::utility::operator== ( const optional< T > &  x,
nullopt_t   
)
constexprnoexcept

◆ operator==() [6/9]

template<class T >
constexpr bool open3d::utility::operator== ( const T &  v,
const optional< const T & > &  x 
)
constexpr

◆ operator==() [7/9]

template<class T >
constexpr bool open3d::utility::operator== ( const T &  v,
const optional< T & > &  x 
)
constexpr

◆ operator==() [8/9]

template<class T >
constexpr bool open3d::utility::operator== ( const T &  v,
const optional< T > &  x 
)
constexpr

◆ operator==() [9/9]

template<class T >
constexpr bool open3d::utility::operator== ( nullopt_t  ,
const optional< T > &  x 
)
constexprnoexcept

◆ operator>() [1/9]

template<class T >
constexpr bool open3d::utility::operator> ( const optional< const T & > &  x,
const T &  v 
)
constexpr

◆ operator>() [2/9]

template<class T >
constexpr bool open3d::utility::operator> ( const optional< T & > &  x,
const T &  v 
)
constexpr

◆ operator>() [3/9]

template<class T >
constexpr bool open3d::utility::operator> ( const optional< T > &  x,
const optional< T > &  y 
)
constexpr

◆ operator>() [4/9]

template<class T >
constexpr bool open3d::utility::operator> ( const optional< T > &  x,
const T &  v 
)
constexpr

◆ operator>() [5/9]

template<class T >
constexpr bool open3d::utility::operator> ( const optional< T > &  x,
nullopt_t   
)
constexprnoexcept

◆ operator>() [6/9]

template<class T >
constexpr bool open3d::utility::operator> ( const T &  v,
const optional< const T & > &  x 
)
constexpr

◆ operator>() [7/9]

template<class T >
constexpr bool open3d::utility::operator> ( const T &  v,
const optional< T & > &  x 
)
constexpr

◆ operator>() [8/9]

template<class T >
constexpr bool open3d::utility::operator> ( const T &  v,
const optional< T > &  x 
)
constexpr

◆ operator>() [9/9]

template<class T >
constexpr bool open3d::utility::operator> ( nullopt_t  ,
const optional< T > &   
)
constexprnoexcept

◆ operator>=() [1/9]

template<class T >
constexpr bool open3d::utility::operator>= ( const optional< const T & > &  x,
const T &  v 
)
constexpr

◆ operator>=() [2/9]

template<class T >
constexpr bool open3d::utility::operator>= ( const optional< T & > &  x,
const T &  v 
)
constexpr

◆ operator>=() [3/9]

template<class T >
constexpr bool open3d::utility::operator>= ( const optional< T > &  ,
nullopt_t   
)
constexprnoexcept

◆ operator>=() [4/9]

template<class T >
constexpr bool open3d::utility::operator>= ( const optional< T > &  x,
const optional< T > &  y 
)
constexpr

◆ operator>=() [5/9]

template<class T >
constexpr bool open3d::utility::operator>= ( const optional< T > &  x,
const T &  v 
)
constexpr

◆ operator>=() [6/9]

template<class T >
constexpr bool open3d::utility::operator>= ( const T &  v,
const optional< const T & > &  x 
)
constexpr

◆ operator>=() [7/9]

template<class T >
constexpr bool open3d::utility::operator>= ( const T &  v,
const optional< T & > &  x 
)
constexpr

◆ operator>=() [8/9]

template<class T >
constexpr bool open3d::utility::operator>= ( const T &  v,
const optional< T > &  x 
)
constexpr

◆ operator>=() [9/9]

template<class T >
constexpr bool open3d::utility::operator>= ( nullopt_t  ,
const optional< T > &  x 
)
constexprnoexcept

◆ Overload()

template<typename... Ts>
Overloaded<Ts...> open3d::utility::Overload ( Ts...  ts)

Overloads an arbitrary set of (lambda) functions.

Example:

auto Func = utility::Overload(
[&](int i) { utility::LogInfo("Got int {}", i); },
[&](float f) { utility::LogInfo("Got float {}", f); });
Func(1); // Prints: Got int 1
Func(2.4f); // Prints: Got float 2.4
#define LogInfo(...)
Definition: Logging.h:73
Overloaded< Ts... > Overload(Ts... ts)
Definition: Overload.h:55

◆ ProgramOptionExists()

bool open3d::utility::ProgramOptionExists ( int  argc,
char **  argv,
const std::string &  option 
)

◆ ProgramOptionExistsAny()

bool open3d::utility::ProgramOptionExistsAny ( int  argc,
char **  argv,
const std::vector< std::string > &  options 
)

◆ RightStripString()

std::string & open3d::utility::RightStripString ( std::string &  str,
const std::string &  chars 
)

◆ RotationMatrixX()

Eigen::Matrix3d open3d::utility::RotationMatrixX ( double  radians)

◆ RotationMatrixY()

Eigen::Matrix3d open3d::utility::RotationMatrixY ( double  radians)

◆ RotationMatrixZ()

Eigen::Matrix3d open3d::utility::RotationMatrixZ ( double  radians)

◆ SetVerbosityLevel()

void open3d::utility::SetVerbosityLevel ( VerbosityLevel  level)

Set global verbosity level of Open3D

Parameters
levelMessages with equal or less than verbosity_level verbosity will be printed.

◆ SkewMatrix()

Eigen::Matrix3d open3d::utility::SkewMatrix ( const Eigen::Vector3d &  vec)

Genretate a skew-symmetric matrix from a vector 3x1.

◆ Sleep()

void open3d::utility::Sleep ( int  milliseconds)

◆ SolveJacobianSystemAndObtainExtrinsicMatrix()

std::tuple< bool, Eigen::Matrix4d > open3d::utility::SolveJacobianSystemAndObtainExtrinsicMatrix ( const Eigen::Matrix6d &  JTJ,
const Eigen::Vector6d &  JTr 
)

Function to solve Jacobian system Input: 6x6 Jacobian matrix and 6-dim residual vector. Output: tuple of is_success, 4x4 extrinsic matrices.

◆ SolveJacobianSystemAndObtainExtrinsicMatrixArray()

std::tuple< bool, std::vector< Eigen::Matrix4d, Matrix4d_allocator > > open3d::utility::SolveJacobianSystemAndObtainExtrinsicMatrixArray ( const Eigen::MatrixXd &  JTJ,
const Eigen::VectorXd &  JTr 
)

Function to solve Jacobian system Input: 6nx6n Jacobian matrix and 6n-dim residual vector. Output: tuple of is_success, n 4x4 motion matrices.

◆ SolveLinearSystemPSD()

std::tuple< bool, Eigen::VectorXd > open3d::utility::SolveLinearSystemPSD ( const Eigen::MatrixXd &  A,
const Eigen::VectorXd &  b,
bool  prefer_sparse,
bool  check_symmetric,
bool  check_det,
bool  check_psd 
)

Function to solve Ax=b.

◆ SplitString()

std::vector< std::string > open3d::utility::SplitString ( const std::string &  str,
const std::string &  delimiters = " ",
bool  trim_empty_str = true 
)

Function to split a string, mimics boost::split http://stackoverflow.com/questions/236129/split-a-string-in-c

◆ StringEndsWith()

bool open3d::utility::StringEndsWith ( const std::string &  src,
const std::string &  tar 
)

Returns true if src ends with tar.

Parameters
srcSource string.
tarTarget string.

◆ StringStartsWith()

bool open3d::utility::StringStartsWith ( const std::string &  src,
const std::string &  tar 
)

Returns true if src starts with tar.

Parameters
srcSource string.
tarTarget string.

◆ StringToJson()

Json::Value open3d::utility::StringToJson ( const std::string &  json_str)

Parse string and convert to Json::value. Throws exception if the conversion is invalid.

Parameters
json_strString containing json value.
Returns
A Json object.

◆ StripString()

std::string & open3d::utility::StripString ( std::string &  str,
const std::string &  chars = "\t\n\v\f\r " 
)

Strip empty characters in front and after string. Similar to Python's str.strip()

◆ swap()

template<class T >
void open3d::utility::swap ( optional< T > &  x,
optional< T > &  y 
)
noexcept

◆ ToLower()

std::string open3d::utility::ToLower ( const std::string &  str)

Convert string to the lower case.

◆ ToUpper()

std::string open3d::utility::ToUpper ( const std::string &  str)

Convert string to the upper case.

◆ TransformMatrix4dToVector6d()

Eigen::Vector6d open3d::utility::TransformMatrix4dToVector6d ( const Eigen::Matrix4d &  input)

Function to transform 4D motion matrix to 6D motion vector this is consistent with the matlab function in the Aerospace Toolbox Reference: https://github.com/qianyizh/ElasticReconstruction/blob/master/Matlab_Toolbox/Core/mrEvaluateRegistration.m

◆ TransformVector6dToMatrix4d()

Eigen::Matrix4d open3d::utility::TransformVector6dToMatrix4d ( const Eigen::Vector6d &  input)

Function to transform 6D motion vector to 4D motion matrix Reference: https://eigen.tuxfamily.org/dox/group__TutorialGeometry.html#TutorialGeoTransform

◆ WordLength()

size_t open3d::utility::WordLength ( const std::string &  doc,
size_t  start_pos,
const std::string &  valid_chars = "_" 
)

String util: find length of current word staring from a position By default, alpha numeric chars and chars in valid_chars are considered as valid characters in a word

Variable Documentation

◆ in_place

constexpr in_place_t open3d::utility::in_place {}
constexpr

◆ nullopt

constexpr nullopt_t open3d::utility::nullopt {nullopt_t::init()}
constexpr

◆ trivial_init

constexpr struct open3d::utility::trivial_init_t open3d::utility::trivial_init