blik
is a tool for visualising and interacting with cryo-ET and subtomogram averaging data. It leverages the fast, multi-dimensional napari viewer and the scientific python stack.
DISCLAIMER: this package is in development phase. Expect bugs and crashes. Please, report them on the issue tracker and ask if anything is unclear!
You can either install blik
through the napari plugin system, through pip, or get both napari and blik directly with:
pip install "blik[all]"
The [all]
qualifier also installs pyqt5
as the napari GUI backend, and a few additional napari plugins that you might find useful in your workflow:
If you'd like the most up to date blik
possible, you can install directly from the main
branch on github. This also uses napari main
, so expect some instability!
pip install "git+https://github.com/brisvag/blik.git@main#egg=blik[all]"
pip install "git+https://github.com/napari/napari.git@main#egg=napari[all]"
From the command line:
napari -w blik -- /path/to.star /path/to/mrc/files/*
The -w blik
is important for proper initialization of all the layers. Always open the main widget open to ensure nothing goes wrong!
blik
is just napari
. Particles and images are exposed as simple napari layers, which can be analysed and manipulated with simple python, and most importantly other napari plugins.
The main widget has a few functions:
experiment
: quickly switch to a different experiment id (typically, everything related to an individual tomogram such as volume, particles and segmentations)new
: generate a newsegmentation
, a new manually-picked set ofparticles
, or a newsurface
,sphere
, orfilament picking
for segmentation, particle generation or volume resampling.add to exp
: add a layer to the currently selectedexperiment
(just a shorthand forlayer.metadata['experiment_id'] = current_exp_id
)slice_thickness
: changes the slicing thickness in all dimensions in napari. Images will be averaged over that thickness, and all particles in the slice will be displayed.
There are also widgets for picking surfaces, spheres and filaments:
surface
: process a previously pickedsurface picking
layer to generate a surface mesh and distribute particles on it for subtomogram averaging, or resample a tomogram along the surface.sphere
: process a previously pickedsphere picking
layer to generate a sphere mesh and distribute particles on it for subtomogram averaging.filament
: process a previously pickedfilament picking
layer to generate a filament and distribute particles on it for subtomogram averaging, or resample a tomogram along the filament.
If you use blik
, please cite the repo on zenodo and the paper on Plos Biology: https://doi.org/10.1371/journal.pbio.3002447.