140 likes | 262 Views
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.
E N D
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 F.E. VCA m classifier patient HW biofeedback kernel Bio-Feedback Systems (1) • 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.
IRCCS S. Lucia 2000 Ref 1 Ref 2 Task 1 ... VCA 1 state Task 2 Ref m VCA 2 ... Task ... ACQ DSP F.E. Comp. driver Tas k n VCA m classifier task patient HW biofeedback kernel manager environment Bio-Feedback Systems (1) • 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.
IRCCS S. Lucia 2000 Bio-Feedback Systems (2) • 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..).
Bio-Feedback SDK: why? IRCCS S. Lucia 2000 MS Windows Linux Bio-Feedback Software Development Kit (with matrix and DSP routines) • Bio-Feedback System • DSP • Matrix • Bio-Feedback System • DSP • Matrix Specific Implementation • Bio-Feedback System • DSP • Matrix • Bio-Feedback System • DSP • Matrix Palm OS Embedded
IRCCS S. Lucia 2000 A Modern Approach • be an open architecture; • support multi-sensory inputs/outputs; • operate with a high hardware abstraction level; • be easily configurable; • be easily customizable; • maximize the software source code reuse; • maximize the software binary code reuse (plug-in); • interact with the toolsanddevicesalready available; • facilitate the diffusion of new algorithms and/or classifiers.
IRCCS S. Lucia 2000 A Modern Answer Object Oriented Programming (OOP) gives a lot of answers to the previously listed key-points. Our implementation uses C++ for the following reasons: • 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? IRCCS S. Lucia 2000 BFEnv • OS Independent • Base class • Provides the following functionalities: • Work Flow implementation • Timing (sistolic architecture) • Modalities: • Training • Testing • Exercise • Running • Hardware abstraction • Event triggering • Randomization • Score
Bio-Feedback SDK: how? IRCCS S. Lucia 2000 BFEnv • OS Independent • Keeps all BFEnv capabilities • Adds the concept of “Measure” • Adds matrix routines capabilities (R. Davies) BFMeasEnv
Bio-Feedback SDK: how? IRCCS S. Lucia 2000 BFEnv • OS Independent • Keeps all BFMeasEnv capabilities • Adds extended FFT capabilities • Adds Windowing Functions Capabilities • Adds Spectral Data File IO Capabilities BFMeasEnv BFSpectEnv
Bio-Feedback SDK: how? IRCCS S. Lucia 2000 BFEnv • OS Independent • Keeps all BFSpectEnv capabilities • Adds specific “Brain related” features (3-D electrode position, etc…) BFMeasEnv BFSpectEnv BCIBase
Bio-Feedback SDK: how? IRCCS S. Lucia 2000 BFEnv • OS Independent • This represents most likely the “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 (*) BFMeasEnv BFSpectEnv BCIBase BCI_XYZ
Bio-Feedback SDK: how? IRCCS S. Lucia 2000 BFEnv • OS Specific • Represents the “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). BFMeasEnv BFSpectEnv BCIBase BCI_XYZ Skin (OS)
A Sample Win32 Skin IRCCS S. Lucia 2000