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
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.
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.
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.
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.
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.
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.
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
.