next up previous contents
Up: Applying PhysioNet tools to Previous: Interacting with Scilab   Contents

Final considerations

Probably, programmers are not the best-equipped persons to make advances in Clinical Neurophysiology. In our time, a neurophysiological recording is no longer a drawing on paper but a set of numbers in a file. Details about how to handle the content of these files is not a collateral aspect of Clinical Neurophysiology. It is the heart of our activity. Details are important for evaluating results and are even more important when developing new ideas. Nowadays (and probably even more for a foreseeable future), in most fields of activity, knowledge equals software. Some related ideas about formats in Clinical Neurophysiology can also be read in Neurotraces

In the tradition of Windows, a program is a frame with a lot of options. Most of them can be reached by clicking buttons. You do not have to leave the program to obtain the result. Data are represented in some unknown format making them hardly compatible with other programs and the code of the application is not known. In summary, the programmer and the user are different persons. The result is that the user does not know anything about the details of the program.

The classical approach in UNIX-Linux is completely different: small programs (like sqrs, tach or wrann) can be chained to get the result. There can be several tools to do the same task with subtle differences that adapt to our requirements. In certain sense, programs behave like functions, files behave like variables and the resources of the whole computer (or even the network) are accessible and can be tailored to reach our goals. We should not be excessively concerned with the look and feel of the application but with the versatility and compatibility of the application.

Imagine that we create a program (a script file) called summary with the following contents:

wrsamp -F 200 -G 1000 -i base  -o ecg 9
sqrs -r ecg
wave -r ecg -a qrs
tach -r ecg -a qrs -F 200 > tac
touch prog.sce
echo "base = fscanfMat(\"base\")" > prog.sce
echo "tac = fscanfMat(\"tac\")" >> prog.sce
echo "plot2d((1:size(base,1))/200,base(:,10)/5,1)" >> prog.sce
echo "plot2d((1:size(tac,1))/200,tac,1)" >> prog.sce
scilab -f prog.sce

When you execute summary, the program

In summary, we have a program especially well adapted to our needs, a program in which we control all the intermediate steps, know all the formats used and whose machinery can be easily modified.

But besides the propaganda of UNIX-Linux, the aim of this tutorial was to show the basis of how to adapt WFDB software and Scilab to explore neurophysiological recordings obtained from commercial equipment.

One last comment. When you read something, perhaps you do not appreciate to which extent your opinion is important to the author. I am extremely interested in knowing from you that you arrived to the last lines of this hard text getting over the difficulties installing wave, visiting the code of wrann and understanding the intricacies of the matrix notation of scilab. Please drop me a mail. You can reach me at Be certain that your mail will have been very useful for me.

next up previous contents
Up: Applying PhysioNet tools to Previous: Interacting with Scilab   Contents
j 2002-12-11