Single-molecule localization microscopy (SMLM) provides nanoscale imaging, but pixel integration of acquired SMLM images limited the choice of sample rate which restricts the information content conveyed within each image. We propose an up-sampled point spread function (PSF) inverse modeling method for large-pixel single molecule localization, enabling precise 3D super-resolution imaging with sparse sampling rate. Our approach could reduce data volume or expand the field of view by nearly an order of magnitude, while maintaining high localization accuracy, greatly improving the imaging throughput with limited pixels offered by the existing cameras.
- Windows 10 with RTX 3080, RTX 3090
- Rocky Linux 8.7 with A6000
- Install miniconda for windows, miniconda
- Open Anaconda Powershell Prompt, clone the up sampled PSF package
git clone https://github.com/ries-lab/uiPSF.git
cd uiPSF
- Create a new conda enviroment for the up sampled PSF package
- for GPU:
conda env create --name psfinv --file=environment.yml
- for CPU:
conda create --name psfinv python=3.7.10
- Activate the installed enviroment and install the up sampled PSF package
conda activate psfinv
pip install -e .
- Install miniconda for Mac.
- Open Terminal and follow the installation for Windows to install the up sampled PSF package. Only the CPU version is supported.
- Install miniconda for Linux.
- Follow the installation for Windows to install the uiPSF package.
- If the GPU version is installed, add cudnn path
mkdir -p $CONDA_PREFIX/etc/conda/activate.d
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
- For bead data
The following run times were obtained from a desktop PC with Windows 11, RTX 3080.
| PSF type | run time (min) | # of parameters |
|---|---|---|
| demo1 | 3.5 | 102,914 |
| demo2 | 1.1 | 106,881 |
- simulated data using a vector model with 330nm pixel size.
- experimental bead data from a microscopes with 321nm pixel size.
Download the example data
- Install up sampled PSF for your operating system.
- Install Visual Studio Code.
- Open Visual Studio Code (VScode), click Extensions from the sidebar menu and search for
Pythonand installPython extension for VScode. - Go to File->Open Folder, select the uiPSF folder from git clone.
- Open the file demo/datapath.yaml, change the
main_data_dirto the path of the downloaded example data. - Navigate to a demo notebook, e.g. demo1_up_sampled_PSF_for_Sim.ipynb.
- Click the run button of the first cell, if running for the first time, a window will popup asking to install the
ipykernelpackage, click install. Then a drop down menu will show up asking to select the kernel, select the created conda enviromentpsfinvduring the installation. - Run subsequent cells sequentially.
For explanation of user defined parameters, please see list of all user defined parameters.
- If a GPU is not available, comment the last two lines in the first cell Setup environment of the demo notebook.
- Don't run two notebooks at the same time, click
Restartat the top of the notebook to release the memory.
Open an issue here on github, or contact Jianwei Chen (12149038@mail.sustech.edu.cn) and Yiming Li (liym2019@sustech.edu.cn).