Astrocyte/Nextflow package for blind PSF estimation and GPU Richardson-Lucy
deconvolution. Deskewing is intentionally not part of this package; run the
separate deskew-gpu workflow first when ctASLM/light-sheet data needs
geometric correction.
STAGE_DECON_TIFF_INPUTlinks selected TIFF files directly into the decon task input. For non-TIFF inputs,STAGE_DECON_INPUTpreserves original filenames and normalizes supported images toinput_zarr/*.ome.zarr. OZX inputs are unzipped directly into that internal OME-Zarr layout.DECONestimates one blind PSF from the first selected volume and applies GPU deconvolution to all selected volumes.EXPORT_OUTPUT_FORMATruns only whenoutput_formats = 'tiff'.
The native published output is OZX, a zipped OME-Zarr archive. Internal
OME-Zarr directories are used for chunked GPU processing, then zipped and
removed from task scratch space. TIFF export remains available for downstream
tools that require TIFF stacks. OME-Zarr archives include XY pyramid levels at
1x, 2x, 4x, 8x, 16x; the downsampled levels are generated by row/column
stride slicing.
Astrocyte prefetches the Singularity image from
docker://git.biohpc.swmed.edu:5050/dean-lab/ctaslm2-deconvolution:0.1.2.
Nextflow processes use the same registry image without the docker:// prefix
and run Python from /opt/conda/envs/app. The image pins CUDA 11.8,
CuPy 13.6, cuCIM 23.06, and SciPy for the native blind-PSF backend.
blind_backend = cupy is the default. Each blind PSF tile runs in an isolated
spawned process and inherits the GPU assigned by Slurm through
CUDA_VISIBLE_DEVICES. Keep blind_workers = 1 for a one-GPU allocation.
Set blind_backend = matlab to use the compatibility implementation.
Astrocyte input accepts TIFF, OME-Zarr, OZX, CZI, ND2, LIF, HDF5, and H5 files.
For light-sheet deconvolution, pass already deskewed volumes from deskew-gpu
and set psf_mode = light_sheet.
cd workflow
nextflow run main.nf \
-c configs/biohpc.config \
-profile light_sheet \
--input '/path/to/deskewed/*.ome.zarr' \
--output_dir ./output \
--wavelength 0.561 \
--na 1.0 \
--ni 1.33 \
--ns 1.33 \
--dxy 0.108 \
--dz 0.3 \
--blind_backend cupy \
--blind_workers 1workflow/output/
|-- DB2_<sample>.ozx # zipped OME-Zarr with 1x-16x pyramid levels
|-- estimated_psf.tif
`-- deconvolved_tiff/
`-- DB2_<sample>.tif # only when output_formats = tiff
vizapp/ is intentionally a placeholder containing only .keep. Visualization
is handled by a separate workflow package.