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.0.tar.gz (37.8 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.0-py3-none-any.whl (40.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cytoscan-0.2.0.tar.gz
  • Upload date:
  • Size: 37.8 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.0.tar.gz
Algorithm Hash digest
SHA256 9952709c31ac31512beff522e4b3c35e3e7cdb4d7b5a56512db864433f76517f
MD5 eaf00d67eca7b86ed67337c54aa256e5
BLAKE2b-256 b92d4a8680953cf1da6c315f06f93a25ecb78be6b253f9e0ec24d8558f6231de

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: cytoscan-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 40.5 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4d1bbec7f3052df057faf109c85f32a40074a49afd9d089d374ab3089e766023
MD5 415048f7be22eab2ebd5fd5354784bf8
BLAKE2b-256 09a34ca853bc83bfced96c9fd1047a8af11daaa33760199f6b52a66eb4b838f9

See more details on using hashes here.

Provenance

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