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 gui                          # launch the streamlit GUI (pip install 'cytoscan[gui]')
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.2.1.tar.gz (40.1 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.2.1-py3-none-any.whl (42.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cytoscan-0.2.1.tar.gz
Algorithm Hash digest
SHA256 a4592e1f0340f08dcf8fb970c18e412d17fddef169b16b43e8c0772c75854151
MD5 6ae8bd0b94c0926b80363791e683d0ef
BLAKE2b-256 f6e4700309610123a296e3e812fcd8738ff185ea1214989f929871df6036711a

See more details on using hashes here.

Provenance

The following attestation bundles were made for cytoscan-0.2.1.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.2.1-py3-none-any.whl.

File metadata

  • Download URL: cytoscan-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 42.6 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.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e9012d09a8289dbf522933baa50bacc0695ff84bfaf5fa742d198e7840bc9420
MD5 5407fcb63dd04c62ba568e1065a3da9f
BLAKE2b-256 4b41a40ff5d319027dc0c8dac29982d3f45e21a0f93c89a592e29838f71468a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for cytoscan-0.2.1-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