Open3D (C++ API)  0.19.0
Loading...
Searching...
No Matches
open3d::utility Namespace Reference

Namespaces

namespace  filesystem
namespace  detail_
namespace  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

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.
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.
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.
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.
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].
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.
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.
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.
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.
void Extract (const std::string &file_path, const std::string &extract_dir)
 Function to extract compressed files.
void ExtractFromZIP (const std::string &file_path, const std::string &extract_dir)
 Function to extract files compressed in .zip format.
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.
std::string ToUpper (const std::string &s)
 Convert string to the upper case.
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.
template<typename... Args>
std::string FormatString (const std::string &format, Args... args)
 Format string.
template<typename... Args>
std::string FastFormatString (const std::string &format, Args... args)
 Format string fast (Unix / BSD Only).
int DivUp (int x, int y)
 Computes the quotient of x/y with rounding up.
Json::Value StringToJson (const std::string &json_str)
 Parse string and convert to Json::value. Throws exception if the conversion is invalid.
std::string JsonToString (const Json::Value &json)
 Serialize a Json::Value to a string.
void SetVerbosityLevel (VerbosityLevel level)
VerbosityLevel GetVerbosityLevel ()
 Get global verbosity level of Open3D.
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 >::type > make_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.
bool InParallel ()
 Returns true if in an parallel section.
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 = Eigen::aligned_allocator<Eigen::Matrix4d>

◆ Matrix6d_allocator

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

◆ OptionalBase

template<class T>
using open3d::utility::OptionalBase
Initial value:
typename std::conditional<
std::is_trivially_destructible<T>::value,
constexpr_optional_base<typename std::remove_const<
T>::type>,
Definition Optional.h:192

◆ Vector2d_allocator

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

◆ Vector3uint8_allocator

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

◆ Vector4d_allocator

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

◆ Vector4i_allocator

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

◆ Vector6d_allocator

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

Enumeration Type Documentation

◆ ISATarget

enum class open3d::utility::ISATarget
strong

Set of known ISA targets.

Enumerator
SSE2 
SSE4 
AVX 
AVX2 
AVX512KNL 
AVX512SKX 
NEON 
GENX 
UNKNOWN 
DISABLED 

◆ TextColor

enum class open3d::utility::TextColor
strong
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>
T && open3d::utility::constexpr_forward ( typename std::remove_reference< T >::type && t)
inlineconstexprnoexcept

◆ constexpr_forward() [2/2]

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

◆ constexpr_move()

template<class T>
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>
optional< X & > open3d::utility::make_optional ( std::reference_wrapper< X > v)
constexpr

◆ make_optional() [2/2]

template<class T>
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>
bool open3d::utility::operator!= ( const optional< const T & > & x,
const T & v )
constexpr

◆ operator!=() [2/9]

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

◆ operator!=() [3/9]

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

◆ operator!=() [4/9]

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

◆ operator!=() [5/9]

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

◆ operator!=() [6/9]

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

◆ operator!=() [7/9]

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

◆ operator!=() [8/9]

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

◆ operator!=() [9/9]

template<class T>
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>
bool open3d::utility::operator< ( const optional< const T & > & x,
const T & v )
constexpr

◆ operator<() [2/9]

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

◆ operator<() [3/9]

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

◆ operator<() [4/9]

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

◆ operator<() [5/9]

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

◆ operator<() [6/9]

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

◆ operator<() [7/9]

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

◆ operator<() [8/9]

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

◆ operator<() [9/9]

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

◆ operator<=() [1/9]

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

◆ operator<=() [2/9]

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

◆ operator<=() [3/9]

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

◆ operator<=() [4/9]

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

◆ operator<=() [5/9]

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

◆ operator<=() [6/9]

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

◆ operator<=() [7/9]

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

◆ operator<=() [8/9]

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

◆ operator<=() [9/9]

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

◆ operator==() [1/9]

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

◆ operator==() [2/9]

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

◆ operator==() [3/9]

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

◆ operator==() [4/9]

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

◆ operator==() [5/9]

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

◆ operator==() [6/9]

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

◆ operator==() [7/9]

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

◆ operator==() [8/9]

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

◆ operator==() [9/9]

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

◆ operator>() [1/9]

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

◆ operator>() [2/9]

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

◆ operator>() [3/9]

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

◆ operator>() [4/9]

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

◆ operator>() [5/9]

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

◆ operator>() [6/9]

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

◆ operator>() [7/9]

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

◆ operator>() [8/9]

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

◆ operator>() [9/9]

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

◆ operator>=() [1/9]

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

◆ operator>=() [2/9]

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

◆ operator>=() [3/9]

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

◆ operator>=() [4/9]

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

◆ operator>=() [5/9]

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

◆ operator>=() [6/9]

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

◆ operator>=() [7/9]

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

◆ operator>=() [8/9]

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

◆ operator>=() [9/9]

template<class T>
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
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

in_place_t open3d::utility::in_place {}
constexpr

◆ nullopt

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

◆ trivial_init

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