OSCR

Non-invasive characterization of perivascular subarachnoid spaces.

Code ↔ Paper

7 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 7 matches · 5 of them tie a paragraph to a whole file, not to given lines: weak matches, whose lines are not tinted
  1. [1] § Methods › Post-processing › Statistical comparison ↔ functions/plotDonutBarPlots.m, the whole file · a weak match · score 0.84 · post hoc pairwise, Kruskal Wallis, Bonferroni correction, Wilcoxon
  2. [2] § Methods › Post-processing › Semi-automatic PVSAS analysis (concentric circles) ↔ concentricCircles/figures/VesselDilatingwithBoundaries.m, lines 100–144 · score 0.73 · Vessel masks, boundary, imclose, imdilate, imfill, dilated
  3. [3] § Results › CSF-mobility around arteries shows distinct PVSAS characteristics ↔ concentricCircles/figures/ConcentricCircles_ViolinPlots_RightLeft.m, lines 6–106 · score 0.67 · 1.5–3 mm, 0–1.5 mm, concentric circles
  4. [4] § Methods › Post-processing › CSF-mobility, principal orientation, and Fractional Anisotropy ↔ functions/DTI.m, the whole file · a weak match · score 0.61 · diffusion tensor, fractional, DTI, eigenvalue, gradients, FA
  5. [5] § Methods › Post-processing › CSF-mobility, principal orientation, and Fractional Anisotropy ↔ functions/DTI_eigenpairs.m, the whole file · a weak match · score 0.61 · diffusion tensor, fractional, DTI, eigenvalue, gradients, FA
  6. [6] § Methods › Post-processing › Semi-automatic PVSAS analysis (concentric circles) ↔ concentricCircles/figures/PlottingConcentricCircles_lydianesway_rightvsleft_allsubjects.m, the whole file · a weak match · score 0.54 · max peak, weighted, Concentric, distance, thresholding, masks
  7. [7] § Results › CSF-mobility around arteries shows distinct PVSAS characteristics ↔ concentricCircles/figures/PlottingConcentricCircles_lydianesway_rightvsleft_allsubjects.m, the whole file · a weak match · score 0.52 · 0–1.5 mm, concentric circles, distance, Post, vessel

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 · 155 lines · 6.4 KB · no license · 2 matches

  1. %% plotting Concentric Circles lydianes way
  2. % csf donut protocol for CAA patients
  3. % nina fultz january 2026
  4. % [email hidden]
  5. %% goals:
  6. clear
  7. clc
  8. %%
  9. % defining paths
  10. project_directory = 'R:\- Gorter\- Personal folders\Fultz, N\';
  11. project_name = 'csfdonuts_lydiane';
  12. scripts = fullfile(project_directory, 'scripts', project_name);
  13. %%params
  14. voxSize = 0.45;
  15. maxDist = 10;
  16. binWidth = 0.45;
  17. addpath(genpath(fullfile(scripts, 'csfdonuts_lydiane')));
  18. addpath(genpath(fullfile(scripts, 'toolbox', 'nifti_tools-master')));
  19. addpath(genpath(fullfile(scripts, 'toolbox', 'elastix-5.2.0-linux')));
  20. addpath(genpath(fullfile(scripts, 'toolbox')));
  21. addpath(genpath(fullfile(scripts, 'dcm2niix')));
  22. addpath(genpath(fullfile(scripts)));
  23. CCDir = 'R:\- Gorter\- Personal folders\Fultz, N\csfdonuts_lydiane\concentricCircleResults';
  24. ROIs = {'M2'};
  25. dilationDiameter = 1:10;
  26. binCenters = (0:length(dilationDiameter(:))-1) * voxSize;
  27. % ── colours ──────────────────────────────────────────────────────────────
  28. colLeftInd = [0.20 0.40 1.00]; % blue – left individual traces
  29. colRightInd = [0.00 0.70 0.45]; % green – right individual traces
  30. colLeftMean = [0.00 0.20 0.85]; % dark blue – left mean
  31. colRightMean= [0.00 0.50 0.20]; % dark green – right mean
  32. colOverall = [0.10 0.10 0.10]; % near-black – overall mean
  33. colLeftIndB0 = [1.00 0.40 0.20]; % orange – left B0 individual
  34. colRightIndB0 = [0.85 0.10 0.50]; % pink – right B0 individual
  35. colLeftMeanB0 = [0.80 0.20 0.00]; % dark orange – left B0 mean
  36. colRightMeanB0= [0.60 0.00 0.35]; % dark pink – right B0 mean
  37. colOverallB0 = [0.40 0.00 0.00]; % dark red – overall B0 mean
  38. for r = 1:numel(ROIs)
  39. ROI = ROIs{r};
  40. cd(CCDir);
  41. % ── load left / right ────────────────────────────────────────────────
  42. tmp = load(['allCSFmobilityLydiane' ROI '_Median_left.mat']);
  43. ADC_left = tmp.averageADC_MCA; % nSubjects x nBins
  44. tmp = load(['allCSFmobilityLydiane' ROI '_Median_right.mat']);
  45. ADC_right = tmp.averageADC_MCA;
  46. tmp = load(['allB0Lydiane' ROI '_Median_left.mat']);
  47. B0_left = tmp.averageCSF_MCA;
  48. tmp = load(['allB0Lydiane' ROI '_Median_right.mat']);
  49. B0_right = tmp.averageCSF_MCA;
  50. normADC_L = ADC_left;
  51. normADC_R = ADC_right;
  52. normB0_L = B0_left;
  53. normB0_R = B0_right;
  54. % ── means ─────────────────────────────────────────────────────────────
  55. meanADC_L = mean(normADC_L, 1);
  56. meanADC_R = mean(normADC_R, 1);
  57. meanADC_all = mean([normADC_L; normADC_R], 1);
  58. meanB0_L = mean(normB0_L, 1);
  59. meanB0_R = mean(normB0_R, 1);
  60. meanB0_all = mean([normB0_L; normB0_R], 1);
  61. % ── per-subject subplots ──────────────────────────────────────────────
  62. rangeMask = binCenters <= 3;
  63. nSubjects = size(normADC_L, 1);
  64. nCols = ceil(sqrt(nSubjects));
  65. nRows = ceil(nSubjects / nCols);
  66. figure('Name', ['ADC per subject — ' ROI], 'NumberTitle', 'off');
  67. set(gcf, 'Color', 'w', 'Renderer', 'painters');
  68. for s = 1:nSubjects
  69. subplot(nRows, nCols, s);
  70. hold on;
  71. % ── left & right traces ──────────────────────────────────────
  72. plot(binCenters, normADC_L(s,:), '-', ...
  73. 'Color', colLeftMean, 'LineWidth', 1.8);
  74. plot(binCenters, normADC_R(s,:), '-', ...
  75. 'Color', colRightMean, 'LineWidth', 1.8);
  76. % ── max peak in 0–1.5 mm per side ────────────────────────────
  77. peakL = max(normADC_L(s, rangeMask));
  78. peakR = max(normADC_R(s, rangeMask));
  79. threshL = peakL * 0.80;
  80. threshR = peakR * 0.80;
  81. ylim([0 max(peakL, peakR) + 0.01]);
  82. yline(threshL, '--', 'LineWidth', 1.4, 'Color', colLeftMean);
  83. yline(threshR, '--', 'LineWidth', 1.4, 'Color', colRightMean);
  84. % ── cosmetics ────────────────────────────────────────────────
  85. xlim([0 3]);
  86. title(['Subject ' num2str(s)], 'FontSize', 9);
  87. xlabel('Distance (mm)', 'FontSize', 8);
  88. ylabel('ADC', 'FontSize', 8);
  89. if s == 1
  90. legend('Left', 'Right', '−20% left peak', '−20% right peak', ...
  91. 'Location', 'northeast', 'FontSize', 7);
  92. end
  93. hold off;
  94. end
  95. sgtitle(['ADC profiles — ' ROI], 'FontWeight', 'bold');
  96. % ── percentage of vessels that hit the –20 % threshold ───────────────
  97. % A vessel counts if its ADC profile dips back to <= 80 % of its
  98. % 0–3 mm peak at ANY bin after the peak location.
  99. rangeMaskFull = true(1, size(normADC_L, 2)); % full distance range
  100. hitCount = 0;
  101. totalVessels = 0;
  102. sides = {normADC_L, normADC_R};
  103. sideNames = {'Left', 'Right'};
  104. for sideIdx = 1:2
  105. data = sides{sideIdx};
  106. for s = 1:nSubjects
  107. profile = data(s, :);
  108. peak = max(profile(rangeMask)); % peak in 0–3 mm
  109. threshold = peak * 0.80;
  110. % find bin of peak
  111. [~, peakBin] = max(profile .* rangeMask); % first max in range
  112. % check if profile drops to <= threshold AFTER the peak
  113. postPeak = profile(peakBin:end);
  114. doesDip = any(postPeak <= threshold);
  115. hitCount = hitCount + doesDip;
  116. totalVessels = totalVessels + 1;
  117. fprintf('Subject %2d | %5s | peak = %.4f | thresh = %.4f | hit = %d\n', ...
  118. s, sideNames{sideIdx}, peak, threshold, doesDip);
  119. end
  120. end
  121. pctHit = 100 * hitCount / totalVessels;
  122. fprintf('\n=== ROI: %s ===\n', ROI);
  123. fprintf('Vessels hitting –20%% threshold: %d / %d (%.1f%%)\n\n', ...
  124. hitCount, totalVessels, pctHit);
  125. end

PlottingConcentricCircles_lydianesway_rightvsleft_allsubjects.m at commit 188e020, no license · at the source

Overview

Authors: Nina E. Fultz1, Geir Ringstad2,3,4, Madda Debiasi1, Emiel C. A. Roefs1, Siri Fløgstad Svensson3,5, Per Kristian Eide2,3,6, Marianne A. A. van Walderveen1, Jeroen de Bresser1, Matthias J. P. van Osch1, Lydiane Hirschler1
  1. C.J. Gorter MRI Center, Department of Radiology, Leiden University Medical Center,Leiden, Netherlands
  2. Institute of Clinical Medicine, Faculty of Medicine, University of Oslo,Oslo, Norway
  3. K.G. Jebsen Centre for Brain Fluid Research, University of Oslo,Oslo, Norway
  4. Department of Radiology, Oslo University Hospital – Rikshospitalet,Oslo, Norway
  5. Department of Physics and Computational Radiology, Oslo University Hospital,Oslo, Norway
  6. Department of Neurosurgery, Oslo University Hospital – Rikshospitalet,Oslo, Norway
Institutions: Leiden University Medical Center (Netherlands); University of Oslo (Norway); Oslo University Hospital (Norway)
Journal: Nature communications, volume 17, issue 1, article 9496
Dates: received 15 August 2025; accepted 22 July 2026; published online 5 August 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1038/s41467-026-76306-9 · PMID 42693113 · PMCID PMC13542271 · OpenAlex W7172499177
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: structural MRI / diffusion (modality), human (organism)
Methods: Statistics, Smoothing, state filtering, decompositions, fMRI & imaging, Physiology & signal measures
Keywords: Neuroscience, Anatomy
MeSH: Cerebrospinal Fluid*, Glymphatic System*, Magnetic Resonance Imaging*, Subarachnoid Space*, Brain, Female, Humans, Male (* major topic)
Topic: Cerebrospinal fluid and hydrocephalus (Cellular and Molecular Neuroscience, Neuroscience), according to OpenAlex
Funding: Leducq Foundation Joint Program for Neurodegenerative Diseases (JPND) on Human Brain Clearance Imaging (HBCI) Alzheimer Nederland project WE.03-2024-13 NWO for Vici project 016.160.351 Human Measurement Models project 18969-Virtual Cerebrovascular Responses
Citations: cited by 1 paper (Europe PMC); 35 references in the paper

Abstract

Cerebrospinal fluid (CSF) is thought to facilitate brain waste clearance and immune surveillance, yet its compartmentalization remains unclear. Previous work, using invasive dynamic intrathecal MRI contrast imaging, identified a perivascular subarachnoid space (PVSAS) that enhances along the major cerebral arteries with a ‘donut’-like appearance. These findings suggest that the PVSAS may be separated from the surrounding broader subarachnoid space (SAS) by a semipermeable perivascular membrane. To investigate if the PVSAS could be observed non-invasively in healthy controls, we used a magnetic resonance imaging technique, CSF-STREAM (CSF-Selective T2-prepared REadout with Acceleration and Mobility-encoding), that assesses CSF-mobility at a high spatial resolution by isolating CSF from blood and tissue signal. Here, we observe high CSF-mobility next to the vasculature, with a steep drop-off into the surrounding SAS around both the middle and anterior cerebral arteries, suggesting the presence of the PVSAS in healthy controls. We find that CSF dynamics may be more spatially distinct than previously thought, providing a possible foundation for understanding brain CSF patterns in health and disease.

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

Repository

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

ninafultz/csf_donuts

License: none: the authors keep all their rights
State: the link answers, verified on 27 September 2026
Evidence: files inventoried
Commit: 188e02096d306486015e44d1922a02e36bdb9ba2, 22 June 2026
Languages: MATLAB (108), Shell (18), Jupyter (3), Python (1)
Size: 158 files, 130 scripts
Software Heritage: not archived
Found in: “Code availability”
Holds: README, 1 notebook
Not found: license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: Image Processing Toolbox (49 files), FreeSurfer (10 files), Statistics and Machine Learning Toolbox (7 files), Tools for NIfTI and ANALYZE image (MATLAB) (7 files), SPM (7 files), Violinplot-Matlab (6 files), FSL (5 files), Curve Fitting Toolbox (3 files), Matplotlib (2 files), Nilearn (2 files), Numba (2 files), NumPy (2 files), scikit-image (2 files), scikit-learn (2 files), SciPy (2 files), Optimization Toolbox (1 file)
Availability: 1 check, the latest on 27 September 2026: the link answers
  • 27 September 2026: the link answers
131 files

Code availability

Code can be found at: https://github.com/ninafultz/csf_donuts, and archived via Zenodo (https://doi.org/10.5281/zenodo.20814851)35.

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

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:

  • 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 130 scripts, each with its path and the digest of its content;
  • 7 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

Datasets cited

Data availability

Source data are available via Zenodo (https://doi.org/10.5281/zenodo.20814851)35. Source data are provided with this paper.

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, 27 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 10 authors, 2 keywords, 8 MeSH terms, 1 funder, 34 references.

Cite

This paper

Fultz, N. E., Ringstad, G., Debiasi, M., Roefs, E. C. A., Svensson, S. F., Eide, P. K., van Walderveen, M. A. A., de Bresser, J., van Osch, M. J. P., & Hirschler, L. (2026). Non-invasive characterization of perivascular subarachnoid spaces. Nature communications, 17(1), 9496. https://doi.org/10.1038/s41467-026-76306-9

BibTeX

@article{fultz2026non,
author = {Fultz, Nina E. and Ringstad, Geir and Debiasi, Madda and Roefs, Emiel C. A. and Svensson, Siri Fløgstad and Eide, Per Kristian and van Walderveen, Marianne A. A. and de Bresser, Jeroen and van Osch, Matthias J. P. and Hirschler, Lydiane},
title = {{Non-invasive characterization of perivascular subarachnoid spaces}},
journal = {Nature communications},
year = {2026},
month = aug,
volume = {17},
number = {1},
pages = {9496},
publisher = {Nature Publishing Group},
issn = {2041-1723},
doi = {10.1038/s41467-026-76306-9},
url = {https://doi.org/10.1038/s41467-026-76306-9},
pmid = {42693113},
pmcid = {PMC13542271}
}

RIS

TY - JOUR
AU - Fultz, Nina E.
AU - Ringstad, Geir
AU - Debiasi, Madda
AU - Roefs, Emiel C. A.
AU - Svensson, Siri Fløgstad
AU - Eide, Per Kristian
AU - van Walderveen, Marianne A. A.
AU - de Bresser, Jeroen
AU - van Osch, Matthias J. P.
AU - Hirschler, Lydiane
TI - Non-invasive characterization of perivascular subarachnoid spaces
T2 - Nature communications
J2 - Nat Commun
PY - 2026
DA - 2026/08/05
VL - 17
IS - 1
SP - 9496
SN - 2041-1723
PB - Nature Publishing Group
DO - 10.1038/s41467-026-76306-9
UR - https://doi.org/10.1038/s41467-026-76306-9
LA - en
ER -

CSL-JSON

{
"id": "10.1038/s41467-026-76306-9",
"type": "article-journal",
"title": "Non-invasive characterization of perivascular subarachnoid spaces",
"container-title": "Nature communications",
"author": [
{
"family": "Fultz",
"given": "Nina E."
},
{
"family": "Ringstad",
"given": "Geir"
},
{
"family": "Debiasi",
"given": "Madda"
},
{
"family": "Roefs",
"given": "Emiel C. A."
},
{
"family": "Svensson",
"given": "Siri Fløgstad"
},
{
"family": "Eide",
"given": "Per Kristian"
},
{
"family": "van Walderveen",
"given": "Marianne A. A."
},
{
"family": "de Bresser",
"given": "Jeroen"
},
{
"family": "van Osch",
"given": "Matthias J. P."
},
{
"family": "Hirschler",
"given": "Lydiane"
}
],
"container-title-short": "Nat Commun",
"volume": "17",
"issue": "1",
"page": "9496",
"DOI": "10.1038/s41467-026-76306-9",
"PMID": "42693113",
"PMCID": "PMC13542271",
"ISSN": "2041-1723",
"publisher": "Nature Publishing Group",
"URL": "https://doi.org/10.1038/s41467-026-76306-9",
"language": "en",
"issued": {
"date-parts": [
[
2026,
8,
5
]
]
}
}

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/s41586-026-10631-3 [code]
A prognostic human brain network for diffuse midline glioma.
Journal: Nature
In common: Curve Fitting Toolbox, Tools for NIfTI and ANALYZE image (MATLAB), Optimization Toolbox, 10 other tools
[2] doi:10.1038/s41467-026-71151-2 [code]
Common and distinct neural correlates of social interaction processing and theory of mind in narratives.
Journal: Nature communications
In common: Violinplot-Matlab, Optimization Toolbox, Numba, 10 other tools
[3] doi:10.1162/imag.a.1262 [code]
Frame-wise multi-echo distortion correction for superior functional MRI.
Journal: Imaging neuroscience (Cambridge, Mass.)
In common: Tools for NIfTI and ANALYZE image (MATLAB), Optimization Toolbox, FreeSurfer, 9 other tools
[4] doi:10.1038/s41467-026-74565-0 [code]
The functional neurobiology of dispositions towards negative emotions.
Journal: Nature communications
In common: Violinplot-Matlab, Optimization Toolbox, Numba, 7 other tools
[5] doi:10.1002/hbm.70577 [code]
Disgust Propensity, Not Disgust Sensitivity, Shapes the Reactivity of a Subjective Disgust Circuit in Humans.
Journal: Human brain mapping
In common: Violinplot-Matlab, Optimization Toolbox, Numba, 7 other tools
[6] doi:10.1371/journal.pbio.3003856 [code]
Aging and metabolism contribute separately to brain-body health.
Journal: PLoS biology
In common: Tools for NIfTI and ANALYZE image (MATLAB), FreeSurfer, FSL, 8 other tools, structural MRI / diffusion
[7] doi:10.1093/braincomms/fcag134 [code]
Neurophysiological, imaging and neurobiological markers of central fatigue in multiple sclerosis.
Journal: Brain communications
In common: Tools for NIfTI and ANALYZE image (MATLAB), FreeSurfer, FSL, 8 other tools, structural MRI / diffusion
[8] doi:10.1073/pnas.2526239123 [code]
Quantitative assessment of flow between cerebrospinal and interstitial fluid compartments in humans.
Journal: Proceedings of the National Academy of Sciences of the United States of America
In common: Optimization Toolbox, structural MRI / diffusion, 8 references
[9] doi:10.1038/s41386-026-02426-x [code]
A frontotemporal dementia-like phenotype in schizophrenia: links to striatal dopamine and iron accumulation.
Journal: Neuropsychopharmacology : official publication of the American College of Neuropsychopharmacology
In common: Tools for NIfTI and ANALYZE image (MATLAB), Optimization Toolbox, Numba, 7 other tools, structural MRI / diffusion
[10] doi:10.1016/j.bbih.2026.101299 [code]
Multimodal approach to identify neuropsychophysiological subgroups in myalgic encephalomyelitis/chronic fatigue syndrome and their relevance for rehabilitation: protocol for a mechanistic cross-sectional and longitudinal study.
Journal: Brain, behavior, & immunity - health
In common: Violinplot-Matlab, Tools for NIfTI and ANALYZE image (MATLAB), Optimization Toolbox, 6 other tools

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.