Menu

Input_Output

Shane Saxon Joseph Adams

[Home] - [User_Manual] - hosted at openANTz.com


Section 3 - Input & Output

3.1 ---- Keyboard & Mouse
3.2 ---- Joystick & 3D Controllers
3.3 ---- Command Line
3.4 ---- File
3.5 ---- *Database
3.6 ---- *Live Channels
3.6.1 -- *TNG3B
3.6.2 -- *Audio
3.6.3 -- *Video
3.6.4 -- *Network
3.7 ---- Display Systems
3.7.1 -- 3D Stereoscopic
3.7.2 -- *Cluster
3.7.3 -- Infinite Z - [zSpace]


Input & Output Overview

*Significant updates are planned for handling multiple types of real-time IO.


3.1 Keyboard & Mouse

The primary method of input is the keyboard and mouse. Generally all operations can be performed through use of the keyboard, where as the mouse provides an easier method for selecting and moving objects. For more detail see the 'Command' section of this document.


3.2 Joystick & 3D Control Interfaces

Auxiliary input devices such as joysticks or 3D mice allow for more intuitive navigation and object manipulation. Planned support for interfaces include:

Inifinite Z - [zSpace]
A desktop VR system with 3D head tracking and stylus pen that can be used to manipulate objects in space.

*HID library - Supports a variety of joysticks, mice, game controllers, etc.

*SpaceNavigator - www.3dconnexion.com
A 3D mouse that offers a full 6 degrees of freedom with good sensitivity. This allows for simultaneous x/y/z translation and rotation.


3.3 Command Line

The command line will accept parameters upon launch such as CSV files to load and the URL to use for retrieving complete records based on ID.
See 'Command' section for detail.


3.4 File

The state of the entire scene can be saved and retrieved by the State File which is in CSV format. In addition, a separate Channels File is used for time based track data that can be played back to animate objects position, color and scale. For details see the 'File' section of this document.


3.5 *Database

*DB support is currently underway to support MySQL and is designed to be directly compatible with the applications CSV files that store the state and time based channel data.


3.6 *Live Channels

*Currently no live channels are supported, only file based channel data. Future support for a variety of live input and output devices will add significant capability to combine real-time real-world data with stored data. Also will allow for combining and analyzing multiple channel types and sources in a unified environment. Applications include realtime EEG, visual processing and machine control for operation of scientific instruments.


3.6.1 *TNG3B

*A simple RS232 based input device that provides 8 analog channels and 8 digital switches that stream at 2kHz sampling rate, can modulate parameters in realtime by assigning channels. TNG3B can connect to a myriad of inexpensive sensors that capture everything from EEG signals to data-gloves.


3.6.2 *Audio

*In addition to the built-in audio capability of most computers, a large variety of affordable audio IO solutions exist that offer high quality IO connections. The low-cost professional devices typically support 192kHz at 24bit with lots of channels (16,32,64....) Audio inputs can be configured to have a large variety of sensors (similar to TNG3B), and have very good low noise ADC and DAC circuits. Live capture can be analyzed and compared with other stored data sources.


3.6.3 *Video

*Video support will include multiple channels of un-compressed HD for realtime image processing utilizing CPU and GPU based algorithms. Low-latency will be achieved through direct support for hardware from Aja, Blackmagic and Matrox. QuickTime is being considered, but cross-platform compatibility and high-latency are both issues. File based video will be supported (perhaps with VLC) for film/video standards such as AVI, MOV, JPEG2000, DCP, DnX....


3.6.4 *Network

*Network support for clustering and storage with realtime data updates from external sources. Support for clustering allows the application to run across multiple systems and enables multi-user environments. Support for IP and UDP for streaming channel data. Use of SNMP is under consideration.


3.7 Displays

Fullscreen is entered at startup, press 'ESC' to exit and you will see the graphing window and a console window. The console window outputs user command feedback and updates such as file loading information. The graphing window can be stretched across multiple displays. Fullscreen only supports single display.

**image of graphing and console windows.
Graphing & System Console

*Planned support for multiple windows and multiple displays at fullscreen. Also allow various viewport configurations and support for tiled stereoscopic 3D environments.


3.7.1 3D Stereoscopic

The entire scene is in 3D which allows for integration of stereoscopic displays. Potentially a large variety of display types may be supported from workstation class laptops and TVs to custom solutions such as the zSpace or even a full cave environment.

Currently, you must have an nVidia Quadro series card for OpenGL support of Stereoscopic 3D.


3.7.2 *Cluster

*Currently the application is based on GLUT using OpenGL and includes a Linux version tested on CentOS. This means that in theory it should be relatively easy to create a version for the Star Cave at calit2 using CGLX. We also plan to use the equalizer library for cave environments.


3.7.3 Inifinite Z - [zSpace]

Currently in development to support the zSpace system by inifintez.com, a VR Stereoscopic 3D display with head tracking and 3D stylus input. Contact us for details - http://openantz.com/contact.html


Related

Wiki: Home
Wiki: User_Manual
Wiki: zSpace