Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.

PyIncucyteGUI

Automatically download TIF images from the Incucyte live-cell imaging system via its SOAP API. Replaces the manual click-to-download workflow with a script that polls for new scans and saves them to a folder.

Requirements

  • Python 3.10+
  • Must be on the Imperial College London network (the Incucyte device is not internet-accessible)
  • Windows with the Incucyte desktop client installed is required for first-time password encryption/login

Install

From PyPI:

pip install py-incucyte-gui

The human-facing project name is PyIncucyteGUI. The PyPI distribution and command-line launch name are both py-incucyte-gui.

From this source checkout:

pip install -e .

Quick Start (GUI)

py-incucyte-gui
  1. Enter the Incucyte host IP and your credentials, click Login
  2. Select one or more vessels from the list
  3. (Optional) Click Select Wells to choose specific wells
  4. Choose channel filters (Phase, Green/Color 1, Red/Color 2)
  5. Set the output folder
  6. Set Start from: "First scan" to get all historical images, "Today" for new ones only, or a custom date
  7. Click Download Now to review the export dialog, or Start Watching to poll automatically

Quick Start (CLI)

# Test connectivity
py-incucyte probe --host 129.31.116.189

# Login (saves credentials)
py-incucyte login --host 129.31.116.189

# List experiments and vessels
py-incucyte vessels

# Download all images from a vessel, starting from its very first scan
py-incucyte download -v 38 -o ./images --start-from first

# Download from a specific date
py-incucyte download -v 38 -o ./images --start-from 2026-03-01

# Download Phase + green + red fluorescence channels as ImageJ hyperstacks
py-incucyte download -v 38 -o ./images --channels phase,green,red --hyperstack

# Download each selected well/channel as a time stack across scans
py-incucyte download -v 38 -o ./images --wells D2-D5 --channels phase,green --time-stack

# Download one channel+time hyperstack per selected well
py-incucyte download -v 38 -o ./images --channels phase,green,red --time-stack --hyperstack

# Watch mode: poll every 10 minutes for new scans
py-incucyte watch -v 38 -o ./images -i 10 --start-from first

The original script entry points still work from a source checkout:

python incucyte_gui.py
python incucyte_downloader.py vessels
python -m py_incucyte_gui vessels

Compatibility aliases are also installed: py-incucyte, py_incucyte_gui, and incucyte-downloader.

Features

  • Parallel scan-time checks - the export-list building step also uses the worker count

  • Parallel downloads — configurable number of worker threads (default 4)

  • Optional green LUT for Phase — Phase contrast images are kept as returned by the API by default; use --green-lut to save green-channel RGB TIFs

  • Named fluorescence channels — Incucyte Color 1 is shown as Green and Color 2 as Red; CLI aliases color1 and color2 still work

  • ImageJ hyperstack export — optional one-file-per-well/time TIFF stacks containing all selected channels

  • ImageJ time stack export — optional one-file-per-well/channel stacks across selected scans; combine with --hyperstack for channel+time stacks

  • Pre-flight export dialog — one-shot downloads show source/calibration details, stack axes, channels, wells, output folder, and filename examples before starting

  • Start from any date — download from the vessel's first scan, today, or any custom date

  • Progress dialog (GUI) — file count, progress bar, speed estimate, ETA, cancel button

  • Source-image progress for stacks — time-stack exports show inner source-image progress plus output-file completion

  • Window title updates — shows download progress and next-poll countdown when minimized

  • Retry with backoff — transient network failures retry up to 3 times

  • State tracking — already-downloaded images are skipped on subsequent runs

  • Well & channel filters — download only specific wells and/or image channels

  • Elapsed-time filenames — files named with elapsed time from experiment start (e.g., VID38_A1_1_024h30m.tif)

  • Graceful shutdown — closing the window during watch mode stops cleanly

CLI Options

download

Flag Description
-v, --vessel Vessel ID to download
-o, --output Output directory
-s, --start-from first (all history), YYYY-MM-DD, or omit for today
-d, --date Single date to download (YYYY-MM-DD)
-w, --wells Well filter (e.g., A1, A1,B3, A1-D4)
-c, --channels Channel filter (phase, green/color1, red/color2, all)
--hyperstack Save selected channels as one ImageJ hyperstack TIFF per well/site/time
--time-stack Save individual wells as ImageJ time stacks across selected scans
--workers Parallel download threads (default: 4)
--green-lut Apply green LUT to Phase images
--no-green-lut Keep Phase images as returned by the API (default)

watch

Same as download, plus:

Flag Description
-i, --interval Poll interval in minutes (default: 10)

File Structure

PyIncucyteGUI/
  pyproject.toml           pip/build metadata and command entry points
  LICENSE                  BSD-3-Clause license
  py_incucyte_gui/         package namespace for python -m py_incucyte_gui
  incucyte_downloader.py   CLI tool and core download logic
  incucyte_gui.py          Tkinter GUI
  README.md                This file
  .gitignore               Excludes state files and WSDL
  .tmp/                    Config, state, captures (gitignored)

Runtime config is saved outside the package when installed with pip:

  • Windows: %APPDATA%\PyIncucyteGUI
  • macOS/Linux: $XDG_CONFIG_HOME/pyincucytegui or ~/.config/pyincucytegui
  • Override: set PYINCUCYTEGUI_HOME to a folder path

Existing source checkouts keep using .tmp/ if local state already exists there.

License

PyIncucyteGUI is distributed under the BSD 3-Clause License.

Copyright (c) 2026, Jamie Malcolm. Ownership is personal rather than lab or institute owned.

Build and Publish

python -m pip install --upgrade build twine
python -m build
python -m twine check dist/*
python -m twine upload dist/*

Support Notes

This package is intended for Brancaccio Lab use on machines that can access the Incucyte device. First-time login requires the Incucyte desktop client installation because the downloader uses the vendor encryption library for credentials.

Release files for py-incucyte-gui 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for py-incucyte-gui 0.1.1
File Size Uploaded
py_incucyte_gui-0.1.1.tar.gz 37.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for py-incucyte-gui 0.1.1
File Interpreter ABI Platform
py_incucyte_gui-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 73.5 kB

Release files / py_incucyte_gui-0.1.1.tar.gz

Download URL py_incucyte_gui-0.1.1.tar.gz
Size 37.7 kB
Tags Source
SHA-256 checksum
How to use checksums
f1b448f15c2e89d9bab940161c2f21b00c69f598b9c409fb05e67b12579dc46a
BLAKE2b-256 checksum
How to use checksums
ff3d5c2dedb5948c3751ed6110455eeb5cdc3a7b8b7954b420ad79a32c7cf487
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / py_incucyte_gui-0.1.1-py3-none-any.whl

Download URL py_incucyte_gui-0.1.1-py3-none-any.whl
Size 35.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3f0dc3a792e21c0b80b2dc73ecfe1d12886a3dd450b93de1ec26a9cd54025a0f
BLAKE2b-256 checksum
How to use checksums
ca6ebf3d0bcfa0dc85e61bce77b51d909ba399e65d7188217bb92a8c12832bc9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page