Skip to main content

Roboflex Visualization Library

Project description

roboflex.visualization

A thin wrapper of various display nodes over SDL2. For now just supplies one node: RGBImageTV. It can display rgb tensors of the form (H,W,3) uint8.

System requirements

  • libsdl: SDL (Simple Directmedia Layer)

      # search for existing libsdl packages
      dpkg -l | grep sdl # -> shows nothing
    
      # install libsdl
      sudo apt-get install libsdl2-dev
    
      # search for existing libsdl packages again
      dpkg -l | grep sdl # -> shows:
      ii  libsdl2-2.0-0:amd64                        2.0.20+dfsg-2ubuntu1.22.04.1                                        amd64        Simple DirectMedia Layer
      ii  libsdl2-dev:amd64                          2.0.20+dfsg-2ubuntu1.22.04.1                                        amd64        Simple DirectMedia Layer development files
    
      THIS, for me on ubuntu22, puts headers in /usr/include/SDL2 and libs in /lib/x86_64-linux-gnu/libSDL2-2.0.so
    
      # to remove it:
      sudo apt-get -y purge libsdl2-dev
    

Import

import roboflex.visualization as rv

Nodes

There are two:

There is are three: RGBImageTV, BlackAndWhiteTV, and DepthTV

# RGBImageTV will redraw rgb images at some
# frequency (refresh rate). It will look into
# all messages it receives - those that contain
# the key "rgb", mapping to a (3,H,W) tensor
# will be rendered. Messages get propagated.

rgb_tv = rcw.RGBImageTV(

    # mandatory (refresh rate)
    frequency_hz: float,

    # optional; defaults are:
    width = 640,
    height = 480,
    image_key = "rgb",
    initial_pos = (-1, -1),
    mirror = False,
    debug = False,
    name = "RGBImageTV"
)

# must be started!
rgb_tv.start()


# BlackAndWhiteTV will redraw rgb images at some
# frequency (refresh rate). It will look into
# all messages it receives - those that contain
# the key "ir1", mapping to a (H,W) tensor
# will be rendered. Messages get propagated.

black_and_white_tv = rcw.BlackAndWhiteTV(

    # mandatory (refresh rate)
    frequency_hz: float,

    # optional; defaults are:
    width = 640,
    height = 480,
    image_key = "ir1",
    initial_pos = (-1, -1),
    mirror = False,
    debug = False,
    name = "BlackAndWhiteTV"
)

# must be started!
black_and_white_tv.start()


# DepthTV will redraw depth images at some
# frequency (refresh rate). It will look into
# all messages it receives - those that contain
# the key "depth", mapping to a (H,W) tensor
# will be rendered. Messages get propagated.

depth_tv = rcw.DepthTV(

    # mandatory (refresh rate)
    frequency_hz: float,

    # optional; defaults are:
    width = 640,
    height = 480,
    image_key = "depth",
    initial_pos = (-1, -1),
    mirror = False,
    debug = False,
    name = "RGBImageTV"
)

# must be started!
depth_tv.start()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

roboflex.visualization-0.1.10.tar.gz (10.5 kB view details)

Uploaded Source

File details

Details for the file roboflex.visualization-0.1.10.tar.gz.

File metadata

  • Download URL: roboflex.visualization-0.1.10.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for roboflex.visualization-0.1.10.tar.gz
Algorithm Hash digest
SHA256 c40aa867476415e7c54b7105c38721599249d59d096c1b5b16b63da1b75edc93
MD5 7b5433347d06bccae760501c0297f692
BLAKE2b-256 463639a2a0e722f23a11c189bcb24eaf59fee0dab06cf216902618c1682d2297

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page