eyeballs

Remote Video Transfer Framework

https://github.com/addsandwich/eyeballs

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Remote Video Transfer Framework

Basic Info
  • Host: GitHub
  • Owner: addsandwich
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 42 KB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 3 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

Eyeballs Introduction

A small python wrapper to openCV to help facilitate video transfer for robots. This Library is very far from fully released. Consider it in highly early alpha stage. Not all of the functionality is fully implemented. Currently only the most basic of video transfer is online.

TODO: 12-13-2023

  • Clean up testing artifacts and fully stitch the front end code to the back end.
  • Gather full required version info
  • Enable C2 channel for recovery. Basic implementation is created in the run functions however the commands are not flushed out
  • Enable users to read the image buffers. This will likely be the priority and will be done by accessing the not implemented 'read()' function
  • The read function will first become usable on the VisualCortex and will be later made accessible on the Eyeball
  • Need to remove the temporary testing hardcode for modular usage and multi-instance
  • Finish threading implementation. This is partially complete.

Eyeballs Module API Documentation

Introduction

The Eyeballs module facilitates an easier method for video transfer by providing functions for command and control ports, enabling rapid remote video solutions.

Required Libraries

Requirements

  • Python: Tested stable on Python versions [3.9.2, 3.11.5, 3.11.6].
  • OpenCV: Tested with OpenCV-contrib-python versions [4.5.3.56, 4.5.4.58, 4.6.0.66].

Eyeballs Class

The Eyeballs class manages video transfer functionalities and remote video solutions. Below are the methods available within this class:

Initialization

__init__(self, yaml_file_path='./servers.yaml')

  • Description: Initializes the Eyeballs class by loading YAML configuration for server nodes and local setup.
  • Parameters:
    • yaml_file_path (optional): Path to the YAML file containing server configurations. Default: './servers.yaml'

YAML Handling

load_yaml(self, yaml_file_path)

  • Description: Loads and processes the YAML configuration for server nodes and local setup.
  • Parameters:
    • yaml_file_path: Path to the YAML file containing server configurations.

Cortex and Eyeball Management

start_cortex(self, server)

  • Description: Starts a new VisualCortex instance based on the specified server configuration.
  • Parameters:
    • server: Index of the server configuration to initialize VisualCortex.

get_cortex(self, server)

  • Description: Retrieves a VisualCortex instance based on the specified server configuration.
  • Parameters:
    • server: Index of the server configuration.

get_eyeball(self, server)

  • Description: Retrieves an Eyeball instance based on the specified server configuration.
  • Parameters:
    • server: Index of the server configuration.

start_eyeball(self, server_node_config)

  • Description: Starts a new Eyeball instance based on the specified server node configuration.
  • Parameters:
    • server_node_config: Configuration data for the server node.

Configuration Retrieval

get_config(self)

  • Description: Returns the server node configurations stored in the Eyeballs class.

get_local_setup(self)

  • Description: Returns the local setup configuration stored in the Eyeballs class.

Example Usage Class creation

```python

eyeballs_instance = Eyeballs('./servers.yaml') ```

Example Usage VisualCortex(The computer without the camera)

```python

vc = eyeballsinstance.getcortex(0) vc.getvideostream() ```

Example Usage Eyeball(The computer with the camera)

```python

eye = eyeballsinstance.geteyeball(0) eye.get_video() ```

Owner

  • Name: Christopher
  • Login: addsandwich
  • Kind: user

I sometimes make things

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Watson"
  given-names: "Christopher"
title: "Eyeballs"
version: 0.1.0
date-released: 12-13-2023
url: "https://github.com/addsandwich/Eyeballs"

GitHub Events

Total
  • Push event: 1
Last Year
  • Push event: 1

Dependencies

src/setup.py pypi