Next: Some general features about
Clinical Neurophysiology is a medical field whose object is the study of the electrical activity generated (directly or indirectly) by the nervous system. In practice, clinical neurophysiologists are in charge of electroencephalography (EEG), electromyography (EMG), evoked potentials, sleep recordings and other analogous diagnostic tests. These pages are dedicated to these persons.
Clinical Neurophysiology has deeply changed with the introduction of computers. Polygraphs, electromyographs and other analogous instruments are now mounted on computers. At the core of these systems, files containing sampled data are stored, copied or processed.
Paradoxically, although files containing signals can be easily manipulated, the possibility to do that is strongly limited in practice. Modifications such as changing the algorithm applied to measure the amplitude of a response (base to peak or peak to peak, for instance) can be troublesome or even impossible. This situation is even worse when the user tries to develop some kind of analysis not previously implemented by the equipment.
Often the system does not contain information about the internal structure of data and, almost invariably, the user will have no access to the tools of development. If we compare the ability of a clinical neurophysiologist to treat a text, a sound or an image with his or her ability to manipulate neurophysiological signals, it is evident that there exists a wide gap.
Using software independent of the acquisition equipment would probably narrow this gap. These pages deal with some issues of signal treatment applied to Clinical Neurophysiology and intend to establish some bridges between :
EEG, EOG, EMG or polygraphic recording can be sampled and manipulated by computers without loss of information.
The manipulation of these signals provides at least the following advantages:
- The ability to understand and design methods to analyze neurophysiological signals.
- The ability to use widely available software, not specifically designed to the analysis of neurophysiological signals, and
- The comprehension of some theoretical tools of signal treatment.
Since neurophysiological signals have a lot in common with other signals, the knowledge of methods of treatment of these signals can contribute to the extraction of relevant information to our field.
- It is possible to edit, copy, backup or send data.
- Modifications of some measurements or methods can be implemented.
- Methods of analysis developed in other laboratories can be used without requiring specific equipment.
- New methods of analysis applied to Clinical Neurophysiology can eventually be developed.
The election of the software that we are going to use can be a risky operation. I suggest that you consider the possibility of ``free software''.
Although there are some differences in the ``taxonomy'' of ``free software'', this term refers to software that can be legally copied and that is distributed with its sources. The freedom of using it spans to allow the modification of the code to fulfill your own requirements. Usually, ``free software'' is distributed free of charge.
Some programs widely recognized as excellent (Linux, emacs, latex, gimp...) belong to this category. From the point of view of the user, the utilization of this kind of software produces some subtle advantages that push forward his or her work, among them:
Free software is usually obtained by downloading from Internet sites or by installing from a Linux distribution. The election of the software that we will use is an important decision.
- The latest version of the software is immediately available
- Checking the software before its use is greatly facilitated.
- Software can legally be utilized at different places (for instance, at work and at home).
- The results obtained, as well as the tools utilized, can be transferred to other persons without the imposition of any kind of acquisition.
- Access to the source code implies that the machinery of the tools used can be understood at the deepest level.
- Information of high quality is often available.
- People who use free software share a set of values based on the unrestricted diffusion of knowledge.
Probably, some characteristics of the program in question indicate that, most likely, it will be useful. Preferably a program should be:
In my opinion, Scilab
is the right choice for the treatment of neurophysiological data: it is free, it contains source code (in Fortran, C and in its own language), it is powerful and very well documented, and it is reasonably easy to use.
- ``Free'' and with sources easily accessible: ideally, sources should be in a programming language that you know.
- Widely distributed: it implies that there will be a wide community of people contributing to its development and evaluation and, probably, that specialized aid can be obtained.
- Powerful: in the case of treatment of neurophysiological signals it could imply, among other properties, quickness, ability to manage great amounts of data, high quality of graphics, and inclusion of a lot of well tested mathematical functions.
- Expandable: preferably, you should be able to add functions without re-compilation of code and, ideally, the functions that you introduce should be similar to the functions integrated in the program.
- Well documented: it is important that documentation or help files include real examples. Frequently, these examples can be tailored to fulfill your specific needs.
- Easy to learn and use.
In the next sections I will describe some characteristics of Scilab, trying to stress the possibilities of its use in a neurophysiological environment. These pages are directed to clinical neurophysiologists not necessarily formed in mathematics or programming.
Perhaps the best way of reading these pages is interactively with Scilab. You can check the examples in your own system and explore the wide possibilities of this package.
Next: Some general features about