Skip to content

Repository files navigation

Structured Illumination Microscopy Experiments

This repo is used to keep track of code that used to test tiled SIM reconstruction on data acquired with a low NA cryogenic 3D structured illumination SIM.

The goal of our project is to facilitate 3D SIM processing with tiling, and implement and test variations in the reconstruction scheme. If you are looking for an easy to install (in Python) fast version of simrecon for everyday results check out cudasirecon. If you are interested in using our code to perform processing feel free to ask questions on the Image.sc forum.

Some of our example data from the cryo-sim can be found here

This code base is a derivative of Mats Gustafsson & Lin Shao's 3-beam SIM reconstruction software.

The algorithm as described in Gustafsson et al (2008) Biophys. J. 94(12): 4957–4970. doi: 10.1529/biophysj.107.120345

We also derive from a Python wrapper, written by David Hoffman which implements a tiled version of simrecon.

James Seyforth and Brian Northan also made the following contributions

  1. Organized code into one project, added CMake support and added to github repo.
  2. Better documentation of code organization and build process.
  3. Ran several tests with nofilteroverlaps = True, which we concluded was useful for reducing artifacts. We hypothesise this is because it is difficult to acquire a perfectly accurate PSF, and even small inaccuracies in the PSF can cause artifacts when filtering overlaps in the full SIM 3D algorithm.
  4. Documented in a presentation the experiments and parameters that were tested for purposes of sharing with the community. Find it here: Simrecon data
  5. Also added experimental keeporder2 mode (more emphasis on order2 information) but not found as useful as 'nofilteroverlaps =True' flag.
  6. New notebook solved simrecon.exe failing to process larger than ~3.6 Gb tiff files by chunking larger files into sub-stacks.
  7. More sophisticated threading to avoid thread resource contention.
  8. Misc. fixes for some crash scenarios (long file names)
  9. Added a number of notebooks to analyze and troubleshoot general results and the PSF.
  10. Added a notebook that uses Napari to visualize results and parameters at each tile location.
  11. Added constraints to tiled reconstruction to handle occasional invalid results at a tile (this allowed us to experiment with smaller tiles).
  12. Added new notebooks and scripts for processing.
  13. Established Gold standard image sets and showed a comparison to the original sim recon implementation at Janelia.

Build instructions for Windows

c code

See here for instructions as to how to build c code.

Python code

See here for instructions as to how to run the python code.

Notes on Open3DSIM

We also processed data with Open3DSIM. We made a few modifications so we could run Open3DSIM with our data. Most importantly in Open3DSIM the final result has an absolute value operator applied. In our version we output the data before the abs operator to better comare with simrecon. You can find our modified version here

About

A repository to trouble shoot and test Structured Illumination Microscopy code

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages