If you got here from outside, I'm a software developer on
the Imaging
Platform at the Broad
Institute. I'm the lead developer for CellProfiler. My e-mail is leek at broadinstitute dot org.
Numpy - matrix library and related mathematical software for high-performance scientific computing
Scipy - mathematical libraries for array manipulation built on top of Numpy
Cython - Cython is a hybrid of C and Python. It has Python-like syntax but can access C memory structures directly, avoiding inefficiency of the Python scripting engine. Cython code compiles to C. Cython automatically binds and manages Python objects and entry points for Python-callable functions. We use Cython to bind C libraries to Python (see LAP.pyx). We also use Cython to code compute-intensive algorithms for certain classes of algoritms (see _cpmorphology.pyx)
Matplotlib - library for scientific graphics
WX - our choice for multi-platform user interface and windowing.
Java software: CellProfiler has a JNI bridge to the Java VM. JNI is a high-performance C interface that lets a C programmer run Java code. We have built a lightweight interface between Python and Java in order to take advantage of Java microscopy imaging packages. CellProfiler is licensed under the GPL and we would welcome reuse of the bridge (see javabridge.pyx and jutil.py) in other projects.
ImageJ - We have integrated ImageJ into CellProfiler so that ImageJ plug-ins can be run in a CellProfiler pipeline (PC / Unix only at this point).
Bio-Formats - Our image reader / writer for microscopy formats