View Source Evision.Volume (Evision v1.0.0-rc.0)

Summary

Types

t()

Type that represents an Volume struct.

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

Link to this function

fetchNormals(named_args)

View Source
@spec fetchNormals(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

fetchNormals(self, points)

View Source
@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
Link to this function

fetchNormals(self, points, opts)

View Source
@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
Link to this function

fetchPointsNormals(named_args)

View Source
@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
Link to this function

fetchPointsNormals(self, opts)

View Source
@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
Link to this function

fetchPointsNormalsColors(named_args)

View Source
@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
Link to this function

fetchPointsNormalsColors(self, opts)

View Source
@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
Link to this function

getBoundingBox(named_args)

View Source
@spec getBoundingBox(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

getBoundingBox(self, precision)

View Source
@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
Link to this function

getBoundingBox(self, precision, opts)

View Source
@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
Link to this function

getEnableGrowth(named_args)

View Source
@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
Link to this function

getTotalVolumeUnits(named_args)

View Source
@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
Link to this function

getVisibleBlocks(named_args)

View Source
@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(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

integrate(self, depth, pose)

View Source
@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
Link to this function

integrateColor(named_args)

View Source
@spec integrateColor(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

integrateColor(self, depth, image, pose)

View Source
@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
Link to this function

integrateFrame(named_args)

View Source
@spec integrateFrame(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

integrateFrame(self, frame, pose)

View Source
@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(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

raycast(self, cameraPose)

View Source
@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
Link to this function

raycast(self, cameraPose, opts)

View Source
@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
Link to this function

raycastColor(named_args)

View Source
@spec raycastColor(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

raycastColor(self, cameraPose)

View Source
@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
Link to this function

raycastColor(self, cameraPose, opts)

View Source
@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(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

raycastEx(self, cameraPose, height, width, k)

View Source
@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
Link to this function

raycastEx(self, cameraPose, height, width, k, opts)

View Source
@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
Link to this function

raycastExColor(named_args)

View Source
@spec raycastExColor(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

raycastExColor(self, cameraPose, height, width, k)

View Source
@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
Link to this function

raycastExColor(self, cameraPose, height, width, k, opts)

View Source
@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
Link to this function

setEnableGrowth(named_args)

View Source
@spec setEnableGrowth(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

setEnableGrowth(self, v)

View Source
@spec setEnableGrowth(t(), boolean()) :: t() | {:error, String.t()}

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
@spec volume() :: 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>
@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>