2.2 Principal Component Analysis
Principal component analysis (PCA) (Jolliffe, 2002)
involves a mathematical procedure that transforms a
number of (possibly) correlated variables into a
(smaller) number of uncorrelated variables called
principal components. The first principal component
accounts for as much of the variability in the data as
possible, and each succeeding component accounts
for as much of the remaining variability as possible.
2.3 Matching Pursuit
Algorithm (Mallat and Zhang, 1993) decomposes
any signal into a linear expansion of waveforms that
are selected from a redundant dictionary of
functions. These waveforms are chosen in order to
best match the signal structure. The dictionary is
often based on Gabor functions.
3 SYSTEM SPECIFICATION
3.1 System Context
Because of uncomfortable work with existing
methods for EEG/ERP signal processing we have
decided to design and implement a custom software
tool (called the system in the following text). The
system should serve not only for our purposes but
also for our collaborators or users interested in
signal processing.
We believe that the developed system will help
to remove difficulties with using signal processing
methods and will increase efficiency of
neuroscientific research.
3.2 System Requirements and Users
The system is primarily designed for our department
and our collaborators, but we suppose that the other
users interested in signal processing will welcome
this tool.
Hence the system has to be suitable for users
who have only basic computer knowledge. These
users want to work with a simple interface with
possibilities to install updates and new plug-ins
(methods for signal processing). In addition,
advanced users can implement their own signal
processing methods and provide them within the
system as plug-ins.
3.3 Project Scope
The system is developed as a standalone desktop
product with data access into various data sources
(e.g.: developed EEG/ERP portal).
The system and contained plug-ins are based on
the Java platform and they are provided as an open
source. It ensures a higher availability for potential
users and faster development of new plug-ins. The
main parts of the system are:
GUI framework – support for creating graphical
components presenting output of implemented
methods.
Plug-in engine – engine for installing new
methods as plug-ins into the system
Error report engine – framework for sending
errors occurred in the system (e.g. email, log files, or
SMS)
Data store engine – connection of the system to
existing EEG/ERP portal (or another databases).
Localization support – user interface is translated
into a user language
3.4 User Roles
Since the system processes personal data of tested
subjects it is necessary to ensure the system security.
The system of user roles is developed. User has
to create his/her user account, system administrator
assigns user roles.
In the developed prototype we have one role
“researcher”. Researcher has administrator
privileges, but the system is prepared to add new
roles. With new roles we can restrict privileges; the
user is prohibited from installing new plug-ins or
processing non public data.
4 SYSTEM DESIGN
AND REALIZATION
4.1 System Architecture
The system is a layered architecture. This
architectural style is directly supported by used
technologies and ensures high level of abstraction as
well as a long term existence of the system as open
source.
The next subsections describe the main modules
of the system.
HEALTHINF 2011 - International Conference on Health Informatics
564