Project details for CAM Java

Logo JMLR CAM Java 3.1

by wangny - October 14, 2013, 22:46:03 CET [ Project Homepage BibTeX Download ]

view (18 today), download ( 6 today ), 0 subscriptions


The CAM R-Java software provides a noval way to solve blind source separation problem. It consists of three sub-algorithms, CAM-CM, CAM-nICA and CAM-nWCA based on the assumption of nonnegative sources. CAM has been successfully used in solving real world BSS problems, such as mixing aerial images dissection, longitudinal DCE-MRI deconvolution, etc.

CAM assumes that sources contain sufficient number of well-grounded points (WGPs) at which signals are highly expressed in one source relative to each of the remaining sources, the goal is to estimate the column vectors of mixing matrix by identifying WGPs located at the corners of mixture observation scatter simplex and subsequently recover the hidden source signals. Based on a geometrical latent variable model, CAM learns the mixing matrix by identifying the lateral edges of convex data scatter plot. The algorithm is supported theoretically by a well-grounded mathematical framework.

All the core functions are realized in R, and the software provides a Java Graphic-User-Interface that is easy to use. Four datasets are provided to help uses test and understand how this software works.

This software also provides standard algorithms for NMF, fastICA, and factor analysis. Users can easily plug in their own algorithms by using the plug-in mechanism we provide in the software.

Changes to previous version:

In this version, we fix the problem of not working under newest R version R-3.0.

BibTeX Entry: Download
Supported Operating Systems: Windows, Mac Os X, Ubuntu
Data Formats: Txt, Csv, Rdata, Mat
Tags: Nonnegative Matrix Factorization, Blind Source Separation, Affinity Propagation Clustering, Compartment Modeling, Convex Analysis Of Mixtures, Information Based Model Selection, Factor Analysis, Indep
Archive: download here

Other available revisons

Version Changelog Date

In this version, we fix the problem of not working under newest R version R-3.0.

October 14, 2013, 22:46:03
  1. In previous versions, the two threads "OutputProcesser" and "ErrorProcesser" established by Rcaller cannot be ended when a run fails, leaving the two threads in infinite loop. In this new version, the program will catch the ‘exception’ returned by Rcaller and accordingly end the two threads. We also revised ‘error message’ where users will be asked to check the “Application status” when an ‘exception’ occurs.

  2. To ease the excessive memory use by affinity propagation clustering, the revised software provides users with one additional option in that users can set an upper bound value N0 so that when N>N0, the K-means algorithm will be used to perform clustering with multiple runs.

June 24, 2013, 00:31:07
  1. Three classic BSS algorithms - NMF, fastICA and Factor Analysis - are combined into the software. Users can readily call the three functions from Java GUI
  2. A simple plug-in mechanism is added. Users can add their own BSS algorithm into the software by following the Software Plugin Adding Guide and User Manual
April 11, 2013, 18:21:12
  1. The three demos in r_func are modified so that they can be run on Linux and Windows without modification.
  2. File path display under Linux (Ubuntu and Mac OS) are corrected.
  3. Frequent Asked Questions are added into the user manual.
December 24, 2012, 13:56:18

Initial Announcement on

November 21, 2012, 17:00:35


No one has posted any comments yet. Perhaps you'd like to be the first?

Leave a comment

You must be logged in to post comments.