Metadata-Version: 2.4
Name: bcf-scape
Version: 0.1.0
Summary: SCAPE light-sheet microscopy data processing (deskewing, max-projection, batch I/O).
Author: Tomas Skripcak
Author-email: HongKee Moon <moon@mpi-cbg.de>
Maintainer-email: "Scientific Computing Facility, MPI-CBG" <scicomp@mpi-cbg.de>
License-Expression: BSD-3-Clause
Project-URL: Homepage, https://git.mpi-cbg.de/scicomp/scidev_team/bcf_scape
Project-URL: Source, https://git.mpi-cbg.de/scicomp/scidev_team/bcf_scape
Project-URL: Issues, https://git.mpi-cbg.de/scicomp/scidev_team/bcf_scape/-/issues
Keywords: scape,light-sheet,microscopy,deskew,ome-tiff,pyclesperanto
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Image Processing
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: tifffile
Requires-Dist: pyclesperanto
Requires-Dist: pyclesperanto-prototype
Requires-Dist: tomli_w
Requires-Dist: tomli; python_version < "3.11"
Requires-Dist: tqdm
Requires-Dist: matplotlib
Requires-Dist: ipywidgets
Requires-Dist: Pillow
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Dynamic: license-file

# bcf-scape

`bcf-scape` is a modular Python library for processing **SCAPE light-sheet
microscopy** data: deskewing OME-TIFF stacks, computing Z / Y max-projections,
and batch-processing multi-position / multi-timepoint acquisitions.

GPU-accelerated via [`pyclesperanto`](https://github.com/clEsperanto/pyclesperanto).

Developed and maintained by the Scientific Computing Facility at MPI-CBG.

## Installation

```bash
pip install bcf-scape
```

The package imports as `scape`:

```python
import scape
```

## Quick start

### Command line

```bash
python -m scape.pipeline \
    --settings settings.toml \
    --tiff     /data/raw/scan.ome.tif \
    --output   /data/processed/Deskewed/
```

or via the console script:

```bash
scape --help
```

### Python API

```python
from scape.config.settings import load_settings_from_file
from scape.pipeline import run

settings = load_settings_from_file("settings.toml")
run(settings, "/data/raw/scan.ome.tif", "/data/processed/Deskewed/")
```

## TOML configuration

`ProcessingSettings` round-trips to a human-readable TOML file:

```python
from scape.config.settings import ProcessingSettings

settings = ProcessingSettings()
settings.lightsheet_angle_in_degrees = 39
settings.save_toml("my_run.toml")

# Later …
settings = ProcessingSettings.load_toml("my_run.toml")
```

## Modules

| Module | Responsibility |
| --- | --- |
| `scape.pipeline` | End-to-end deskewing pipeline (CLI entry point) |
| `scape.config.settings` | `ProcessingSettings` + TOML I/O |
| `scape.metadata.parser` | OME-TIFF metadata extraction |
| `scape.preprocessing.image_handler` | Channel/timepoint selection, dual-camera flips |
| `scape.processing.deskew_engine` | Deskewing primitives |
| `scape.batch.processor` | Multi-position / multi-timepoint orchestration |
| `scape.output.saver` | TIFF writing helpers |
| `scape.visualization.viewer` | Interactive Jupyter previews |

## Citation

If this package contributes to a publication, please acknowledge the
Scientific Computing Facility at MPI-CBG. Contact `scicomp@mpi-cbg.de`
for the formal citation entry.

## Links

* Source: <https://git.mpi-cbg.de/scicomp/scidev_team/bcf_scape>

## License

BSD-3-Clause. See [LICENSE](LICENSE).

Copyright © 2026 Max Planck Institute of Molecular Cell Biology and Genetics
(MPI-CBG).
