Installation Guide for the clustering program ******************************************************************************* 1. Introduction ******************************************************************************* This guide will attempt to show you how to compile my clustering programs and the associated GUI. Before these can be compiled and used, the essential APIs and supporting libraries must be installed. This guide closely follows the tutorial: http://www.ifp.uiuc.edu/~nakazato/tips/cygwin_atlas.html ******************************************************************************* 2. Getting the right libraries ******************************************************************************* Assuming you have the standard Linux and the development libraries installed, the essential libraries needed to compile the programs are: ImageMagick++ 6.2+ - http://www.imagemagick.org/Magick++/ QT 3.2+ - http://www.trolltech.com/ OpenGL 3.7+ - http://www.opengl.org/ Clapack 3.0+ - http://www.netlib.org/clapack/ ATLAS 3.7+ - http://math-atlas.sourceforge.net/ ******************************************************************************* 3. Installing Clapack and ATLAS ******************************************************************************* Download the clapack.tgz and atlas.tar.gz files, then unzip them. You should see two folders, "ATLAS" and "CLAPACK". Go into the ATLAS folder and compile it. Then copy the library files (*.a) located in the same directory and the subdirectories, usually lib into /usr/local/lib. Also, look for the "cblas.h" located in the subdirectories and copy it to /usr/local/include. $ cd ATLAS $ make config $ make install # follow the instructions from the output of the make config $ cp *.a /usr/local/lib/ # and any other *.a files in the subdirectories Go into the CLAPACK folder and compile the neccessary libraries. $ cd CLAPACK $ cp INSTALL/make.inc.LINUX ./make.inc Modify make.inc so that it will use ATLAS: ... PLAT = _LINUX BLASLIB = ../../libcblaswr.a -L/usr/local/lib -lcblas -latlas .. Then compile, $ make f2clib $ make cblaswrap $ cd SRC; make $ cd ../TESTING/MATGEN; make $ cd ../; make After CLAPACK is compiled successfully, copy the library files (*.a) to /usr/local/lib, and header files (clapack.h & f2c.h) into /usr/local/include. The files are located in the current and subdirectories. Now, you should have the following files in /usr/local/ /usr/local/include: cblas.h clapack.h f2c.h /usr/local/lib: lapack_LINUX.a libI77.a libcblas.a libf77blas.a libtstatlas.a libF77.a libatlas.a libcblaswr.a liblapack.a tmglib_LINUX.a Last but not least, rename "lapack_LINUX.a" to "liblapack_LINUX.a" and "tmglib_LINUX.a" to "libtmglib_LINUX.a". ******************************************************************************* 4. Compiling the clustering program and the GUI ******************************************************************************* Download the tar ball files clustering.tar.gz and gui.tar.gz. Unzip the tar ball files. $ tar xvfz clustering.tar.gz $ tar xvfz gui.tar.gz Compile the clustering program. Note, you may need to edit the Makefile so that it'll point to the required library paths. After compilation, it will generate a program called "kmeans" which contains the different segmentation algorithms. You can use it as a command line tool or access it via the gui. $ cd clustering $ make $ make init Go into the gui folder and use qmake (QT) to generate a Makefile for the gui source files. Then compile it. $ cd ../gui $ q-make clustering.o -o Makefile $ make Copy the gui executable "clustering" to the clustering folder. Finally, run it! $ cd ../clustering $ cp ../gui/clustering . $ ./clustering If all goes well, you should see a very simple and neat gui. The program manual can be found in my thesis appendix section on "Verification and Validation Tool". ******************************************************************************* 5. Contact ******************************************************************************* If you still can't get things to work, you can contact me at Ji.Tran84@gmail.com.