https://github.com/cgohlke/ipcf.ipynb

Pair correlation function analysis of fluorescence fluctuations in big image time series.

https://github.com/cgohlke/ipcf.ipynb

Science Score: 36.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
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.2%) to scientific vocabulary

Keywords

fluorescence-fluctuations fluorescence-microscopy-imaging jupyter-notebook pair-correlation python tutorial
Last synced: 5 months ago · JSON representation

Repository

Pair correlation function analysis of fluorescence fluctuations in big image time series.

Basic Info
Statistics
  • Stars: 10
  • Watchers: 2
  • Forks: 1
  • Open Issues: 0
  • Releases: 1
Topics
fluorescence-fluctuations fluorescence-microscopy-imaging jupyter-notebook pair-correlation python tutorial
Created almost 6 years ago · Last pushed about 2 years ago
Metadata Files
Readme License

README.md

Pair Correlation Function Analysis of Fluorescence Fluctuations in Big Image Time Series using Python

A tutorial using Python and scientific libraries to implement pair correlation function (pCF) analysis of a big time series of images from fluorescence microscopy on a personal computer.

by Christoph Gohlke

Updated on December 8, 2023

Presented at the Big Data Image Processing & Analysis BigDIPA workshops 2016, 2017, and 2018

Supported by the National Institute of Health grant numbers 1R25EB022366-01 and 2P41GM103540-31

Released under the creative commons Attribution 4.0 International license

Abstract

Spatiotemporal analysis of fluorescence fluctuations of optical microscopy measurements on living samples is a powerful tool that can provide insight into dynamic molecular processes of high biological relevance (Di Rienzo et al., 2016).

Pair correlation function (pCF) analysis of fluorescence microscopy image time series acquired using very fast cameras is one of the emerging and promising spatiotemporal techniques. However, it is computationally very expensive, and the analysis of big image data sets used to take hours or be impractical on personal computers.

In this tutorial, we use the open-source Python programming language and scientific libraries to compute the pCF analysis of a large time series of fluorescence images acquired with Selective Plane Illumination Microscopy (SPIM).

First, we implement a function to calculate the cross-correlation of two time series. We demonstrate the limitations of Python for efficient numerical computations and several ways to overcome them.

Next, we implement the pCF analysis of a small simulated image time series and optimize its speed by almost two orders of magnitude.

Finally, we use this pCF analysis function to analyze a multi-gigabyte image time series in small, overlapping chunks.

This is a tutorial on computing pair correlations in big images. Refer to the references for an introduction to the pair correlation method and how the computed pair correlations can be analyzed and visualized to study molecular flow in cells.

Requirements

To follow this tutorial and run its code, the following prerequisites are needed:

Familiarity with

  • pair correlation function analysis of fluorescence fluctuations (for example Gratton and Digman lectures)
  • programming and nD-array computing (for example Matlab, numpy)
  • signal processing, time and frequency domain

Minimum computer specifications

  • 64-bit Windows 10, macOS, or Linux based operating system
  • Core i5 CPU with 4 cores
  • 8 GB RAM
  • SSD drive with 50 GB free space
  • NVIDIA GPU with CUDA drivers
  • Web browser supporting WebSockets
  • Disabled on-access antivirus scanning for the working and scratch directories

Python development environment

  • CPython 3.11 64-bit with development header files and libraries
  • Python packages: Jupyter, IPython, numpy, scipy, matplotlib, scikit-image, h5py, Cython, dask, numba, and CuPy (optional)
  • CUDA Toolkit (optional, used for CuPy)
  • A Python distutils compatible C compiler with OpenMP support: Visual Studio 2022 or gcc

Tutorial source code and data files

  • Clone the source code from the ipcf.ipynb repository to a working directory:

    git clone https://github.com/cgohlke/ipcf.ipynb

  • Download and extract the following files from the Zenodo record to the ipcf.ipynb directory:

    SimulationChannel.bin SimulationChannel.ipcf.bin nih3t3-egfp_2.zip

  • Open the ipcf.ipynb notebook from within the ipcf.ipynb directory, for example, using locally installed jupyter or a docker image:

    jupyter-lab ipcf.ipynb

    docker run --rm -p 8888:8888 -v ${PWD}/ipcf.ipynb:/home/jovyan/work/ipcf.ipynb jupyter/scipy-notebook:python-3.11

Owner

  • Name: Christoph Gohlke
  • Login: cgohlke
  • Kind: user
  • Location: Irvine, California

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: over 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

requirements.txt pypi
  • Cython *
  • cupy *
  • dask *
  • h5py *
  • ipython *
  • ipywidgets *
  • jupyter *
  • matplotlib *
  • notebook *
  • numba *
  • numpy *
  • pandas *
  • psutil *
  • scikit-image *
  • scipy *
  • tifffile *
  • widgetsnbextension *