CVB++ 15.0
Cvb Namespace Reference

Root namespace for the Image Manager interface. More...

Namespaces

namespace  Async
 Convenience classes for asynchronous image acquisition.
 
namespace  CodecBridge
 Namespace for encoding and decoding videos.
 
namespace  CodeReader
 Namespace for all decoding functionalities.
 
namespace  Dnc
 Namespace for Match3D DNC (CAD-based 3D-object recognition).
 
namespace  Driver
 Namespace for driver or device related operations.
 
namespace  ErrorCodes
 Classic API error codes.
 
namespace  Foundation
 Namespace for the Foundation package.
 
namespace  GenApi
 Namespace for GenApi based device configuration.
 
namespace  GevServer
 Describes a GenICam Pixel Format Naming Convention (PFNC) compatible image memory buffer with possibly additional data.
 
namespace  Match3D
 Namespace for Match3D ICP.
 
namespace  Minos
 Namespace for the Minos package.
 
namespace  Movie2
 Record movies with classes from this tool.
 
namespace  Pfnc
 GenICam Pixel Format Naming Convention (PFNC) related components.
 
namespace  Polimago
 Namespace for the Polimago package.
 
namespace  RTPStreaming
 Namespace for RTP streaming.
 
namespace  SampleDatabase
 Namespace for the SampleDatabase package.
 
namespace  ShapeFinder2
 Namespace for the ShapeFinder2 package.
 
namespace  Shims
 Namespace to for standard types that are not available in C++14.
 
namespace  Spectral
 Namespace for the Spectral package.
 
namespace  UI
 Namespace for user interface components.
 
namespace  Utilities
 Namespace for helpers and utilities, which are not directly related to image processing.
 
namespace  WebStreaming
 Namespace for streaming images via web sockets.
 

Classes

class  AffineMatrix2D
 Compacted affine matrix describing the Common Vision Blox coordinate system. More...
 
class  AffineMatrix3D
 Affine transformation for 3D containing a transformation matrix and a translation vector. More...
 
struct  AffineTransformationParameters
 Parameters of a 3D affine transformation matrix correcting an inclined laser plane. More...
 
class  Angle
 Object for convenient and type - safe handling of angles. More...
 
class  Area2D
 Structure that represents an area of interest in the image. More...
 
class  ArrayAccess
 Access trait for contiguous linear CVB image planes. More...
 
class  AtCalibrator3D
 Calibration object to apply 3D calibration of sensor provided by Automation Technology (AT) to point clouds. More...
 
class  bad_optional_access
 Error when accessing not set value. More...
 
class  bad_variant_access
 Error when accessing not set alternative. More...
 
class  Block
 Non-owning view on a 2d-plane of data. More...
 
class  BlockBase
 Base class for all typed Cvb::Block types. More...
 
class  BooleanNode
 Node representing a true / false value. More...
 
class  Buffer
 Buffer class implementing a buffer. More...
 
class  BufferBase
 Base class of all buffers. More...
 
class  Calibrator3D
 Base calibration class to apply 3D calibration to point clouds. More...
 
class  CancellationToken
 A token to enable cancellation on wait operations. More...
 
class  CancellationTokenSource
 Provides tokens and signals tokens cancellation. More...
 
class  CategoryNode
 Node that logically groups other nodes. More...
 
class  Circle
 Class representing a circle. More...
 
class  Classifier
 ShapeFinder2 classifier object. More...
 
class  ClassifierFactory
 ShapeFinder2 classifier factory object. More...
 
class  CommandNode
 A node that can be executed. More...
 
class  ComponentsPointers3D
 Point components of the point cloud. More...
 
class  Composite
 Component class is a container for CVB objects. More...
 
class  CompositeStream
 Streams composites. More...
 
class  CompositeStreamBase
 Base class of all composite based streams. More...
 
class  CompressedPFNCBuffer
 PFNC buffer class implementing a compressed pfnc buffer. More...
 
class  ConstRefValue
 This class holds references to K values of type T. More...
 
class  Cube
 Spectral Cube object. More...
 
class  Cuboid
 3D rectangle in the X, Y and Z domain. More...
 
class  CvbException
 Special runtime exception to carry a native error code. More...
 
class  DataType
 Data type description for an image plane. More...
 
class  DenseComponentsPointers3D
 Point components of a dense point cloud. More...
 
class  DensePointCloud
 A dense Cartesian 3D point cloud object. More...
 
class  Device
 Generic CVB physical device. More...
 
class  DeviceControl
 Implementation of the device control interface. More...
 
class  DeviceControlCommand
 A specific command to send to the driver. More...
 
class  DeviceFactory
 Factory object for creating device objects. More...
 
class  DeviceImage
 Special device image. More...
 
class  DigitalIO
 Digital I/O operations on a device. More...
 
class  DiscoveryInformation
 Stores information on a discovered device/node. More...
 
class  Ellipse
 Class representing an ellipse. More...
 
class  EmuDevice
 A device representing an image stream based on single image files. More...
 
class  EnumEntryNode
 One entry in an enumeration. More...
 
class  EnumerationNode
 A node that presents a choice of values. More...
 
class  EventCookie
 Cookie used to unregister event handlers. More...
 
class  Factors3D
 Factor components to be applied in the 3D domain. More...
 
class  FactorsCalibrator3D
 Calibration object to apply factors component wise. More...
 
class  FloatNode
 Represents a floating point number. More...
 
class  FloatRegNode
 Floating point value register. More...
 
struct  Flow
 Struct handling the size and buffer of a flow. More...
 
struct  FlowInfo
 Struct handling the size, alignment and number of flows per set. More...
 
class  FlowSetPool
 FlowSetPool class to set external buffers as set of flows. More...
 
class  FWUpdater
 Firmware updater class. More...
 
struct  GapFillingOptions
 Options for gap filling with function FillGaps. More...
 
class  GenICamDevice
 A device representing a GenICam compliant device. More...
 
class  HandleOnly
 HandleOnly class is as it says a handle only. More...
 
class  IArray
 Array interface. More...
 
class  Image
 The Common Vision Blox image. More...
 
class  ImagePlane
 Image plane information container. More...
 
class  ImageRect
 Image rectangle operations on a device. More...
 
class  ImageStream
 Streams images. More...
 
class  IndexedStream
 A stream with a finite number of images, which can also be accessed via an index. More...
 
class  IntegerNode
 Represents a integer number. More...
 
class  Interpolator
 Spectral Interpolator object. More...
 
class  IntRegNode
 Integer value register. More...
 
class  LaserPlaneCalibrator3D
 Calibration object to applying parameters calibrating laser plane. More...
 
class  LaserPlaneHomographyCalibrator3D
 Calibration object from CVB Metric to apply a x-z homography for laser triangulation cameras. More...
 
class  LaserPlaneZigZagCalibrator3D
 Calibration object to apply zig zag algorithm to the range map of a laser triangulation cameras. More...
 
class  LicenseInfo
 Information about CVB licenses. More...
 
class  Line2D
 Object representing an infinite line in 2 dimensional space. More...
 
class  LinearAccessData
 Linear access properties. More...
 
class  LinearValue
 This class is memory compatible to K values of type T. More...
 
class  LocalMaximum
 Result type returned by the FindLocalMaxima function. More...
 
class  MagicNumberEntry
 A single Magic Number entry. More...
 
class  Matrix2D
 Double precision 2x2 matrix class. More...
 
class  Matrix3D
 Double precision 3x3 matrix class. More...
 
class  Matrix3DH
 Double precision row-major 4x4 matrix. More...
 
class  MatrixCalibrator3D
 Calibration object to apply 4x4 matrix to each point. More...
 
class  Mesh
 3D mesh object consisting of polygons. More...
 
class  MetaData
 Spectral MetaData object. More...
 
struct  monostate
 Unit type intended for use as a well-behaved empty alternative in Shims::variant. More...
 
class  MultiPartImage
 MultiPart image class. More...
 
class  MultiStreamHandler
 Handler object for multiple synchronous streams. More...
 
class  NetworkConnection
 Basic network connection operations. More...
 
class  Node
 Basic GenApi node for device feature access. More...
 
class  NodeMap
 Contains all nodes of a device or module. More...
 
class  NodeMapEnumerator
 Lazy enumeration of node maps. More...
 
class  NotifyArgs
 Event argument for notification events. More...
 
class  NotifyObservable
 Single notify event observable. More...
 
struct  nullopt_t
 Indicates optional() type with uninitialized state. More...
 
class  optional
 This class is a replacement for C++17 std::optional. More...
 
class  PanoramicMappedImage
 Mapped image of two merged source images. More...
 
class  PFNCBuffer
 PFNC buffer class implementing a pfnc buffer. More...
 
class  PinholeCameraCalibrator3D
 Calibration object to apply the pinhole camera model to the input range map. More...
 
class  PixelFormatConverter
 Helper class that takes care of pixel format conversion. More...
 
class  Plane
 Plane information container. More...
 
class  Plane3D
 A plane in 3D space in Hessian normal form. More...
 
class  PlaneEnumerator
 Lazy enumeration of planes. More...
 
class  PlaneTraits
 
class  Point2D
 Multi-purpose 2D vector class. More...
 
class  Point3D
 Multi-purpose 3D vector class. More...
 
class  Point3DC
 Multi-purpose 3D vector class with confidence. More...
 
class  Point3DH
 Multi-purpose 3D vector class (homogeneous). More...
 
class  PointCloud
 A point cloud object. More...
 
class  PointCloudFactory
 Factory object for creating point cloud objects. More...
 
class  PointCloudStream
 Streams point clouds. More...
 
class  Polygon3D
 A polygon in 3D space. More...
 
class  PortNode
 Port nodes are the connection to the remote device. More...
 
class  RateCounter
 Frame rate measurement counter with selectable averaging window. More...
 
class  Rect
 Rectangle object. More...
 
class  RectLT
 Rectangle object. More...
 
class  RefValue
 This class holds mutable references to K values of type T. More...
 
class  RegisterNode
 Untyped register access (only memory). More...
 
class  RingBuffer
 Ring buffer operations on a device. More...
 
class  RingBufferImage
 Stream image that is returned, when the ring buffer interface is available on a device. More...
 
class  ScatterAccess
 Access trait for multiple, possibly scattered planes. More...
 
class  SearchResult
 Search result as returned by the classifier. More...
 
class  SelectorNode
 Groups nodes, that are dependent on this one. More...
 
class  SensorSettings
 Class to store camera sensor settings. More...
 
class  SingleStreamHandler
 Handler object for a single stream. More...
 
class  Size2D
 Stores a pair of numbers that represents the width and the height of a subject, typically a rectangle. More...
 
class  SoftwareTrigger
 Implementation of the software trigger. More...
 
class  SparseComponentsPointers3D
 Point components of a sparse point cloud. More...
 
class  SparsePointCloud
 A sparse Cartesian 3D point cloud object. More...
 
class  StopWatch
 Speed measurement object. More...
 
class  Stream
 Represents one acquisition stream of a device. More...
 
class  StreamBase
 Base class of all streams. More...
 
class  StreamHandlerBase
 Stream handler for synchronous streams. More...
 
class  StreamHandlerGuard
 Handler guard object to safely run and finish stream handlers. More...
 
class  StreamImage
 Base class of all stream related images. More...
 
class  StringNode
 String value node. More...
 
class  StringRegNode
 String value register. More...
 
class  ValueAccessBase
 Common base class for access traits, providing typed Value access to planes. More...
 
class  ValueNode
 Base class for all nodes, that have a value. More...
 
class  ValueRange
 Container for range definitions. More...
 
class  variant
 This class is a replacement for C++17 std::variant. More...
 
struct  variant_alternative
 Compile-time index access to the type of the alternatives at index I. More...
 
struct  variant_size
 Get the number of alternatives in a variant. More...
 
class  VideoDevice
 A device representing a video stream from the hard disk. More...
 
class  VinConnectionInformation
 Contains the board and port information of a device or its access token. More...
 
class  VinDevice
 A device representing a video interface driver (vin). More...
 
class  Vpat
 Virtual Pixel Access Table. More...
 
class  WaitResult
 A combined result returned after waiting for a image. More...
 
class  WhiteBalanceFactors
 Factors for white balance correction. More...
 
class  WrappedCube
 Spectral Wrapped cube objects are linear non-owning cubes. More...
 
class  WrappedImage
 A wrapped image wraps another pixel buffer without owning it. More...
 

Typedefs

using CompositeVariant
 Variant that can contain the different types of composite items.
 
using PointCloudPtr = std::shared_ptr<PointCloud>
 Convenience shared pointer for PointCloud.
 
using DensePointCloudPtr = std::shared_ptr<DensePointCloud>
 Convenience shared pointer for DensePointCloud.
 
using SparsePointCloudPtr = std::shared_ptr<SparsePointCloud>
 Convenience shared pointer for SparsePointCloud.
 
using Calibrator3DPtr = std::shared_ptr<Calibrator3D>
 Convenience shared pointer for Calibrator3D.
 
using AtCalibrator3DPtr = std::shared_ptr<AtCalibrator3D>
 Convenience shared pointer for AtCalibrator3D.
 
using FactorsCalibrator3DPtr = std::shared_ptr<FactorsCalibrator3D>
 Convenience shared pointer for FactorsCalibrator3D.
 
using MatrixCalibrator3DPtr = std::shared_ptr<MatrixCalibrator3D>
 Convenience shared pointer for MatrixCalibrator3D.
 
using PinholeCameraCalibrator3DPtr = std::shared_ptr<PinholeCameraCalibrator3D>
 Convenience shared pointer for PinholeCameraCalibrator3D.
 
using LaserPlaneCalibrator3DPtr = std::shared_ptr<LaserPlaneCalibrator3D>
 Convenience shared pointer for LaserPlaneCalibrator3D.
 
using LaserPlaneHomographyCalibrator3DPtr = std::shared_ptr<LaserPlaneHomographyCalibrator3D>
 Convenience shared pointer for LaserPlaneHomographyCalibrator3D.
 
using LaserPlaneZigZagCalibrator3DPtr = std::shared_ptr<LaserPlaneZigZagCalibrator3D>
 Convenience shared pointer for LaserPlaneZigZagCalibrator3D.
 
template<class T>
using MeshPtr = std::shared_ptr<Mesh<T>>
 Convenience shared pointer for Mesh.
 
using BufferPtr = std::shared_ptr<Buffer>
 Convenience shared pointer for Buffer.
 
using BufferBasePtr = std::shared_ptr<BufferBase>
 Convenience shared pointer for BufferBase.
 
using PFNCBufferPtr = std::shared_ptr<PFNCBuffer>
 Convenience shared pointer for PFNCBuffer.
 
using CompressedPFNCBufferPtr = std::shared_ptr<CompressedPFNCBuffer>
 Convenience shared pointer for a compressed PFNCBuffer.
 
using PlanePtr = std::shared_ptr<Plane>
 Convenience shared pointer for Plane.
 
using PlaneEnumeratorPtr = std::shared_ptr<PlaneEnumerator>
 Convenience shared pointer for PlaneEnumerator.
 
using ImagePtr = std::shared_ptr<Image>
 Convenience shared pointer for Image.
 
using WrappedImagePtr = std::shared_ptr<WrappedImage>
 Convenience shared pointer for WrappedImage.
 
using PanoramicMappedImagePtr = std::shared_ptr<PanoramicMappedImage>
 Convenience shared pointer for PanoramicMappedImageImage.
 
using DevicePtr = std::shared_ptr<Device>
 Convenience shared pointer for Device.
 
using CompositePtr = std::shared_ptr<Composite>
 Convenience shared pointer for Composite.
 
using HandleOnlyPtr = std::shared_ptr<HandleOnly>
 Convenience shared pointer for HandleOnly.
 
using CancellationTokenPtr = std::shared_ptr<CancellationToken>
 Convenience shared pointer for CancellationToken.
 
using CancellationTokenSourcePtr = std::shared_ptr<CancellationTokenSource>
 Convenience shared pointer for CancellationTokenSource.
 
using PixelFormatConverterPtr = std::shared_ptr<PixelFormatConverter>
 Convenience shared pointer for PixelFormatConverter.
 
template<class T>
using Vector2D = Point2D<T>
 Alias for Point2D.
 
template<class T>
using Vector3D = Point3D<T>
 Alias for Point3D.
 
template<class T>
using Vector3DC = Point3DC<T>
 Alias for Point3D.
 
template<class T>
using Vector3DH = Point3DH<T>
 Alias for Point3D.
 
using String = std::string
 String for wide characters or unicode characters.
 
using StringStream = std::stringstream
 String stream for wide characters or unicode characters.
 
using Char = char
 Character type for wide characters or unicode characters.
 
using Regex = std::regex
 Regular expression for wide characters or unicode characters.
 
template<class STREAMTYPE>
using StreamHandlerBasePtr
 Convenience shared pointer for GenericMultiStreamHandler.
 
using MultiStreamHandlerPtr
 Convenience shared pointer for MultiStreamHandler.
 
using SingleStreamHandlerPtr
 Convenience shared pointer for SingleStreamHandler.
 
using DeviceControlPtr
 Convenience shared pointer for DeviceControl.
 
using DigitalIOPtr
 Convenience shared pointer for DigitalIO.
 
using ImageRectPtr
 Convenience shared pointer for SoftwareTrigger.
 
using NotifyObservablePtr
 Convenience shared pointer for NotifyObservable.
 
using RingBufferPtr
 Convenience shared pointer for RingBuffer.
 
using SoftwareTriggerPtr
 Convenience shared pointer for SoftwareTrigger.
 
using BufferImagePtr
 Convenience shared pointer for BufferImage.
 
using CompositeStreamBasePtr
 Convenience shared pointer for CompositeStreamBase.
 
using CompositeStreamPtr
 Convenience shared pointer for CompositeStream.
 
using DeviceImagePtr
 Convenience shared pointer for DeviceImage.
 
using EmuDevicePtr
 Convenience shared pointer for EmuDevice.
 
using GenICamDevicePtr
 Convenience shared pointer for GenICamDevice.
 
using ImageStreamPtr
 Convenience shared pointer for ImageStream.
 
using IndexedStreamPtr
 Convenience shared pointer for IndexedStream.
 
using MultiPartImagePtr
 Convenience shared pointer for StreamImage.
 
using NonStreamingDevicePtr
 Convenience shared pointer for NonStreamingDevice.
 
using PointCloudStreamPtr
 Convenience shared pointer for PointCloudStream.
 
using RingBufferImagePtr
 Convenience shared pointer for RingBufferImage.
 
using StreamBasePtr
 Convenience shared pointer for StreamBase.
 
using StreamImagePtr
 Convenience shared pointer for StreamImage.
 
using StreamPtr
 Convenience shared pointer for Stream.
 
using VideoDevicePtr
 Convenience shared pointer for VideoDevice.
 
using VinDevicePtr
 Convenience shared pointer for VinDevice.
 
using EmuImagePtr
 Convenience shared pointer for EmuImage.
 
using FlowSetPoolPtr
 Convenience shared pointer for FlowSetPool.
 
using VideoImagePtr
 Convenience shared pointer for VideoImage.
 
using VinImagePtr
 Convenience shared pointer for VinImage.
 
template<class T>
using WaitResultTuple
 Tuple holding multiple return values after waiting for a specific payload data.
 
using NodeMapPtr
 Convenience shared pointer for NodeMap.
 
using BooleanNodePtr
 Convenience shared pointer for BooleanNode.
 
using CategoryNodePtr
 Convenience shared pointer for CategoryNode.
 
using CommandNodePtr
 Convenience shared pointer for CommandNode.
 
using EnumEntryNodePtr
 Convenience shared pointer for EnumEntryNode.
 
using EnumerationNodePtr
 Convenience shared pointer for EnumerationNode.
 
using FloatNodePtr
 Convenience shared pointer for FloatNode.
 
using FloatRegNodePtr
 Convenience shared pointer for FloatRegNode.
 
using IntegerNodePtr
 Convenience shared pointer for IntegerNode.
 
using IntRegNodePtr
 Convenience shared pointer for IntRegNode.
 
using NodePtr
 Convenience shared pointer for Node.
 
using PortNodePtr
 Convenience shared pointer for PortNode.
 
using RegisterNodePtr
 Convenience shared pointer for RegisterNode.
 
using SelectorNodePtr
 Convenience shared pointer for SelectorNode.
 
using StringNodePtr
 Convenience shared pointer for StringNode.
 
using StringRegNodePtr
 Convenience shared pointer for StringRegNode.
 
using ValueNodePtr
 Convenience shared pointer for ValueNode.
 
using RateCounterPtr
 Convenience shared pointer for RateCounter.
 
using StopWatchPtr
 Convenience shared pointer for StopWatch.
 

Enumerations

enum class  PointCloudFlags {
  Float = CExports::CVC3DPCF_DTFloat , Double = CExports::CVC3DPCF_DTDouble , XYZ = CExports::CVC3DPCF_XYZ , XYZW = CExports::CVC3DPCF_XYZW ,
  XYZConfidence = CExports::CVC3DPCF_XYZConfidence , WithConfidence = CExports::CVC3DPCF_WithConfidence , NoExtrinsic = CExports::CVC3DPCF_NoExtrinsic , NoMeshIndices = CExports::CVC3DPCF_NoMeshIndices
}
 Flags for creating point clouds. More...
 
enum  PointCloudFileFormat { Ascii = CExports::CVC3DPCFF_Ascii , Ply = CExports::CVC3DPCFF_Ply , Stl = CExports::CVC3DPCFF_Stl , WavefrontObj = CExports::CVC3DPCFF_WavefrontObj , Tiff = CExports::CVC3DPCFF_Tiff }
 Supported point cloud point formats. More...
 
enum class  PointCloudLayout {
  Invalid = CExports::CVC3DPCL_Invalid , Linear = CExports::CVC3DPCL_Linear , SeparatePlanar = CExports::CVC3DPCL_SeparatePlanar , Planar = CExports::CVC3DPCL_Planar ,
  Interleaved = CExports::CVC3DPCL_Interleaved
}
 Supported point cloud point layouts. More...
 
enum class  DownSampleMode { DownsampleByFactor = CExports::CVC3DDownsampleByFactor , RemoveRandomly = CExports::CVC3DRemoveRandomly }
 Specifies how to remove points from a point cloud. More...
 
enum class  SensorPixelPosition { Absolute = CExports::CVC3DSPP_Absolute , Relative = CExports::CVC3DSPP_Relative }
 Indicates pixel position on sensor. More...
 
enum class  SensorPixelsMirrored { None = CExports::CVC3DSPM_None , X = CExports::CVC3DSPM_X , Y = CExports::CVC3DSPM_Y , XY = CExports::CVC3DSPM_XY }
 Indicates if sensor pixels are mirrored in rangemap. More...
 
enum class  CropRange { CropWithinRange = CExports::CVC3DC_CropWithinRange , CropOutsideRange = CExports::CVC3DC_CropOutsideRange }
 Indicates cropping range. More...
 
enum class  CropDirection { Below = 0 , Above = 1 }
 Indicates cropping direction. More...
 
enum class  GapFillingMethod { LinearInterpolation = 0 }
 Supported methods for gap filling. More...
 
enum class  CompressedBufferType { Unknown = CExports::CVCCT_Unknown , JPEG = CExports::CVCCT_JPEG , JPEG2000 = CExports::CVCCT_JPEG2000 }
 The possible image compression types a CVB buffer can transport within GenDC. More...
 
enum class  PixelDataType {
  Undefined , UInt , Int , Float ,
  ComplexPackedFloat
}
 Defines the numeric data type of one pixel. More...
 
enum class  ColorModel {
  RGBGuess = CExports::CM_Guess_RGB , MonoGuess = CExports::CM_Guess_Mono , Unknown = CExports::CM_Unknown , Mono = CExports::CM_Mono ,
  RGB = CExports::CM_RGB , YUV = CExports::CM_YUV , HSI = CExports::CM_HSI , YCbCr = CExports::CM_YCbCr ,
  CieLUV = CExports::CM_LUV , CieLab = CExports::CM_Lab , HLS = CExports::CM_HLS , YCC = CExports::CM_YCC ,
  HSV = CExports::CM_HSV , CieXYZ = CExports::CM_XYZ
}
 Color model that this image is using. More...
 
enum class  DeviceUpdateMode { UpdateDeviceImage , NewDeviceImage }
 Defines how to treat the optional device image, when the device itself is updated. More...
 
enum class  PlaneNormalization { Individual , Identical }
 Plane handling for normalization. More...
 
enum class  CoordinateSystemType { PixelCoordinates , ImageCoordinates }
 Enumeration of the different available coordinate systems that an Area of interest may be defined in. More...
 
enum class  SubPixelMode { ParabolicFast = CExports::TSubPixelMode::SP_Parabolic_Fast , ParabolicAccurate = CExports::TSubPixelMode::SP_Parabolic_Accurate , Gaussian = CExports::TSubPixelMode::SP_Gauss }
 Method for determining sub pixel accuracy when working with the FindLocalMaxima functions. More...
 
enum class  Neighborhood { Use3x3 = 1 , Use5x5 = 2 , Use7x7 = 3 , Use9x9 = 4 }
 Neighborhood to use in sub pixel calculation of local maxima. More...
 
enum class  MappingOption { CopyPixels , LinkPixels }
 Mapping options when creating a (potentially) mapped image. More...
 
enum class  RotationMap { By90Degrees = CExports::VPATROT_90 , By180Degrees = CExports::VPATROT_180 , By270Degrees = CExports::VPATROT_270 }
 Amount of rotation to apply when mapping an image. More...
 
enum class  WaitStatus { Ok = CExports::CVDWS_Ok , Timeout = CExports::CVDWS_Timeout , Abort = CExports::CVDWS_Canceled }
 Status after waiting for an image to be returned. More...
 
enum class  PlaneRole {
  Undefined = CExports::CVCPR_Undefined , PixMono = CExports::CVCPR_PixMono , PixRGB_R = CExports::CVCPR_PixRGB_R , PixRGB_G = CExports::CVCPR_PixRGB_G ,
  PixRGB_B = CExports::CVCPR_PixRGB_B , PixYUV_Y = CExports::CVCPR_PixYUV_Y , PixYUV_U = CExports::CVCPR_PixYUV_U , PixYUV_V = CExports::CVCPR_PixYUV_V ,
  PixHSV_H = CExports::CVCPR_PixHSV_H , PixHSV_S = CExports::CVCPR_PixHSV_S , PixHSV_V = CExports::CVCPR_PixHSV_V , PixLAB_L = CExports::CVCPR_PixLAB_L ,
  PixLAB_A = CExports::CVCPR_PixLAB_A , PixLAB_B = CExports::CVCPR_PixLAB_B , PixConfidence = CExports::CVCPR_PixConfidence , PixRGB_RGB = CExports::CVCPR_PixRGB_RGB ,
  CoordCartesian_X = CExports::CVCPR_CoordCartesian_X , CoordCartesian_Y = CExports::CVCPR_CoordCartesian_Y , CoordCartesian_Z = CExports::CVCPR_CoordCartesian_Z , CoordCartesian_W = CExports::CVCPR_CoordCartesian_W ,
  CoordPolar_Rho = CExports::CVCPR_CoordPolar_Rho , CoordPolar_Phi = CExports::CVCPR_CoordPolar_Phi , CoordCylindrical_Rho = CExports::CVCPR_CoordCylindrical_Rho , CoordCylindrical_Phi = CExports::CVCPR_CoordCylindrical_Phi ,
  CoordCylindrical_Z = CExports::CVCPR_CoordCylindrical_Z , CoordSpherical_Rho = CExports::CVCPR_CoordSpherical_Rho , CoordSpherical_Phi = CExports::CVCPR_CoordSpherical_Phi , CoordSpherical_Theta = CExports::CVCPR_CoordSpherical_Theta ,
  Normal_X = CExports::CVCPR_Normal_X , Normal_Y = CExports::CVCPR_Normal_Y , Normal_Z = CExports::CVCPR_Normal_Z , PointPlanarity = CExports::CVCPR_Point_Planarity ,
  PointVariation = CExports::CVCPR_Point_Variation , PointSphericity = CExports::CVCPR_Point_Sphericity , PointLinearity = CExports::CVCPR_Point_Linearity , PointCurvature = CExports::CVCPR_Point_Curvature ,
  Custom = CExports::CVCPR_Custom
}
 A plane role describes the components of the plane. They can coarsely be separated in two sets. More...
 
enum class  PanoramaDirection { Horizontal = CExports::PM_Horizontal , Vertical = CExports::PM_Vertical }
 Defines the direction of the panoramic image. More...
 
enum class  ConnectionState { NotSupported , Connected , Disconnected }
 Current connection state of the Device. More...
 
enum class  ConversionMode { Automatic }
 Mode used by conversion to dense point cloud. More...
 
enum class  AutoRun
 Defines the auto run mode for the handler guard.
 
enum class  AcquisitionInterface
 Known acquisition CVB interfaces.
 
enum class  AcquisitionStack
 Defines the acquisition stack when opening the device.
 
enum class  AcquisitionState
 Specifies current state of the acquisition engine.
 
enum class  DeviceControlOperation
 Operation on driver specific parameter.
 
enum class  DeviceState
 States the device can be in.
 
enum class  DiscoverFlags
 Flags controlling the discovery process. More...
 
enum class  DiscoveryProperties
 Properties which can be queried from a DiscoveryInformation entry.
 
enum class  ModuleLayer
 Level of an access token entry.
 
enum class  NotifyDataType
 Data type delivered by the event.
 
enum class  PlaybackMode
 Defines how frames are acquired by this video device.
 
enum class  RingBufferLockMode
 Lock mode options for the ring buffer.
 
enum class  StreamInfo
 Queryable stream information. More...
 
enum class  AccessMode
 Access possibility of the node. More...
 
enum class  CacheMode
 Defines how the value is cached.
 
enum class  NumberRepresentation
 Defines how a number is to be interpreted/displayed in a graphical user interface.
 
enum class  ReadWriteVerify
 Controls how read/write operations are verified by the GenApi.
 
enum class  Visibility
 Feature complexity level. More...
 
enum class  StopWatchMode
 Mode at which the StopWatch should work.
 

Functions

AffineMatrix2D operator+ (const AffineMatrix2D &lhs, const AffineMatrix2D &rhs) noexcept
 Add two affine matrices.
 
AffineMatrix2D operator- (const AffineMatrix2D &lhs, const AffineMatrix2D &rhs) noexcept
 Subtract two affine matrices.
 
AffineMatrix2D operator* (const AffineMatrix2D &lhs, const AffineMatrix2D &rhs) noexcept
 Multiply two affine matrices.
 
Point2D< double > operator* (const AffineMatrix2D &lhs, const Point2D< double > &rhs) noexcept
 Multiply affine matrix with 2D point.
 
AffineMatrix2D operator* (const AffineMatrix2D &lhs, const double &rhs) noexcept
 Multiply affine matrix with scalar.
 
AffineMatrix2D operator* (const double &lhs, const AffineMatrix2D &rhs) noexcept
 Multiply scalar with affine matrix .
 
AffineMatrix2D operator/ (const AffineMatrix2D &lhs, const double &rhs)
 Divide affine matrix by scalar.
 
AffineMatrix3D operator+ (const AffineMatrix3D &lhs, const AffineMatrix3D &rhs) noexcept
 Add two transformations.
 
AffineMatrix3D operator- (const AffineMatrix3D &lhs, const AffineMatrix3D &rhs) noexcept
 Subtract two transformations.
 
AffineMatrix3D operator* (const AffineMatrix3D &lhs, const AffineMatrix3D &rhs)
 Multiply two transformations.
 
AffineMatrix3D operator* (const AffineMatrix3D &lhs, const double &rhs) noexcept
 Multiply transformation with scalar.
 
AffineMatrix3D operator* (const double &lhs, const AffineMatrix3D &rhs) noexcept
 Multiply scalar with transformation.
 
AffineMatrix3D operator/ (const AffineMatrix3D &lhs, const double &rhs)
 Divide transformation by scalar.
 
std::unique_ptr< ImageAffineTransform (const Image &image, AffineMatrix2D affineMatrix, Area2D area)
 Creates an affine transformation (homogeneous matrix transformation) of an area of the given image.
 
std::unique_ptr< ImageAffineTransform (const Image &image, AffineMatrix2D affineMatrix)
 Creates an affine transformation (homogeneous matrix transformation) of the whole image.
 
std::unique_ptr< ImageLinearTransform (const Image &image, Matrix2D matrix)
 Creates a linear transformation (matrix transformation).
 
std::unique_ptr< ImageMapTo8Bit (const Image &image, PlaneNormalization planeNormalization=PlaneNormalization::Identical)
 Take an input image and scale the pixel values to fit into the 8 bit value range.
 
std::unique_ptr< ImageNormalizeMinMax (const Image &image, double targetMin, double targetMax)
 Normalize an input image using min/max normalization (the gray values of the image will be stretched or compressed to fit the input target minimum and maximum values).
 
std::unique_ptr< ImageNormalizeMeanVariance (const Image &image, double targetMean, double targetVariance)
 Normalize an input image using mean/variance normalization (the gray values of the image will be stretched modified to generate a histogram as close as possible to the input target mean and variance values).
 
std::unique_ptr< ImagePolarTransform (const Image &image, Point2D< double > center, double innerRadius, double outerRadius, Angle startAngle, Angle totalAngle)
 Create a polar transformation (i.e. unwrap a ring structure from inside source image into a rectangular image).
 
std::unique_ptr< ImagePolarTransform (const Image &image, Point2D< double > center, double innerRadius, double outerRadius)
 Create a polar transformation (i.e. unwrap a ring structure from inside source image into a rectangular image).
 
std::unique_ptr< ImageInversePolarTransform (const Image &image, Angle startAngle, double innerRadius)
 
void InversePolarTransformToDst (const Image &imageSrc, Point2D< double > center, Angle startAngle, double innerRadius, Image &imageDst)
 Create an inverse polar transformed image (i.e. transform an unwrapped image back into a ring structure).
 
std::vector< int > Histogram (const ImagePlane &plane, Area2D aoi, double density=1.0)
 Gather and return the histogram from an 8 bits per pixel unsigned image.
 
std::vector< int > Histogram (const ImagePlane &plane, double density=1.0)
 Gather and return the histogram from an 8 bits per pixel unsigned image.
 
std::vector< LocalMaximumFindLocalMaxima (const ImagePlane &plane, int locality, double threshold, Rect< int > aoi)
 Find local maxima in the input image.
 
std::vector< LocalMaximumFindLocalMaxima (const ImagePlane &plane, int locality, double threshold)
 Find local maxima in the input image.
 
std::vector< LocalMaximumFindLocalMaxima (const ImagePlane &plane, int locality, double threshold, SubPixelMode mode, Neighborhood radius, Rect< int > aoi)
 Find sub pixel accurate local maxima in the input image.
 
std::vector< LocalMaximumFindLocalMaxima (const ImagePlane &plane, int locality, double threshold, SubPixelMode mode, Neighborhood radius)
 Find sub pixel accurate local maxima in the input image.
 
Angle operator+ (const Angle &lhs, const Angle &rhs)
 Add two angles.
 
Angle operator- (const Angle &lhs, const Angle &rhs)
 Subtract two angles.
 
Angle operator/ (const Angle &lhs, const double &rhs)
 Divides an angle by a value.
 
Angle operator* (const Angle &lhs, const double &rhs)
 Multiplies an angle with a value.
 
Angle operator* (const double &lhs, const Angle &rhs)
 Multiplies value with an angle.
 
Angle Abs (Angle angle) noexcept
 Absolute value of an angle.
 
Angle Acos (double d) noexcept
 Returns the angle whose cosine is the specified number.
 
Angle Asin (double d) noexcept
 Returns the angle whose sine is the specified number.
 
Angle Atan (double d) noexcept
 Returns the angle whose tangent is the specified number.
 
Angle Atan2 (double y, double x) noexcept
 Returns the angle whose tangent is the quotient of two specified numbers.
 
double Cos (Angle angle) noexcept
 Returns the cosine of an angle.
 
double Cosh (Angle angle) noexcept
 Returns the hyperbolic cosine of an angle.
 
double Sin (Angle angle) noexcept
 Returns the sine of an angle.
 
double Sinh (Angle angle) noexcept
 Returns the hyperbolic sine of an angle.
 
double Tan (Angle angle) noexcept
 Returns the tangent of an angle.
 
double Tanh (Angle angle) noexcept
 Returns the hyperbolic tangent of an angle.
 
int Sign (Angle angle) noexcept
 Returns a value indicating the sign of an Angle.
 
Angle Max (Angle a, Angle b) noexcept
 Returns the bigger of two angles.
 
Angle Min (Angle a, Angle b) noexcept
 Returns the smaller of two angles.
 
Matrix2D operator+ (const Matrix2D &lhs, const Matrix2D &rhs)
 Add two matrices.
 
Matrix2D operator- (const Matrix2D &lhs, const Matrix2D &rhs)
 Substract two matrices.
 
Matrix2D operator* (const Matrix2D &lhs, const Matrix2D &rhs)
 Multiply two matrices.
 
Point2D< double > operator* (const Matrix2D &lhs, const Point2D< double > &rhs)
 Multiply matrix with 2D point.
 
Matrix2D operator* (const Matrix2D &lhs, const double &rhs)
 Multiply matrix with scalar.
 
Matrix2D operator* (const double &lhs, const Matrix2D &rhs)
 Multiply scalar with matrix .
 
Matrix2D operator/ (const Matrix2D &lhs, const double &rhs)
 Divide matrix by scalar.
 
Matrix3D operator+ (const Matrix3D &lhs, const Matrix3D &rhs)
 Add two matrices.
 
Matrix3D operator- (const Matrix3D &lhs, const Matrix3D &rhs)
 Subtract two matrices.
 
Matrix3D operator* (const Matrix3D &lhs, const Matrix3D &rhs)
 Multiply two matrices.
 
Point3D< double > operator* (const Matrix3D &lhs, const Point3D< double > &rhs)
 Multiply matrix with 3D point.
 
Matrix3D operator* (const Matrix3D &lhs, const double &rhs)
 Multiply matrix with scalar.
 
Matrix3D operator* (const double &lhs, const Matrix3D &rhs)
 Multiply scalar with matrix .
 
Matrix3D operator/ (const Matrix3D &lhs, const double &rhs)
 Divide matrix by scalar.
 
Matrix3DH operator+ (const Matrix3DH &lhs, const Matrix3DH &rhs)
 Add two matrices.
 
Matrix3DH operator- (const Matrix3DH &lhs, const Matrix3DH &rhs)
 Subtract two matrices.
 
Point3DH< double > operator* (const Matrix3DH &lhs, const Point3DH< double > &rhs)
 Multiply matrix with 3D point (homogeneous).
 
Matrix3DH operator* (const Matrix3DH &lhs, const double &rhs)
 Multiply matrix with scalar.
 
Matrix3DH operator* (const double &lhs, const Matrix3DH &rhs)
 Multiply scalar with matrix .
 
Matrix3DH operator/ (const Matrix3DH &lhs, const double &rhs)
 Divide matrix by scalar.
 
template<class T>
Point2D< T > operator+ (const Point2D< T > &lhs, const Point2D< T > &rhs)
 Add two points.
 
template<class T>
Point2D< T > operator- (const Point2D< T > &lhs, const Point2D< T > &rhs)
 Subtracts two points.
 
template<class T>
operator* (const Point2D< T > &lhs, const Point2D< T > &rhs)
 Inner product of two point vectors.
 
template<class T>
Point2D< T > operator* (const Point2D< T > &lhs, const T &rhs)
 Multiply point with scalar.
 
template<class T>
Point2D< T > operator* (const T &lhs, const Point2D< T > &rhs)
 Multiply scalar with point.
 
template<class T>
Point2D< T > operator/ (const Point2D< T > &lhs, const T &rhs)
 Divide point by scalar.
 
template<class T>
Point2D< int > Round (const Point2D< T > &rhs) noexcept
 Round to an integer point.
 
template<class T>
Point3D< T > operator- (const Point3D< T > &lhs, const Point3D< T > &rhs)
 Subtracts two points.
 
template<class T>
operator* (const Point3D< T > &lhs, const Point3D< T > &rhs)
 Inner product of two point vectors.
 
template<class T>
Point3D< T > operator* (const Point3D< T > &lhs, const T &rhs)
 Multiply point with scalar.
 
template<class T>
Point3D< T > operator* (const T &lhs, const Point3D< T > &rhs)
 Multiply scalar with point.
 
template<class T>
Point3D< T > operator/ (const Point3D< T > &lhs, const T &rhs)
 Divide point by scalar.
 
template<class T>
Point3D< int > Round (const Point3D< T > &rhs) noexcept
 Round to an integer point.
 
template<class T>
Point3DC< T > operator- (const Point3DC< T > &lhs, const Point3DC< T > &rhs)
 Subtracts two points.
 
template<class T>
operator* (const Point3DC< T > &lhs, const Point3DC< T > &rhs)
 Inner product of two point vectors.
 
template<class T>
Point3DC< T > operator* (const Point3DC< T > &lhs, const T &rhs)
 Multiply point with scalar.
 
template<class T>
Point3DC< T > operator* (const T &lhs, const Point3DC< T > &rhs)
 Multiply scalar with point.
 
template<class T>
Point3DC< T > operator/ (const Point3DC< T > &lhs, const T &rhs)
 Divide point by scalar.
 
template<class T>
Point3DH< T > operator- (const Point3DH< T > &lhs, const Point3DH< T > &rhs)
 Subtracts two points.
 
template<class T>
operator* (const Point3DH< T > &lhs, const Point3DH< T > &rhs)
 Inner product of two point vectors.
 
template<class T>
Point3DH< T > operator* (const Point3DH< T > &lhs, const T &rhs)
 Multiply point with scalar.
 
template<class T>
Point3DH< T > operator* (const T &lhs, const Point3DH< T > &rhs)
 Multiply scalar with point.
 
template<class T>
Point3DH< T > operator/ (const Point3DH< T > &lhs, const T &rhs)
 Divide point by scalar.
 
CVB_BEGIN_INLINE_NS std::unique_ptr< ImageDifferenceMap (const ImagePlane &rangeMap1, const ImagePlane &rangeMap2)
 Subtracts the given rangeMap2 from rangeMap1.
 
void FillGaps (const ImagePlane &rangeMap, const GapFillingOptions &options)
 This function fills gaps of given range map rangeMap.
 
template<class T>
Rect< int > Round (const Rect< T > &rhs) noexcept
 Round to an integer rectangle.
 
template<class T>
RectLT< int > Round (const RectLT< T > &rhs) noexcept
 Round to an integer rectangle.
 
template<class T>
Size2D< int > Round (const Size2D< T > &rhs) noexcept
 Rounds to an integer size.
 
template<class T>
ValueRange< int > Round (const ValueRange< T > &rhs) noexcept
 Rounds to an integer value range.
 
WhiteBalanceFactors CalculateWhiteBalanceFactors (const Image &image, Area2D aoi)
 Calculate the red, green and blue gain factor for white balancing.
 
void ApplyWhiteBalanceFactors (const Image &image, WhiteBalanceFactors factors)
 Applies the white balance factors to the given image.
 
template<class VISITOR>
auto Visit (VISITOR &&visitor, const PointCloud &cloud)
 Creates a Cvb::Block based on the cloud object's access trait and pixel type and calls the given visitor with it.
 
template<class T, class VISITOR>
auto VisitAs (VISITOR &&visitor, const PointCloud &cloud)
 Creates a Cvb::Block based on the cloud object's access trait and given pixel type T and calls the given visitor with it.
 
template<class VISITOR, class... PLNS>
auto Visit (VISITOR &&visitor, const Plane &plane, const PLNS &...planes)
 Creates a Cvb::Block based on the plane and planes objects' access traits and pixel type and calls the given visitor with it.
 
template<class T, class VISITOR, class... PLNS>
auto VisitAs (VISITOR &&visitor, const Plane &plane, const PLNS &...planes)
 Creates a Cvb::Block based on the plane and planes objects' access traits and given pixel type T and calls the given visitor with it.
 
template<class VISITOR, class... PLANEARGS>
auto Visit (VISITOR &&visitor, const ImagePlane &plane, const PLANEARGS &...planes)
 Creates Cvb::Blocks based on the planes objects' access traits and pixel type, and calls the given visitor with them.
 
template<class PIXEL_TYPE, class VISITOR, class... PLANEARGS>
auto VisitAs (VISITOR &&visitor, const ImagePlane &plane, const PLANEARGS &...planes)
 Creates Cvb::Blocks based on the planes objects' access traits and PIXEL_TYPE and calls the given visitor with them. When the PIXEL_TYPE is compile-time known, this overload is useful to avoid unnecessary template instantiations.
 
template<class VISITOR, class PLANE_T, class... PLANEARGS, std::enable_if_t< std::is_same< typename PlaneTraits< PLANE_T >::PlaneT, PLANE_T >::value, int > = 0>
auto Visit (VISITOR &&visitor, const PLANE_T &plane, const PLANEARGS &...planes)
 Creates a Cvb::Block based on the plane and planes objects' access traits and pixel type and calls the given visitor with it.
 
template<class T, class VISITOR, class PLANE_T, class... PLANEARGS, std::enable_if_t< std::is_same< typename PlaneTraits< PLANE_T >::PlaneT, PLANE_T >::value, int > = 0>
auto VisitAs (VISITOR &&visitor, const PLANE_T &plane, const PLANEARGS &...planes)
 Creates Cvb::Blocks based on the planes objects' access traits and T and calls the given visitor with them. When the T is compile-time known, this variant is useful to avoid unnecessary template instantiations.
 
bool operator!= (const ArrayAccess &lhs, const ArrayAccess &rhs) noexcept
 Inequality operator.
 
bool operator== (const ArrayAccess &lhs, const ArrayAccess &rhs) noexcept
 Equality operator.
 
bool IsInterleaved (size_t bytesPerPixel, const ArrayAccess &access0, const ArrayAccess &access1) noexcept
 Returns whether the ArrayAccesses are directly interleaved.
 
template<class... ACCESSES>
bool IsInterleaved (size_t bytesPerPixel, const ArrayAccess &access0, const ArrayAccess &access1, const ACCESSES &...accs) noexcept
 
bool operator!= (const LinearAccessData &lhs, const LinearAccessData &rhs) noexcept
 Inequality operator.
 
bool operator== (const LinearAccessData &lhs, const LinearAccessData &rhs) noexcept
 Equality operator.
 
bool IsInterleaved (size_t bytesPerPixel, const LinearAccessData &access0, const LinearAccessData &access1) noexcept
 Returns whether the LinearAccesses are directly interleaved.
 
template<class... ACCESSES>
bool IsInterleaved (size_t bytesPerPixel, const LinearAccessData &access0, const LinearAccessData &access1, const ACCESSES &...accs) noexcept
 Returns whether the LinearAccesses are directly interleaved.
 
template<class... ACCESSES>
auto MakeStaticScatterAccess (ACCESSES &&...planeAccesses) -> ScatterAccess< sizeof...(ACCESSES)>
 Creates a static scatter access with the given planes.
 
bool operator!= (const Vpat &lhs, const Vpat &rhs) noexcept
 Inequality operator.
 
bool operator== (const Vpat &lhs, const Vpat &rhs) noexcept
 Equality operator.
 
template<size_t I, class T, size_t K, std::enable_if_t< less< I, K >::value, int > = 0>
get (const LinearValue< T, K > &linVal) noexcept
 Get's the I-th element of the LinearValue<T,K>.
 
template<size_t I, class T, size_t K, std::enable_if_t< less< I, K >::value, int > = 0>
void set (LinearValue< T, K > &linVal, const T &val) noexcept
 Set's the value of the I-th element in the LinearValue<T,K> linVal.
 
template<size_t I, class T, size_t K, std::enable_if_t< less< I, K >::value, int > = 0>
auto get (const RefValue< T, K > &refVal) noexcept -> decltype(refVal[I])
 Get's the I-th element of the RefValue<T,K>.
 
template<size_t I, class T, size_t K, std::enable_if_t< less< I, K >::value, int > = 0>
auto get (const ConstRefValue< T, K > &refVal) noexcept -> decltype(refVal[I])
 Get's the I-th element of the ConstRefValue<T,K>.
 
template<size_t I, class T, size_t K, std::enable_if_t< less< I, K >::value, int > = 0>
void set (RefValue< T, K > &refVal, const T &val) noexcept
 Set's the value of the I-th element in the RefValue<T,K> refVal.
 
template<size_t I, class Ty, size_t K>
CVB_FORCE_INLINE void internal_set (RefValue< Ty, K > &refVal, Ty *val) noexcept
 Set's the I-th pointer in the RefValue<T,K> refVal.
 
template<size_t I, class Ty, size_t K>
CVB_FORCE_INLINE void internal_set (ConstRefValue< Ty, K > &refVal, const Ty *val) noexcept
 Set's the I-th pointer in the ConstRefValue<T,K> refVal.
 
template<size_t I, class T, std::enable_if_t< less< I, 2 >::value, int > = 0>
CVB_BEGIN_INLINE_NS auto get (const Point2D< T > &point) noexcept -> decltype(point[I])
 Get's the I-th element of the Point2D<T>.
 
template<size_t I, class T, std::enable_if_t< less< I, 2 >::value, int > = 0>
void set (Point2D< T > &point, const T &val) noexcept
 Set's the value of the I-th element in the Point2D<T> point.
 
template<size_t I, class T, std::enable_if_t< less< I, 3 >::value, int > = 0>
auto get (const Point3D< T > &point) noexcept -> decltype(point[I])
 Get's the I-th element of the Point3D<T>.
 
template<size_t I, class T, std::enable_if_t< less< I, 3 >::value, int > = 0>
void set (Point3D< T > &point, const T &val) noexcept
 Set's the value of the I-th element in the Point3D<T> point.
 
template<size_t I, class T, std::enable_if_t< less< I, 4 >::value, int > = 0>
auto get (const Point3DH< T > &point) noexcept -> decltype(point[I])
 Get's the I-th element of the Point3DH<T>.
 
template<size_t I, class T, std::enable_if_t< less< I, 4 >::value, int > = 0>
void set (Point3DH< T > &point, const T &val) noexcept
 Set's the value of the I-th element in the Point3DH<T> point.
 
template<size_t I, class T, std::enable_if_t< less< I, 4 >::value, int > = 0>
auto get (const Point3DC< T > &point) noexcept -> decltype(point[I])
 Get's the I-th element of the Point3DC<T>.
 
template<size_t I, class T, std::enable_if_t< less< I, 4 >::value, int > = 0>
void set (Point3DC< T > &point, const T &val) noexcept
 Set's the value of the I-th element in the Point3DC<T> point.
 
AffineMatrix2D operator+ (const AffineMatrix2D &lhs, const AffineMatrix2D &rhs) noexcept
 Add two affine matrices.
 
AffineMatrix2D operator- (const AffineMatrix2D &lhs, const AffineMatrix2D &rhs) noexcept
 Subtract two affine matrices.
 
AffineMatrix2D operator* (const AffineMatrix2D &lhs, const AffineMatrix2D &rhs) noexcept
 Multiply two affine matrices.
 
Point2D< double > operator* (const AffineMatrix2D &lhs, const Point2D< double > &rhs) noexcept
 Multiply affine matrix with 2D point.
 
AffineMatrix2D operator* (const AffineMatrix2D &lhs, const double &rhs) noexcept
 Multiply affine matrix with scalar.
 
AffineMatrix2D operator* (const double &lhs, const AffineMatrix2D &rhs) noexcept
 Multiply scalar with affine matrix .
 
AffineMatrix2D operator/ (const AffineMatrix2D &lhs, const double &rhs)
 Divide affine matrix by scalar.
 
AffineMatrix3D operator+ (const AffineMatrix3D &lhs, const AffineMatrix3D &rhs) noexcept
 Add two transformations.
 
AffineMatrix3D operator- (const AffineMatrix3D &lhs, const AffineMatrix3D &rhs) noexcept
 Subtract two transformations.
 
AffineMatrix3D operator* (const AffineMatrix3D &lhs, const AffineMatrix3D &rhs)
 Multiply two transformations.
 
AffineMatrix3D operator* (const AffineMatrix3D &lhs, const double &rhs) noexcept
 Multiply transformation with scalar.
 
AffineMatrix3D operator* (const double &lhs, const AffineMatrix3D &rhs) noexcept
 Multiply scalar with transformation.
 
AffineMatrix3D operator/ (const AffineMatrix3D &lhs, const double &rhs)
 Divide transformation by scalar.
 
std::unique_ptr< ImageAffineTransform (const Image &image, AffineMatrix2D affineMatrix, Area2D area)
 Creates an affine transformation (homogeneous matrix transformation) of an area of the given image.
 
std::unique_ptr< ImageAffineTransform (const Image &image, AffineMatrix2D affineMatrix)
 Creates an affine transformation (homogeneous matrix transformation) of the whole image.
 
std::unique_ptr< ImageLinearTransform (const Image &image, Matrix2D matrix)
 Creates a linear transformation (matrix transformation).
 
std::unique_ptr< ImageMapTo8Bit (const Image &image, PlaneNormalization planeNormalization=PlaneNormalization::Identical)
 Take an input image and scale the pixel values to fit into the 8 bit value range.
 
std::unique_ptr< ImageNormalizeMinMax (const Image &image, double targetMin, double targetMax)
 Normalize an input image using min/max normalization (the gray values of the image will be stretched or compressed to fit the input target minimum and maximum values).
 
std::unique_ptr< ImageNormalizeMeanVariance (const Image &image, double targetMean, double targetVariance)
 Normalize an input image using mean/variance normalization (the gray values of the image will be stretched modified to generate a histogram as close as possible to the input target mean and variance values).
 
std::unique_ptr< ImagePolarTransform (const Image &image, Point2D< double > center, double innerRadius, double outerRadius, Angle startAngle, Angle totalAngle)
 Create a polar transformation (i.e. unwrap a ring structure from inside source image into a rectangular image).
 
std::unique_ptr< ImagePolarTransform (const Image &image, Point2D< double > center, double innerRadius, double outerRadius)
 Create a polar transformation (i.e. unwrap a ring structure from inside source image into a rectangular image).
 
std::unique_ptr< ImageInversePolarTransform (const Image &image, Angle startAngle, double innerRadius)
 
void InversePolarTransformToDst (const Image &imageSrc, Point2D< double > center, Angle startAngle, double innerRadius, Image &imageDst)
 Create an inverse polar transformed image (i.e. transform an unwrapped image back into a ring structure).
 
std::vector< int > Histogram (const ImagePlane &plane, Area2D aoi, double density=1.0)
 Gather and return the histogram from an 8 bits per pixel unsigned image.
 
std::vector< int > Histogram (const ImagePlane &plane, double density=1.0)
 Gather and return the histogram from an 8 bits per pixel unsigned image.
 
std::vector< LocalMaximumFindLocalMaxima (const ImagePlane &plane, int locality, double threshold, Rect< int > aoi)
 Find local maxima in the input image.
 
std::vector< LocalMaximumFindLocalMaxima (const ImagePlane &plane, int locality, double threshold)
 Find local maxima in the input image.
 
std::vector< LocalMaximumFindLocalMaxima (const ImagePlane &plane, int locality, double threshold, SubPixelMode mode, Neighborhood radius, Rect< int > aoi)
 Find sub pixel accurate local maxima in the input image.
 
std::vector< LocalMaximumFindLocalMaxima (const ImagePlane &plane, int locality, double threshold, SubPixelMode mode, Neighborhood radius)
 Find sub pixel accurate local maxima in the input image.
 
Angle operator+ (const Angle &lhs, const Angle &rhs)
 Add two angles.
 
Angle operator- (const Angle &lhs, const Angle &rhs)
 Subtract two angles.
 
Angle operator/ (const Angle &lhs, const double &rhs)
 Divides an angle by a value.
 
Angle operator* (const Angle &lhs, const double &rhs)
 Multiplies an angle with a value.
 
Angle operator* (const double &lhs, const Angle &rhs)
 Multiplies value with an angle.
 
Angle Abs (Angle angle) noexcept
 Absolute value of an angle.
 
Angle Acos (double d) noexcept
 Returns the angle whose cosine is the specified number.
 
Angle Asin (double d) noexcept
 Returns the angle whose sine is the specified number.
 
Angle Atan (double d) noexcept
 Returns the angle whose tangent is the specified number.
 
Angle Atan2 (double y, double x) noexcept
 Returns the angle whose tangent is the quotient of two specified numbers.
 
double Cos (Angle angle) noexcept
 Returns the cosine of an angle.
 
double Cosh (Angle angle) noexcept
 Returns the hyperbolic cosine of an angle.
 
double Sin (Angle angle) noexcept
 Returns the sine of an angle.
 
double Sinh (Angle angle) noexcept
 Returns the hyperbolic sine of an angle.
 
double Tan (Angle angle) noexcept
 Returns the tangent of an angle.
 
double Tanh (Angle angle) noexcept
 Returns the hyperbolic tangent of an angle.
 
int Sign (Angle angle) noexcept
 Returns a value indicating the sign of an Angle.
 
Angle Max (Angle a, Angle b) noexcept
 Returns the bigger of two angles.
 
Angle Min (Angle a, Angle b) noexcept
 Returns the smaller of two angles.
 
Matrix2D operator+ (const Matrix2D &lhs, const Matrix2D &rhs)
 Add two matrices.
 
Matrix2D operator- (const Matrix2D &lhs, const Matrix2D &rhs)
 Substract two matrices.
 
Matrix2D operator* (const Matrix2D &lhs, const Matrix2D &rhs)
 Multiply two matrices.
 
Point2D< double > operator* (const Matrix2D &lhs, const Point2D< double > &rhs)
 Multiply matrix with 2D point.
 
Matrix2D operator* (const Matrix2D &lhs, const double &rhs)
 Multiply matrix with scalar.
 
Matrix2D operator* (const double &lhs, const Matrix2D &rhs)
 Multiply scalar with matrix .
 
Matrix2D operator/ (const Matrix2D &lhs, const double &rhs)
 Divide matrix by scalar.
 
Matrix3D operator+ (const Matrix3D &lhs, const Matrix3D &rhs)
 Add two matrices.
 
Matrix3D operator- (const Matrix3D &lhs, const Matrix3D &rhs)
 Subtract two matrices.
 
Matrix3D operator* (const Matrix3D &lhs, const Matrix3D &rhs)
 Multiply two matrices.
 
Point3D< double > operator* (const Matrix3D &lhs, const Point3D< double > &rhs)
 Multiply matrix with 3D point.
 
Matrix3D operator* (const Matrix3D &lhs, const double &rhs)
 Multiply matrix with scalar.
 
Matrix3D operator* (const double &lhs, const Matrix3D &rhs)
 Multiply scalar with matrix .
 
Matrix3D operator/ (const Matrix3D &lhs, const double &rhs)
 Divide matrix by scalar.
 
Matrix3DH operator+ (const Matrix3DH &lhs, const Matrix3DH &rhs)
 Add two matrices.
 
Matrix3DH operator- (const Matrix3DH &lhs, const Matrix3DH &rhs)
 Subtract two matrices.
 
Point3DH< double > operator* (const Matrix3DH &lhs, const Point3DH< double > &rhs)
 Multiply matrix with 3D point (homogeneous).
 
Matrix3DH operator* (const Matrix3DH &lhs, const double &rhs)
 Multiply matrix with scalar.
 
Matrix3DH operator* (const double &lhs, const Matrix3DH &rhs)
 Multiply scalar with matrix .
 
Matrix3DH operator/ (const Matrix3DH &lhs, const double &rhs)
 Divide matrix by scalar.
 
template<class T>
Point2D< T > operator+ (const Point2D< T > &lhs, const Point2D< T > &rhs)
 Add two points.
 
template<class T>
Point2D< T > operator- (const Point2D< T > &lhs, const Point2D< T > &rhs)
 Subtracts two points.
 
template<class T>
operator* (const Point2D< T > &lhs, const Point2D< T > &rhs)
 Inner product of two point vectors.
 
template<class T>
Point2D< T > operator* (const Point2D< T > &lhs, const T &rhs)
 Multiply point with scalar.
 
template<class T>
Point2D< T > operator* (const T &lhs, const Point2D< T > &rhs)
 Multiply scalar with point.
 
template<class T>
Point2D< T > operator/ (const Point2D< T > &lhs, const T &rhs)
 Divide point by scalar.
 
template<class T>
Point3D< T > operator+ (const Point3D< T > &lhs, const Point3D< T > &rhs)
 Add two points.
 
template<class T>
Point3D< T > operator- (const Point3D< T > &lhs, const Point3D< T > &rhs)
 Subtracts two points.
 
template<class T>
operator* (const Point3D< T > &lhs, const Point3D< T > &rhs)
 Inner product of two point vectors.
 
template<class T>
Point3D< T > operator* (const Point3D< T > &lhs, const T &rhs)
 Multiply point with scalar.
 
template<class T>
Point3D< T > operator* (const T &lhs, const Point3D< T > &rhs)
 Multiply scalar with point.
 
template<class T>
Point3D< T > operator/ (const Point3D< T > &lhs, const T &rhs)
 Divide point by scalar.
 
template<class T>
Point3DC< T > operator+ (const Point3DC< T > &lhs, const Point3DC< T > &rhs)
 Add two points.
 
template<class T>
Point3DC< T > operator- (const Point3DC< T > &lhs, const Point3DC< T > &rhs)
 Subtracts two points.
 
template<class T>
operator* (const Point3DC< T > &lhs, const Point3DC< T > &rhs)
 Inner product of two point vectors.
 
template<class T>
Point3DC< T > operator* (const Point3DC< T > &lhs, const T &rhs)
 Multiply point with scalar.
 
template<class T>
Point3DC< T > operator* (const T &lhs, const Point3DC< T > &rhs)
 Multiply scalar with point.
 
template<class T>
Point3DC< T > operator/ (const Point3DC< T > &lhs, const T &rhs)
 Divide point by scalar.
 
template<class T>
Point3DH< T > operator+ (const Point3DH< T > &lhs, const Point3DH< T > &rhs)
 Add two points.
 
template<class T>
Point3DH< T > operator- (const Point3DH< T > &lhs, const Point3DH< T > &rhs)
 Subtracts two points.
 
template<class T>
operator* (const Point3DH< T > &lhs, const Point3DH< T > &rhs)
 Inner product of two point vectors.
 
template<class T>
Point3DH< T > operator* (const Point3DH< T > &lhs, const T &rhs)
 Multiply point with scalar.
 
template<class T>
Point3DH< T > operator* (const T &lhs, const Point3DH< T > &rhs)
 Multiply scalar with point.
 
template<class T>
Point3DH< T > operator/ (const Point3DH< T > &lhs, const T &rhs)
 Divide point by scalar.
 
WhiteBalanceFactors CalculateWhiteBalanceFactors (const Image &image, Area2D aoi)
 Calculate the red, green and blue gain factor for white balancing.
 
void ApplyWhiteBalanceFactors (const Image &image, WhiteBalanceFactors factors)
 Applies the white balance factors to the given image.
 
String HeaderVersion () noexcept
 Returns the version of these headers.
 
String Version ()
 Full version of the currently installed CVB.
 
String VersionBuild () noexcept
 Gets the CVB version this header set was build/validated with.
 
String VersionMin () noexcept
 Gets the minimum CVB required for these headers.
 
template<size_t I, class... TS>
const variant_alternative_t< I, variant< TS... > > & get (const variant< TS... > &var)
 Gets the value of the given Shims::variant var as the alternative with index I.
 
template<class T, class... TS>
bool holds_alternative (const variant< TS... > &var) noexcept
 Gets whether the Shims::variant var holds an instance of type T.
 
template<class VISITOR, class VARIANT>
auto visit (VISITOR &&visitor, VARIANT &&var) -> decltype(visitor(get< 0 >(var)))
 Visits the given Shims::variant var. Cvb::Shims::visit can only visit one variant (not multiple like std::visit).
 
String DataPath ()
 Directory where Common Vision Blox stores its settings.
 
String ExpandPath (const String &path)
 Expands a path containing an environment variable.
 
std::vector< LicenseInfoGetLicenseInfo ()
 Get information about available licenses.
 
std::vector< MagicNumberEntryGetMagicNumberEntries ()
 Query the set of currently available Magic Numbers.
 
String InstallPath ()
 Directory Common Vision Blox has been installed to.
 
template<class Rep, class Period>
WaitStatus WaitForLicense (const std::chrono::duration< Rep, Period > &timeSpan) noexcept
 Wait for a given time for the license to become available.
 

Variables

static const constexpr int Dynamic = -1
 Use with ScatterAccess for runtime variable number of planes.
 
static const constexpr size_t variant_npos
 Returned by variant::index() on invalid state.
 

Detailed Description

Root namespace for the Image Manager interface.

This namespace groups all parts of the C++ interface to the classic CVB API. The classes directly within this namespace are usually your entry point when programming.

Note
All types under this namespace have unique names, therefore all types are mapped to this namespace for convenience.
Attention
In order to use processing functions from this namespace include cvb/algorithm.hpp.
In order to use range map functions from this namespace include cvb/range_map.hpp.
Remarks
CMake users: Link to imported target CVB::Cvb

Typedef Documentation

◆ Char

using Char = char

Character type for wide characters or unicode characters.

Wide characters are default on windows, to use unicode characters define UNICODE. If you want to use platform independent string literals you may use the CVB_LIT macro.

◆ Regex

using Regex = std::regex

Regular expression for wide characters or unicode characters.

Wide characters are default on windows, to use unicode characters define UNICODE. If you want to use platform independent string literals you may use the CVB_LIT macro.

◆ StreamHandlerBasePtr

template<class STREAMTYPE>
using StreamHandlerBasePtr

Convenience shared pointer for GenericMultiStreamHandler.

Template Parameters
STREAMTYPEType of stream.

◆ String

String for wide characters or unicode characters.

Wide characters are default on windows, to use unicode characters define UNICODE. If you want to use platform independent string literals you may use the CVB_LIT macro.

◆ StringStream

String stream for wide characters or unicode characters.

Wide characters are default on windows, to use unicode characters define UNICODE. If you want to use platform independent string literals you may use the CVB_LIT macro.

Enumeration Type Documentation

◆ AccessMode

enum class AccessMode
strong

Access possibility of the node.

The access mode can change dependent on the device state.

◆ ColorModel

enum class ColorModel
strong

Color model that this image is using.

Enumerator
RGBGuess 

Color space was not explicitly specified, but is likely to be RGB.

MonoGuess 

Color space was not explicitly specified, but is likely to be monochrome.

Unknown 

Color space is not known.

Mono 

Monochrome color space.

RGB 

RGB color space.

YUV 

YUV color space.

HSI 

HSI color space.

YCbCr 

YCbCr color model.

CieLUV 

CIE LUV color model.

CieLab 

CIE Lab color model.

HLS 

HLS (Hue, Lightness, Saturation) color model.

YCC 

YCC color model.

HSV 

HSV (Hue, Saturation, Value) color model.

CieXYZ 

CIE XYZ color model.

◆ CompressedBufferType

enum class CompressedBufferType
strong

The possible image compression types a CVB buffer can transport within GenDC.

Enumerator
Unknown 

Unknown or uninterpretable compression type within GenDC

JPEG 

JPEG compressed 2D image type within GenDC

JPEG2000 

JPEG2000 compressed 2D image type within GenDC

◆ ConnectionState

enum class ConnectionState
strong

Current connection state of the Device.

Enumerator
NotSupported 

Connection state handling is not supported by the Device.

Connected 

The Device object is currently connected to the remote hardware.

Disconnected 

The Device object is currently disconnected from the remote hardware.

◆ ConversionMode

enum class ConversionMode
strong

Mode used by conversion to dense point cloud.

Enumerator
Automatic 

Automatically determines resolution and which points to keep in the resulting dense point cloud.

◆ CoordinateSystemType

enum class CoordinateSystemType
strong

Enumeration of the different available coordinate systems that an Area of interest may be defined in.

Enumerator
PixelCoordinates 

Pixel coordinates are defined as follows:

  • The distance from one pixel to the next in horizontal or vertical direction has a length of 1.
  • The origin (0,0) is located in the top left corner of the image.
  • The positive x-axis points right, the positive y-axis points down.
ImageCoordinates 

The image coordinate system is defined in the image and specifies an affine linear transformation from the pixel coordinate system to the image coordinate system. It is a right handed coordinate system: the positive y-axis points "down", the positive x-axis points right.

◆ CropDirection

enum class CropDirection
strong

Indicates cropping direction.

Enumerator
Below 

Crop below given plane.

Above 

Crop above given plane.

◆ CropRange

enum class CropRange
strong

Indicates cropping range.

Enumerator
CropWithinRange 

Crops points within given range.

CropOutsideRange 

Crops points outside given range.

◆ DeviceUpdateMode

enum class DeviceUpdateMode
strong

Defines how to treat the optional device image, when the device itself is updated.

A method containing this as a parameter indicates a handle change. This invalidates the old handle in a way that no interfaces are available anymore. The only thing remaining is the old ring buffer, but only with access to the last synchronized buffer.

Note
If a method call containing this as a parameter succeeds it is necessary for the client application to update the handle in objects, that only use handle.
See also
CvbDevice.Handle()
Enumerator
UpdateDeviceImage 

Updates the handle of any existing device image.

If unsure use this as the default.

The result of this operation is that the currently active device image is moved to the new device image internally. The result is that the current image buffer is lost and replaced by an empty/black buffer.

NewDeviceImage 

Creates a new device image keeping the old one intact.

Use this option if you still do processing on the old image data while performing the switch operation.

Attention
If you bound the old device image to a display or used it in another control to always access the current image data, keep in mind that you need to assign the new device image of the device manually.

◆ DiscoverFlags

enum class DiscoverFlags : std::uint64_t
strong

Flags controlling the discovery process.

These values can be OR combined.

◆ DownSampleMode

enum class DownSampleMode
strong

Specifies how to remove points from a point cloud.

Enumerator
DownsampleByFactor 

Remove points by an integer factor.

RemoveRandomly 

Remove a specified number of points randomly.

◆ GapFillingMethod

enum class GapFillingMethod
strong

Supported methods for gap filling.

Enumerator
LinearInterpolation 

Gaps in a range map are filled by linear interpolation.

◆ MappingOption

enum class MappingOption
strong

Mapping options when creating a (potentially) mapped image.

Enumerator
CopyPixels 

Create a deep copy of the source pixels

LinkPixels 

Create a linked copy of the source pixels, that shares the memory of the source pixels. That means, changes to one image affect the linked image as well.

◆ Neighborhood

enum class Neighborhood
strong

Neighborhood to use in sub pixel calculation of local maxima.

The bigger the neighborhood for calculation is, the longer the sub pixel fit will take.

Enumerator
Use3x3 

3x3 environment around the pixel-accurate result.

Use5x5 

5x5 environment around the pixel-accurate result.

Use7x7 

7x7 environment around the pixel-accurate result.

Use9x9 

9x9 environment around the pixel-accurate result.

◆ PanoramaDirection

enum class PanoramaDirection
strong

Defines the direction of the panoramic image.

Enumerator
Horizontal 

Images are stitched horizontally.

Vertical 

Images are stitched vertically.

◆ PixelDataType

enum class PixelDataType
strong

Defines the numeric data type of one pixel.

Enumerator
Undefined 

Indeterminable data type. (The native CVB data type descriptor can take all sorts of weird values).

UInt 

Unsigned integer.

Int 

Signed integer.

Float 

Floating point number.

ComplexPackedFloat 

Complex packed floating point number.

◆ PlaneNormalization

enum class PlaneNormalization
strong

Plane handling for normalization.

Enumerator
Individual 

Each plane is normalized separately.

Identical 

All planes are normalize the same way.

◆ PlaneRole

enum class PlaneRole
strong

A plane role describes the components of the plane. They can coarsely be separated in two sets.

  1. pixel roles (normally for 2D images)
  2. coordinate roles (normally for point clouds)
Enumerator
Undefined 

Unknown/undefined value.

PixMono 

Monochromatic, linear luminance value.

PixRGB_R 

Red channel value.

PixRGB_G 

Green channel value.

PixRGB_B 

Blue channel value.

PixYUV_Y 

Same as PixMono, but to distinguish YUV model.

PixYUV_U 

Blue chrominance channel.

PixYUV_V 

Red chrominance channel.

PixHSV_H 

Hue channel value.

PixHSV_V 

Value(luminance) channel value.

PixLAB_L 

Lightness channel value.

PixLAB_A 

Green-red chrominance channel.

PixLAB_B 

Blue-yellow chrominance channel.

PixConfidence 

Confidence(probability density / percentage) or consistency(Boolean) value.

PixRGB_RGB 

Red-green-blue channel value.

CoordCartesian_X 

Cartesian X axis component.

CoordCartesian_Y 

Cartesian Y axis component.

CoordCartesian_Z 

Cartesian Z axis component.

CoordCartesian_W 

Cartesian W axis component (homogeneous coordinates).

CoordPolar_Rho 

Polar radius component.

CoordPolar_Phi 

Polar azimuth angle component.

CoordCylindrical_Rho 

Cylindrical radius component.

CoordCylindrical_Phi 

Cylindrical azimuth angle component.

CoordCylindrical_Z 

Cylindrical Z axis component.

CoordSpherical_Rho 

Spherical radius component.

CoordSpherical_Phi 

Spherical azimuth angle component.

CoordSpherical_Theta 

Spherical inclination/polar angle component.

Normal_X 

Normal in X.

Normal_Y 

Normal in Y.

Normal_Z 

Normal in Z.

PointPlanarity 

Planarity of points in cloud.

PointVariation 

Variation of points in cloud.

PointSphericity 

Sphericity of points in cloud.

PointLinearity 

Linearity of points in cloud.

PointCurvature 

Curvature of points in cloud.

Custom 

Custom roles.

◆ PointCloudFileFormat

Supported point cloud point formats.

Enumerator
Ascii 

Ascii file format.

This format is usually specified by the filename extensions: .asc, .xyz, .pts or .txt.

Mesh information is ignored when loading or storing with this format.

Ply 

Polygon file format.

This format is usually specified by the filename extension: .ply It can be in binary or text format. Reading supports both formats, while writing will be in binary.

Loading and storing mesh information is supported with both reads and writes.

Stl 

Stereo lithography file format.

This format is usually specified by the filename extension: .stl

Loading mesh information is supported. For writing stl, mesh information must be present.*

Tiff 

TIFF file format.

This format is usually specified by the filename extensions: .tif or .tiff Reading and writing is supported only with files, not memory.

Mesh information is ignored when loading or storing with this format.

◆ PointCloudFlags

enum class PointCloudFlags
strong

Flags for creating point clouds.

Enumerator
Float 

Create the point cloud with float components.

Double 

Create the point cloud with double components.

XYZ 

Create the point cloud with three Cartesian components x, y, z.

XYZW 

Create the point cloud with four Cartesian, homogeneous components x, y, z, w.

XYZConfidence 

Create point cloud with three Cartesian components (x, y, z) and a confidence plane.

WithConfidence 

Create the point cloud with an additional confidence plane.

NoExtrinsic 

Only apply intrinsic calibration in Create(const Image& rangeMap...).

NoMeshIndices 

Do not load mesh information, even if present.

Note
This flag is for internal use only.

◆ PointCloudLayout

enum class PointCloudLayout
strong

Supported point cloud point layouts.

Enumerator
Invalid 

No known/supported point cloud format.

Linear 

No known buffer layout. For this layout only the plane roles X, Y and Z are known with their increments. Thus the PointCloud composite either has no buffer or no buffer, that can be mapped via a PFNC value.

SeparatePlanar 

Each plane is in its own, contiguous buffer. For each plane role X, Y and Z exists one distinct buffer. The increment to the next element is the element size (as in a simple array). If the component data types are float, the composite has at least three buffers with PFNC values Coord3D_A32f, Coord3D_B32f and Coord3D_C32f.

Planar 

All planes are in one planar, contiguous buffer. All plane roles X, Y and Z lie component wise one after the other. First all x, then all y and finally all z components. If the component data type is float, the composite has at least one buffer with a PFNC value of Coord3D_ABC32f_Planar.

Interleaved 

All points are stored x, y, z interleaved as in Point3D. All plane roles X, Y and Z lie point wise one after the other. If the component data type is float, the composite has at least one buffer with a PFNC value of Coord3D_ABC32f.

◆ RotationMap

enum class RotationMap
strong

Amount of rotation to apply when mapping an image.

Enumerator
By90Degrees 

Image will be rotated by 90 degrees.

By180Degrees 

Image will be rotated by 180 degrees.

By270Degrees 

Image will be rotated by 270 degrees.

◆ SensorPixelPosition

enum class SensorPixelPosition
strong

Indicates pixel position on sensor.

Enumerator
Absolute 

Scaled rangemap values represent absolute pixel position on sensor.

Relative 

Scaled rangemap values represent relative pixel position to given offset on sensor.

◆ SensorPixelsMirrored

enum class SensorPixelsMirrored
strong

Indicates if sensor pixels are mirrored in rangemap.

Enumerator
None 

No mirroring is applied.

Sensor pixel values are mirrored in X (or denoted by u), so that the columns of the range map will be flipped.

Sensor pixel values are mirrored in Y (or denoted by v), so that the range map pixel values will be flipped.

XY 

Sensor pixel values are mirrored in X and Y.

◆ StreamInfo

enum class StreamInfo
strong

Queryable stream information.

Attention
All streams only provide a sub-set of the available queries. So always make sure that the information is available when switching devices/drivers.

◆ SubPixelMode

enum class SubPixelMode
strong

Method for determining sub pixel accuracy when working with the FindLocalMaxima functions.

Enumerator
ParabolicFast 

An approximate parabolic fit. Results similar to the exact parabolic fit as long as the maximum is steep enough (i.e. not plateau shaped). Only usable with a 3x3 neighborhood.

ParabolicAccurate 

A full parabolic least squares fit.

Gaussian 

A Gaussian least squares fit.

◆ Visibility

enum class Visibility
strong

Feature complexity level.

The visibility can be used as a filter to hide more complex or even dangerous features in an user interface.

◆ WaitStatus

enum class WaitStatus
strong

Status after waiting for an image to be returned.

Enumerator
Ok 

Everything is fine, a new image arrived.

Timeout 

A timeout occurred, no image buffer has been returned.

Abort 

The acquisition has been stopped asynchronously, there is no image buffer.

Function Documentation

◆ Abs() [1/2]

Angle Abs ( Angle angle)
inlinenoexcept

Absolute value of an angle.

Parameters
[in]angleThe angle.
Returns
Absolute value.
Exceptions
Doesnot throw any exception.

◆ Acos() [1/2]

Angle Acos ( double d)
inlinenoexcept

Returns the angle whose cosine is the specified number.

Parameters
[in]dCosine.
Returns
Result angle.
Exceptions
Doesnot throw any exception.

◆ AffineTransform() [1/4]

std::unique_ptr< Image > AffineTransform ( const Image & image,
AffineMatrix2D affineMatrix )
inline

Creates an affine transformation (homogeneous matrix transformation) of the whole image.

Parameters
[in]imageSource image.
[in]affineMatrixMatrix to transform the image.
Returns
Pointer to newly created image.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ AffineTransform() [2/4]

std::unique_ptr< Image > AffineTransform ( const Image & image,
AffineMatrix2D affineMatrix,
Area2D area )
inline

Creates an affine transformation (homogeneous matrix transformation) of an area of the given image.

Parameters
[in]imageSource image.
[in]affineMatrixMatrix to transform the image,
[in]areaArea of the image to transform.
Returns
Pointer to newly created image.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ ApplyWhiteBalanceFactors() [1/2]

void ApplyWhiteBalanceFactors ( const Image & image,
WhiteBalanceFactors factors )
inline

Applies the white balance factors to the given image.

Parameters
[in]imageImage to apply white-balance factors to.
[in]factorsGain factors to apply.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ Asin() [1/2]

Angle Asin ( double d)
inlinenoexcept

Returns the angle whose sine is the specified number.

Parameters
[in]dSine.
Returns
Result angle.
Exceptions
Doesnot throw any exception.

◆ Atan() [1/2]

Angle Atan ( double d)
inlinenoexcept

Returns the angle whose tangent is the specified number.

Parameters
[in]dTangent.
Returns
Result angle.
Exceptions
Doesnot throw any exception.

◆ Atan2() [1/2]

Angle Atan2 ( double y,
double x )
inlinenoexcept

Returns the angle whose tangent is the quotient of two specified numbers.

Parameters
[in]yY parameter.
[in]xX parameter.
Returns
Result angle.
Exceptions
Doesnot throw any exception.

◆ CalculateWhiteBalanceFactors() [1/2]

WhiteBalanceFactors CalculateWhiteBalanceFactors ( const Image & image,
Area2D aoi )
inline

Calculate the red, green and blue gain factor for white balancing.

Parameters
[in]imageImage on which the gain factors are to be calculated.
[in]aoiArea of interest that is assumed to be the neutral color.
Returns
Calculated white balance factors.
Exceptions
Anyexception derived from std::exception including CvbException.

Floating-point valued images must not have negative pixel values for this operation to yield useful output.

◆ Cos() [1/2]

double Cos ( Angle angle)
inlinenoexcept

Returns the cosine of an angle.

Parameters
[in]angleThe angle.
Returns
The cosine.
Exceptions
Doesnot throw any exception.

◆ Cosh() [1/2]

double Cosh ( Angle angle)
inlinenoexcept

Returns the hyperbolic cosine of an angle.

Parameters
[in]angleThe angle.
Returns
The hyperbolic cosine.
Exceptions
Doesnot throw any exception.

◆ DataPath()

String DataPath ( )
inline

Directory where Common Vision Blox stores its settings.

Returns
A path as string.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ DifferenceMap()

CVB_BEGIN_INLINE_NS std::unique_ptr< Image > DifferenceMap ( const ImagePlane & rangeMap1,
const ImagePlane & rangeMap2 )
inline

Subtracts the given rangeMap2 from rangeMap1.

Only range maps with floating point and unsigned integer DataType values are supported. For unsigned integer data types, the following DataType::BytesPerPixel values are supported: 1, 2 and 4. Note, that only linear access is supported (check with function ImagePlane::TryLinearAccess).

The output difference map will be double for double input images, for all other images it will be float.

Parameters
[in]rangeMap1Range map object to subtract from.
[in]rangeMap2Range map object to subtract from rangeMap1.
Returns
The resulting difference map.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ ExpandPath()

String ExpandPath ( const String & path)
inline

Expands a path containing an environment variable.

Parameters
[in]pathPath with environment variable in windows notation.
Returns
Absolute path without environment variable.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ FillGaps()

void FillGaps ( const ImagePlane & rangeMap,
const GapFillingOptions & options )
inline

This function fills gaps of given range map rangeMap.

Gaps will be filled by interpolating values of pixels surrounding the gap. If larger gaps should be ignored, the maximum size of gaps to be filled has to be set with options.

Only range maps with floating point and unsigned integer DataType values are supported. For unsigned integer data types, the following DataType::BytesPerPixel values are supported: 1, 2 and 4. Note, that only linear access is supported (check with function ImagePlane::TryLinearAccess).

Note
Only range maps with at least 3 columns are supported.
The gaps will be filled in place, modifying the buffer that is associated with the ImagePlane.
Parameters
[in]rangeMapRange map where gaps should be filled.
[in]optionsOptions for gap filling.
Exceptions
Anyexception derived from std::exception including CvbException.
See also
PointCloud::RangeMap

◆ FindLocalMaxima() [1/8]

std::vector< LocalMaximum > FindLocalMaxima ( const ImagePlane & plane,
int locality,
double threshold )
inline

Find local maxima in the input image.

Parameters
[in]planeImage plane in which to look for maxima.
[in]localityMinimum distance between two valid maxima; if two maxima fall within this distance (measured using the L1 norm), the one with the lower gray value will be removed from the result.
[in]thresholdMinimum gray value a local maximum must have for being reported.
Returns
Vector of the local maxima that have been found.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ FindLocalMaxima() [2/8]

std::vector< LocalMaximum > FindLocalMaxima ( const ImagePlane & plane,
int locality,
double threshold,
Rect< int > aoi )
inline

Find local maxima in the input image.

Parameters
[in]planeImage plane in which to look for maxima.
[in]localityMinimum distance between two valid maxima; if two maxima fall within this distance (measured using the L1 norm), the one with the lower gray value will be removed from the result.
[in]thresholdMinimum gray value a local maximum must have for being reported.
[in]aoiRegion of interest in which to look for maxima.
Returns
Vector of the local maxima that have been found.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ FindLocalMaxima() [3/8]

std::vector< LocalMaximum > FindLocalMaxima ( const ImagePlane & plane,
int locality,
double threshold,
SubPixelMode mode,
Neighborhood radius )
inline

Find sub pixel accurate local maxima in the input image.

Parameters
[in]planeImage plane in which to look for maxima.
[in]localityMinimum distance between two valid maxima; if two maxima fall within this distance (measured using the L1 norm), the one with the lower gray value will be removed from the result list.
[in]thresholdMinimum gray value a local maximum must have for being reported.
[in]modeMode to be used for determining sub pixel accuracy.
[in]radiusNeighborhood to take account in the sub pixel calculation.
Returns
Vector of the local maxima that have been found.
Exceptions
Anyexception derived from std::exception including CvbException.

Sub pixel accuracy is achieved by assuming a Gaussian or parabolic gray value distribution around a local maximum that can be fitted into the image data.

◆ FindLocalMaxima() [4/8]

std::vector< LocalMaximum > FindLocalMaxima ( const ImagePlane & plane,
int locality,
double threshold,
SubPixelMode mode,
Neighborhood radius,
Rect< int > aoi )
inline

Find sub pixel accurate local maxima in the input image.

Parameters
[in]planeImage plane in which to look for maxima.
[in]localityMinimum distance between two valid maxima; if two maxima fall within this distance (measured using the L1 norm), the one with the lower gray value will be removed from the result list.
[in]thresholdMinimum gray value a local maximum must have for being reported.
[in]modeMode to be used for determining sub pixel accuracy.
[in]radiusNeighborhood to take account in the sub pixel calculation.
[in]aoiRegion of interest in which to look for maxima.
Returns
Vector of the local maxima that have been found.
Exceptions
Anyexception derived from std::exception including CvbException.

Sub pixel accuracy is achieved by assuming a Gaussian or parabolic gray value distribution around a local maximum that can be fitted into the image data.

◆ get() [1/8]

template<size_t I, class... TS>
const variant_alternative_t< I, variant< TS... > > & get ( const variant< TS... > & var)
related

Gets the value of the given Shims::variant var as the alternative with index I.

Template Parameters
IIndex of alternative to extract.
Parameters
[in]varVariant to get the value of.
Returns
The value in var.
Exceptions
bad_variant_accessthrown if I is unequal variant::index().

◆ GetLicenseInfo()

std::vector< LicenseInfo > GetLicenseInfo ( )
inline

Get information about available licenses.

Returns
A vector containing the currently available licenses.
Exceptions
Anyexception derived from std::exception including CvbException.

In theory, the collection of available licenses can change any time. However, it is fairly unlikely that during runtime someone unplugs a dongle or removes a Node Locked license, so Common Vision Blox does not implement a costly push/event model for notifying clients during runtime about the presence of new licenses or the loss of a license. Instead, the license information can and needs to be queried using this method.

◆ GetMagicNumberEntries()

std::vector< MagicNumberEntry > GetMagicNumberEntries ( )
inline

Query the set of currently available Magic Numbers.

Returns
A vector containing the currently available magic number entries.
Exceptions
Anyexception derived from std::exception including CvbException.

In theory, the collection of available Magic Numbers can change any time. However, it is fairly unlikely that during runtime someone unplugs a dongle or removes a Node Locked license, so Common Vision Blox does not implement a costly push/event model for notifying clients during runtime about the presence of new Magic Numbers or the loss of a Magic Number. Instead, the Magic Number information can and needs to be queried using this method.

◆ HeaderVersion()

String HeaderVersion ( )
inlinenoexcept

Returns the version of these headers.

Returns
Version string
Exceptions
Doesnot throw any exception.

◆ Histogram() [1/4]

std::vector< int > Histogram ( const ImagePlane & plane,
Area2D aoi,
double density = 1.0 )
inline

Gather and return the histogram from an 8 bits per pixel unsigned image.

Parameters
[in]planePlane to gather the histogram from.
[in]aoiArea in which to gather the histogram.
[in]densityScan density to generate the histogram. It must be in the range [0...1]. Lower densities result in higher processing speed, but will also yield histograms, which are notably jagged due to the poor statistics.
Returns
Histogram as a vector of 256 integer values.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ Histogram() [2/4]

std::vector< int > Histogram ( const ImagePlane & plane,
double density = 1.0 )
inline

Gather and return the histogram from an 8 bits per pixel unsigned image.

Parameters
[in]planePlane to gather the histogram from.
[in]densityScan density to gather the histogram with; must be in the range [0...1]; lower densities result in higher processing speed, but will also yield histograms which are notably jagged due to the poor statistics
Returns
Histogram as an vector of 256 integer values.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ holds_alternative()

template<class T, class... TS>
bool holds_alternative ( const variant< TS... > & var)
related

Gets whether the Shims::variant var holds an instance of type T.

Template Parameters
TType to test.
Parameters
[in]varVariant to check.
Returns
true if var currently holds a type T; false if not.

◆ InstallPath()

String InstallPath ( )
inline

Directory Common Vision Blox has been installed to.

Returns
A path as string.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ InversePolarTransform() [1/2]

std::unique_ptr< Image > InversePolarTransform ( const Image & image,
Angle startAngle,
double innerRadius )
inline
Parameters
[in]imageSource image.
[in]startAngleOrientation of the start (the total azimuth will be determined from the input image).
[in]innerRadiusInner radius of the ring (the outer radius will be determined from the input image).
Returns
Pointer to newly created image.
Exceptions
Anyexception derived from std::exception including CvbException.

Linear interpolation is being used for the transformation.

◆ InversePolarTransformToDst() [1/2]

void InversePolarTransformToDst ( const Image & imageSrc,
Point2D< double > center,
Angle startAngle,
double innerRadius,
Image & imageDst )
inline

Create an inverse polar transformed image (i.e. transform an unwrapped image back into a ring structure).

Parameters
[in]imageSrcSource image
[in]centerCenter for the inverse transformation (i.e. the point around which the ring will be constructed).
[in]startAngleOrientation of the start (the total azimuth will be determined from the input image).
[in]innerRadiusInner radius of the ring (the outer radius will be determined from the input image).
[in]imageDstDestination image into which the unwrap result will be painted.
Exceptions
Anyexception derived from std::exception including CvbException.

Linear interpolation is being used for the transformation.

◆ LinearTransform() [1/2]

std::unique_ptr< Image > LinearTransform ( const Image & image,
Matrix2D matrix )
inline

Creates a linear transformation (matrix transformation).

Parameters
[in]imageSource image.
[in]matrixMatrix to transform the image.
Returns
Pointer to newly created image.
Exceptions
Anyexception derived from std::exception including CvbException.

Linear interpolation is used for the transformation.

◆ MapTo8Bit() [1/2]

std::unique_ptr< Image > MapTo8Bit ( const Image & image,
PlaneNormalization planeNormalization = PlaneNormalization::Identical )
inline

Take an input image and scale the pixel values to fit into the 8 bit value range.

Parameters
[in]imageImage to be mapped.
[in]planeNormalizationPlane normalization mode.
Returns
Pointer to newly created image.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ Max() [1/2]

Angle Max ( Angle a,
Angle b )
inlinenoexcept

Returns the bigger of two angles.

Parameters
[in]aFirst angle.
[in]bSecond angle.
Returns
Biggest angle.
Exceptions
Doesnot throw any exception.

◆ Min() [1/2]

Angle Min ( Angle a,
Angle b )
inlinenoexcept

Returns the smaller of two angles.

Parameters
[in]aFirst angle.
[in]bSecond angle.
Returns
Smallest angle.
Exceptions
Doesnot throw any exception.

◆ NormalizeMeanVariance() [1/2]

std::unique_ptr< Image > NormalizeMeanVariance ( const Image & image,
double targetMean,
double targetVariance )
inline

Normalize an input image using mean/variance normalization (the gray values of the image will be stretched modified to generate a histogram as close as possible to the input target mean and variance values).

Parameters
[in]imageImage to be normalized.
[in]targetMeanTarget mean value to achieve.
[in]targetVarianceTarget variance value to achieve.
Returns
Pointer to newly created image.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ NormalizeMinMax() [1/2]

std::unique_ptr< Image > NormalizeMinMax ( const Image & image,
double targetMin,
double targetMax )
inline

Normalize an input image using min/max normalization (the gray values of the image will be stretched or compressed to fit the input target minimum and maximum values).

Parameters
[in]imageImage to be normalized.
[in]targetMinTarget minimum value to achieve.
[in]targetMaxTarget maximum value to achieve.
Returns
Pointer to newly created image.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ operator*() [1/64]

AffineMatrix2D operator* ( const AffineMatrix2D & lhs,
const AffineMatrix2D & rhs )
inlinenoexcept

Multiply two affine matrices.

Parameters
[in]lhsRight hand side affine matrix.
[in]rhsLeft hand side affine matrix.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [2/64]

AffineMatrix2D operator* ( const AffineMatrix2D & lhs,
const double & rhs )
inlinenoexcept

Multiply affine matrix with scalar.

Parameters
[in]lhsRight hand side affine matrix.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [3/64]

Point2D< double > operator* ( const AffineMatrix2D & lhs,
const Point2D< double > & rhs )
inlinenoexcept

Multiply affine matrix with 2D point.

Parameters
[in]lhsRight hand side affine matrix.
[in]rhsLeft hand side point.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [4/64]

AffineMatrix3D operator* ( const AffineMatrix3D & lhs,
const AffineMatrix3D & rhs )
inline

Multiply two transformations.

Parameters
[in]lhsRight hand side transformation.
[in]rhsLeft hand side transformation.
Returns
The computation result.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ operator*() [5/64]

AffineMatrix3D operator* ( const AffineMatrix3D & lhs,
const double & rhs )
inlinenoexcept

Multiply transformation with scalar.

Parameters
[in]lhsRight hand side transformation.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [6/64]

Angle operator* ( const Angle & lhs,
const double & rhs )
inline

Multiplies an angle with a value.

Parameters
[in]lhsRight hand side angle.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [7/64]

AffineMatrix2D operator* ( const double & lhs,
const AffineMatrix2D & rhs )
inlinenoexcept

Multiply scalar with affine matrix .

Parameters
[in]lhsRight hand side value.
[in]rhsLeft hand side affine matrix.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [8/64]

AffineMatrix3D operator* ( const double & lhs,
const AffineMatrix3D & rhs )
inlinenoexcept

Multiply scalar with transformation.

Parameters
[in]lhsRight hand side value.
[in]rhsLeft hand side transformation.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [9/64]

Angle operator* ( const double & lhs,
const Angle & rhs )
inline

Multiplies value with an angle.

Parameters
[in]lhsRight hand side value.
[in]rhsLeft hand side angle.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [10/64]

Matrix2D operator* ( const double & lhs,
const Matrix2D & rhs )
inline

Multiply scalar with matrix .

Parameters
[in]lhsRight hand side value.
[in]rhsLeft hand side matrix.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [11/64]

Matrix3D operator* ( const double & lhs,
const Matrix3D & rhs )
inline

Multiply scalar with matrix .

Parameters
[in]lhsRight hand side value.
[in]rhsLeft hand side matrix.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [12/64]

Matrix3DH operator* ( const double & lhs,
const Matrix3DH & rhs )
inline

Multiply scalar with matrix .

Parameters
[in]lhsRight hand side value.
[in]rhsLeft hand side matrix.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [13/64]

Matrix2D operator* ( const Matrix2D & lhs,
const double & rhs )
inline

Multiply matrix with scalar.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [14/64]

Matrix2D operator* ( const Matrix2D & lhs,
const Matrix2D & rhs )
inline

Multiply two matrices.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side matrix.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [15/64]

Point2D< double > operator* ( const Matrix2D & lhs,
const Point2D< double > & rhs )
inline

Multiply matrix with 2D point.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side point.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [16/64]

Matrix3D operator* ( const Matrix3D & lhs,
const double & rhs )
inline

Multiply matrix with scalar.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [17/64]

Matrix3D operator* ( const Matrix3D & lhs,
const Matrix3D & rhs )
inline

Multiply two matrices.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side matrix.
Returns
The computation result.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ operator*() [18/64]

Point3D< double > operator* ( const Matrix3D & lhs,
const Point3D< double > & rhs )
inline

Multiply matrix with 3D point.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side point.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [19/64]

Matrix3DH operator* ( const Matrix3DH & lhs,
const double & rhs )
inline

Multiply matrix with scalar.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [20/64]

Point3DH< double > operator* ( const Matrix3DH & lhs,
const Point3DH< double > & rhs )
inline

Multiply matrix with 3D point (homogeneous).

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side point.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [21/64]

template<class T>
T operator* ( const Point2D< T > & lhs,
const Point2D< T > & rhs )
related

Inner product of two point vectors.

Parameters
[in]lhsRight hand side point.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [22/64]

template<class T>
Point2D< T > operator* ( const Point2D< T > & lhs,
const T & rhs )
related

Multiply point with scalar.

Parameters
[in]lhsRight hand side point.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [23/64]

template<class T>
T operator* ( const Point3D< T > & lhs,
const Point3D< T > & rhs )
related

Inner product of two point vectors.

Parameters
[in]lhsRight hand side point.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [24/64]

template<class T>
Point3D< T > operator* ( const Point3D< T > & lhs,
const T & rhs )
related

Multiply point with scalar.

Parameters
[in]lhsRight hand side point.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [25/64]

template<class T>
T operator* ( const Point3DC< T > & lhs,
const Point3DC< T > & rhs )
inline

Inner product of two point vectors.

Parameters
[in]lhsRight hand side point.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [26/64]

template<class T>
Point3DC< T > operator* ( const Point3DC< T > & lhs,
const T & rhs )
inline

Multiply point with scalar.

Parameters
[in]lhsRight hand side point.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [27/64]

template<class T>
T operator* ( const Point3DH< T > & lhs,
const Point3DH< T > & rhs )
inline

Inner product of two point vectors.

Parameters
[in]lhsRight hand side point.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [28/64]

template<class T>
Point3DH< T > operator* ( const Point3DH< T > & lhs,
const T & rhs )
inline

Multiply point with scalar.

Parameters
[in]lhsRight hand side point.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [29/64]

template<class T>
Point2D< T > operator* ( const T & lhs,
const Point2D< T > & rhs )
related

Multiply scalar with point.

Parameters
[in]lhsRight hand side value.
[in]rhsLeft hand side point.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [30/64]

template<class T>
Point3D< T > operator* ( const T & lhs,
const Point3D< T > & rhs )
related

Multiply scalar with point.

Parameters
[in]lhsRight hand side value.
[in]rhsLeft hand side point.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [31/64]

template<class T>
Point3DC< T > operator* ( const T & lhs,
const Point3DC< T > & rhs )
related

Multiply scalar with point.

Parameters
[in]lhsRight hand side value.
[in]rhsLeft hand side point.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator*() [32/64]

template<class T>
Point3DH< T > operator* ( const T & lhs,
const Point3DH< T > & rhs )
related

Multiply scalar with point.

Parameters
[in]lhsRight hand side value.
[in]rhsLeft hand side point.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator+() [1/17]

AffineMatrix2D operator+ ( const AffineMatrix2D & lhs,
const AffineMatrix2D & rhs )
inlinenoexcept

Add two affine matrices.

Parameters
[in]lhsRight hand side affine matrix.
[in]rhsLeft hand side affine matrix.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator+() [2/17]

AffineMatrix3D operator+ ( const AffineMatrix3D & lhs,
const AffineMatrix3D & rhs )
inlinenoexcept

Add two transformations.

Parameters
[in]lhsRight hand side transformation.
[in]rhsLeft hand side transformation.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator+() [3/17]

Angle operator+ ( const Angle & lhs,
const Angle & rhs )
inline

Add two angles.

Parameters
[in]lhsRight hand side angle.
[in]rhsLeft hand side angle.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator+() [4/17]

Matrix2D operator+ ( const Matrix2D & lhs,
const Matrix2D & rhs )
inline

Add two matrices.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side matrix.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator+() [5/17]

Matrix3D operator+ ( const Matrix3D & lhs,
const Matrix3D & rhs )
inline

Add two matrices.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side matrix.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator+() [6/17]

Matrix3DH operator+ ( const Matrix3DH & lhs,
const Matrix3DH & rhs )
inline

Add two matrices.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side matrix.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator+() [7/17]

template<class T>
Point2D< T > operator+ ( const Point2D< T > & lhs,
const Point2D< T > & rhs )
related

Add two points.

Parameters
[in]lhsRight hand side point.
[in]rhsLeft hand side point.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator-() [1/20]

AffineMatrix2D operator- ( const AffineMatrix2D & lhs,
const AffineMatrix2D & rhs )
inlinenoexcept

Subtract two affine matrices.

Parameters
[in]lhsRight hand side affine matrix.
[in]rhsLeft hand side affine matrix.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator-() [2/20]

AffineMatrix3D operator- ( const AffineMatrix3D & lhs,
const AffineMatrix3D & rhs )
inlinenoexcept

Subtract two transformations.

Parameters
[in]lhsRight hand side affine matrix.
[in]rhsLeft hand side affine matrix.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator-() [3/20]

Angle operator- ( const Angle & lhs,
const Angle & rhs )
inline

Subtract two angles.

Parameters
[in]lhsRight hand side angle.
[in]rhsLeft hand side angle.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator-() [4/20]

Matrix2D operator- ( const Matrix2D & lhs,
const Matrix2D & rhs )
inline

Substract two matrices.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side matrix.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator-() [5/20]

Matrix3D operator- ( const Matrix3D & lhs,
const Matrix3D & rhs )
inline

Subtract two matrices.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side matrix.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator-() [6/20]

Matrix3DH operator- ( const Matrix3DH & lhs,
const Matrix3DH & rhs )
inline

Subtract two matrices.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side matrix.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator-() [7/20]

template<class T>
Point2D< T > operator- ( const Point2D< T > & lhs,
const Point2D< T > & rhs )
related

Subtracts two points.

Parameters
[in]lhsRight hand side point.
[in]rhsLeft hand side point.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator-() [8/20]

template<class T>
Point3D< T > operator- ( const Point3D< T > & lhs,
const Point3D< T > & rhs )
related

Subtracts two points.

Parameters
[in]lhsRight hand side point.
[in]rhsLeft hand side point.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator-() [9/20]

template<class T>
Point3DC< T > operator- ( const Point3DC< T > & lhs,
const Point3DC< T > & rhs )
inline

Subtracts two points.

Parameters
[in]lhsRight hand side point.
[in]rhsLeft hand side point.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator-() [10/20]

template<class T>
Point3DH< T > operator- ( const Point3DH< T > & lhs,
const Point3DH< T > & rhs )
inline

Subtracts two points.

Parameters
[in]lhsRight hand side point.
[in]rhsLeft hand side point.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator/() [1/20]

AffineMatrix2D operator/ ( const AffineMatrix2D & lhs,
const double & rhs )
inline

Divide affine matrix by scalar.

Parameters
[in]lhsRight hand side affine matrix.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator/() [2/20]

AffineMatrix3D operator/ ( const AffineMatrix3D & lhs,
const double & rhs )
inline

Divide transformation by scalar.

Parameters
[in]lhsRight hand side transformation.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ operator/() [3/20]

Angle operator/ ( const Angle & lhs,
const double & rhs )
inline

Divides an angle by a value.

Parameters
[in]lhsRight hand side angle.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator/() [4/20]

Matrix2D operator/ ( const Matrix2D & lhs,
const double & rhs )
inline

Divide matrix by scalar.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator/() [5/20]

Matrix3D operator/ ( const Matrix3D & lhs,
const double & rhs )
inline

Divide matrix by scalar.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator/() [6/20]

Matrix3DH operator/ ( const Matrix3DH & lhs,
const double & rhs )
inline

Divide matrix by scalar.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator/() [7/20]

template<class T>
Point2D< T > operator/ ( const Point2D< T > & lhs,
const T & rhs )
related

Divide point by scalar.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator/() [8/20]

template<class T>
Point3D< T > operator/ ( const Point3D< T > & lhs,
const T & rhs )
related

Divide point by scalar.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator/() [9/20]

template<class T>
Point3DC< T > operator/ ( const Point3DC< T > & lhs,
const T & rhs )
inline

Divide point by scalar.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ operator/() [10/20]

template<class T>
Point3DH< T > operator/ ( const Point3DH< T > & lhs,
const T & rhs )
inline

Divide point by scalar.

Parameters
[in]lhsRight hand side matrix.
[in]rhsLeft hand side value.
Returns
The computation result.
Exceptions
Doesnot throw any exception.

◆ PolarTransform() [1/4]

std::unique_ptr< Image > PolarTransform ( const Image & image,
Point2D< double > center,
double innerRadius,
double outerRadius )
inline

Create a polar transformation (i.e. unwrap a ring structure from inside source image into a rectangular image).

Parameters
[in]imageSource image.
[in]centerCenter image for the polar transform.
[in]innerRadiusInner radius of the ring.
[in]outerRadiusOuter radius of the ring.
Returns
Pointer to newly created image.
Exceptions
Anyexception derived from std::exception including CvbException.

Linear interpolation is being used for the transformation.

◆ PolarTransform() [2/4]

std::unique_ptr< Image > PolarTransform ( const Image & image,
Point2D< double > center,
double innerRadius,
double outerRadius,
Angle startAngle,
Angle totalAngle )
inline

Create a polar transformation (i.e. unwrap a ring structure from inside source image into a rectangular image).

Parameters
[in]imageSource image.
[in]centerCenter image for the polar transform.
[in]innerRadiusInner radius of the ring.
[in]outerRadiusOuter radius of the ring.
[in]startAngleOrientation of the start angle.
[in]totalAngleThe total angle to cover.
Returns
Pointer to newly created image.
Exceptions
Anyexception derived from std::exception including CvbException.

Linear interpolation is being used for the transformation.

◆ Round() [1/6]

template<class T>
Point2D< int > Round ( const Point2D< T > & rhs)
inlinenoexcept

Round to an integer point.

Parameters
[in]rhsThe point to round
Returns
A rounded integer point
Exceptions
Doesnot throw any exception.
Note
If the round operation is undefined, the result will also be undefined.

◆ Round() [2/6]

template<class T>
Point3D< int > Round ( const Point3D< T > & rhs)
inlinenoexcept

Round to an integer point.

Parameters
[in]rhsThe point to round
Returns
A rounded integer point
Exceptions
Doesnot throw any exception.
Note
If the round operation is undefined, the result will also be undefined.

◆ Round() [3/6]

template<class T>
Rect< int > Round ( const Rect< T > & rhs)
inlinenoexcept

Round to an integer rectangle.

Parameters
[in]rhsThe rectangle to round.
Returns
A rounded integer rectangle.
Exceptions
Doesnot throw any exception.
Note
If the round operation is undefined, the result will also be undefined.

◆ Round() [4/6]

template<class T>
RectLT< int > Round ( const RectLT< T > & rhs)
inlinenoexcept

Round to an integer rectangle.

Parameters
[in]rhsThe rectangle to round.
Returns
A rounded integer rectangle.
Exceptions
Doesnot throw any exception.
Note
If the round operation is undefined, the result will also be undefined.

◆ Round() [5/6]

template<class T>
Size2D< int > Round ( const Size2D< T > & rhs)
inlinenoexcept

Rounds to an integer size.

Parameters
[in]rhsThe size to round.
Returns
A rounded integer size.
Exceptions
Doesnot throw any exception.
Note
If the round operation is undefined, the result will also be undefined.

◆ Round() [6/6]

template<class T>
ValueRange< int > Round ( const ValueRange< T > & rhs)
inlinenoexcept

Rounds to an integer value range.

Parameters
[in]rhsThe value range to round.
Returns
A rounded value range.
Exceptions
Doesnot throw any exception.
Note
If the round operation is undefined, the result will also be undefined.

◆ Sign() [1/2]

int Sign ( Angle angle)
inlinenoexcept

Returns a value indicating the sign of an Angle.

Parameters
[in]angleThe angle.
Returns
-1 if angle is less than zero, 0 if angle is zero, 1 if angle is greater than zero.
Exceptions
Doesnot throw any exception.

◆ Sin() [1/2]

double Sin ( Angle angle)
inlinenoexcept

Returns the sine of an angle.

Parameters
[in]angleThe angle.
Returns
The sine.
Exceptions
Doesnot throw any exception.

◆ Sinh() [1/2]

double Sinh ( Angle angle)
inlinenoexcept

Returns the hyperbolic sine of an angle.

Parameters
[in]angleThe angle.
Returns
The hyperbolic sine.
Exceptions
Doesnot throw any exception.

◆ Tan() [1/2]

double Tan ( Angle angle)
inlinenoexcept

Returns the tangent of an angle.

Parameters
[in]angleThe angle.
Returns
The tangent.
Exceptions
Doesnot throw any exception.

◆ Tanh() [1/2]

double Tanh ( Angle angle)
inlinenoexcept

Returns the hyperbolic tangent of an angle.

Parameters
[in]angleThe angle.
Returns
The hyperbolic tangent.
Exceptions
Doesnot throw any exception.

◆ Version()

String Version ( )
inline

Full version of the currently installed CVB.

Returns
Version string
Exceptions
Anyexception derived from std::exception including CvbException.

◆ VersionBuild()

String VersionBuild ( )
inlinenoexcept

Gets the CVB version this header set was build/validated with.

Returns
Version string
Exceptions
Doesnot throw any exception.

Usually this is the same as VersionMin(), except for nightlys that are build against the next upcomming CVB version.

◆ VersionMin()

String VersionMin ( )
inlinenoexcept

Gets the minimum CVB required for these headers.

Returns
Version string
Exceptions
Doesnot throw any exception.

Even older versions might work in for a subset.

◆ visit()

template<class VISITOR, class VARIANT>
auto visit ( VISITOR && visitor,
VARIANT && var ) -> decltype(visitor(get<0>(var)))
related

Visits the given Shims::variant var. Cvb::Shims::visit can only visit one variant (not multiple like std::visit).

Template Parameters
VISITORCallable that get the value of the variant as argument.
TSParameter pack of the Shims::variant alternatives.
Parameters
[in]visitorCallable to visit the variant var.
[in]varVariant to visit.
Returns
Type depends on visitor.

◆ WaitForLicense()

template<class Rep, class Period>
WaitStatus WaitForLicense ( const std::chrono::duration< Rep, Period > & timeSpan)
inlinenoexcept

Wait for a given time for the license to become available.

Parameters
[in]timeSpanTime to wait for license.
Returns
The status of the wait operation.
Exceptions
Doesnot throw any exception.

This is useful if your application is automatically started after the operating system. E.g. the license service might not be up and running yet. So your application will start without a license. By calling this function you can make sure your application sees a valid license before actually requiring it.