View Source Evision.Volume (Evision v1.0.0-rc.0)
Summary
Functions
Extract the all data from volume.
Extract the all data from volume.
Extract the all data from volume.
Extract the all data from volume.
Extract the all data from volume.
Extract the all data from volume.
Gets bounding box in volume coordinates with given precision: VOLUME_UNIT - up to volume unit VOXEL - up to voxel (currently not supported)
Gets bounding box in volume coordinates with given precision: VOLUME_UNIT - up to volume unit VOXEL - up to voxel (currently not supported)
Returns if new volume units are allocated during integration or not. Makes sense for HashTSDF only.
return number of volume units in volume.
return visible blocks in volume.
Integrates the input data to the volume.
Integrates the input data to the volume.
Integrates the input data to the volume.
Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system.
Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system.
Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system.
Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system.
Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system.
Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system.
Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system.
Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system.
clear all data in volume.
Enables or disables new volume unit allocation during integration. Makes sense for HashTSDF only.
Constructor of custom volume.
Constructor of custom volume.
Types
@type t() :: %Evision.Volume{ref: reference()}
Type that represents an Volume struct.
ref.
reference()The underlying erlang resource variable.
Functions
@spec fetchNormals(t(), Evision.Mat.maybe_mat_in()) :: Evision.Mat.t() | {:error, String.t()}
Extract the all data from volume.
Positional Arguments
self:
Evision.Volume.t()points:
Evision.Mat.the input exist point.
Return
normals:
Evision.Mat.t().the storage of normals (corresponding to input points) in the image.
Python prototype (for reference only):
fetchNormals(points[, normals]) -> normals
@spec fetchNormals(t(), Evision.Mat.maybe_mat_in(), [{atom(), term()}, ...] | nil) :: Evision.Mat.t() | {:error, String.t()}
Extract the all data from volume.
Positional Arguments
self:
Evision.Volume.t()points:
Evision.Mat.the input exist point.
Return
normals:
Evision.Mat.t().the storage of normals (corresponding to input points) in the image.
Python prototype (for reference only):
fetchNormals(points[, normals]) -> normals
@spec fetchPointsNormals(Keyword.t()) :: any() | {:error, String.t()}
@spec fetchPointsNormals(t()) :: {Evision.Mat.t(), Evision.Mat.t()} | {:error, String.t()}
Extract the all data from volume.
Positional Arguments
- self:
Evision.Volume.t()
Return
points:
Evision.Mat.t().the storage of all points.
normals:
Evision.Mat.t().the storage of all normals, corresponding to points.
Python prototype (for reference only):
fetchPointsNormals([, points[, normals]]) -> points, normals
@spec fetchPointsNormals(t(), [{atom(), term()}, ...] | nil) :: {Evision.Mat.t(), Evision.Mat.t()} | {:error, String.t()}
Extract the all data from volume.
Positional Arguments
- self:
Evision.Volume.t()
Return
points:
Evision.Mat.t().the storage of all points.
normals:
Evision.Mat.t().the storage of all normals, corresponding to points.
Python prototype (for reference only):
fetchPointsNormals([, points[, normals]]) -> points, normals
@spec fetchPointsNormalsColors(Keyword.t()) :: any() | {:error, String.t()}
@spec fetchPointsNormalsColors(t()) :: {Evision.Mat.t(), Evision.Mat.t(), Evision.Mat.t()} | {:error, String.t()}
Extract the all data from volume.
Positional Arguments
- self:
Evision.Volume.t()
Return
points:
Evision.Mat.t().the storage of all points.
normals:
Evision.Mat.t().the storage of all normals, corresponding to points.
colors:
Evision.Mat.t().the storage of all colors, corresponding to points (only for ColorTSDF).
Python prototype (for reference only):
fetchPointsNormalsColors([, points[, normals[, colors]]]) -> points, normals, colors
@spec fetchPointsNormalsColors(t(), [{atom(), term()}, ...] | nil) :: {Evision.Mat.t(), Evision.Mat.t(), Evision.Mat.t()} | {:error, String.t()}
Extract the all data from volume.
Positional Arguments
- self:
Evision.Volume.t()
Return
points:
Evision.Mat.t().the storage of all points.
normals:
Evision.Mat.t().the storage of all normals, corresponding to points.
colors:
Evision.Mat.t().the storage of all colors, corresponding to points (only for ColorTSDF).
Python prototype (for reference only):
fetchPointsNormalsColors([, points[, normals[, colors]]]) -> points, normals, colors
@spec getBoundingBox(t(), integer()) :: Evision.Mat.t() | {:error, String.t()}
Gets bounding box in volume coordinates with given precision: VOLUME_UNIT - up to volume unit VOXEL - up to voxel (currently not supported)
Positional Arguments
self:
Evision.Volume.t()precision:
integer().bounding box calculation precision
Return
bb:
Evision.Mat.t().6-float 1d array containing (min_x, min_y, min_z, max_x, max_y, max_z) in volume coordinates
Python prototype (for reference only):
getBoundingBox(precision[, bb]) -> bb
@spec getBoundingBox(t(), integer(), [{atom(), term()}, ...] | nil) :: Evision.Mat.t() | {:error, String.t()}
Gets bounding box in volume coordinates with given precision: VOLUME_UNIT - up to volume unit VOXEL - up to voxel (currently not supported)
Positional Arguments
self:
Evision.Volume.t()precision:
integer().bounding box calculation precision
Return
bb:
Evision.Mat.t().6-float 1d array containing (min_x, min_y, min_z, max_x, max_y, max_z) in volume coordinates
Python prototype (for reference only):
getBoundingBox(precision[, bb]) -> bb
@spec getEnableGrowth(Keyword.t()) :: any() | {:error, String.t()}
@spec getEnableGrowth(t()) :: boolean() | {:error, String.t()}
Returns if new volume units are allocated during integration or not. Makes sense for HashTSDF only.
Positional Arguments
- self:
Evision.Volume.t()
Return
- retval:
bool
Python prototype (for reference only):
getEnableGrowth() -> retval
@spec getTotalVolumeUnits(Keyword.t()) :: any() | {:error, String.t()}
@spec getTotalVolumeUnits(t()) :: integer() | {:error, String.t()}
return number of volume units in volume.
Positional Arguments
- self:
Evision.Volume.t()
Return
- retval:
size_t
Python prototype (for reference only):
getTotalVolumeUnits() -> retval
@spec getVisibleBlocks(Keyword.t()) :: any() | {:error, String.t()}
@spec getVisibleBlocks(t()) :: integer() | {:error, String.t()}
return visible blocks in volume.
Positional Arguments
- self:
Evision.Volume.t()
Return
- retval:
integer()
Python prototype (for reference only):
getVisibleBlocks() -> retval
@spec integrate(t(), Evision.Mat.maybe_mat_in(), Evision.Mat.maybe_mat_in()) :: t() | {:error, String.t()}
Integrates the input data to the volume.
Positional Arguments
self:
Evision.Volume.t()depth:
Evision.Mat.the depth image.
pose:
Evision.Mat.the pose of camera in global coordinates.
Camera intrinsics are taken from volume settings structure.
Python prototype (for reference only):
integrate(depth, pose) -> None
@spec integrateColor( t(), Evision.Mat.maybe_mat_in(), Evision.Mat.maybe_mat_in(), Evision.Mat.maybe_mat_in() ) :: t() | {:error, String.t()}
Integrates the input data to the volume.
Positional Arguments
self:
Evision.Volume.t()depth:
Evision.Mat.the depth image.
image:
Evision.Mat.the color image (only for ColorTSDF). For color TSDF a depth data should be registered with color data, i.e. have the same intrinsics & camera pose. This can be done using function registerDepth() from 3d module.
pose:
Evision.Mat.the pose of camera in global coordinates.
Camera intrinsics are taken from volume settings structure.
Python prototype (for reference only):
integrateColor(depth, image, pose) -> None
@spec integrateFrame(t(), Evision.OdometryFrame.t(), Evision.Mat.maybe_mat_in()) :: t() | {:error, String.t()}
Integrates the input data to the volume.
Positional Arguments
self:
Evision.Volume.t()frame:
Evision.OdometryFrame.the object from which to take depth and image data. For color TSDF a depth data should be registered with color data, i.e. have the same intrinsics & camera pose. This can be done using function registerDepth() from 3d module.
pose:
Evision.Mat.the pose of camera in global coordinates.
Camera intrinsics are taken from volume settings structure.
Python prototype (for reference only):
integrateFrame(frame, pose) -> None
@spec raycast(t(), Evision.Mat.maybe_mat_in()) :: {Evision.Mat.t(), Evision.Mat.t()} | {:error, String.t()}
Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system.
Positional Arguments
self:
Evision.Volume.t()cameraPose:
Evision.Mat.the pose of camera in global coordinates.
Return
points:
Evision.Mat.t().image to store rendered points.
normals:
Evision.Mat.t().image to store rendered normals corresponding to points.
Rendered image size and camera intrinsics are taken from volume settings structure.
Python prototype (for reference only):
raycast(cameraPose[, points[, normals]]) -> points, normals
@spec raycast(t(), Evision.Mat.maybe_mat_in(), [{atom(), term()}, ...] | nil) :: {Evision.Mat.t(), Evision.Mat.t()} | {:error, String.t()}
Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system.
Positional Arguments
self:
Evision.Volume.t()cameraPose:
Evision.Mat.the pose of camera in global coordinates.
Return
points:
Evision.Mat.t().image to store rendered points.
normals:
Evision.Mat.t().image to store rendered normals corresponding to points.
Rendered image size and camera intrinsics are taken from volume settings structure.
Python prototype (for reference only):
raycast(cameraPose[, points[, normals]]) -> points, normals
@spec raycastColor(t(), Evision.Mat.maybe_mat_in()) :: {Evision.Mat.t(), Evision.Mat.t(), Evision.Mat.t()} | {:error, String.t()}
Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system.
Positional Arguments
self:
Evision.Volume.t()cameraPose:
Evision.Mat.the pose of camera in global coordinates.
Return
points:
Evision.Mat.t().image to store rendered points.
normals:
Evision.Mat.t().image to store rendered normals corresponding to points.
colors:
Evision.Mat.t().image to store rendered colors corresponding to points (only for ColorTSDF).
Rendered image size and camera intrinsics are taken from volume settings structure.
Python prototype (for reference only):
raycastColor(cameraPose[, points[, normals[, colors]]]) -> points, normals, colors
@spec raycastColor(t(), Evision.Mat.maybe_mat_in(), [{atom(), term()}, ...] | nil) :: {Evision.Mat.t(), Evision.Mat.t(), Evision.Mat.t()} | {:error, String.t()}
Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system.
Positional Arguments
self:
Evision.Volume.t()cameraPose:
Evision.Mat.the pose of camera in global coordinates.
Return
points:
Evision.Mat.t().image to store rendered points.
normals:
Evision.Mat.t().image to store rendered normals corresponding to points.
colors:
Evision.Mat.t().image to store rendered colors corresponding to points (only for ColorTSDF).
Rendered image size and camera intrinsics are taken from volume settings structure.
Python prototype (for reference only):
raycastColor(cameraPose[, points[, normals[, colors]]]) -> points, normals, colors
@spec raycastEx( t(), Evision.Mat.maybe_mat_in(), integer(), integer(), Evision.Mat.maybe_mat_in() ) :: {Evision.Mat.t(), Evision.Mat.t()} | {:error, String.t()}
Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system.
Positional Arguments
self:
Evision.Volume.t()cameraPose:
Evision.Mat.the pose of camera in global coordinates.
height:
integer().the height of result image
width:
integer().the width of result image
k:
Evision.Mat.camera raycast intrinsics
Return
points:
Evision.Mat.t().image to store rendered points.
normals:
Evision.Mat.t().image to store rendered normals corresponding to points.
Rendered image size and camera intrinsics are taken from volume settings structure.
Python prototype (for reference only):
raycastEx(cameraPose, height, width, K[, points[, normals]]) -> points, normals
@spec raycastEx( t(), Evision.Mat.maybe_mat_in(), integer(), integer(), Evision.Mat.maybe_mat_in(), [{atom(), term()}, ...] | nil ) :: {Evision.Mat.t(), Evision.Mat.t()} | {:error, String.t()}
Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system.
Positional Arguments
self:
Evision.Volume.t()cameraPose:
Evision.Mat.the pose of camera in global coordinates.
height:
integer().the height of result image
width:
integer().the width of result image
k:
Evision.Mat.camera raycast intrinsics
Return
points:
Evision.Mat.t().image to store rendered points.
normals:
Evision.Mat.t().image to store rendered normals corresponding to points.
Rendered image size and camera intrinsics are taken from volume settings structure.
Python prototype (for reference only):
raycastEx(cameraPose, height, width, K[, points[, normals]]) -> points, normals
@spec raycastExColor( t(), Evision.Mat.maybe_mat_in(), integer(), integer(), Evision.Mat.maybe_mat_in() ) :: {Evision.Mat.t(), Evision.Mat.t(), Evision.Mat.t()} | {:error, String.t()}
Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system.
Positional Arguments
self:
Evision.Volume.t()cameraPose:
Evision.Mat.the pose of camera in global coordinates.
height:
integer().the height of result image
width:
integer().the width of result image
k:
Evision.Mat.camera raycast intrinsics
Return
points:
Evision.Mat.t().image to store rendered points.
normals:
Evision.Mat.t().image to store rendered normals corresponding to points.
colors:
Evision.Mat.t().image to store rendered colors corresponding to points (only for ColorTSDF).
Rendered image size and camera intrinsics are taken from volume settings structure.
Python prototype (for reference only):
raycastExColor(cameraPose, height, width, K[, points[, normals[, colors]]]) -> points, normals, colors
@spec raycastExColor( t(), Evision.Mat.maybe_mat_in(), integer(), integer(), Evision.Mat.maybe_mat_in(), [{atom(), term()}, ...] | nil ) :: {Evision.Mat.t(), Evision.Mat.t(), Evision.Mat.t()} | {:error, String.t()}
Renders the volume contents into an image. The resulting points and normals are in camera's coordinate system.
Positional Arguments
self:
Evision.Volume.t()cameraPose:
Evision.Mat.the pose of camera in global coordinates.
height:
integer().the height of result image
width:
integer().the width of result image
k:
Evision.Mat.camera raycast intrinsics
Return
points:
Evision.Mat.t().image to store rendered points.
normals:
Evision.Mat.t().image to store rendered normals corresponding to points.
colors:
Evision.Mat.t().image to store rendered colors corresponding to points (only for ColorTSDF).
Rendered image size and camera intrinsics are taken from volume settings structure.
Python prototype (for reference only):
raycastExColor(cameraPose, height, width, K[, points[, normals[, colors]]]) -> points, normals, colors
@spec reset(Keyword.t()) :: any() | {:error, String.t()}
@spec reset(t()) :: t() | {:error, String.t()}
clear all data in volume.
Positional Arguments
- self:
Evision.Volume.t()
Python prototype (for reference only):
reset() -> None
Enables or disables new volume unit allocation during integration. Makes sense for HashTSDF only.
Positional Arguments
- self:
Evision.Volume.t() - v:
bool
Python prototype (for reference only):
setEnableGrowth(v) -> None
Constructor of custom volume.
Keyword Arguments
vtype:
VolumeType.the volume type [TSDF, HashTSDF, ColorTSDF].
settings:
Evision.VolumeSettings.the custom settings for volume.
Return
- self:
Evision.Volume.t()
Python prototype (for reference only):
Volume([, vtype[, settings]]) -> <Volume object>
@spec volume(Keyword.t()) :: any() | {:error, String.t()}
@spec volume([settings: term(), vtype: term()] | nil) :: t() | {:error, String.t()}
Constructor of custom volume.
Keyword Arguments
vtype:
VolumeType.the volume type [TSDF, HashTSDF, ColorTSDF].
settings:
Evision.VolumeSettings.the custom settings for volume.
Return
- self:
Evision.Volume.t()
Python prototype (for reference only):
Volume([, vtype[, settings]]) -> <Volume object>