About
Summmary
What is CRUSH?
CRUSH is a free data reduction software for specific astronomical imaging arrays. It is especially designed for use with ground-based or air-borne (sub)millimeter wave cameras. It began as a PhD project at Caltech and it remains a leader in speed, innovation, and versatility alike.
Author
CRUSH is created, written, and maintained by Attila Kovács. You can contact Attila by e-mail (attila[AT]sigmyne.com), or follow on facebook, LinkedIn.
Supported Instruments
Cureent and legacy versions of CRUSH provide support for
SHARC,
SHARC-2,
LABOCA,
SABOCA,
ASZCA,
p-ArTeMiS,
PolKa,
GISMO,
MAKO,
MAKO-2,
MUSTANG-2,
SCUBA-2,
SOFIA/HAWC+, and
SOFIA/HIRMES.
Further instrument support is possible. If you would
like to use CRUSH with your science mission, please contact Attila Kovács (see above) for an arrangement.
Implementation
100% Pure Java
CRUSH is written entirely in Java. As such, it runs under UNIX, Mac OS, Windows (and more) systems without complication (and compillation) or the need for external dependecies. Java 8 (1.8.0) or newer is required. Works well with Oracle Java, IBM Java or OpenJDK (IcedTea). Does not always work with GNU Java (gij).
External Packages
CRUSH relies on the nom.tam.fits library for dealing with FITS images. A suitable version of this library readily is included in the CRUSH software distribution.
Speed
Java provides comparable speed to the fastest C or FORTRAN implementation of the same code (even when those have all safe and un-safe optimizations enabled!). CRUSH is also multi-threaded, and uses all processing cores in a machine effectively. Currently, it can churn though around 100 MB (25 MS) of raw data per minute, per CPU core, on a typical PC. A typical reduction includes a total of around 50—100 processing steps, such as repeated rounds of atmospheric noise removal, gain estimation, noise weighting, despiking, spectral filtering, mapping and more. Thus, with an 18-core Intel Xeon processor you can expect to reduce 1—2 GB (or 250—500 MS) of raw data per minute. That is enough to process data from a future 100-kilopixel camera, sampled at 100 Hz, in quasi real-time!
Acknowledgements
The development of CRUSH owes many thanks to those who have endured its bugs and helped getting the issues fixed. Special thanks to Darren Dowell, Darek Lis, Colin Borys, Andreas Lundgren, Thomas Greve, Jonathan Bird, Frederique Motte, Cathy Horellou, Johannes Staguhn, Giorgio Siringo, Ting Su, Israel Hermelo, Carsten Kramer, and Melanie Clarke. To Colin, I am additionally grateful for creating the prior incarnation of the CRUSH pages.