OSCR

Fast and accessible morphology-free functional fluorescence imaging analysis.

Code ↔ Paper

10 matches between paragraphs of the paper and lines of its authors' code, computed by the harvester (lexical-v1). Click a colored paragraph or line to see its counterpart.

The 10 matches · 4 of them tie a paragraph to a whole file, not to given lines: weak matches, whose lines are not tinted
  1. [1] § B Implementation › B.3 Solver comparison in optimization ↔ graft-main/singleGaussNeuroInfer.m, the whole file · a weak match · score 0.64 · mpcActiveSetSolver, quadratic programming, Hessian, quadprog, QP, solvers
  2. [2] § B Implementation › B.3 Solver comparison in optimization ↔ code/singleGaussNeuroInfer.m, the whole file · a weak match · score 0.64 · mpcActiveSetSolver, warm start, Hessian, quadratic, solvers, Optimization
  3. [3] § 6 Experimental Results › 6.1 QP computational results ↔ app_code/Classes/GRAFT.m, lines 78–98 · score 0.60 · wavelet denoising, NoRMCorre, Motion Correction, Rigid, frames, GraFT
  4. [4] § 2 GraFT algorithm › 2.1 Overview ↔ graft-main/mergeGraFTdictionaries.m, lines 1–68 · score 0.59 · temporal correlations, spatial overlap, spatial profiles, graph, components, matrix
  5. [5] § 2 GraFT algorithm › 2.1 Overview ↔ code/mergeGraFTdictionaries.m, lines 1–59 · score 0.58 · temporal correlations, spatial overlap, spatial profiles, graph, components, matrix
  6. [6] § 4 Compressive GraFT for fast processing ↔ graft-main/mergeGraFTdictionaries.m, lines 1–68 · score 0.55 · inner products, spatial overlap, temporal, dimension, components, GraFT
  7. [7] § 4 Compressive GraFT for fast processing ↔ code/mergeGraFTdictionaries.m, lines 1–59 · score 0.55 · inner products, spatial overlap, temporal, dimension, components
  8. [8] § 2 GraFT algorithm › 2.1 Overview ↔ code/GraFT.m, lines 1–143 · score 0.53 · Graph Filtered, dictionary learning, activity, GraFT, Temporal, algorithm
  9. [9] § 2 GraFT algorithm › 2.3 Model inference ↔ code/singleGaussNeuroInfer.m, the whole file · a weak match · score 0.51 · negative weighted LASSO, suppress, inferred, optimization, traces
  10. [10] § A Data › Axonal data ↔ app_code/Pre-Process/defaultMCParams.m, the whole file · a weak match · score 0.50 · resonant scanning, surface, exposed, field, 200 um

Paper

Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC

The paper is loaded when this pane is shown.

The authors' code

MATLAB · 96 lines · 4.4 KB · no license · 2 matches

  1. function [S, iA] = singleGaussNeuroInfer(tau_vec, mov_vec, D, lambda_val, TOL, nonneg, S)
  2. % S = singleGaussNeuroInfer(tau_vec, mov_vec, D, lambda_val, TOL)
  3. %
  4. % Use MPC to solve the weighted LASSO problem for a single vector
  5. %
  6. % 2018 - Adam Charles
  7. % 2022 - Alex Estrada - MPC Update
  8. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  9. %% Input parsing
  10. % if isempty(TOL)
  11. % TOL = 1e-3;
  12. % end
  13. %
  14. % if nargin > 5
  15. % nonneg = varargin{1};
  16. % else
  17. % nonneg = false;
  18. % end
  19. if size(D,2)~=numel(tau_vec)
  20. error('Dimension mismatch!')
  21. end
  22. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  23. %% Set up problem
  24. % Basic size/dimension re-org
  25. mov_vec = vec(squeeze(mov_vec)); % Make sure time-trace is a column vector
  26. tau_vec = vec(tau_vec); % Make sure weight vector is a column vector
  27. N2 = numel(tau_vec); % Get the numner of dictionary atoms
  28. % TFOCS options set-up
  29. % opts.tol = TOL; % Set TFOCS tolerance
  30. % opts.printEvery = 0; % Suppress TFOCS output
  31. % if nonneg
  32. % opts.nonneg = true;
  33. % else
  34. % opts.nonneg = false;
  35. % end
  36. % Set up linear operator
  37. % Af = @(x) D*(x./tau_vec); % Set up the forward operator
  38. % Ab = @(x) (D.'*x)./tau_vec; % Set up the backwards (transpose) operator
  39. % A = linop_handles([numel(mov_vec), N2], Af, Ab, 'R2R'); % Create a TFOCS linear operator object
  40. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  41. %% Run the weighted LASSO to get the coefficients
  42. mpc_opts = mpcActiveSetOptions; % Optimization options
  43. h_quad = double(2*(D.'*D)); % Quadratic objective term for lasso.
  44. n = length(double(-2*D.'*mov_vec+lambda_val.*tau_vec));
  45. if norm(mov_vec) == 0
  46. S = zeros(N2, 1); % This is the trivial solution to generate all zeros linearly.
  47. else
  48. if nonneg
  49. if all(S==0)
  50. % cold start
  51. [S, ~, iA, ~] = mpcActiveSetSolver(h_quad,... % Hessian matrix
  52. double(-2*D.'*mov_vec+lambda_val.*tau_vec),... % Multiplier of the objective linear function
  53. zeros(0,n),... % Linear inequality constraint coefs
  54. zeros(0,1),... % Right-hand side of inequality constraints
  55. zeros(0,n),... % Linear eq constraint coefs
  56. zeros(0,1),... % Right-hand side of eq. constraints
  57. false(size(zeros(0,1))),... % Initial active inequalities
  58. mpc_opts); % Using MPC to solve the non-negative weighted LASSO
  59. else
  60. if ~exist('iA', 'var'); iA = false(0,1); end % Warm Start [for no inequality constraints 'false(0,1)']
  61. [S, ~, iA, ~] = mpcActiveSetSolver(h_quad,...
  62. double(-2*D.'*mov_vec+lambda_val.*tau_vec),...
  63. zeros(0,n),...
  64. zeros(0,1),...
  65. zeros(0,n),...
  66. zeros(0,1),...
  67. iA,...
  68. mpc_opts); % Using MPC to solve the non-negative weighted LASSO
  69. end
  70. else
  71. opts.nonneg = false;
  72. S = solver_L1RLS(D, mov_vec, lambda_val, zeros(N2, 1), opts ); % Solve the weighted LASSO using TFOCS and a modified linear operator
  73. S = S./tau_vec; % Re-normalize to get weighted LASSO values
  74. end
  75. end
  76. S(S(:)<0.1*max(S(:))) = 0;
  77. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  78. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

singleGaussNeuroInfer.m at commit 8b9a435, no license · at the source

Overview

Authors: Alejandro Estrada Berlanga1, Gabrielle Y Kang2, Amanda Kwok2, Thomas Broggini3,4,5, Jennifer Lawlor6, Kishore V Kuchibhotla6,7,8, David Kleinfeld4,9, Gal Mishne10,9, Adam S Charles2,7,8,11
  1. Department of Bioengineering, University of Pennsylvania, Philadelphia, Pennsylvania, United States of America
  2. Department of Biomedical Engineering, Johns Hopkins University, Baltimore, Maryland, United States of America
  3. Frankfurt Cancer Institute (FCI), Goethe University Frankfurt, Frankfurt am Main, Germany
  4. Department of Physics, University of California San Diego, La Jolla, California, United States of America
  5. Department of Neurosurgery, University Hospital Frankfurt, Goethe University Frankfurt, Frankfurt am Main, Germany
  6. Department of Psychological and Brain Sciences, Johns Hopkins University, Baltimore, Maryland, United States of America
  7. Department of Neuroscience, Johns Hopkins University, Baltimore, Maryland, United States of America
  8. Kavli Neuroscience Discovery Institute, Johns Hopkins University, Baltimore, Maryland, United States of America
  9. Department of Neurobiology, University of California San Diego, La Jolla, California, United States of America
  10. Halıcıoğlu Data Science Institute, University of California San Diego, La Jolla, California, United States of America
  11. Center for Imaging Science, Johns Hopkins University, Baltimore, Maryland, United States of America
Journal: PLoS computational biology, volume 22, issue 3, article e1014038
Dates: received 21 April 2025; accepted 17 February 2026; published online 12 March 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1371/journal.pcbi.1014038 · PMID 41818641 · PMCID PMC13038116 · OpenAlex W7135018365
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: methods / tools (subfield)
Methods: Connectivity, Statistics, Machine learning, fMRI & imaging, Single-unit activity, calcium imaging
MeSH: Image Processing, Computer-Assisted*, Optical Imaging*, Algorithms, Animals, Brain, Calcium, Computational Biology, Neurons (* major topic)
Topic: Neural dynamics and brain function (Cognitive Neuroscience, Neuroscience), according to OpenAlex
Funding: Swiss National Science Foundation (177804, 164948)
Citations: not cited yet (Europe PMC); 43 references in the paper

Abstract

Optical calcium imaging is a powerful tool for recording neural activity across a wide range of spatial scales, from dendrites and spines to whole-brain imaging through two-photon and widefield microscopy. Traditional methods for analyzing functional calcium imaging data rely heavily on spatial features, such as the compact shapes of somas, to extract regions of interest and their associated temporal traces. This spatial dependency can introduce biases in time trace estimation and limit the applicability of these methods across different neuronal morphologies and imaging scales. To address these limitations, the Graph Filtered Temporal Dictionary Learning (GraFT) uses a graph-based approach to identify neural components based on shared temporal activity rather than spatial proximity, enhancing generalizability across diverse datasets. Here we present significant advancements to the GraFT algorithm, including the integration of a more efficient solver for the L1 least absolute shrinkage and selection operator (LASSO) problem and the application of compressive sensing techniques to reduce computational complexity. By employing random projections to reduce data dimensionality, we achieve substantial speedups while maintaining analytical accuracy. These advancements significantly accelerate the GraFT algorithm, making it more scalable for larger and more complex datasets. Moreover, to increase accessibility, we developed a graphical user interface to facilitate running and analyzing the outputs of GraFT. Finally, we demonstrate the utility of GraFT to imaging data beyond meso-scale imaging, including vascular and axonal imaging.

Reproduced under the paper's license (CC BY), from the paper cited above.

Repositories

Its files are read in the Code ↔ Paper reader above, with 10 matches between paragraphs and lines of code.

stradaa/GraFT-Application-Dev

License: none: the authors keep all their rights
State: the link answers, verified on 30 September 2026
Evidence: files inventoried
Commit: 8b9a435eb12cc79edf76471e7de59e179e1ac0fe, 4 August 2026
Languages: MATLAB (152), C (4), C++ (1)
Size: 233 files, 157 scripts
Software Heritage: not archived
Found in: “Data Availability”
Holds: README, tests
Not found: license file, CITATION.cff, environment file, continuous integration, documentation
Availability: 1 check, the latest on 30 September 2026: the link answers
  • 30 September 2026: the link answers
158 files

stradaa/GraFT-App

License: none: the authors keep all their rights
State: the link answers, verified on 30 September 2026
Evidence: files inventoried
Commit: 65b600b588996c0bf712cbc3553315839f5d638e, 8 October 2025
Size: 34 files, 0 scripts
Software Heritage: not archived
Found in: “Data Availability”
Holds: README
Not found: license file, CITATION.cff, environment file, tests, continuous integration, documentation
Availability: 1 check, the latest on 30 September 2026: the link answers
  • 30 September 2026: the link answers
1 file

stradaa/GraFT-L1-Compression-Code

License: MIT
State: the link answers, verified on 30 September 2026
Evidence: files inventoried
Commit: c4d9f976f970bd399ed3b092c160514e271719e9, 19 April 2025
Languages: MATLAB (88), C (4), C++ (1)
Size: 120 files, 93 scripts
Software Heritage: not archived
Found in: “Data Availability”
Holds: README, license file
Not found: CITATION.cff, environment file, tests, continuous integration, documentation
Availability: 1 check, the latest on 30 September 2026: the link answers
  • 30 September 2026: the link answers
95 files

The paper's code and data availability statement is in the Data section.

Tracing map

Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.

What the map holds:

  • 3 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 250 scripts, each with its path and the digest of its content;
  • 10 matches between paragraphs of the paper and lines of the code (method lexical-v1);
  • neither the text of the paper nor the code itself.

Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.

Data

No dataset and no data link were found in the paper.

Data Availability

Code related to the development of the GraFT GUI can be found in the public repository https://github.com/stradaa/GraFT-Application-Dev. Documentation, short tutorials, and most up-to-date compiled application of our GraFT-App can be accessed on our website https://github.com/stradaa/GraFT-App. Scripts for practical LASSO and compression optimization code are also available at https://github.com/stradaa/GraFT-L1-Compression-Code.git.

Reproduced under the paper's license (CC BY), from the paper cited above.

Versions

The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.

Version 1, 30 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 9 authors, 8 MeSH terms, 1 funder, 33 references.

Cite

This paper

Estrada Berlanga, A., Kang, G. Y., Kwok, A., Broggini, T., Lawlor, J., Kuchibhotla, K. V., Kleinfeld, D., Mishne, G., & Charles, A. S. (2026). Fast and accessible morphology-free functional fluorescence imaging analysis. PLoS computational biology, 22(3), e1014038. https://doi.org/10.1371/journal.pcbi.1014038

BibTeX

@article{estradaberlanga2026fast,
author = {Estrada Berlanga, Alejandro and Kang, Gabrielle Y and Kwok, Amanda and Broggini, Thomas and Lawlor, Jennifer and Kuchibhotla, Kishore V and Kleinfeld, David and Mishne, Gal and Charles, Adam S},
title = {{Fast and accessible morphology-free functional fluorescence imaging analysis}},
journal = {PLoS computational biology},
year = {2026},
month = mar,
volume = {22},
number = {3},
pages = {e1014038},
publisher = {PLOS},
issn = {1553-734X},
doi = {10.1371/journal.pcbi.1014038},
url = {https://doi.org/10.1371/journal.pcbi.1014038},
pmid = {41818641},
pmcid = {PMC13038116}
}

RIS

TY - JOUR
AU - Estrada Berlanga, Alejandro
AU - Kang, Gabrielle Y
AU - Kwok, Amanda
AU - Broggini, Thomas
AU - Lawlor, Jennifer
AU - Kuchibhotla, Kishore V
AU - Kleinfeld, David
AU - Mishne, Gal
AU - Charles, Adam S
TI - Fast and accessible morphology-free functional fluorescence imaging analysis
T2 - PLoS computational biology
J2 - PLoS Comput Biol
PY - 2026
DA - 2026/03/12
VL - 22
IS - 3
SP - e1014038
SN - 1553-734X
PB - PLOS
DO - 10.1371/journal.pcbi.1014038
UR - https://doi.org/10.1371/journal.pcbi.1014038
LA - en
ER -

CSL-JSON

{
"id": "10.1371/journal.pcbi.1014038",
"type": "article-journal",
"title": "Fast and accessible morphology-free functional fluorescence imaging analysis",
"container-title": "PLoS computational biology",
"author": [
{
"family": "Estrada Berlanga",
"given": "Alejandro"
},
{
"family": "Kang",
"given": "Gabrielle Y"
},
{
"family": "Kwok",
"given": "Amanda"
},
{
"family": "Broggini",
"given": "Thomas"
},
{
"family": "Lawlor",
"given": "Jennifer"
},
{
"family": "Kuchibhotla",
"given": "Kishore V"
},
{
"family": "Kleinfeld",
"given": "David"
},
{
"family": "Mishne",
"given": "Gal"
},
{
"family": "Charles",
"given": "Adam S"
}
],
"container-title-short": "PLoS Comput Biol",
"volume": "22",
"issue": "3",
"page": "e1014038",
"DOI": "10.1371/journal.pcbi.1014038",
"PMID": "41818641",
"PMCID": "PMC13038116",
"ISSN": "1553-734X",
"publisher": "PLOS",
"URL": "https://doi.org/10.1371/journal.pcbi.1014038",
"language": "en",
"issued": {
"date-parts": [
[
2026,
3,
12
]
]
}
}

The tracing map gets a citation of its own once an author has validated it and it has a DOI.

Similar papers

The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.

[1] doi:10.1038/s41467-026-71458-0 [code]
Early differential impact of MeCP2 mutations on functional networks in Rett syndrome patient-derived human cortical organoids.
Journal: Nature communications
In common: Wavelet Toolbox, Optimization Toolbox, Parallel Computing Toolbox, 2 other tools
[2] doi:10.1126/sciadv.aeh7220 [code]
Central complex representations of self-movement are sufficient to compute wind direction in flight.
Journal: Science advances
In common: Optimization Toolbox, Parallel Computing Toolbox, Image Processing Toolbox, 1 other tool, 1 reference
[3] doi:10.1038/s41593-026-02231-1 [code]
The prefrontal cortex controls memory organization in the hippocampus.
Journal: Nature neuroscience
In common: Optimization Toolbox, Parallel Computing Toolbox, Image Processing Toolbox, 1 other tool, 1 reference
[4] doi:10.1016/j.isci.2026.117187 [code]
Functional and structural characterization of dendritic spine pathology in a mouse model of tauopathy.
Journal: iScience
In common: Optimization Toolbox, Parallel Computing Toolbox, Image Processing Toolbox, 1 other tool, 1 reference
[5] doi:10.1016/j.crmeth.2026.101472 [code]
Rapid neuronal labeling and functional imaging in the developing mouse brain with AAV-PHP.eB.
Journal: Cell reports methods
In common: Optimization Toolbox, Image Processing Toolbox, Statistics and Machine Learning Toolbox, 2 references
[6] doi:10.1016/j.neuron.2026.07.016 [code]
Inferring brain-wide interactions using data-constrained recurrent neural network models.
Journal: Neuron
In common: Parallel Computing Toolbox, Image Processing Toolbox, Statistics and Machine Learning Toolbox, 2 references
[7] doi:10.1162/imag.a.1229 [code]
40 Hz audiovisual stimulation improves sustained attention and related brain oscillations.
Journal: Imaging neuroscience (Cambridge, Mass.)
In common: Wavelet Toolbox, Parallel Computing Toolbox, Image Processing Toolbox, 1 other tool
[8] doi:10.1002/hbm.70599 [code]
Group Joint ICA (gjICA): A Method for Multimodal Fusion of Concurrent EEG and fMRI Data.
Journal: Human brain mapping
In common: Optimization Toolbox, Parallel Computing Toolbox, Image Processing Toolbox, 1 other tool, methods / tools
[9] doi:10.1002/mrm.70336 [code]
Offline Reconstruction of Diffusion MRI Acquisitions for Comparison Between Complex PCA-Based and AI-Based Denoising.
Journal: Magnetic resonance in medicine
In common: Optimization Toolbox, Parallel Computing Toolbox, Image Processing Toolbox, 1 other tool, methods / tools
[10] doi:10.1016/j.celrep.2026.117852 [code]
Graph theory identifies altered prefrontal microcircuit organization in Shank3 mice, a mouse Model of autism.
Journal: Cell reports
In common: Image Processing Toolbox, Statistics and Machine Learning Toolbox, 3 references

Contribute

The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.

Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.

Request its removal

To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).

Discussion, reproductions, activity

Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.

Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.

Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.