Skip to content

Spatial pyBOAT - Small pipeline to wavelet transform 3D-Stacks

License

Notifications You must be signed in to change notification settings

tensionhead/SpyBOAT

Repository files navigation

SpyBOAT - Spatial pyBOAT

Conda Version European Galaxy server

Analysis framework to wavelet transform spatially extended oscillatory systems, represented as 3D-Image Stacks (time,Y,X). The analyis is based on the tools provided by pyBOAT. The supplied input movie gets analyzed pixel by pixel along the time axis, yielding up to four output movies:

  • phase movie
  • period movie
  • amplitude movie
  • power movie

A snapshot of a typical output of the pipeline might look like this:

Example data graciously provided by Jihwan Myung, GIMBC Taipei Medical University

drawing

From left to right: Intensity of the blurred and down-sampled input; Phases; Periods and Powers

The results show the instantaneous spatial distributions of the key observables characterizing every oscillatory dynamics.

General Usage Tips

For new users and/or exploratory data analysis it is advisable to first analyse at least a few 1D time-series (e.g. ROI tracks) with pyBOAT. This allows to sanity check the key parameters of the time-frequency analysis:

  • period range
  • sinc filter cut-off period
  • amplitude normalization window size (optional)
  • sampling interval

before starting the computationally costly 3D stack transforms with SpyBOAT.

Spatial downsampling and smoothing

Typically bio-image data aquired by tissue microscopy has much higher spatial resolution than temporal resolution. To save computing time and ressources, it is advisable to spatially downscale the input movie. SpyBOAT offers a simple rescaling based on a scaling factor in %.

Spatial(!) smoothing is important, as SpyBOAT operates on every time-series behind a pixel (so along the time axis of the stack). Individual pixels tend to be quite noisy, so to faithfully resolve the larger structures of a spatially extended oscillatory system SpyBOAT offers a standard Gaussian blur. For optimal results, the user might want to smooth (and/or downsample) their input movie beforehand (e.g. with Fiji), and then inspect the signals sitting on a few single pixels. Or even better, extract a few single-pixel signals, and run them through pyBOAT. If the results are satisfying there, the transform of the whole movie with SpyBOAT should also work well.

Masking

Often not everywhere in space an oscillatory signal can be found, hence masking the results after the transformation is an important step. SpyBOAT provides some simple masking capabilities, but the user is welcome to work with the raw output and devise a masking strategy most suitable for their needs.

This repository also provides a Fiji plugin in /local-scripts/mask_wmovie_ij.py, which allows for interactive masking.

Galaxy Web Tool

SpyBOAT is ready for use on the imaging.usegalaxy.eu platform, you don't even need a login to try it out. Just upload some data and start transforming/analyzing your movies! Galaxy offers a tour for new users to intruduce its web ui.

For Server Admins: Installing SpyBOAT as a Galaxy Tool

SpyBOAT is available in the toolshed, so it can be easily installed on your Galaxy instance. You can also directly go to the /galaxy-tool folder. There is a run_tests.sh which produces all SpyBOAT outputs in the cwd.

See the /galaxy folder. There is a run_tests.sh which produces all the outputs in the cwd.

Python scripting interface

Install SpyBOAT via pip:

bash pip3 install spyboat

or conda:

conda config --add channels conda-forge
conda install spyboat

The scripting-template.py in the root of this repository showcases the analysis with the example spyboat.datasets.

About

Spatial pyBOAT - Small pipeline to wavelet transform 3D-Stacks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published