Fast and accessible morphology-free functional fluorescence imaging analysis.
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] § 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] § 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] § 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] § 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] § 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] § 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] § 4 Compressive GraFT for fast processing ↔ code/mergeGraFTdictionaries.m, lines 1–59 · score 0.55 · inner products, spatial overlap, temporal, dimension, components
- [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] § 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] § 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
- function [S, iA] = singleGaussNeuroInfer(tau_vec, mov_vec, D, lambda_val, TOL, nonneg, S)
- % S = singleGaussNeuroInfer(tau_vec, mov_vec, D, lambda_val, TOL)
- %
- % Use MPC to solve the weighted LASSO problem for a single vector
- %
- % 2018 - Adam Charles
- % 2022 - Alex Estrada - MPC Update
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %% Input parsing
- % if isempty(TOL)
- % TOL = 1e-3;
- % end
- %
- % if nargin > 5
- % nonneg = varargin{1};
- % else
- % nonneg = false;
- % end
- if size(D,2)~=numel(tau_vec)
- error('Dimension mismatch!')
- end
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %% Set up problem
- % Basic size/dimension re-org
- mov_vec = vec(squeeze(mov_vec)); % Make sure time-trace is a column vector
- tau_vec = vec(tau_vec); % Make sure weight vector is a column vector
- N2 = numel(tau_vec); % Get the numner of dictionary atoms
- % TFOCS options set-up
- % opts.tol = TOL; % Set TFOCS tolerance
- % opts.printEvery = 0; % Suppress TFOCS output
- % if nonneg
- % opts.nonneg = true;
- % else
- % opts.nonneg = false;
- % end
- % Set up linear operator
- % Af = @(x) D*(x./tau_vec); % Set up the forward operator
- % Ab = @(x) (D.'*x)./tau_vec; % Set up the backwards (transpose) operator
- % A = linop_handles([numel(mov_vec), N2], Af, Ab, 'R2R'); % Create a TFOCS linear operator object
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %% Run the weighted LASSO to get the coefficients
- mpc_opts = mpcActiveSetOptions; % Optimization options
- h_quad = double(2*(D.'*D)); % Quadratic objective term for lasso.
- n = length(double(-2*D.'*mov_vec+lambda_val.*tau_vec));
- if norm(mov_vec) == 0
- S = zeros(N2, 1); % This is the trivial solution to generate all zeros linearly.
- else
- if nonneg
- if all(S==0)
- % cold start
- [S, ~, iA, ~] = mpcActiveSetSolver(h_quad,... % Hessian matrix
- double(-2*D.'*mov_vec+lambda_val.*tau_vec),... % Multiplier of the objective linear function
- zeros(0,n),... % Linear inequality constraint coefs
- zeros(0,1),... % Right-hand side of inequality constraints
- zeros(0,n),... % Linear eq constraint coefs
- zeros(0,1),... % Right-hand side of eq. constraints
- false(size(zeros(0,1))),... % Initial active inequalities
- mpc_opts); % Using MPC to solve the non-negative weighted LASSO
- else
- if ~exist('iA', 'var'); iA = false(0,1); end % Warm Start [for no inequality constraints 'false(0,1)']
- [S, ~, iA, ~] = mpcActiveSetSolver(h_quad,...
- double(-2*D.'*mov_vec+lambda_val.*tau_vec),...
- zeros(0,n),...
- zeros(0,1),...
- zeros(0,n),...
- zeros(0,1),...
- iA,...
- mpc_opts); % Using MPC to solve the non-negative weighted LASSO
- end
- else
- opts.nonneg = false;
- S = solver_L1RLS(D, mov_vec, lambda_val, zeros(N2, 1), opts ); % Solve the weighted LASSO using TFOCS and a modified linear operator
- S = S./tau_vec; % Re-normalize to get weighted LASSO values
- end
- end
- S(S(:)<0.1*max(S(:))) = 0;
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
singleGaussNeuroInfer.m at commit 8b9a435, no license · at the source
Overview
- Department of Bioengineering, University of Pennsylvania, Philadelphia, Pennsylvania, United States of America
- Department of Biomedical Engineering, Johns Hopkins University, Baltimore, Maryland, United States of America
- Frankfurt Cancer Institute (FCI), Goethe University Frankfurt, Frankfurt am Main, Germany
- Department of Physics, University of California San Diego, La Jolla, California, United States of America
- Department of Neurosurgery, University Hospital Frankfurt, Goethe University Frankfurt, Frankfurt am Main, Germany
- Department of Psychological and Brain Sciences, Johns Hopkins University, Baltimore, Maryland, United States of America
- Department of Neuroscience, Johns Hopkins University, Baltimore, Maryland, United States of America
- Kavli Neuroscience Discovery Institute, Johns Hopkins University, Baltimore, Maryland, United States of America
- Department of Neurobiology, University of California San Diego, La Jolla, California, United States of America
- Halıcıoğlu Data Science Institute, University of California San Diego, La Jolla, California, United States of America
- Center for Imaging Science, Johns Hopkins University, Baltimore, Maryland, United States of America
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
8b9a435eb12cc79edf76471e7de59e179e1ac0fe, 4 August 2026Availability: 1 check, the latest on 30 September 2026: the link answers
- 30 September 2026: the link answers
158 files
- app_code/
Analysis/ , MATLAB, 147 linesdistinguishable_colors.m - app_code/
Analysis/ , MATLAB, 48 linesfixMaskView.m - app_code/
Analysis/ , MATLAB, 38 linesloadSpatialMovies.m - app_code/
Analysis/ , MATLAB, 54 linesplayMovie.m - app_code/
Analysis/ , MATLAB, 53 linesplotDifferentColoredROIS .m - app_code/
Analysis/ , MATLAB, 24 linespopROI.m - app_code/
Analysis/ , MATLAB, 96 linessetROIsUI.m - app_code/
Analysis/ , MATLAB, 90 linessetSpatialUI.m - app_code/
App Settings/ , MATLAB, 230 linesavailableRAM.m - app_code/
App Settings/ , MATLAB, 104 linescolorMe.m - app_code/
App Settings/ , MATLAB, 119 linesensureGraftFields.m - app_code/
App Settings/ , MATLAB, 25 linesgraftPalette.m - app_code/
App Settings/ , MATLAB, 80 linesgraftThemeFigure.m - app_code/
App Settings/ , MATLAB, 52 linesgraftVersion.m - app_code/
App Settings/ , MATLAB, 39 linessetPreProcess.m - app_code/
App Settings/ , MATLAB, 104 linessetStatus.m - app_code/
App Settings/ , MATLAB, 121 linessetVis.m - app_code/
App Settings/ , MATLAB, 24 linesuserSettings.m - app_code/
Classes/ , MATLAB, 135 lines, 1 matchGRAFT.m - app_code/
Classes/ , MATLAB, 88 linesPARAMS.m - app_code/
GraFT!/ , MATLAB, 33 linesplotResults.m - app_code/
GraFT!/ , MATLAB, 45 linespreGraftParams.m - app_code/
GraFT!/ , MATLAB, 41 linesresultsGraFTed.m - app_code/
GraFT!/ , MATLAB, 108 linesstartGraFTing.m - app_code/
New Load/ , MATLAB, 314 linesload_app_data2.m - app_code/
New Load/ , MATLAB, 61 linesnewGRAFTUI.m - app_code/
New Load/ , MATLAB, 165 linesreadH5Stack.m - app_code/
New Load/ , MATLAB, 140 linesreadTiffStack.m - app_code/
New Load/ , MATLAB, 82 linesselectFile.m - app_code/
New Load/ , MATLAB, 87 linesselectFolder.m - app_code/
Parameters/ , MATLAB, 115 linesloadParams.m - app_code/
Parameters/ , MATLAB, 79 linessaveParams.m - app_code/
Parameters/ , MATLAB, 43 linessetappParams.m - app_code/
Pre-Process/ , MATLAB, 36 linesaddMask.m - app_code/
Pre-Process/ , MATLAB, 313 linesbuildMCControls.m - app_code/
Pre-Process/ , MATLAB, 112 linescreateMaskApp.m - app_code/
Pre-Process/ , MATLAB, 88 lines, 1 matchdefaultMCParams.m - app_code/
Pre-Process/ , MATLAB, 141 linesestimateMCMemory.m - app_code/
Pre-Process/ , MATLAB, 214 linesmcOptionsFromParams.m - app_code/
Pre-Process/ , MATLAB, 97 linesmcOutputPath.m - app_code/
Pre-Process/ , MATLAB, 21 linesmcPresetNames.m - app_code/
Pre-Process/ , MATLAB, 82 linesmcPresets.m - app_code/
Pre-Process/ , MATLAB, 62 linesmeanProjectionFromFile.m - app_code/
Pre-Process/ , MATLAB, 321 linesmotionCorrect.m - app_code/
Pre-Process/ , MATLAB, 442 linesnormcorreSettingsDlg.m - app_code/
Pre-Process/ , MATLAB, 82 linesplotUpdatePreprocess.m - app_code/
Pre-Process/ , MATLAB, 247 linesrunMotionCorrect.m - app_code/
Pre-Process/ , MATLAB, 78 linestriangle_th.m - app_code/
Pre-Process/ , MATLAB, 37 linestriangle_thresh.m - app_code/
Pre-Process/ , MATLAB, 186 linesvalidateMCParams.m - app_code/
Save/ , MATLAB, 31 linesallSelected.m - app_code/
Save/ , MATLAB, 159 linessaveGRAFT.m - app_code/
Save/ , MATLAB, 156 linesshowCurrent.m - app_code/
Save/ , MATLAB, 18 linesuncheckAll.m - build/
build_graft_app.m , MATLAB, 164 lines - build/
toolboxPathList.m , MATLAB, 69 lines - code/
GraFT.m , MATLAB, 221 lines, 1 match - code/
NoRMCorre-master/ , MATLAB, 209 lines@MotionCorrection/ MotionCorrection.m - code/
NoRMCorre-master/ , MATLAB, 235 linesNoRMCorreSetParms.m - code/
NoRMCorre-master/ , MATLAB, 306 linesapply_shifts.m - code/
NoRMCorre-master/ , MATLAB, 173 linesbigread2.m - code/
NoRMCorre-master/ , MATLAB, 27 linescell2mat_ov.m - code/
NoRMCorre-master/ , MATLAB, 42 linescell2mat_ov_sum.m - code/
NoRMCorre-master/ , MATLAB, 57 linesconcatenate_files.m - code/
NoRMCorre-master/ , MATLAB, 33 linesconstruct_grid.m - code/
NoRMCorre-master/ , MATLAB, 28 linesconstruct_grid_even.m - code/
NoRMCorre-master/ , MATLAB, 8 linesconstruct_weights.m - code/
NoRMCorre-master/ , MATLAB, 77 linescorrect_bidirectional_of fset.m - code/
NoRMCorre-master/ , MATLAB, 82 linesdemo.m - code/
NoRMCorre-master/ , MATLAB, 172 linesdemo_1p.m - code/
NoRMCorre-master/ , MATLAB, 62 linesdemo_1p_low_RAM.m - code/
NoRMCorre-master/ , MATLAB, 86 linesdemo_mc_class.m - code/
NoRMCorre-master/ , MATLAB, 283 linesdftregistration_min_max. m - code/
NoRMCorre-master/ , MATLAB, 315 linesdftregistration_min_max_ 3d.m - code/
NoRMCorre-master/ , MATLAB, 62 linesdownsample_data.m - code/
NoRMCorre-master/ , MATLAB, 26 linesh5_2_bin.m - code/
NoRMCorre-master/ , MATLAB, 22 lineshan.m - code/
NoRMCorre-master/ , MATLAB, 154 linesloadtiff.m - code/
NoRMCorre-master/ , MATLAB, 150 linesloadtiff_old.m - code/
NoRMCorre-master/ , MATLAB, 29 linesmat2cell_ov.m - code/
NoRMCorre-master/ , MATLAB, 113 linesmotion_metrics.m - code/
NoRMCorre-master/ , MATLAB, 536 linesnormcorre.m - code/
NoRMCorre-master/ , MATLAB, 499 linesnormcorre_batch.m - code/
NoRMCorre-master/ , MATLAB, 330 linesnormcorre_batch_even.m - code/
NoRMCorre-master/ , MATLAB, 89 linesread_file.m - code/
NoRMCorre-master/ , MATLAB, 27 linesread_raw_file.m - code/
NoRMCorre-master/ , MATLAB, 12 linesrefreshdisp.m - code/
NoRMCorre-master/ , MATLAB, 65 linesregister_frame.m - code/
NoRMCorre-master/ , MATLAB, 40 linesremove_boundaries.m - code/
NoRMCorre-master/ , MATLAB, 36 linessaveash5.m - code/
NoRMCorre-master/ , MATLAB, 304 linessaveastiff.m - code/
NoRMCorre-master/ , MATLAB, 70 linessavefast.m - code/
NoRMCorre-master/ , MATLAB, 57 linesshift_reconstruct.m - code/
NoRMCorre-master/ , MATLAB, 14 linessplit_frame.m - code/
dictionaryRWL1SF.m , MATLAB, 192 lines - code/
external-code/ , MATLAB, 12 linesRANN/ compile_rann32c.m - code/
external-code/ , C, 189 linesRANN/ myprin.c - code/
external-code/ , C, 85 linesRANN/ rann32c.c - code/
external-code/ , C, 5,103 linesRANN/ rann_core.c - code/
external-code/ , C, 4,293 linesRANN/ rann_utils.c - code/
external-code/ , MATLAB, 179 linescolormaps_mathworks_v11/ matlab/ ametrine.m - code/
external-code/ , MATLAB, 186 linescolormaps_mathworks_v11/ matlab/ isolum.m - code/
external-code/ , MATLAB, 221 linescolormaps_mathworks_v11/ matlab/ morgenstemning.m - code/
external-code/ , MATLAB, 152 linesdistinguishable_colors.m - code/
external-code/ , MATLAB, 67 linesfrom_caiman/ construct_patches.m - code/
external-code/ , C++, 116 linesfrom_caiman/ graph_conn_comp_mex.cpp - code/
external-code/ , MATLAB, 27 linesfrom_caiman/ graph_connected_comp.m - code/
external-code/ , MATLAB, 309 linespcafast.m - code/
learn_spatially_filtered , MATLAB, 198 lines_dictionary.m - code/
load_app_data.m , MATLAB, 50 lines - code/
mergeGraFTdictionaries.m , MATLAB, 367 lines, 2 matches - code/
mergeGraFTdictionaries_o , MATLAB, 366 linesriginal.m - code/
merge_components.m , MATLAB, 185 lines - code/
merge_dicts_test.m , MATLAB, 233 lines - code/
patchGraFT.m , MATLAB, 320 lines - code/
plotting-code/ , MATLAB, 81 linesbasis2img2.m - code/
plotting-code/ , MATLAB, 60 linescorrelation_image.m - code/
plotting-code/ , MATLAB, 78 linesdict_plot1d.m - code/
plotting-code/ , MATLAB, 15 lineshyper_plot.m - code/
plotting-code/ , MATLAB, 49 linesplotDecomps.m - code/
plotting-code/ , MATLAB, 7 linesviewMovAndRes.m - code/
singleGaussNeuroInfer.m , MATLAB, 96 lines, 2 matches - code/
singlePoiNeuroInfer.m , MATLAB, 36 lines - code/
support functions/ , MATLAB, 78 linesbilin_fun.m - code/
support functions/ , MATLAB, 75 linescalcAffinityMat.m - code/
support functions/ , MATLAB, 55 linescheckCorrKern.m - code/
support functions/ , MATLAB, 59 linescombineDictionaryPatches .m - code/
support functions/ , MATLAB, 57 linesdenoiseCIinSpace.m - code/
support functions/ , MATLAB, 70 linesdenoiseCIinTime.m - code/
support functions/ , MATLAB, 26 linesdictInitialize.m - code/
support functions/ , MATLAB, 35 linesisInMatFile.m - code/
support functions/ , MATLAB, 56 linesmkCorrKern.m - code/
support functions/ , MATLAB, 48 linesmkDataEmbedding.m - code/
support functions/ , MATLAB, 149 linespreprocessData.m - code/
support functions/ , MATLAB, 102 linesreCalcCoefSparse.m - code/
support functions/ , MATLAB, 48 linesreCalcCoefWithLS.m - code/
support functions/ , MATLAB, 45 linesrobustSTD.m - code/
support functions/ , MATLAB, 24 linesrotateSpatialMaps.m - code/
support functions/ , MATLAB, 36 linessetParams.m - code/
support functions/ , MATLAB, 35 linestiff_reader.m - code/
support functions/ , MATLAB, 18 linesvec.m - code/
support functions/ , MATLAB, 17 linesverbPrint.m - graftAddPaths.m, MATLAB, 40 lines
- tests/
make_mc_fixtures.m , MATLAB, 107 lines - tests/
make_tiff_fixtures.m , MATLAB, 170 lines - tests/
repro_symptom.m , MATLAB, 38 lines - tests/
run_mc_tests.m , MATLAB, 56 lines - tests/
test_mc_accuracy.m , MATLAB, 136 lines - tests/
test_mc_equivalence.m , MATLAB, 159 lines - tests/
test_mc_io.m , MATLAB, 179 lines - tests/
test_mc_params.m , MATLAB, 248 lines - tests/
test_mc_state.m , MATLAB, 201 lines - tests/
test_mc_ui.m , MATLAB, 264 lines - tests/
test_neurofinder_regress , MATLAB, 30 linesion.m - tests/
test_normcorre_env.m , MATLAB, 246 lines - tests/
test_packaged_layout.m , MATLAB, 106 lines - tests/
test_tiff_loading.m , MATLAB, 139 lines - README.md, Text, 18 lines
stradaa/GraFT-App
65b600b588996c0bf712cbc3553315839f5d638e, 8 October 2025Availability: 1 check, the latest on 30 September 2026: the link answers
- 30 September 2026: the link answers
1 file
- README.md, Text, 40 lines
stradaa/GraFT-L1-Compression-Code
c4d9f976f970bd399ed3b092c160514e271719e9, 19 April 2025Availability: 1 check, the latest on 30 September 2026: the link answers
- 30 September 2026: the link answers
95 files
- MovieSlider-master/
MovieSlider.m , MATLAB, 1,271 lines - MovieSlider-master/
findParent.m , MATLAB, 7 lines - MovieSlider-master/
makePositionedFigure.m , MATLAB, 41 lines - MovieSlider-master/
parsePath.m , MATLAB, 28 lines - MovieSlider-master/
rangemax.m , MATLAB, 14 lines - MovieSlider-master/
rangemin.m , MATLAB, 8 lines - MovieSlider-master/
rebin.m , MATLAB, 36 lines - MovieSlider-master/
rectangleCorners.m , MATLAB, 43 lines - dictionary-learning/
SolveMP_wrapper.m , MATLAB, 15 lines - dictionary-learning/
SolveOOMP_wrapper.m , MATLAB, 15 lines - dictionary-learning/
bilin_Hessfun.m , MATLAB, 58 lines - dictionary-learning/
bilin_fun.m , MATLAB, 81 lines - dictionary-learning/
cg_l2l1.m , MATLAB, 24 lines - dictionary-learning/
cg_l2l1_wrapper.m , MATLAB, 15 lines - dictionary-learning/
dictionary_learn_script. , MATLAB, 119 linesm - dictionary-learning/
dictionary_learn_script_ , MATLAB, 86 lines1d.m - dictionary-learning/
dictionary_update.m , MATLAB, 247 lines - dictionary-learning/
gen_multi_infer.m , MATLAB, 55 lines - dictionary-learning/
greed_omp_qr_wrapper.m , MATLAB, 15 lines - dictionary-learning/
groupLCA.m , MATLAB, 59 lines - dictionary-learning/
groupLCA_wrapper.m , MATLAB, 15 lines - dictionary-learning/
group_rwLCA.m , MATLAB, 116 lines - dictionary-learning/
group_rwLCA_wrapper.m , MATLAB, 23 lines - dictionary-learning/
initialize_dictionary.m , MATLAB, 75 lines - dictionary-learning/
l1ls_nneg_wrapper.m , MATLAB, 15 lines - dictionary-learning/
l1ls_wrapper.m , MATLAB, 15 lines - dictionary-learning/
learn_dictionary.m , MATLAB, 446 lines - dictionary-learning/
learn_dictionary_old.m , MATLAB, 520 lines - dictionary-learning/
learn_dictionary_spmd.m , MATLAB, 562 lines - dictionary-learning/
mintotol.m , MATLAB, 162 lines - dictionary-learning/
multi_infer.m , MATLAB, 109 lines - dictionary-learning/
objfun_l2l1.m , MATLAB, 15 lines - dictionary-learning/
partialDCT.m , MATLAB, 9 lines - dictionary-learning/
perform_omp_wrapper.m , MATLAB, 15 lines - dictionary-learning/
rwLCA.m , MATLAB, 113 lines - dictionary-learning/
rwLCA_wrapper.m , MATLAB, 22 lines - dictionary-learning/
sample_exemplars.m , MATLAB, 129 lines - dictionary-learning/
sparseDeconvDictEst.m , MATLAB, 24 lines - external-code/
RANN/ , MATLAB, 12 linescompile_rann32c.m - external-code/
RANN/ , C, 189 linesmyprin.c - external-code/
RANN/ , C, 85 linesrann32c.c - external-code/
RANN/ , C, 5,103 linesrann_core.c - external-code/
RANN/ , C, 4,293 linesrann_utils.c - external-code/
colormaps_mathworks_v11/ , MATLAB, 179 linesmatlab/ ametrine.m - external-code/
colormaps_mathworks_v11/ , MATLAB, 186 linesmatlab/ isolum.m - external-code/
colormaps_mathworks_v11/ , MATLAB, 221 linesmatlab/ morgenstemning.m - external-code/
distinguishable_colors.m , MATLAB, 152 lines - external-code/
from_caiman/ , MATLAB, 67 linesconstruct_patches.m - external-code/
from_caiman/ , C++, 116 linesgraph_conn_comp_mex.cpp - external-code/
from_caiman/ , MATLAB, 27 linesgraph_connected_comp.m - external-code/
pcafast.m , MATLAB, 309 lines - graft-main/
GraFT.m , MATLAB, 307 lines - graft-main/
dictionaryRWL1SF.m , MATLAB, 225 lines - graft-main/
learn_spatially_filtered , MATLAB, 198 lines_dictionary.m - graft-main/
mergeGraFTdictionaries.m , MATLAB, 376 lines, 2 matches - graft-main/
patchGraFT.m , MATLAB, 323 lines - graft-main/
singleGaussNeuroInfer.m , MATLAB, 106 lines, 1 match - graft-main/
singlePoiNeuroInfer.m , MATLAB, 36 lines - graph-sparse-coding/
EuDist2.m , MATLAB, 60 lines - graph-sparse-coding/
GraphRegularizedSparseCo , MATLAB, 61 linesdingDemo.m - graph-sparse-coding/
GraphSC.m , MATLAB, 145 lines - graph-sparse-coding/
MutualInfo.m , MATLAB, 57 lines - graph-sparse-coding/
NormalizeFea.m , MATLAB, 60 lines - graph-sparse-coding/
PCA.m , MATLAB, 76 lines - graph-sparse-coding/
constructKernel.m , MATLAB, 98 lines - graph-sparse-coding/
constructW.m , MATLAB, 526 lines - graph-sparse-coding/
learn_basis.m , MATLAB, 102 lines - graph-sparse-coding/
learn_coefficients.m , MATLAB, 269 lines - graph-sparse-coding/
litekmeans.m , MATLAB, 457 lines - graph-sparse-coding/
mySVD.m , MATLAB, 118 lines - installGraFT.m, MATLAB, 28 lines
- support-functions/
bilin_fun.m , MATLAB, 78 lines - support-functions/
calcAffinityMat.m , MATLAB, 75 lines - support-functions/
checkCorrKern.m , MATLAB, 55 lines - support-functions/
combineDictionaryPatches , MATLAB, 59 lines.m - support-functions/
denoiseCIinSpace.m , MATLAB, 57 lines - support-functions/
denoiseCIinTime.m , MATLAB, 70 lines - support-functions/
dictInitialize.m , MATLAB, 26 lines - support-functions/
isInMatFile.m , MATLAB, 35 lines - support-functions/
load_app_data.m , MATLAB, 68 lines - support-functions/
mkCorrKern.m , MATLAB, 56 lines - support-functions/
mkDataEmbedding.m , MATLAB, 48 lines - support-functions/
preprocessData.m , MATLAB, 149 lines - support-functions/
reCalcCoefSparse.m , MATLAB, 102 lines - support-functions/
reCalcCoefWithLS.m , MATLAB, 48 lines - support-functions/
robustSTD.m , MATLAB, 45 lines - support-functions/
rotateSpatialMaps.m , MATLAB, 24 lines - support-functions/
setParams.m , MATLAB, 36 lines - support-functions/
tiff_reader.m , MATLAB, 35 lines - support-functions/
vec.m , MATLAB, 18 lines - support-functions/
verbPrint.m , MATLAB, 17 lines - testing_lasso_optimizati
on.m , MATLAB, 266 lines - testing_time_ram_compari
son.m , MATLAB, 79 lines - LICENSE, License, 21 lines
- README.md, Text, 5 lines
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://
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://
BibTeX
@article{estradaberlanga
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/
url = {https://
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/
VL - 22
IS - 3
SP - e1014038
SN - 1553-734X
PB - PLOS
DO - 10.1371/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1371/
"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":
"volume": "22",
"issue": "3",
"page": "e1014038",
"DOI": "10.1371/
"PMID": "41818641",
"PMCID": "PMC13038116",
"ISSN": "1553-734X",
"publisher": "PLOS",
"URL": "https://
"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 communicationsIn 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 advancesIn 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 neuroscienceIn 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: iScienceIn 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 methodsIn 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: NeuronIn 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 mappingIn 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 medicineIn 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 reportsIn 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.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 3 repositories of the authors' code, each at its verified commit and with its license, 250 scripts, and 10 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:c6239e4904eeec29…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
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.
