https://github.com/bionanoimaging/cellstorm-tensorflow

Image-to-Image network to localize dSTORM events in Tensorflow. Publication link: https://arxiv.org/abs/1804.06244

https://github.com/bionanoimaging/cellstorm-tensorflow

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.7%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

Image-to-Image network to localize dSTORM events in Tensorflow. Publication link: https://arxiv.org/abs/1804.06244

Basic Info
  • Host: GitHub
  • Owner: bionanoimaging
  • Language: Python
  • Default Branch: master
  • Size: 41.8 MB
Statistics
  • Stars: 7
  • Watchers: 7
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Created about 8 years ago · Last pushed over 7 years ago
Metadata Files
Readme

README.md

cellSTORM APP

cellSTORM TENSORFLOW Files

Based on paper by Benedict Diederich, Patrick Then, Alexander Jügler, Ronny Förster, Rainer Heintzmann

Article about the implementation of cellSTORM ; Based on pix2pix by Isola et al.

Introduction

This is the repo for the Tensorflow implementation of cellSTORM based on the conditional generative adversarial network (cGAN) implmented by pix2pix-tensoflow. In this case it learns a mapping from input images (i.e. degraded, noisy, compressed video-sequences of dSTORM blinking events) to output images (i.e. localization maps/center of possible blinking fluorophore)

The repository has also a scipt to export a given Graph trained on GPU to a cellphone. The cellSTORM localizer APP can be found in another repo.

Setup (pix2pix related)

Prerequisites

Prerequisites: This software was tested on a Ubuntu 16.04 LTS 64-bit operating system equipped with a NVidia TITAN X 12 GB, with the following packages:

  1. Fiji with ThunderSTORM plugin 1.3 installed
  2. MatlabR2016b with dip_image toolbox (Details)
  3. Anaconda distribution 5.1 for Ubuntu (64-bit) with Tensorflow 1.8.0

Necessary packages

pip install sk-video pip install tifffile pip install tensorflow-gpu pip install opencv-python pip install sk-video

Recommended

  • Linux with Tensorflow GPU edition + cuDNN

Getting Started

Most of the steps are equivalent to Deep-Storm by Nehme et al. 2018. Please also look into their project.

A detailed list with all dependecies will follow soon! See also the environmet.yml file

Training

Before training, you should download the datapair files and place them into the ./data folder from our GoogleDrive. The code automatically looks for all .h5-files. For normal training you can just use the code below:

```

First change into the directory where you downloaded this Repo

cd ./pix2pix-tensorflow

Then start the training process

python pix2pix.py \ --mode train \ --batchsize 4 \ --displayfreq 50 \ --ndf 32 --ngf 32 \ --beta1 0.5 --lr 0.0001 \ --outputdir testtvreg \ --scalesize 256 \ --maxepochs 100 \ --l1weight 100 \ --l1sparseweight 100 \ --savefreq 500 \ --ganweight 1 \ --tvweight 100

```

Testing

Testing is done with --mode test. You should specify the checkpoint to use with --checkpoint, this should point to the output_dir that you created previously with --mode train. The --input_dir states the Video-file you want to process. The ratio of --scale_size and --crop_size gives the upsampling factor. 5 worked good in our experiments.

  • --is_csv=1 will produce a list of localized events.
  • --is_frc=1 will produce two TIF-files where one sums only over even, the other over odd frames (to measure the FRC in Fiji for example)
  • --x_center and y_center are set to -1 you're asked to choose the center of the video where it gets cropped on screen.

```sh

for videos - upsampling ~5

Change the directory where you'Ve downloaded the Repo

cd /home/useradmin/Dropbox/Dokumente/Promotion/PROJECTS/STORM/PYTHON/pix2pix-tensorflow

python pix2pix.py \ --mode test \ --inputdir ./STORM/DATASETNN/ALLVIDEOS/MOV20180509150917ISO3200texp130newsample.mp4 \ --batchsize 1 \ --outputdir ./dump \ --scalesize 1792 \ --checkpoint trainovernight123cluster4GANupdaterulesynthetic \ --roisize 360 \ --iscsv 1 \ --istif 0 \ --isfrc 1 \ --xcenter -1 \ --ycenter -1 \ --maxsteps 6000 ```

The testing mode will load some of the configuration options from the checkpoint provided so you do not need to specify which_direction for instance.

Citation

If you use this code for your research, please cite the paper this code is based on: cellSTORM - cost-effective super-resolution on a cellphone using dSTORM:

@article{cellstorm2018, title={cellSTORM - cost-effective super-resolution on a cellphone using dSTORM}, author={Benedict Diederich*, Patrick Then, Alexander Jügler, Ronny Forster, Rainer Heintzmann}, journal={arxiv}, year={2018} }

Acknowledgments

This is a port of pix2pix from Torch to Tensorflow. It also contains colorspace conversion code ported from Torch. Thanks to the Tensorflow team for making such a quality library! And special thanks to Phillip Isola for answering my questions about the pix2pix code.

Kudos to Christopher Hesse for his amazing pix2pix TensorFlow implementation and Gene Kogan for his inspirational workshop. Many thanks to Ingo Fuchs for the help with the Android APP.

Owner

  • Name: Nanoimaging at the IPHT Leibniz Institut Jena
  • Login: bionanoimaging
  • Kind: organization
  • Location: Jena, Germany

GitHub Events

Total
Last Year

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 13
  • Total Committers: 1
  • Avg Commits per committer: 13.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Unknown b****d@g****e 13
Committer Domains (Top 20 + Academic)
gmx.de: 1

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

environment.yml pypi
  • backports.weakref ==1.0rc1
  • bleach ==1.5.0
  • html5lib ==0.9999999
  • imutils ==0.4.3
  • markdown ==2.6.8
  • protobuf ==3.3.0
  • six ==1.10.0
  • tensorflow ==1.8.0