|
User /
DirectoryStructureBy untarring the package, you will create a number of new directories. If you are on a pre-existing system, you may want to take a look through the CWAVEHOME directory structure as well to see what is available. The src directory includes all source code that you have access to. Not all modules will be distributed as source code, since some companies or groups may want to retain the intellectual property for themselves. Optionally, modules may not be completely stable enough for other users to go hacking yet, and thus object code may be "safer" to distribute. Feel free to read, copy, etc., these source files. As with the open source movement, this is probably the fastest way to learn about how the system works. The obj directory contains a set of subdirectories for each supported architecture type: AIX, Linux, SunOS?, IRIX, etc. Under each of these directories may be a number of modules which are available only as object code (hence are machine/architecture specific). Note that these modules do not get recompiled and thus, specifying optimization options to the compiler will not have any significant affect. If you decide to release any of your own code as object-only, please consider giving out fully optimized code for just this reason. Note also that on some systems, turning on the debug option (-g) may include the source code, line-by-line, inside the object code. The cwi directory is for "CardioWave Information" files. For every module in either the src or obj directories, there should be a corresponding cwi file here. The idea is that for every module, this file will contain a list of resource settings, perhaps the author or publication information, etc. These are plain text files which can be printed or viewed easily. There are a number of keywords in them as well. These keywords tell the system what resource settings should be included in the default resource list (inside the Run.c main driver program) and which ones should be used when a sample input file is requested. For each computer platform, there is an Arch file here as well. The architecture files give information on what compilers to use, useful compiler options, etc. The helpers directory holds extra programs which may be useful either in generating a simulator (a copy of all the cw* scripts resides here) or in viewing data, generating input vectors, etc. Most of these will be text files (usually program files), I'll try to keep an up-to-date makefile there as well. The matlab directory is for use with the Matlab program from The Mathworks. There is also a (freeware) compatible program called Octave that should be able to read some of the M-files. In particular, the savevec and loadvec functions can be used to read in vector files, the loaddbl and loadbyte functions can be used to read in the output from OutputDump and OutputCmap, respectively. Note, however, that Matlab uses it's own graphics back-end while Octave uses gnuplot - thus some of the M-files which deal with imaging will not work with Octave. If you do not already have a startup.m file in the directory where you run Matlab, you should create one that include: % Matlab startup.m file % loads at beginning of Matlab session, use it to set your path, % set up color schemes, etc. path(path,'$CWAVEHOME/matlab'); colormap(jet); % warning off; Actually, I don't know if Matlab handles the environment variable properly, so you may have to hand-write the full path name in. |