This library builds on imviz to create interactive dashboards.
Data from files, ros2 topics, or structstores can be displayed and manipulated.
- last updated: 07/2024
- name: imdash
- category: tooling
- maintainers: Jona Ruof
- license: Apache-2.0
- HW dependencies: none
Install with pip install .
and launch with the imdash
command.
The imdash library specifies three basic application building blocks:
Views render (at least) one window and can hold multiple components. (e.g. View2D provides a window for plotting).
Components are sub-elements, which extend the functionality of a view. (e.g. Value2DComponent plots values on a View2D, History2DComponent plots value histories on a View2D)
Connectors are classes, which provide access to some kind of data source. (e.g. Ros2Connector can subscribe to ros2 topics, FilesystemConnector can read in files)
New views, components and connectors can be defined by creating sub classes, which extend the respective base classes:
- Views extend
imdash.utils.ViewBase
- Components extend the view's component base class e.g.
imdash.views.view_2d.View2DComponent
- Connectors extend
imdash.connectors.ConnectorBase
By deriving from these base classes the extension is automatically registered. Note that, new classes must be imported to be found by imdash.
In the simplest case, just import your new classes and then run the imdash main.
# import or define your extension here
import ...
from imdash.main import main
if __name__ == '__main__':
main()