Skip to content


Subversion checkout URL

You can clone with
Download ZIP
CellProfiler is open-source cellular image analysis software.
Python Java C++ C Shell Inno Setup
Failed to load latest commit information.
BatchProfiler Use the database's job_host table to avoid xvfb races and eliminate r…
cellprofiler issue # 1412 bug in convex hull similar to f46e81d
contrib issue #1224 added earthmover's distance + FastEMD + sklearn dependenc…
docker Dockerfile for builing from source
imagej Issue #1290 update copyright to 2015
java somehow, gets into bad state and throws wrong exception
jenkins some added tweaks to the package listing stuff on the linux build
plugins Avoid annoying 'comparison to None' FutureWarning
tutorial Avoid annoying 'comparison to None' FutureWarning
.gitattributes Developer tutorial
.gitignore Really nice BatchProfiler and it seems to work
COPYING License clarifications
CellProfiler.iss issue #1290 more copyright notices changed to 2015 Clarified help.
CellProfiler64.iss issue #1290 more copyright notices changed to 2015
CellProfilerIcon.icns missing items
CellProfilerIcon.ico Desperation continues... try a total reformatting of the icon.
CellProfilerIcon.png Fixed crlf and file mode issues (hopefully)
CellProfilerIcon_old.png Fixed crlf and file mode issues (hopefully)
CellProfiler_python.bat separate 1.0 and 2.0
CellProfiler_python.command Fixed crlf and file mode issues (hopefully)
Cloning_in_git.txt Test
Dockerfile Add nose as a dependency
LICENSE issue #1290 more copyright notices changed to 2015
Makefile.CP2 \
README-short.txt Document Docker image Document Docker image Make nose look in different places for jars when frozen Fixed crlf and file mode issues (hopefully) Bioformats / OMERO 5.1.1 + get OMERO dependencies via Maven
logo.png Renamed logo to logo.png, as required by Docker Hub. For cluster, use a site-packages that has javabridge and bioformats p… Fixed crlf and file mode issues (hopefully) Use the cellprofiler-java-dependencies.txt file to order jars when fr…
usr-bin-cellprofiler Run under xvfb if $DISPLAY is not set Use the cellprofiler-java-dependencies.txt file to order jars when fr…

CellProfiler is free, open-source software designed to enable biologists without training in computer vision or programming to quantitatively measure phenotypes from thousands of images automatically.

Our website,, is aimed at non-developer users and has lots of information about CellProfiler and how to use it, as well as a forum for asking questions.

The developer wiki covers topic such as how to build CellProfiler from source, how to set up a development environment with all of CellProfiler's dependencies, and the various resources set up to support CellProfiler development.

Getting started with the Docker image of CellProfiler

The Docker image is for advanced users who want to run CellProfiler for high-throughput processing without a graphical user interface in a Linux cluster environment. This is an alternative to installing CellProfiler from source or using the Linux build that we provide. New users will typically want to download and install CellProfiler on a Mac or Windows machine instead; see the download page.

To use the Docker image, you need to Docker's -v option to mount the input directory (which contains your images, pipeline, and other input files) and the output directory (to which images, measurements, and other output files will be written). Because CellProfiler will be run as the user "cellprofiler", you must ensure that the "cellprofiler" user has permission to write to the output directory.

Example for how to use the Docker image:

mkdir input
cd input
curl -O
curl -O
curl -O
curl -O
for a in *.tif; do echo file:///input/$a; done > filelist.txt
cd ..
mkdir -m 777 output
docker run --rm -v $(pwd)/input:/input -v $(pwd)/output:/output ljosa/cellprofiler:master -i /input -o /output -p /input/ExampleHuman.cppipe --file-list=/input/filelist.txt

How to file new issues

If you have a bug or other issue to report, please read the wiki page on how to file new issues to learn the best way to report it. You can also search the forum which may have a report or work-around for the issue.

Something went wrong with that request. Please try again.