|
Project Information
Members
Featured
Downloads
Links
|
SummaryExtreme-deconvolution (XD) is a general algorithm to infer a d-dimensional distribution function from a set of heterogeneous, noisy observations or samples. It is fast, flexible, and treats the data's individual uncertainties properly, to get the best description possible of the underlying distribution. It performs well over the full range of density estimation, from small data sets with only tens of samples per dimension, to large data sets with millions of data points. The extreme-deconvolution algorithm is available here as a dynamic C-library that your programs can link to, or through python or IDL wrappers that allow you to call the fast underlying C-code in your high-level applications with minimal overhead. Table of ContentsNews
svn checkout http://extreme-deconvolution.googlecode.com/svn/trunk/addons/ extreme-deconvolution-addons
RequirementsGSL: The GNU Scientific Library. Download ...The latest release of the code is extreme-deconvolution-1.3. A separate installer for the python library only is available as well as extreme-deconvolution-1.3-python or get the latest versionGet the latest version by checking out the svn repository: svn checkout http://extreme-deconvolution.googlecode.com/svn/trunk/ extreme-deconvolution-read-only Installation(to only install the python library, see the INSTALL_PYTHON file) If you download the last version from the download tab, do: tar xvzf extreme-deconvolution-1.3.tar.gz cd extreme-deconvolution-1.3/ make To install the library do: sudo make install or make install INSTALL_DIR=/path/to/install/dir/ To install the IDL wrapper do: make idlwrapper Add INSTALL_DIR=/path/to/install/dir/ if you used this to install the library To install the python wrapper do: make pywrapper Add INSTALL_DIR=/path/to/install/dir/ if you used this to install the library To test whether the code and the python wrapper is working do make testpy To test whether the code and the IDL wrapper is working do (requires IDL and the IDL-wrapper to be installed): make testidl Clean up intermediate files: make clean UsageExamples of use of the code are in the IDL example code in examples/fit_tf.pro and in the python doctest in py/extreme_deconvolution.py. In python you would typically do something like from extreme_deconvolution import extreme_deconvolution #Set up your arrays: ydata has the data, ycovar the uncertainty covariances #initamp, initmean, and initcovar are initial guesses #get help on their shapes and other options using ?extreme_deconvolution #Run the code extreme_deconvolution(ydata,ycovar,initamp,initmean,initcovar) #initamp, initmean, and initcovar are now updated to their best fit values In IDL this becomes ;;Set up arrays and the number of Gaussians K=2 ;;K Gaussians ;;Run the code projected_gauss_mixtures_c, K, ydata, ycovar, initamp, initmean, initcovar, /quiet ;;initamp, initmean, and initcovar are now updated to their best fit values Installation FAQ
XD is trying to compile as a 32 (or 64) bit library while your GSL or OpenMP libraries were compiled as 64 (or 32) bit libraries. You can force XD to compile as a particular architecture by adding the ARCH option to make, e.g.,make ARCH=x86_64
You can disable OpenMP support by removing the -fopenmp references in the Makefile and copying the src/_omp.h file to src/omp.h. Acknowledging extreme-deconvolutionThe algorithm that the code implements is described in the paper Extreme deconvolution: inferring complete distribution functions from noisy, heterogeneous and incomplete observations; a copy of the latest draft of this paper is included in the "doc/" directory of the repository or source archive. If you use the code, please cite this paper, e.g., Extreme deconvolution: inferring complete distribution functions from noisy, heterogeneous and incomplete observations Jo Bovy, David W. Hogg, & Sam T. Roweis, Ann. Appl. Stat. 5, 2B, 1657 (2011) Examples
Extreme-deconvolution in action
|