Catalog PyPI
PACKAGE EXPLORERView in registry

acia

PyPI

The acia library provides utility functionality for analyzing 2D+t time-lapse image sequences in microfluidic live-cell imaging experiments.

aciacell-trackingimage-analysismicroscopysegmentation
Versions collected1
Direct dependencies64From release 0.4.0
Last observed20 Oct, 18:13 UTC

README

Version 0.4.0 documentation

Acia: Automated single-cell image analysis

CI PyPI version Python versions Docs License: MIT

Accio 🪄 - and your single-cell insights appear - Not quite but - acia - and your single-cell insights appear to become much easier 😉

acia turns a 2D+t time-lapse microscopy file into quantitative single-cell results. One API reads ND2, CZI, OME-TIFF and folders of TIFFs; physical units travel with the data from load to result; eight state-of-the-art segmentation and tracking backends plug in behind one call.

Built for microfluidic live-cell imaging, but nothing in it assumes cells — it works for any objects you can detect in images.

The first five minutes

from acia import ureg
from acia.segm.open import open_sequence
from acia.segm.processor.omnipose import OmniposeSegmenter
from acia.analysis import extract_growth

src = open_sequence("experiment.nd2").position(0)      # ND2, CZI, TIFF, folders
src = src[::10, 256:768, 256:768]                      # lazy: subsample + crop
src = src.with_pixel_size(0.072 * ureg.micrometer)     # calibration travels along

overlay = OmniposeSegmenter()(src)                     # -> detections
table, growth, figure = extract_growth(overlay, src)   # -> µm², hours, 1/hour

That is a complete pipeline. growth.doubling_time comes back as a pint quantity, not a bare float.

What you get

  • One reader for every format. open_sequence() dispatches ND2, CZI, TIFF stacks and folders of per-timepoint TIFFs to a lazy handle that reads metadata without touching pixels — so opening a 100 GB acquisition costs nothing. OMERO, SMB/SAMBA shares and S3 work through the same interface.
  • numpy-style slicing that never copies. src[::2, 100:200, 50:150, 0] composes subsampling, cropping and channel selection into a lazy view.
  • Units that do not get lost. Declare pixel size and frame interval once; they survive slicing, flow into detections as timestamps, and are picked up automatically by the property extractors. Results come out in µm² and hours.
  • Segmentation and tracking, swappable. Cellpose, Cellpose-SAM, Omnipose, Contour Proposal Network, YOLO — and trackastra, ultrack, PyUAT, laptrack — behind a uniform call signature, with lazy model loading and GPU autorelease.
  • Visualization all the way to publication. Segmentation and tracking overlays, scale bars, timestamps, annotated videos, lineage trees, and an interactive viewer that appears when you put a source at the end of a Jupyter cell.

Installation

pip install acia

Optional readers and backends live behind extras — acia[nd2], acia[czi], acia[omero], acia[remote], acia[widget].

Note: the segmentation backends are mutually exclusive — cellpose, cellpose-sam and omnipose pin conflicting versions, so install exactly one per environment. See the installation guide.

Documentation

Full documentation: https://smlci.github.io/acia-core

New here? The getting-started tutorials are runnable notebooks — open them on Colab and nothing needs installing:

  1. Open your first file — one API for every format
  2. The sequence model — THWC and lazy slicing
  3. Look at your data — viewers, scale bars, videos
  4. Calibration and units — µm² instead of px²
  5. Segment and quantify — the full pipeline to a growth rate

For complete published analyses built on acia — growth-rate quantification, fluorescence co-culture characterization, single-cell oxygen response, and scaling those across hundreds of sequences — see the companion acia-workflows collection.

Developers

git clone https://github.com/SMLCI/acia-core.git
cd acia-core
pip install -e ".[dev]"

pytest
ruff check acia tests

To build the documentation locally (the first build downloads a ~20 MB sample dataset and executes the tutorials):

pip install -e ".[docs,omnipose]" --use-pep517
make docs

Contributions are welcome — see CONTRIBUTING.rst.

License

MIT — see LICENSE.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.4.01 Sept 202664

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
smlci/acia-core

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:13 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:f7068120b8bfe74d4ea52deeb26af0ebe832f9540084837dc673cdb3d239798c