Next: Some general features about
Up: Introduction
Previous: Why a clinical neurophysiologist
Contents
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:
- 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.
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.
Probably, some characteristics of the program in question indicate that, most likely, it will be useful. Preferably a program should be:
- ``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 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.
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
Up: Introduction
Previous: Why a clinical neurophysiologist
Contents
je
2006-10-13