User interface library for visiongraph projects.
Project description
Visiongraph UI
User interface library for visiongraph projects. The idea behind this project is to create a structure for computer vision applications. The idea is to have a configuration, app and graph. And if needed a window.
Example
Configuration
class DemoConfig:
def __init__(self):
container = ContainerHelper(self)
# non-ui bound settings
with container.section("Test"):
self.enable_input = DataField(False) | ui.Boolean("Enable") | Argument(help="Enable input.")
Application
class DemoApp(VisiongraphApp[vg.VisionGraph, DemoConfig]):
def __init__(self, config: DemoConfig):
super().__init__(config)
def create_graph(self) -> vg.Visiongraph:
graph = DemoGraph().create_graph(vg.VideoCaptureInput())
graph.multi_threaded = True
return graph
Graph
class DemoGraph:
def __init__(self):
self.on_frame_ready: Event[np.ndarray] = Event()
self.graph: Optional[vg.VisionGraph] = None
def _on_frame_ready(self, frame: np.ndarray) -> np.ndarray:
self.on_frame_ready(frame)
return frame
def create_graph(self, input_device: vg.BaseInput) -> vg.VisionGraph:
self.graph = (
vg.create_graph(name="Demo Graph", input_node=input_device, multi_threaded=True)
.then(vg.custom(self._on_frame_ready))
.build()
)
return self.graph
Window
class DemoWindow(VisiongraphUserInterface[DemoApp, DemoConfig]):
def __init__(self, app: DemoApp):
super().__init__(app)
Usage
def main():
config = DemoConfig()
app = DemoApp(config)
with UIContext():
window = DemoWindow(app)
About
This is a first draft of the library and the api will change in future release.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file visiongraph_ui-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: visiongraph_ui-0.3.0-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a410ef39a0a72e3401e9c3c5fda2efa0a1f9ceca5476d51e3798dd86630cd69c |
|
MD5 | 4610c4510f2f0c4314a53ca5a6ad20a0 |
|
BLAKE2b-256 | 297cb67117d5182123ed6cb252d290586384c898799e672cae2bd3b9b74af876 |