CellProfiler is a open-source application for biological image analysis

Overview

CellProfiler

Test Image.sc forum

CellProfiler is a free open-source software designed to enable biologists without training in computer vision or programming to quantitatively measure phenotypes from thousands of images automatically. More information can be found in the CellProfiler Wiki.

What version of CellProfiler should I use?

We recommend the stable release of CellProfiler.

You can download a stable release for macOS and Windows from the CellProfiler website.

If you’re contributing or planning to contribute to CellProfiler, you should compile CellProfiler from source. Instructions for compiling CellProfiler on Linux, macOS and Windows are available from CellProfiler’s GitHub wiki.

If you’re the maintainer of a third-party CellProfiler module, you should use the nightly release of CellProfiler. You can download a nightly release for macOS and Windows from the CellProfiler website. Let us know if we’ve inadvertently broken your module by submitting a GitHub issue.

If you’re an enthusiastic CellProfiler user, you should try the beta release of CellProfiler. You can download a beta release for macOS and Windows from the CellProfiler website. Let us know if you encounter a bug by submitting a GitHub issue.

Comments
  • Installing CP developer's version on Mac OS 10.8.2 (with Homebrew)

    Installing CP developer's version on Mac OS 10.8.2 (with Homebrew)

    Hello - I am trying to install the CP developer's version as outlined on https://github.com/CellProfiler/CellProfiler/wiki/Cellprofiler-developer%27s-version-installation-for-Mac, under "Methods that work". However, I get an error close to the end of installing dependencies with Homebrew:

    Error: Failed executing: /bin/sh ./setup.sh /usr/local/CPhomebrew/Cellar/cellprofiler-dev/1 (cellprofiler-dev.rb:53)

    I am a novice Homebrew user, so any suggestions would be much appreciated. I have found one related closed issue, but the problem there seemed to be related to gfortran. - Thanks, AJP

    opened by apretori 53
  • Rescale intensity relative to maximum intensity in image.

    Rescale intensity relative to maximum intensity in image.

    Currently, when loading an image, intensities are rescaled based on the following criteria:

    1. A value provided by the user*.
    2. The maximum intensity supported by the image, as defined in the image metadata.
    3. The maximum value supported by the image data type**.

    Instead of defaulting to rescaling by supported maximum intensity (options 2 or 3), CellProfiler should default to rescaling intensities by actual maximum intensity. That is, rescale intensities between 0 and 1 such that the actual minimum intensity value is mapped to 0 and the actual maximum intensity value is mapped to 1 (and all other intensities are adjusted accordingly):

    image = (image - image.min())/(image.max() - image.min())
    

    Rescaling intensities in this way has the following benefits:

    1. It works.
    2. It's consistent and not dependent on image metadata.
    3. It won't rescale all values to be teeny-tiny if metadata is missing and the data type is 32-bit integer (in this case, all values would be rescaled by dividing by 65535. Ew!).
    4. We won't be dependent on python-bioformats to load images and rescale values (this is very important for 3D work).

    * Kind of but not really. It's first scaled by supported maximum intensity (option 2 or 3) and then scaled again by the user specified value. This boolean rescale is not passed into the call to read. Nonzero values evaluate to True, so the image is first rescaled to its supported maximum intensity and then rescaled again according to the provided value.

    ** This isn't entirely accurate either, because these data type maximums are not correct.

    opened by mcquin 48
  • A new module to integrate imaging flow cytometry workflow

    A new module to integrate imaging flow cytometry workflow

    Description of the "montage" module: The CP montage module could be based on our Matlab code cif_reader.m (file attached) which reads a .cif file and generates and saves the n-by-n image montages. No need to save the image montages though (displaying would be nice), as we have the CP module save images. Test files called testfile_.cif (and Matlab files from bioformats to access the cif file) are here: https://www.dropbox.com/s/ubtm77b4gnpv3bf/cif_reader_implementation.zip?dl=0 Parameters: size of the n-by-n grid, default: 32x32 grid yielding 32_32=1024 images per image montage (if you estimate that we reach the sweet spot in terms of computational speed with a larger/smaller grid then pls pick that value as default)

    Background:

    • A compensated image file (.cif file) is a proprietary file format of the imaging flow cytometers developed by Millipore. Typically, a .cif file contains hundreds of thousands of small images, each image has only ~7KB, and metadata such as channel number along with each image. Loading/reading a .cif file already works nicely in CP, Lee Kamentsky has written an open-source reader for cif files available on BioFormats

    Why we would love to have a montage module in CP:

    1. Open-source/user-friendly: We currently use Matlab for the image tiling and then load the image montages into CP, but we would like to provide an open-source and user-friendly imaging flow cytometry workflow also suitable for everyday biologists
    2. speed: Running 100,000 small images in CP (segmentation, extracting features) would e.g. take about 3-4 days on my laptop (4 cores), while running the same number of images on the same machine but with image montages (currently 225 images per montage) takes 2 hours. Thus the overhead in CP is huge- with 225 images per tile we are about 30-50 times faster using the tiling as compared to handling single images. The tiling itself is fast (~seconds for typical .cif file sizes).

    cif_reader.m.zip

    opened by holgerhennig 44
  • Explore using ImageJ's REST server for updated ImageJ integration

    Explore using ImageJ's REST server for updated ImageJ integration

    We have now completed an initial working prototype of the RESTful image server we discussed back in May.

    https://github.com/imagej/imagej-server

    Please check it out and let us know what you think. We are greatly looking forward to pursuing this further so that CP and ImageJ continue to integrate well together.

    Feature request 
    opened by ctrueden 37
  • CPHomebrew doesn't install dependencies correctly on OSX 10.6.8

    CPHomebrew doesn't install dependencies correctly on OSX 10.6.8

    While installing the developer version of CellProfiler on Mac OSX 10.6.8, I used the CPHomebrew method to install CP's dependencies. However, when I tried to run CP, I got errors about not being able to find packages. I've worked through several errors by manually installing modules (numpy, scipy, matplotlib, and a couple others), currently stuck on h5py. Unfortunately, I didn't think to report this when I first ran into the problem, and I've installed a bunch of stuff since then, so I can't reproduce the exact set of errors on this computer.

    opened by sclamons 32
  • TrAM module

    TrAM module

    This is a pull request for the initial check in of the TrAM module.

    You can add this module after tracking with TrackObjects. You will be able to select the objects to perform the computation on and their corresponding measurements to locate jumps in. There is documentation in the help window.

    Let me know if you have any questions or difficulties testing. I'm happy to provide a test project and images.

    opened by DanRuderman 31
  • mac homebrew install

    mac homebrew install

    Hi, I apologize if this is not the place, but I tried to install the Homebrew cellprofiler development version for mac and it failed pretty far into the process. My mac is brand new and running 10.7.3 Thanks for taking a look! -John

    Here's the message from the pip.log:

    /Users/jmclaughlin/CPhomebrew/bin/gfortran -Wall -arch i686 -arch x86_64 -Wall -undefined dynamic_lookup -bundle build/temp.macosx-10.6-intel-2.7/build/src.macosx-10.6-intel-2.7/scipy/fftpack/_fftpackmodule.o build/temp.macosx-10.6-intel-2.7/scipy/fftpack/src/zfft.o build/temp.macosx-10.6-intel-2.7/scipy/fftpack/src/drfft.o build/temp.macosx-10.6-intel-2.7/scipy/fftpack/src/zrfft.o build/temp.macosx-10.6-intel-2.7/scipy/fftpack/src/zfftnd.o build/temp.macosx-10.6-intel-2.7/build/src.macosx-10.6-intel-2.7/scipy/fftpack/src/dct.o build/temp.macosx-10.6-intel-2.7/build/src.macosx-10.6-intel-2.7/fortranobject.o -Lbuild/temp.macosx-10.6-intel-2.7 -ldfftpack -lfftpack -lgfortran -o build/lib.macosx-10.6-intel-2.7/scipy/fftpack/_fftpack.so

    ld: library not found for -lgcc

    ld: library not found for -lgcc

    lipo: can't figure out the architecture type of: /var/folders/h9/mzp4k_r93pq1fzf6b9_4ljh816lyrk/T//ccPQ6k9T.out

    ld: library not found for -lgcc

    ld: library not found for -lgcc

    lipo: can't figure out the architecture type of: /var/folders/h9/mzp4k_r93pq1fzf6b9_4ljh816lyrk/T//ccPQ6k9T.out

    error: Command "/Users/jmclaughlin/CPhomebrew/bin/gfortran -Wall -arch i686 -arch x86_64 -Wall -undefined dynamic_lookup -bundle build/temp.macosx-10.6-intel-2.7/build/src.macosx-10.6-intel-2.7/scipy/fftpack/_fftpackmodule.o build/temp.macosx-10.6-intel-2.7/scipy/fftpack/src/zfft.o build/temp.macosx-10.6-intel-2.7/scipy/fftpack/src/drfft.o build/temp.macosx-10.6-intel-2.7/scipy/fftpack/src/zrfft.o build/temp.macosx-10.6-intel-2.7/scipy/fftpack/src/zfftnd.o build/temp.macosx-10.6-intel-2.7/build/src.macosx-10.6-intel-2.7/scipy/fftpack/src/dct.o build/temp.macosx-10.6-intel-2.7/build/src.macosx-10.6-intel-2.7/fortranobject.o -Lbuild/temp.macosx-10.6-intel-2.7 -ldfftpack -lfftpack -lgfortran -o build/lib.macosx-10.6-intel-2.7/scipy/fftpack/_fftpack.so" failed with exit status 1


    Command /Users/jmclaughlin/CPhomebrew/Cellar/cellprofiler-dev-python/1/cpdev/bin/python -c "import setuptools;file='/Users/jmclaughlin/CPhomebrew/Cellar/cellprofiler-dev-python/1/cpdev/build/scipy/setup.py';exec(compile(open(file).read().replace('\r\n', '\n'), file, 'exec'))" install --single-version-externally-managed --record /var/folders/h9/mzp4k_r93pq1fzf6b9_4ljh816lyrk/T/pip-rNINyf-record/install-record.txt --install-headers /Users/jmclaughlin/CPhomebrew/Cellar/cellprofiler-dev-python/1/cpdev/bin/../include/site/python2.7 failed with error code 1 in /Users/jmclaughlin/CPhomebrew/Cellar/cellprofiler-dev-python/1/cpdev/build/scipy

    Exception information: Traceback (most recent call last): File "/Users/jmclaughlin/CPhomebrew/Cellar/cellprofiler-dev-python/1/cpdev/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/basecommand.py", line 104, in main status = self.run(options, args) File "/Users/jmclaughlin/CPhomebrew/Cellar/cellprofiler-dev-python/1/cpdev/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/commands/install.py", line 250, in run requirement_set.install(install_options, global_options) File "/Users/jmclaughlin/CPhomebrew/Cellar/cellprofiler-dev-python/1/cpdev/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/req.py", line 1133, in install requirement.install(install_options, global_options) File "/Users/jmclaughlin/CPhomebrew/Cellar/cellprofiler-dev-python/1/cpdev/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/req.py", line 577, in install cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False) File "/Users/jmclaughlin/CPhomebrew/Cellar/cellprofiler-dev-python/1/cpdev/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/init.py", line 256, in call_subprocess % (command_desc, proc.returncode, cwd)) InstallationError: Command /Users/jmclaughlin/CPhomebrew/Cellar/cellprofiler-dev-python/1/cpdev/bin/python -c "import setuptools;file='/Users/jmclaughlin/CPhomebrew/Cellar/cellprofiler-dev-python/1/cpdev/build/scipy/setup.py';exec(compile(open(file).read().replace('\r\n', '\n'), file, 'exec'))" install --single-version-externally-managed --record /var/folders/h9/mzp4k_r93pq1fzf6b9_4ljh816lyrk/T/pip-rNINyf-record/install-record.txt --install-headers /Users/jmclaughlin/CPhomebrew/Cellar/cellprofiler-dev-python/1/cpdev/bin/../include/site/python2.7 failed with error code 1 in /Users/jmclaughlin/CPhomebrew/Cellar/cellprofiler-dev-python/1/cpdev/build/scipy

    opened by jmcpuser 31
  • No home, zoom, etc buttons on module window in Ubuntu

    No home, zoom, etc buttons on module window in Ubuntu

    From this forum post:

    "I am glad that CellProfiler installation on Linux (Ubuntu 16.04) now works (Since version 2.2.0).

    The CellProfiler behaves similar to the windows in most respects, however the modules windows lacks the controls associated with zooming, panning. These controls facilitate accurate pipeline parameters like thresh-holding, bounds, smoothing scales, etc.

    Is that a known issue in Linux installation, or is there a problem in my installation/JRE/JVM?"

    image

    Bug 
    opened by bethac07 30
  • Documenting 2D vs 3D

    Documenting 2D vs 3D

    At the end of the module's introductory help text, RelateObjects has this line: This module supports 2D and 3D objects.

    Have we added this to all other modules that need it? I've not seen any other modules so far.

    Documentation 
    opened by AnneCarpenter 27
  • KeyError:

    KeyError: "Unable to open object (Can't insert duplicate key)"

    I've been trying to run my pipeline (with ~1000 images), but there is always a point I get an error. The individual images seem fine, but when I try to analyze them all, it can't finish (it finishes when there are like 4 images but not everything). This is from the CP e5117de. Any ideas?

    Traceback (most recent call last): File "wx/_core.pyc", line 16766, in File "/Volumes/CellProfiler/CellProfiler.app/Contents/Resources/lib/python2.7/cellprofiler/gui/pipelinecontroller.py", line 2697, in on_stop_analysis File "/Volumes/CellProfiler/CellProfiler.app/Contents/Resources/lib/python2.7/cellprofiler/measurements.py", line 364, in getitem File "/Volumes/CellProfiler/CellProfiler.app/Contents/Resources/lib/python2.7/cellprofiler/measurements.py", line 960, in get_measurement File "/Volumes/CellProfiler/CellProfiler.app/Contents/Resources/lib/python2.7/cellprofiler/utilities/hdf5_dict.py", line 367, in getitem File "/Volumes/CellProfiler/CellProfiler.app/Contents/Resources/lib/python2.7/cellprofiler/utilities/hdf5_dict.py", line 644, in get_dataset File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper (/Users/travis/build/MacPython/h5py-wheels/h5py/h5py/_objects.c:2458) File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper (/Users/travis/build/MacPython/h5py-wheels/h5py/h5py/_objects.c:2415) File "/Volumes/CellProfiler/CellProfiler.app/Contents/Resources/lib/python2.7/h5py/_hl/group.py", line 164, in getitem File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper (/Users/travis/build/MacPython/h5py-wheels/h5py/h5py/_objects.c:2458) File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper (/Users/travis/build/MacPython/h5py-wheels/h5py/h5py/_objects.c:2415) File "h5py/h5o.pyx", line 190, in h5py.h5o.open (/Users/travis/build/MacPython/h5py-wheels/h5py/h5py/h5o.c:3507) KeyError: "Unable to open object (Can't insert duplicate key)"

    opened by jhung0 26
  • Add 'normalize well padding' option to Metadata module

    Add 'normalize well padding' option to Metadata module

    From this forum post:

    When the input images are named so: A - 7(fld 1 wv UV - DAPI).tif, the Metadata module is able to parse all the relevant bits (row, col, field, filters). But the Metadata_Well column in my output ends up looking like this:

    A1
    A10
    A11
    A12
    A2
    A3
    A4
    A5
    A6
    

    Which makes it very annoying to have to resort afterwards outside of CellProfiler. A suggested fix would be to add a checkbox (or toggle) in the Metadata module to normalize Well ID padding.

    Possible Solution 1: checkbox that when activated makes sure all the wells have the same number of digits as the largest value (eg, A3 and A12 become A03 and A12). This change may also need to be applied to the Column metadata property (but then it would change from integer to string). Possible Solution 2: pulldown menu or radio buttons that lets you select whether to add or remove leading zeros in the numerical part of the Well metadata. If "add leading zeros" is selected, then Well (and Column?) metadata are padded to have leading zeros as needed to normalize the length. If "remove leading zeros" is selected, then any leading zeros would be removed (A03 -> A3).

    opened by nieder 25
  • Installation issue in Ubuntu 20.04

    Installation issue in Ubuntu 20.04

    I followed the exact same steps as mentioned in the on git page of installation Desktop (please complete the following information):

    • OS: Ubuntu 20.04
    • CellProfiler Version 4.0.0rc12
    • Downloaded from the website or installed from source? from source
    • If the latter, how (cloned, installed from pypi, etc)? cloned it as mentioned in link above

    Describe the issue A clear and concise description of which steps of the installation succeeded and which failed. Installation is failing with the following error

    Screen Shot 2023-01-01 at 2 18 58 PM Environment/Install 
    opened by leosv123 1
  • Update metadata conventions

    Update metadata conventions

    PR addressing #4693, but also other general pipeline refactoring work.

    Companion to PR CellProfiler/core#139.

    Note that this builds off, and will be merged into, the not yet merged scyjava branch.

    opened by gnodar01 0
  • unrecoverable error in ExportToSpreadsheet

    unrecoverable error in ExportToSpreadsheet

    Picture1 After running the pipeline there is an error about exporttospreadsheet and there is only one csv file showing in the chosen output area, but usually there should be many

    Has anyone encountered that before, any suggestions are appreciated!

    Bug Needs verification 
    opened by ym620 0
  • Catch

    Catch "no objects of any type"

    Resolves #4653

    ExportToSpreadsheet gets mad trying to say "what is the biggest number objects that I have in this image" if there are object creation modules that are skipped.

    opened by bethac07 0
Releases(v4.2.5)
Owner
CellProfiler
Software for quantitative analysis of biological images
CellProfiler
One Metrics Library to Rule Them All!

onemetric Installation Install onemetric from PyPI (recommended): pip install onemetric Install onemetric from the GitHub source: git clone https://gi

Piotr Skalski 49 Jan 03, 2023
A Screen Translator/OCR Translator made by using Python and Tesseract, the user interface are made using Tkinter. All code written in python.

About An OCR translator tool. Made by me by utilizing Tesseract, compiled to .exe using pyinstaller. I made this program to learn more about python. I

Fauzan F A 41 Dec 30, 2022
Zoom , GoogleMeets에서 Vtuber 데뷔하기

EasyVtuber Facial landmark와 GAN을 이용한 Character Face Generation Google Meets, Zoom 등에서 자신만의 웹툰, 만화 캐릭터로 대화해보세요! 악세사리는 어느정도 추가해도 잘 작동해요! 안타깝게도 RTX 2070

Gunwoo Han 140 Dec 23, 2022
Fast image augmentation library and easy to use wrapper around other libraries. Documentation: https://albumentations.ai/docs/ Paper about library: https://www.mdpi.com/2078-2489/11/2/125

Albumentations Albumentations is a Python library for image augmentation. Image augmentation is used in deep learning and computer vision tasks to inc

11.4k Jan 02, 2023
This is the official PyTorch implementation of the paper "TransFG: A Transformer Architecture for Fine-grained Recognition" (Ju He, Jie-Neng Chen, Shuai Liu, Adam Kortylewski, Cheng Yang, Yutong Bai, Changhu Wang, Alan Yuille).

TransFG: A Transformer Architecture for Fine-grained Recognition Official PyTorch code for the paper: TransFG: A Transformer Architecture for Fine-gra

Ju He 307 Jan 03, 2023
Programa que viabiliza a OCR (Optical Character Reading - leitura óptica de caracteres) de um PDF.

Este programa tem o intuito de ser um modificador de arquivos PDF. Os arquivos PDFs podem ser 3: PDFs verdadeiros - em que podem ser selecionados o ti

Daniel Soares Saldanha 2 Oct 11, 2021
[BMVC'21] Official PyTorch Implementation of Grounded Situation Recognition with Transformers

Grounded Situation Recognition with Transformers Paper | Model Checkpoint This is the official PyTorch implementation of Grounded Situation Recognitio

Junhyeong Cho 18 Jul 19, 2022
Morphological edge detection or object's boundary detection using erosion and dialation in OpenCV python

Morphologycal-edge-detection-using-erosion-and-dialation the task is to detect object boundary using erosion or dialation . Here, use the kernel or st

Tamzid hasan 3 Nov 25, 2022
A general list of resources to image text localization and recognition 场景文本位置感知与识别的论文资源与实现合集 シーンテキストの位置認識と識別のための論文リソースの要約

Scene Text Localization & Recognition Resources Read this institute-wise: English, 简体中文. Read this year-wise: English, 简体中文. Tags: [STL] (Scene Text L

Karl Lok (Zhaokai Luo) 901 Dec 11, 2022
Characterizing possible failure modes in physics-informed neural networks.

Characterizing possible failure modes in physics-informed neural networks This repository contains the PyTorch source code for the experiments in the

Aditi Krishnapriyan 55 Jan 02, 2023
Reference Code for AAAI-20 paper "Multi-Stage Self-Supervised Learning for Graph Convolutional Networks on Graphs with Few Labels"

Reference Code for AAAI-20 paper "Multi-Stage Self-Supervised Learning for Graph Convolutional Networks on Graphs with Few Labels" Please refer to htt

Ke Sun 1 Feb 14, 2022
Ackermann Line Follower Robot Simulation.

Ackermann Line Follower Robot This is a simulation of a line follower robot that works with steering control based on Stanley: The Robot That Won the

Lucas Mazzetto 2 Apr 16, 2022
PianoVisuals - Create background videos synced with piano music using opencv

Steps Record piano video Use Neural Network to do body segmentation (video matti

Solbiati Alessandro 4 Jan 24, 2022
Course material for the Multi-agents and computer graphics course

TC2008B Course material for the Multi-agents and computer graphics course. Setup instructions Strongly recommend using a custom conda environment. Ins

16 Dec 13, 2022
CTPN + DenseNet + CTC based end-to-end Chinese OCR implemented using tensorflow and keras

简介 基于Tensorflow和Keras实现端到端的不定长中文字符检测和识别 文本检测:CTPN 文本识别:DenseNet + CTC 环境部署 sh setup.sh 注:CPU环境执行前需注释掉for gpu部分,并解开for cpu部分的注释 Demo 将测试图片放入test_images

Yang Chenguang 2.6k Dec 29, 2022
Read-only mirror of https://gitlab.gnome.org/GNOME/ocrfeeder

================================= OCRFeeder - A Complete OCR Suite ================================= OCRFeeder is a complete Optical Character Recogn

GNOME Github Mirror 81 Dec 23, 2022
Multi-choice answer sheet correction system using computer vision with opencv & python.

Multi choice answer correction 🔴 5 answer sheet samples with a specific solution for detecting answers and sheet correction. 🔴 By running the soluti

Reza Firouzi 7 Mar 07, 2022
Page to PAGE Layout Analysis Tool

P2PaLA Page to PAGE Layout Analysis (P2PaLA) is a toolkit for Document Layout Analysis based on Neural Networks. 💥 Try our new DEMO for online baseli

Lorenzo Quirós Díaz 180 Nov 24, 2022
Hiiii this is the Spanish for Linux and win 10 and in the near future the english version of PortScan my new tool on which you can see what ports are Open only with the IP adress.

PortScanner-by-IIT PortScanner es una herramienta programada en Python3. Como su nombre indica esta herramienta escanea los primeros 150 puertos de re

5 Sep 19, 2022
An Agnostic Computer Vision Framework - Pluggable to any Training Library: Fastai, Pytorch-Lightning with more to come

An Agnostic Object Detection Framework IceVision is the first agnostic computer vision framework to offer a curated collection with hundreds of high-q

airctic 790 Jan 05, 2023