CHANGELOG.md
CITATION.cff
LICENSE
MANIFEST.in
README.md
pyproject.toml
examples/example_globus_config.yaml
examples/example_pipeline_config.yaml
examples/example_pipeline_config_globus.yaml
examples/example_sam_config.yaml
examples/output/sample_analysis/rois.csv
examples/output/sample_analysis/rois.pkl
examples/output/sample_analysis/rois.png
src/plex_pipe/__init__.py
src/plex_pipe/__main__.py
src/plex_pipe/_quiet.py
src/plex_pipe/_version.py
src/plex_pipe/cli.py
src/plex_pipe/datasets.py
src/plex_pipe/example_config.yaml
src/plex_pipe/py.typed
src/plex_pipe/runners.py
src/plex_pipe.egg-info/PKG-INFO
src/plex_pipe.egg-info/SOURCES.txt
src/plex_pipe.egg-info/dependency_links.txt
src/plex_pipe.egg-info/entry_points.txt
src/plex_pipe.egg-info/requires.txt
src/plex_pipe.egg-info/scm_file_list.json
src/plex_pipe.egg-info/scm_version.json
src/plex_pipe.egg-info/top_level.txt
src/plex_pipe/_dev_tools/__init__.py
src/plex_pipe/_dev_tools/docs_generator.py
src/plex_pipe/config/__init__.py
src/plex_pipe/config/config_loaders.py
src/plex_pipe/config/config_migrations.py
src/plex_pipe/config/config_schema.py
src/plex_pipe/image/__init__.py
src/plex_pipe/image/utils.py
src/plex_pipe/io/__init__.py
src/plex_pipe/io/channel_manifest.py
src/plex_pipe/io/filesystem.py
src/plex_pipe/io/globus.py
src/plex_pipe/ops/__init__.py
src/plex_pipe/ops/base.py
src/plex_pipe/ops/image_enhancers.py
src/plex_pipe/ops/mask_builders.py
src/plex_pipe/ops/object_segmenters.py
src/plex_pipe/ops/registry.py
src/plex_pipe/stages/__init__.py
src/plex_pipe/stages/quantification/__init__.py
src/plex_pipe/stages/quantification/controller.py
src/plex_pipe/stages/quantification/metrics.py
src/plex_pipe/stages/quantification/qc_shape_masker.py
src/plex_pipe/stages/resource_building/__init__.py
src/plex_pipe/stages/resource_building/controller.py
src/plex_pipe/stages/roi_definition/__init__.py
src/plex_pipe/stages/roi_definition/roi_utils.py
src/plex_pipe/stages/roi_definition/suggest_cores.py
src/plex_pipe/stages/roi_preparation/__init__.py
src/plex_pipe/stages/roi_preparation/assembler.py
src/plex_pipe/stages/roi_preparation/channel_scanner.py
src/plex_pipe/stages/roi_preparation/controller.py
src/plex_pipe/stages/roi_preparation/cutter.py
src/plex_pipe/stages/roi_preparation/file_strategy.py
src/plex_pipe/ui/__init__.py
src/plex_pipe/ui/qc_widget.py
src/plex_pipe/ui/roi_widget.py
src/plex_pipe/ui/viewer_utils.py
tests/conftest.py
tests/test_assembler.py
tests/test_base_processor.py
tests/test_channel_manifest.py
tests/test_channel_scanner.py
tests/test_cli.py
tests/test_config_loading.py
tests/test_config_migrations.py
tests/test_config_snapshot.py
tests/test_cutting.py
tests/test_cutting_control.py
tests/test_datasets.py
tests/test_file_utils.py
tests/test_globus_specific.py
tests/test_im_utils.py
tests/test_image_filters.py
tests/test_input_strategy.py
tests/test_mask_builders.py
tests/test_package_imports.py
tests/test_processors.py
tests/test_qc_masking.py
tests/test_quantification.py
tests/test_roi_utils.py
tests/test_schema.py
tests/test_segmenters.py
tests/test_setup_example.py
tests/test_viewer_utils.py
tests/example_data/config_v1.yaml
tests/example_data/legacy_config_v0.yaml
tests/example_data/make_fixture.py
tests/example_data/ROI_001_crop.zarr/zarr.json
tests/example_data/ROI_001_crop.zarr/images/zarr.json
tests/example_data/ROI_001_crop.zarr/images/CD45/zarr.json
tests/example_data/ROI_001_crop.zarr/images/CD45/s0/zarr.json
tests/example_data/ROI_001_crop.zarr/images/CD45/s0/c/0/0/0
tests/example_data/ROI_001_crop.zarr/images/CD45/s0/c/0/0/1
tests/example_data/ROI_001_crop.zarr/images/CD45/s0/c/0/1/0
tests/example_data/ROI_001_crop.zarr/images/CD45/s0/c/0/1/1
tests/example_data/ROI_001_crop.zarr/images/CD45/s1/zarr.json
tests/example_data/ROI_001_crop.zarr/images/CD45/s1/c/0/0/0
tests/example_data/ROI_001_crop.zarr/images/CD45/s2/zarr.json
tests/example_data/ROI_001_crop.zarr/images/CD45/s2/c/0/0/0
tests/example_data/ROI_001_crop.zarr/images/DAPI/zarr.json
tests/example_data/ROI_001_crop.zarr/images/DAPI/s0/zarr.json
tests/example_data/ROI_001_crop.zarr/images/DAPI/s0/c/0/0/0
tests/example_data/ROI_001_crop.zarr/images/DAPI/s0/c/0/0/1
tests/example_data/ROI_001_crop.zarr/images/DAPI/s0/c/0/1/0
tests/example_data/ROI_001_crop.zarr/images/DAPI/s0/c/0/1/1
tests/example_data/ROI_001_crop.zarr/images/DAPI/s1/zarr.json
tests/example_data/ROI_001_crop.zarr/images/DAPI/s1/c/0/0/0
tests/example_data/ROI_001_crop.zarr/images/DAPI/s2/zarr.json
tests/example_data/ROI_001_crop.zarr/images/DAPI/s2/c/0/0/0
tests/example_data/ROI_001_crop.zarr/images/NaKATPase/zarr.json
tests/example_data/ROI_001_crop.zarr/images/NaKATPase/s0/zarr.json
tests/example_data/ROI_001_crop.zarr/images/NaKATPase/s0/c/0/0/0
tests/example_data/ROI_001_crop.zarr/images/NaKATPase/s0/c/0/0/1
tests/example_data/ROI_001_crop.zarr/images/NaKATPase/s0/c/0/1/0
tests/example_data/ROI_001_crop.zarr/images/NaKATPase/s0/c/0/1/1
tests/example_data/ROI_001_crop.zarr/images/NaKATPase/s1/zarr.json
tests/example_data/ROI_001_crop.zarr/images/NaKATPase/s1/c/0/0/0
tests/example_data/ROI_001_crop.zarr/images/NaKATPase/s2/zarr.json
tests/example_data/ROI_001_crop.zarr/images/NaKATPase/s2/c/0/0/0
tests/example_data/ROI_001_crop.zarr/labels/zarr.json
tests/example_data/ROI_001_crop.zarr/labels/cytoplasm/zarr.json
tests/example_data/ROI_001_crop.zarr/labels/cytoplasm/s0/zarr.json
tests/example_data/ROI_001_crop.zarr/labels/cytoplasm/s0/c/0/0
tests/example_data/ROI_001_crop.zarr/labels/cytoplasm/s0/c/0/1
tests/example_data/ROI_001_crop.zarr/labels/cytoplasm/s0/c/1/0
tests/example_data/ROI_001_crop.zarr/labels/cytoplasm/s0/c/1/1
tests/example_data/ROI_001_crop.zarr/labels/cytoplasm/s1/zarr.json
tests/example_data/ROI_001_crop.zarr/labels/cytoplasm/s1/c/0/0
tests/example_data/ROI_001_crop.zarr/labels/cytoplasm/s2/zarr.json
tests/example_data/ROI_001_crop.zarr/labels/cytoplasm/s2/c/0/0
tests/example_data/ROI_001_crop.zarr/labels/instanseg_cell/zarr.json
tests/example_data/ROI_001_crop.zarr/labels/instanseg_cell/s0/zarr.json
tests/example_data/ROI_001_crop.zarr/labels/instanseg_cell/s0/c/0/0
tests/example_data/ROI_001_crop.zarr/labels/instanseg_cell/s0/c/0/1
tests/example_data/ROI_001_crop.zarr/labels/instanseg_cell/s0/c/1/0
tests/example_data/ROI_001_crop.zarr/labels/instanseg_cell/s0/c/1/1
tests/example_data/ROI_001_crop.zarr/labels/instanseg_cell/s1/zarr.json
tests/example_data/ROI_001_crop.zarr/labels/instanseg_cell/s1/c/0/0
tests/example_data/ROI_001_crop.zarr/labels/instanseg_cell/s2/zarr.json
tests/example_data/ROI_001_crop.zarr/labels/instanseg_cell/s2/c/0/0
tests/example_data/ROI_001_crop.zarr/labels/instanseg_nucleus/zarr.json
tests/example_data/ROI_001_crop.zarr/labels/instanseg_nucleus/s0/zarr.json
tests/example_data/ROI_001_crop.zarr/labels/instanseg_nucleus/s0/c/0/0
tests/example_data/ROI_001_crop.zarr/labels/instanseg_nucleus/s0/c/0/1
tests/example_data/ROI_001_crop.zarr/labels/instanseg_nucleus/s0/c/1/0
tests/example_data/ROI_001_crop.zarr/labels/instanseg_nucleus/s0/c/1/1
tests/example_data/ROI_001_crop.zarr/labels/instanseg_nucleus/s1/zarr.json
tests/example_data/ROI_001_crop.zarr/labels/instanseg_nucleus/s1/c/0/0
tests/example_data/ROI_001_crop.zarr/labels/instanseg_nucleus/s2/zarr.json
tests/example_data/ROI_001_crop.zarr/labels/instanseg_nucleus/s2/c/0/0
tests/example_data/ROI_001_crop.zarr/labels/ring/zarr.json
tests/example_data/ROI_001_crop.zarr/labels/ring/s0/zarr.json
tests/example_data/ROI_001_crop.zarr/labels/ring/s0/c/0/0
tests/example_data/ROI_001_crop.zarr/labels/ring/s0/c/0/1
tests/example_data/ROI_001_crop.zarr/labels/ring/s0/c/1/0
tests/example_data/ROI_001_crop.zarr/labels/ring/s0/c/1/1
tests/example_data/ROI_001_crop.zarr/labels/ring/s1/zarr.json
tests/example_data/ROI_001_crop.zarr/labels/ring/s1/c/0/0
tests/example_data/ROI_001_crop.zarr/labels/ring/s2/zarr.json
tests/example_data/ROI_001_crop.zarr/labels/ring/s2/c/0/0
tests/example_data/ROI_001_crop.zarr/shapes/zarr.json
tests/example_data/ROI_001_crop.zarr/shapes/qc_exclude_CD45/shapes.parquet
tests/example_data/ROI_001_crop.zarr/shapes/qc_exclude_CD45/zarr.json
tests/example_data/ROI_001_crop.zarr/shapes/qc_exclude_DAPI/shapes.parquet
tests/example_data/ROI_001_crop.zarr/shapes/qc_exclude_DAPI/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/X/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/X/c/0/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/layers/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/layers/qc_mask/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/layers/qc_mask/c/0/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/area_cell/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/area_cell/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/area_cyto/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/area_cyto/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/area_nucleus/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/area_nucleus/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/area_ring/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/area_ring/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/cell/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/cell/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/eccentricity_cell/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/eccentricity_cell/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/eccentricity_cyto/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/eccentricity_cyto/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/eccentricity_nucleus/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/eccentricity_nucleus/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/eccentricity_ring/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/eccentricity_ring/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/euler_number_cell/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/euler_number_cell/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/euler_number_cyto/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/euler_number_cyto/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/euler_number_nucleus/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/euler_number_nucleus/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/euler_number_ring/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/euler_number_ring/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/label/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/label/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/label_int/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/label_int/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/perimeter_cell/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/perimeter_cell/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/perimeter_cyto/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/perimeter_cyto/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/perimeter_nucleus/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/perimeter_nucleus/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/perimeter_ring/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/perimeter_ring/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/region/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/region/categories/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/region/categories/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/region/codes/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/solidity_cell/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/solidity_cell/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/solidity_cyto/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/solidity_cyto/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/solidity_nucleus/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/solidity_nucleus/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/solidity_ring/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obs/solidity_ring/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obsm/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obsm/centroid_cell/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obsm/centroid_cell/c/0/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obsm/centroid_cyto/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obsm/centroid_cyto/c/0/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obsm/centroid_nucleus/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obsm/centroid_nucleus/c/0/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obsm/centroid_ring/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obsm/centroid_ring/c/0/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/obsp/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/raw/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/uns/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/uns/spatialdata/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/uns/spatialdata/instance_key/c
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/uns/spatialdata/instance_key/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/uns/spatialdata/region/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/uns/spatialdata/region/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/uns/spatialdata/region_key/c
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/uns/spatialdata/region_key/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/uns/spatialdata_attrs/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/uns/spatialdata_attrs/instance_key/c
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/uns/spatialdata_attrs/instance_key/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/uns/spatialdata_attrs/region/c
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/uns/spatialdata_attrs/region/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/uns/spatialdata_attrs/region_key/c
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/uns/spatialdata_attrs/region_key/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/var/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/var/_index/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/var/_index/c/0
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/varm/zarr.json
tests/example_data/ROI_001_crop.zarr/tables/instanseg_table/varp/zarr.json