Talk:Bioelectrics Signal Acquisition and Processing Modules

From wiki.gpii
Jump to: navigation, search


1.

What it is

What is your tool/technology about?
What does your tool/technology and/or its parts bring to the DeveloperSpace?

Bioelectric signal acquisition can serve as a valuable input method for alternative computer interfaces for people with motor disabilities. Using bioelectric measurements like the electromyogram (EMG), the electrooculogram (EOG) or the electroencephalogram (EEG) allows mouse / keyboard control (and thereby full computer control) and even control of prosthesis or external appliances.

Several initiatives have provided means for the affordable acquisition of bioelectric signals, including the openEEG and the openBCI projects. The AsTeRICS plugin p2_parser parses the data packets of the devices and provides raw data, which can then be used in further assistive applications.

The plugin can be combined with other modules of the AsTeRICS system and used as a standalone application set up for a certain use case or as a “server” providing data through a web socket (see BB AsTeRICS AT Modules).

2.

Its value as a whole (to developers)

Who are the target users of your tool/technology?
What value would these developers see in using this tool/these components?
(e.g. how is it better than what they might have currently – or could develop.)
You can illustrate the specific value by describing a target use case.

2a)

Target users are amateur developers that want to make cheap AT solutions for relatives. They can use the bioelectric measurement shields without experienced programming knowledge (using AsTeRICS Configuration Suite instead) and

  • measure EMG, EEG or EOG and use these signals for alternative human-computer interfaces

or clinicians in the field of rehabilitation that want to use biofeedback to develop physical exercises.

2b)

No experienced programming knowledge needed.

If needed, a new plugin can be developed very easily without experienced programming knowledge.

The same plugin can be reused for many use cases without having to develop a new SW.

3.

'Value of parts 'of it

In addition to using it as a whole, what parts might also be of use to a developer?

“Platform independent” access to serial port (Linux, Windows)

OSGI based runtime environment: The existing plugins could be skipped and the system could be used to run a reduced set of self-developed plugins.

Visualization of sensor data (Oscilloscope, …)

 

4.

Support after P4A

How would this tool / these components (and those who use them) be supported
after the end of this grant?

The AsTeRICS framework is open source and currently licensed under GPLv3. Consequently the community should be able to improve development and support other users.

At the moment a follow-up project funded by the city of Vienna (MA23) called AsTeRICS Academy (www.asterics-academy.net) aims to elaborate tutorials, example setups (modules) and improve/add plugins (end of project: August 2016).

5.

Technologies used

What technologies are used or will be used in the P4A implementation of your tool/components?

(a) On what platforms does it run?
(b) In what programming language is it implemented?

(c) What dependencies does it have on third-party libraries, frameworks, or development tools?

(d) Does it have a user interface?

(e) What other technologies, tools, libraries, or applications is it designed to integrate with, and how?

(f) Are there licenses, duties, or other limitations to use of this?

a)

Windows XP, Vista, 7, 8

b)

Java (7, 32-bit), C, C++

c)

http://www.eclipse.org/equinox/

Java (JDK 7, 32-bit)

Third party libraries used by plugins: see f)

Development is tested and supported for the Eclipse IDE.

d)

Swing GUI

e)

Send data through a websocket to a web interface

f)

Originally, the AsTeRICS Runtime Environment (ARE) was licensed under GPLv3 (http://www.asterics.eu/download/Licenses.pdf). For usage within the P4ALL/GPII project the ARE and dedicated building blocks can be relicensed under a less restrictive license.

Licenses of third party libraries (ARE):

http://thrift.apache.org using http://www.apache.org/licenses/LICENSE-2.0

http://sl4j.org using http://slf4j.org/license.html

Serial lib based on RXTX: https://github.com/NeuronRobotics/nrjavaserial and https://github.com/rxtx/rxtx

 

6.

Problems/challenges/risks you anticipate with your project goals

What is the current status of your tool/components?

What problems do you see taking the tools/components you had and changing
them into the best form for developers and the DeveloperSpace?

Do you see any problems/challenges/risks in getting broad adoption/use of your work?

Please mark any parts of your answers that you don’t want to have on the WIKI or other public sources and deliverables.

a)

The AsTeRICS Runtime Environment (ARE) and the p2_parser plugin are in a stable state and have already been used for end user setups. The websocket interface including the data format is not yet implemented and about to be specified. The data format could be according to the “Unified API” of WP201.1. 

b)

The AsTeRICS system is designed to be a standalone tool that can easily be adapted to a certain use case. A developer who is seeking for a (lightweight) library won’t be happy with a big and difficult to deploy SW-system. In contrast, extracting single input modules and providing them as a library is similar to wrapping other open source libraries like opencv with a simplified API. Why would the developer not directly use the original library?

Is the extracted sensor data useful for other applications? What else could be done with the data in an application?

c)

Yes, because of reasons pointed out in b