==================================================== Instructions for installing Plex (Version 2.5) ==================================================== Plex is written by Patrick Perry and Vin de Silva, with the support of various grants held by Gunnar Carlsson at Stanford University. The original version (and the interface) was written by Vin de Silva in MATLAB. The present version is based on a C++ library by Patrick Perry, called 'scomplex' and included with this distribution; the front end looks the same as before. Most of the heavy coding is by Patrick, and most of the scripts are by Vin. Included with Plex is the excellent and important persistent homology code by Afra Zomorodian and Lutz Kettner. This is available as part of CGAL. From some points of view, Plex can be viewed and used simply as a MATLAB front-end to that library. We thank both of those authors, and especially Afra Zomorodian for cooperating well beyond the call of duty in helping to bolt together the two libraries. In making this code available, we nonetheless reserve all legal rights, on our behalf and on behalf of the other authors and interested parties. As well as the core library, whose purpose is to enable a MATLAB user to build and manipulate simplicial complexes, there is a "metric data" toolbox, which includes various bits of code for converting point-cloud data sets into simplicial complexes and filtered simplicial complexes. Comments and bug reports are welcome. We have found Plex to be very useful in practice, but we've spent a lot of time figuring out how to take advantage of MATLAB to use it well. It is definitely true that it's not quite as user-obvious as we'd like it to be. Perhaps we should include some sample scripts; suggestions on what those should be are welcome. Installation instructions follow. These may not be quite correct, so please let me know and I'll make changes. To get documentation for using Plex, begin with the lines: >> help Plex and >> help Plex/metric There is extensive help text for each function. At this point there is no separate manual for Plex. [VdS: 2006-Jul-14] --------------------------------------------------------------------------- Installation (for Linux or Mac OS X): (64-bit machines should also work with some modification, but I don't know exactly what that is; will as Patrick.) (1) Download the archive file plex-beta.tar.gz (2) Expand the archive: > tar xzvf plex-2.5.tar.gz This creates a directory called plex. (3) Create a new directory for the installation. For example: > mkdir $HOME/matlab/PlexHome Determine the full pathname of this chosen directory. For instance > echo $HOME/matlab/PlexHome /Users/vin/matlab/PlexHome will return the full path, if you are not sure where your home directory is located. We will write (PLEXHOME) to denote this full pathname. (4) Identify the root directory (MATLABROOT) of the MATLAB installation on your machine. You can get this by typing >> matlabroot within MATLAB. It's often something like: /usr/local/matlab or /usr/local/matlab14 in Linux, or /Applications/MATLAB72 in Mac OS X. (5) Within the directory plex (created from the tar file), type the following line, making the appropriate substitutions for (PLEXHOME) and (MATLABROOT): > ./configure --prefix=(PLEXHOME) --with-matlab=(MATLABROOT) This creates the Makefiles needed to compile Plex. (6) Having run 'configure', compile the code (within the plex directory tree) by typing > make and then copy over the relevant files into the install directory by typing > make install (7) If you wish, you can now delete the directory plex. (8) To run Plex, add the following directories to your MATLAB search path: (PLEXHOME)/share/matlab/Plex (PLEXHOME)/share/matlab/Plex/metric If you're unfamiliar with manipulating the MATLAB search path, type 'help addpath' at the MATLAB prompt. For my own convenience I keep a script called "plexstart.m" which I can use to add Plex to my search path whenever I need it. (9) Let me know if you have any difficulties or any bugs to report. ---------------------------------------------------------------------------