Metadata-Version: 2.5
Name: bioimageflow-sairpico-tools
Version: 0.2.0
Summary: SAIRPICO command-line tool wrappers for BioImageFlow
Project-URL: Homepage, https://github.com/Inria-SAIRPICO/bioimageflow
Project-URL: Documentation, https://bioimageflow.readthedocs.io/latest/
Project-URL: Repository, https://github.com/Inria-SAIRPICO/bioimageflow
Project-URL: Issues, https://github.com/Inria-SAIRPICO/bioimageflow/issues
Author: BioImageFlow Contributors
License-Expression: BSD-4-Clause
License-File: LICENSE
Keywords: bioimage-analysis,bioimageflow,microscopy,workflow
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Image Processing
Requires-Python: >=3.10
Requires-Dist: bioimageflow-core<0.4,>=0.3.0
Requires-Dist: imageio>=2.31.0
Requires-Dist: numpy>=1.23.5
Description-Content-Type: text/markdown

# bioimageflow-sairpico-tools

BioImageFlow wrappers for the SAIRPICO command-line tools from
`bioimageit/PyFlow/Tools/Sairpico`.

## Tools

- `GaussianPSF`: wraps `simggaussian3dpsf`.
- `GibsonLanniPSF`: wraps `simggibsonlannipsf`.
- `RichardsonLucyDeconvolution`: wraps `simgrichardsonlucy2d`,
  `simgrichardsonlucy2dslice`, and `simgrichardsonlucy3d`.
- `WienerDeconvolution`: wraps `simgwiener2d`, `simgwiener2dslice`, and
  `simgwiener3d`.
- `SpitfireDeconvolution`: wraps `simgspitfiredeconv2d`,
  `simgspitfiredeconv2dslice`, and `simgspitfiredeconv3d`.
- `MedianDenoising`: wraps `simgmedian2d`, `simgmedian3d`, and `simgmedian4d`.
- `CImgDenoising`: wraps `denoise`.
- `HotspotDetection`: wraps `hotSpotDetection`.
- `HotspotToSpots`: converts hotspot images to spot coordinate tables.

The SAIRPICO deconvolution CLIs expose a `-lambda` option.
Because `lambda` is a reserved Python keyword, BioImageFlow exposes this parameter as `regularization_lambda` in Python and schemas while still passing `-lambda` to the underlying CLIs.

Mode values are validated against explicit executable mappings before a subprocess starts.
Numeric and boolean parameters are likewise validated for direct `process_row()` calls, not only through generated workflow schemas.
All image-output defaults use fixed `.tif` templates because their `ImageSpec` declarations promise TIFF output.

## Environments

The package declares three `EnvironmentSpec` instances:

- `simglib`: `bioimageit::simglib==0.1.2`, used by PSF, deconvolution, and
  median denoising tools.
- `cimgdenoising`: `bioimageit::cimgdenoising==1.0.0`, used by
  `CImgDenoising`.
- `hotspot`: `bioimageit::hotspot==1.0.0` plus pinned PyPI NumPy, SciPy, imageio, and tifffile dependencies, used by `HotspotDetection` and `HotspotToSpots`. Hotspot build 2 declares its current libtiff ABI through the conda package metadata on every supported platform.

The original SAIRPICO inventory listed platform selectors for these packages:

- `simglib`: `osx-64`, `win-64`, `linux-64`.
- `cimgdenoising`: `osx-64`, `win-64`.
- `hotspot`: `osx-64`, `osx-arm64`, `win-64`, `linux-64`.

These are conda-backed command wrappers.
Unit tests validate schemas, argument validation, command construction, diagnostic environment/version reports, and hotspot table conversion without requiring the real binaries.
The environment/version checks are package diagnostics, not public BioImageFlow workflow tools.
Synthetic CLI execution is limited to subprocess monkeypatching because the SAIRPICO binaries are not Python library calls and may not be available on every platform.
