Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

281 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3D GPU Deconvolution

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.

Pipeline

  1. STAGE_DECON_TIFF_INPUT links selected TIFF files directly into the decon task input. For non-TIFF inputs, STAGE_DECON_INPUT preserves original filenames and normalizes supported images to input_zarr/*.ome.zarr. OZX inputs are unzipped directly into that internal OME-Zarr layout.
  2. DECON estimates one blind PSF from the first selected volume and applies GPU deconvolution to all selected volumes.
  3. EXPORT_OUTPUT_FORMAT runs only when output_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.

Runtime

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.

Inputs

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.

Manual Run

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 1

Output

workflow/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

vizapp/ is intentionally a placeholder containing only .keep. Visualization is handled by a separate workflow package.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages