Code Monkey home page Code Monkey logo

adamshch / graft-analysis Goto Github PK

View Code? Open in Web Editor NEW
11.0 3.0 2.0 45.76 MB

This repository contains code for morphology-free analysis of functional fluorescence microscopy. The focal algorithm, Graph-Filtered Time-trace (GraFT) Dictionary Learning, is published in Charles et al. 2022 in the IEEE Transactions of Image Processing.

Home Page: https://pubmed.ncbi.nlm.nih.gov/35533160/

License: MIT License

MATLAB 73.22% C 26.38% C++ 0.37% M 0.02%
calcium-imaging calcium-imaging-analysis dictionary-learning graph-signal-processing image-processing widefield-microscopy dendritic-imaging

graft-analysis's Introduction

GraFT-analysis

GraFT (Graph-Filtered Temporal) dictionary learning is a signal extraction method for spatio-temporal data. GraFT uses a diffusion map to learn a graph over spatial pixels that enables for stochastic filtering of learned sparse representations over each pixel's time-trace. The sparse representations are modeled as in a hierarchical dictionary learning framework with correlated decompositions over the graph.

Use case

GraFT can be applied to any 3D tensor dataset where each vector at each position in the first two 'ways' can be decomposed as a sparse sum and the decomposition can be correlated along complex spatial morphologies. The main use case we present is to calcium imaging data, where data at different zoom levels can have highly varying spatial statistics, yet similar temporal sparse decompositions. Please see the demo file for an example on how to use the main function.

Implementation notes

GraFT is implemented in MATLAB, and at its core uses a sparse decomposition (re-weighted l1-optimization) over every pixel. This step is embarrassingly parallel and so using a parallel pool is highly encouraged to increase runtime. Moreover we provide a patch-based version of GraFT that splits the full field-of-view into smaller, overlapping sections. Each patch is independently analyzed and the results are merged for a full decomposition of the data.

Compatibility

With many different ways to load data, GraFT is now compatible with Neurodata Without Borders (NWB) file formats! Included in this repository are helpful tutorials that cover how to create an optical physiology experiment with standard two-photon imaging data, as well as a walk-through tutorial of how one can run GraFT on existing NWB files.

Toolboxes

Manuscript

The details of GraFT are described in:

A.S. Charles, N. Cermak, R. Affan, B. Scott, J. Schiller & G. Mishne. GraFT: Graph Filtered Temporal Dictionary Learning for Functional Neural Imaging.

https://pubmed.ncbi.nlm.nih.gov/35533160/

graft-analysis's People

Contributors

adamshch avatar gmishne avatar nasnysom avatar nick3151 avatar stradaa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

graft-analysis's Issues

mex_compiling missing

Hi, when I run installGraft.m, it throws an error because mex_compiling is not defined. Can this function be added to the repository? Thanks!

Missing SpiralTap file

Hi-- I was looking into trying this out for some Voltage imaging data I have-- was going to try with poisson statistics model but the spiralTap (mex?) file is currently missing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.