Skip to content

Superresolution visualization of 3D protein localization data from a range of microscopes

License

Notifications You must be signed in to change notification settings

bencardoen/smlmvis

Repository files navigation

Superresolution visualization of 3D protein localization data from a range of microscopes

Anaconda-Server Badge

PyPI version

DOI

Read, analyze and visualize SMLM localization data quickly from a wide range of localization algorithms.

Paraview Example rendering of EPFL challenge dataset 'MT0.N1.HD'

See demo.ipynb for example usage.

Requirements

Python

  • vtk
  • numpy
  • jupyter
  • pandas
  • seaborn
  • requests
  • scipy

See requirements.yml for Conda, piprequirements.txt for pip

Optional

Gif of install

Supported Microscopes/Algorithms

  • EPFL Challenge:
    • epflreader.EPFLReader('data.csv')
    • source
  • Leica GSD
    • gsd.GSDReader('test.bin') # with test.desc in same folder,
    • gsdreader.GSDReader('test.ascii', preprocess=True, binary=False) # ASCII format
    • (needs pixel to nm conversion (e.g. *160 nm /px) : obj.points *= X
    • source
  • Tafteh et al dSTORM with z-drift correction (LSI - UBC)
    • dlpreader.DlpReader('test.3dlp')
    • source
  • Rainstorm
    • db = rainstormreader.RainStormReader('data.csv') # Automatically finds pixel to nm
    • source
  • Abbelight
    • ab = abbelightreader.AbbelightReader('data.csv') # in Nm
    • source

Install

PIP

$pip install smlmvis

Conda

$conda conda install -c bcardoen smlmvis 

Local from git master

$git clone git@github.com:bencardoen/smlmvis.git
$pip install .

Optional

You may want to install optional dependencies, e.g. jupyter notebook and seaborn for the demo:

pip install jupyter seaborn

Usage

See demo.ipynb for example usage.

A typical workflow is

  • use one of the readers (e.g. GSDReader in smlmvis.gsreader) to load in the SMLM data
  • process the point cloud (obj.points) or compute statistics on the metadata (obj.values)
  • write out the data to vtk/paraview format using e.g. VtuWriter in vtuwriter

Cite

@misc{Cardoen2019,
  author = {Cardoen, Ben},
  title = {Superresolution visualization of 3D protein localization data from a range of microscopes},
  year = {2019},
  publisher = {GitHub},
  journal = {GitHub repository},
  doi = 189660035
  howpublished = {\url{https://github.com/bencardoen/smlmvis/}}
}

Tests

See tests/test_writer.py

This will download the challenge data set, read it, decode it, write it to VTK and compare with a reference.

Acknowledgements

VTU writing code uses the VTK examples heavily to figure out how to interface with VTK.