Skip to main content

Cell migration analysis for microfluidic ATPS channels

Project description

DOI PyPI Python versions Downloads License

cytoscan

Cell migration analysis for microfluidic ATPS channels. Detects cells, channel walls, and the fluid interface from brightfield + fluorescent microscopy frames; produces per-cell physical-coordinate, distance, and category data ready for downstream analysis in Excel / MATLAB / Python.

Install

pip install cytoscan

Quickstart

cytoscan run my_experiment            # scaffold dir + config, then run the full pipeline
cytoscan version                      # version + dependency info

On the first invocation against a fresh directory, run will:

  1. Create my_experiment/ if it doesn't exist
  2. Drop a default config.yaml at the root
  3. Create input/{brightfield,fluorescent,mixed}/ and sort any loose .tif files at the root into the correct category by filename pattern
  4. Run the full pipeline if the inputs are present, otherwise exit with a message telling you to drop frames in and rerun

Outputs

All results land in my_experiment/output/:

  • cells.csv — one row per detected cell: pixel + µm coordinates, distance to interface, side (peg/dex), category (int / int_peg / int_dex / outside)
  • frames.csv — one row per frame: cell counts by category, interface geometry summary, validity flags
  • interface.csv — long-format interface samples for downstream curve analysis
  • summary.txt — human-readable run summary
  • visuals/*.png — per-frame overlays of cells, channel walls, and interface

Logging and verbosity

Three global flags, usable in any position (before or after the subcommand):

  • -v, --verbose — DEBUG output: per-frame diagnostics and algorithm internals
  • -q, --quiet — WARNING-and-up only; silences INFO progress messages
  • --log-file PATH — also write a full DEBUG-level, timestamped log to PATH (uncolored)

Configuration

Every run is driven by <experiment>/config.yaml:

Required:

  • researchpixel_size_um, channel_width_um, ... (defines the physical experiment)

Optional (defaults set by developer):

  • cell_detectionthreshold (fluorescent cell detection)
  • channel_detection — wall and interface detection parameters
  • flagging — quality-gate thresholds (anchor strength, signal ratio, residual MAD)
  • analysisinterface_band_um, transition_band_um (categorization bands)
  • export_visuals, export_data — output toggles

Citing

If cytoscan helps your research, please cite the archived release:

McKee, M. (2026). cytoscan: Cell migration analysis for microfluidic ATPS channels. Zenodo. https://doi.org/10.5281/zenodo.20034555

A CITATION.cff is included for tools like Zotero and Mendeley.

Acknowledgements

Built for the Sun Lab at UTSA by Mateo McKee.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cytoscan-0.1.2.tar.gz (27.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cytoscan-0.1.2-py3-none-any.whl (30.2 kB view details)

Uploaded Python 3

File details

Details for the file cytoscan-0.1.2.tar.gz.

File metadata

  • Download URL: cytoscan-0.1.2.tar.gz
  • Upload date:
  • Size: 27.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cytoscan-0.1.2.tar.gz
Algorithm Hash digest
SHA256 8a91e159be459a55b19a255087b0bd94a6c6c9a9ae8f033cbd9a81eb01fdc3aa
MD5 147463fdf274711fb4429e5b3b9192a6
BLAKE2b-256 d48c6e4b5035e52717280c293a3cace4017a9e68180976efdcbafd93790bba53

See more details on using hashes here.

Provenance

The following attestation bundles were made for cytoscan-0.1.2.tar.gz:

Publisher: publish.yml on mateomckee/cytoscan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cytoscan-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: cytoscan-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 30.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cytoscan-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 11a01011067ebcab6b3177a2be664b09094c5746d44c5735716e99b925db7859
MD5 81c60a5b58f8565dce6c0fa539d359b2
BLAKE2b-256 09fae2c7028ebe609e6ffb405614dbf49182cea3f2a34ef8ac2f5bb4882d74cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for cytoscan-0.1.2-py3-none-any.whl:

Publisher: publish.yml on mateomckee/cytoscan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page