an object oriented approach to bio-feedback systems for disables
DESCRIPTION
IRCCS S. Lucia 2000. An Object Oriented Approach To Bio-Feedback Systems For Disables. Luigi Bianchi, Fabio Babiloni, Febo Cincotti, Francesca Spanedda, Donatella Mattia, Francesco Semeraro, Maria Grazia Marciani. IRCCS S. Lucia 2000. Ref. 1. Ref. 2. VCA 1. Ref. m. VCA 2. ACQ. DSP. - PowerPoint PPT PresentationTRANSCRIPT
Luigi Bianchi, Fabio Babiloni, Febo Cincotti, Francesca Spanedda,
Donatella Mattia, Francesco Semeraro, Maria Grazia Marciani
An Object Oriented An Object Oriented Approach To Approach To
Bio-Feedback Systems Bio-Feedback Systems For DisablesFor Disables
IRCCS S. Lucia 2000IRCCS S. Lucia 2000
DSP ACQ F.E. Ref m
VCA 1 VCA 2
VCA m
Ref 2 Ref 1
patient biofeedback kernelHW
...
... classifier
IRCCS S. Lucia 2000IRCCS S. Lucia 2000
A problems that is often encountered is that it may be difficult to tune them in a wide range of situations because every patient could have residual capabilities that are specific to his condition and that make him in some way unique. While the number and nature of the utilized signals may vary among different pathological situations, the way in which BF systems work is quite stereotyped.
Bio-Feedback Systems (1)Bio-Feedback Systems (1)
DSP ACQ F.E. Ref m
Comp.
Task 1 Task 2
Task n
VCA 1 VCA 2
VCA m
Ref 2 Ref 1
Task driver
state
patient biofeedback kernel environment HW task
manager
... ... ...
classifier
IRCCS S. Lucia 2000IRCCS S. Lucia 2000
A problems that is often encountered is that it may be difficult to tune them in a wide range of situations because every patient has residual capabilities that are specific to his condition and that make him in some way unique. While the number and nature of the utilized signals may vary among different pathological situations, the way in which BF systems work is quite stereotyped.
Bio-Feedback Systems (1)Bio-Feedback Systems (1)
Bio-Feedback Systems (2)Bio-Feedback Systems (2)IRCCS S. Lucia 2000IRCCS S. Lucia 2000
Bio-Feedback (BF) systems are formed by hardware and software modules that interact among themselves. These sub-systems are related to: Acquisition/Hardware, Platform, Algorithms, (and Modalities, Utilities, etc..).
MS WindowsMS Windows LinuxLinux
Palm OSPalm OS EmbeddedEmbedded
Bio-Feedback Bio-Feedback Software Development Kit Software Development Kit
(with matrix and DSP routines)
Bio-Feedback SDK: why?Bio-Feedback SDK: why?IRCCS S. Lucia 2000IRCCS S. Lucia 2000
Bio-Feedback System•DSP•Matrix
Bio-Feedback System•DSP•Matrix
Bio-Feedback System•DSP
•Matrix
Bio-Feedback System•DSP
•Matrix
Specific Specific ImplementationImplementation
A Modern ApproachA Modern Approach•be an open architectureopen architecture;•support multi-sensorymulti-sensory
inputs/outputs;•operate with a high hardware hardware
abstraction levelabstraction level;•be easily configurableconfigurable;•be easily customizablecustomizable;•maximize the software source source
code reusecode reuse;•maximize the software binary binary
code reuse (plug-in)code reuse (plug-in);•interact with the toolstools and devicesdevices
already available;•facilitate the diffusiondiffusion of new
algorithms and/or classifiers.
IRCCS S. Lucia 2000IRCCS S. Lucia 2000
A Modern AnswerA Modern AnswerObject Oriented Programming (OOP) gives a lot of
answers to the previously listed key-points. Our implementation uses C++ for the following
reasons:
IRCCS S. Lucia 2000IRCCS S. Lucia 2000
•Language features;•Cross-platform support;•C compatibility;•Hardware control;•Speed;•Diffusion;
A key-point is to to keep separate the hardware details from the implementation of a classifier
Bio-Feedback SDK: how?Bio-Feedback SDK: how?IRCCS S. Lucia 2000IRCCS S. Lucia 2000
BFEnv OS IndependentOS Independent Base class
Provides the following functionalities:•Work FlowWork Flow implementation•Timing (sistolic architecture)Timing (sistolic architecture)•Modalities:Modalities:
•Training•Testing•Exercise•Running
•HardwareHardware abstraction•EventEvent triggering•Randomization•Score
Bio-Feedback SDK: how?Bio-Feedback SDK: how?IRCCS S. Lucia 2000IRCCS S. Lucia 2000
BFEnv
BFMeasEnv
OS IndependentOS Independent
•Keeps all BFEnv capabilities
•Adds the concept of “MeasureMeasure”•Adds matrixmatrix routines capabilities (R. Davies)
Bio-Feedback SDK: how?Bio-Feedback SDK: how?IRCCS S. Lucia 2000IRCCS S. Lucia 2000
BFEnv
BFMeasEnv
BFSpectEnv
OS IndependentOS Independent
•Keeps all BFMeasEnv capabilities
•Adds extended FFT capabilities•Adds Windowing Functions Capabilities•Adds Spectral Data File IO Capabilities
Bio-Feedback SDK: how?Bio-Feedback SDK: how?IRCCS S. Lucia 2000IRCCS S. Lucia 2000
BFEnv
BFMeasEnv
BFSpectEnv
BCIBase
OS IndependentOS Independent
•Keeps all BFSpectEnv capabilities
•Adds specific “Brain related” features (3-D electrode position, etc…)
Bio-Feedback SDK: how?Bio-Feedback SDK: how?IRCCS S. Lucia 2000IRCCS S. Lucia 2000
BFEnv
BFMeasEnv
BFSpectEnv
BCIBase
BCI_XYZ
OS IndependentOS Independent
This represents most likely the This represents most likely the “Final” environment.“Final” environment.
•Keeps all BCIBase capabilities
•Implements a classifier•Add special features processing
Examples are:•BCI_SSP (52)•BCIMahlanobis (81)•BCIDiagMahlanobis (59)•BCIFisher (60)•BCINeuralNet (*)
Bio-Feedback SDK: how?Bio-Feedback SDK: how?IRCCS S. Lucia 2000IRCCS S. Lucia 2000
BFEnv
BFMeasEnv
BFSpectEnv
BCIBase
Skin (OS)
OS SpecificOS Specific
Represents the “dress”“dress” used to interact with the different Bio-Feedback (BF) Environments. Contains all the OS specific aspects (DialogBox, Multi-Monitor, GUI, Tools, Libraries).
•Different BF Environments can use the same Skin (code reuse, plug-in)
•Different Skins can be bound to the same BF Environment (e.g. a “laboratory skin” for research and a “user skin” for patients).
BCI_XYZ
A Sample Win32 SkinA Sample Win32 SkinIRCCS S. Lucia 2000IRCCS S. Lucia 2000