PatchWarp

Image processing pipeline to correct motion artifacts and complex image distortions in neuronal calcium imaging data.
125 Downloads
Updated 26 Sep 2023

logo

PatchWarp is an image processing pipeline for neuronal calcium imaging data. It can correct complex image distortions that slowly occur during long imaging sessions. First, the pipeline performs rigid motion corrections by iterative re-estimation of template images. Then, the imaging field is split into user-specified number of subfields. A gradient-based algorithm independently finds the best affine transformation matrix for each frame of each subfield to correct the across-time image distortion of each subfield. The distortion-corrected subfields are stitched together like patchwork to reconstruct the distortion-corrected whole imaging field. PatchWarp can be also used to register images from different imaging sessions for longitudinal activity analyses.


Before (Left) and after (Right) PatchWarp warp correction for within-session image distortions

(2.25 hrs in vivo 2-photon calcium imaging of cell bodies with complex distortions)

(19 min in vivo 2-photon calcium imaging of axons with complex distortions. Image credit to Chi Ren.)

Before (Left) and after (Right) PatchWarp across-session image registration

(A later imaging session (cyan) was registered to an earlier imaging session (red))

Installation

Download files from this github repository, and add all files to your MATLAB path. The code does not work properly on MATLAB2023. Please use older MATLAB version.
**Note that PatchWarp uses Parallel Computing Toolbox. The toolbox needs to be installed to run PatchWarp code.

How to use

Please check example demo files.

For within-session distortion correction, please check patchwarp_demo.m.
Example data to run the demo code is available at https://doi.org/10.6084/m9.figshare.19212501.v1

For across-session image registration, please check patchwarp_across_sessions_demo.m.
Example data to run the demo code is available at https://doi.org/10.6084/m9.figshare.19217421.v1

Citation

Example citation format for the preprint:

  • Hattori, R. and Komiyama, T. PatchWarp: Corrections of non-uniform image distortions in two-photon calcium imaging data by patchwork affine transformations. Cell Reports Methods (2022), https://doi.org/10.1016/j.crmeth.2022.100205.

Software DOI from Zenodo:

Cite As

Hattori, Ryoma, and Takaki Komiyama. PatchWarp: Corrections of Non-Uniform Image Distortions in Two-Photon Calcium Imaging Data by Patchwork Affine Transformations. bioRxiv, Nov. 2021, doi:10.1101/2021.11.10.468164.

MATLAB Release Compatibility
Created with R2019b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Microscopy in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

PatchWarp

PatchWarp/utils

PatchWarp/utils/Akinori_Mitani_motion_correct_files

PatchWarp/utils/Akinori_Mitani_motion_correct_files/@BilinearImageRegistrator

PatchWarp/utils/Akinori_Mitani_motion_correct_files/@BilinearPyramidImageRegistrator

PatchWarp/utils/Akinori_Mitani_motion_correct_files/@CorrelationCalculator

PatchWarp/utils/Akinori_Mitani_motion_correct_files/@ImageBasis

PatchWarp/utils/Akinori_Mitani_motion_correct_files/@ImageRegistrator

PatchWarp/utils/Akinori_Mitani_motion_correct_files/@ImageRegistratorPyramid

PatchWarp/utils/Akinori_Mitani_motion_correct_files/@ImageWithMoment

PatchWarp/utils/Akinori_Mitani_motion_correct_files/@OpticalFlowImageRegistrator

PatchWarp/utils/Akinori_Mitani_motion_correct_files/@PyramidImageRegistrator

PatchWarp/utils/ScanImageTiffReader

PatchWarp/utils/ecc_patchwarp

Version Published Release Notes
1.3.3.0

See release notes for this release on GitHub: https://github.com/ryhattori/PatchWarp/releases/tag/v1.3.3

1.3.2.0

See release notes for this release on GitHub: https://github.com/ryhattori/PatchWarp/releases/tag/v1.3.2

1.3.1

See release notes for this release on GitHub: https://github.com/ryhattori/PatchWarp/releases/tag/v1.3.1

1.3.0

See release notes for this release on GitHub: https://github.com/ryhattori/PatchWarp/releases/tag/v1.3.0

1.2.6

See release notes for this release on GitHub: https://github.com/ryhattori/PatchWarp/releases/tag/v1.2.6

1.2.5

See release notes for this release on GitHub: https://github.com/ryhattori/PatchWarp/releases/tag/v1.2.5

1.2.4

See release notes for this release on GitHub: https://github.com/ryhattori/PatchWarp/releases/tag/v1.2.4

1.2.3

See release notes for this release on GitHub: https://github.com/ryhattori/PatchWarp/releases/tag/v1.2.3

1.2.2

See release notes for this release on GitHub: https://github.com/ryhattori/PatchWarp/releases/tag/v1.2.2

1.2.1

See release notes for this release on GitHub: https://github.com/ryhattori/PatchWarp/releases/tag/v1.2.1

1.2.0

1.1.0.0

See release notes for this release on GitHub: https://github.com/ryhattori/PatchWarp/releases/tag/v1.1.0

1.0.1.0

See release notes for this release on GitHub: https://github.com/ryhattori/PatchWarp/releases/tag/v1.0.1

1.0.0.0

See release notes for this release on GitHub: https://github.com/ryhattori/PatchWarp/releases/tag/v1.0.0

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.