Software


This page gives access to software modules I have developed while working on the projects described on my research page. Some of them use the functionality of a library developed by the University of Arizona Vision Group. In that case, it is covered by the following condition:

The use of the software is restricted to educational and research purposes. Modifying the code is endorsed, as long as appropriate credit is provided, and authorship is not misrepresented. If you would like to make commercial use of any of the code being distributed, then please contact me or Kobus Barnard (kobus AT sista DOT arizona DOT edu).


Online Kernel SVM Ranking
kernel_ranksvm.tar.gz

This is a Matlab package for learning ranking SVMs using kernels. The implementation is based on a fast online kernel SVM training approach suitable for working with relatively large datasets. A few support vector pruning methods based on the principles of Sequential Minimal Optimization (SMO) are also implemented as part of the package. To use the package, unzip-tar into a local directory. Follow the instructions in the README file to install the package. Add this location (addpath(genpath('/your/location')) recommended) to the Matlab path to access the routines on your Matlab command line. Documentation of the Matlab routines are in the README file and in the source file headers.


Multimodal Modeling of Gene Expression and Gene Ontology Data
mm_go_src.tar.gz

This is a Matlab/Octave library of routines for training and inference of multimodal probabilistic generative models for gene expression data and gene ontology (GO) tags. Unzip the tar-gz ball to an appropriate location. Add this location (addpath(genpath('/your/location')) recommended) to the Matlab/Octave path to access the routines on your Matlab/Octave command line. Documentation of most Matlab routines are in the source file headers.


Fast Connected Components Labeling
seg.tar.gz

To make use of the software, untar-zip the downloaded file to an appropriate location. The resulting directory seg/ contains a script named build. Invoking this script should get the code compiled on most Unix-like platforms (Sorry no Windows support yet!). This is assuming you have libncurses and libXext installed on the system. The result of a successful compilation is an executable named seg_connected_components. This program takes an input image and outputs the corresponding 8-connected components labeled image.

The source code for connected components labeling (both 4 and 8 connectedness) is in lib/seg/seg_connected_components.c relative to the main directory seg/. The source file seg_connected_components.c under the main directory seg/ itself provides an illustration of calling the labeling library routine(s). Please email me if you have any issues installing or using the code.


Competitive Expectation Maximization
CEM.tar.gz

To make use of the software, untar-zip the downloaded file to an appropriate location. The resulting directory CEM/ contains a script named build. Invoking this script should get the code compiled on most Unix-like platforms (Sorry no Windows support yet!). This is assuming you have libncurses and libXext installed on the system. The result of a successful compilation is an executable named get_independent_GMM_using_CEM. This is an example program using CEM to cluster synthetic data that is generated within the program.

The source code for CEM is in lib/r/r_cluster.c relative to the main directory CEM/. The source file get_independent_GMM_using_CEM.c under the main directory CEM/ itself provides an illustration of calling the CEM library routine. Please email me if you have any issues installing or using the code.





under_constructionThis page is still under construction