OSCR

Measurement of the absolute value of the optical birefringence of myelin in primate brain tissue.

Code ↔ Paper

The paper beside its authors' code: matches between them have not been computed for this paper yet.

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 · 160 lines · 5.7 KB · MIT

  1. %% read all .csv file in the folder, process fwhm for 25 ROIs in each file, ...
  2. % record all of the fwhm into a table, should delete other .csv file while
  3. % use
  4. clc;clear; close all;
  5. % Load data from CSV file
  6. files = dir('*.csv');
  7. fileNames = {files.name};
  8. % Extract ROI numbers using regex
  9. roiNumbers = cellfun(@(x) str2double(regexp(x, 'ROI_(\d+)_ROI', 'tokens', 'once')),fileNames);
  10. % Sort files based on ROI numbers
  11. [~, sortIdx] = sort(roiNumbers);
  12. sortedFiles = fileNames(sortIdx);
  13. % Initialize results matrix to store all FWHM
  14. % Rows: 25 FWHM for 1 image (25 total), Columns: number of images
  15. results = zeros(length(files),25);
  16. for fileIdx = 1:length(files)
  17. % Get current file info
  18. data = readmatrix(sortedFiles{fileIdx});
  19. % Separate the z-axis locations (first column) and intensity profiles (remaining columns)
  20. z_values = 0:0.3:0.3*(size(data,1)-1); % z-axis in microns,step is 0.3um
  21. intensity_profiles = data(:,2:end); % Each column is a z-profile
  22. % Initialize vector to store FWHM for each profile
  23. fwhm_values = zeros(1, size(intensity_profiles, 2));
  24. % Create a new figure
  25. figure;
  26. hold on; % Keep all profiles on the same plot
  27. colors = lines(size(intensity_profiles, 2)); % Generate unique colors
  28. % Loop through each z-profile column to fit to Gaussian, calculate FWHM, and plot
  29. for i = 1:size(intensity_profiles, 2)
  30. % Extract and background subtract each profile
  31. intensity_profile = intensity_profiles(:, i);
  32. z_values1 = z_values';
  33. intensity_profile2 = intensity_profile(~isnan(intensity_profile));
  34. % Continue only if there are data points left after removing NaNs
  35. if isempty(z_values1) || isempty(intensity_profile2)
  36. continue;
  37. end
  38. background = min(intensity_profile2);
  39. intensity_profile3 = intensity_profile2 - background;
  40. % Define Gaussian fit type
  41. gauss_fit = fittype('a * exp(-((x-b)^2) / (2*c^2))', 'independent', 'x', 'coefficients', {'a', 'b', 'c'});
  42. % Fit the Gaussian model to the data
  43. [fit_result, ~] = fit(z_values1, intensity_profile3, gauss_fit, 'StartPoint', [max(intensity_profile3), mean(z_values1), std(z_values1)]);
  44. % Calculate FWHM from the fitted parameter c (standard deviation)
  45. sigma = fit_result.c;
  46. fwhm_values(i) = 2 * sqrt(2 * log(2)) * sigma;
  47. %Plot the original profile and the fitted Gaussian curve
  48. % plot(z_values1, intensity_profile3, 'Color', colors(i, :), 'LineWidth', 1.5); % Original data
  49. plot(z_values1, fit_result(z_values1), '--', 'Color', colors(i, :), 'LineWidth', 1.2); % Fitted Gaussian
  50. end
  51. % Create legend with FWHM values
  52. legend_entries = arrayfun(@(x, y) sprintf('ROI %d (FWHM: %.2f um)', x, y), 1:size(intensity_profiles, 2), fwhm_values, 'UniformOutput', false);
  53. legend(legend_entries,'FontSize', 9);
  54. % legend('boxoff')
  55. % Display average thickness
  56. sample_thickness = mean(fwhm_values);
  57. results(fileIdx,:) = fwhm_values;
  58. % Add labels and title
  59. xlabel('Z Location (um)');
  60. ylabel('Intensity (background subtracted)');
  61. title(sprintf('Gaussian-Fitted Intensity Profiles Across Z with FWHM img %d', fileIdx));
  62. grid on;
  63. hold off;
  64. set(gca, 'LooseInset', [0,0,0,0]);
  65. set(gcf, 'position',[100,100,600,600],'PaperPositionMode', 'auto');
  66. exportgraphics(gcf, sprintf('img_%d.png', fileIdx),'BackgroundColor', 'none');
  67. end
  68. %% Create table
  69. % Create column names (fwhm labels)
  70. fwhmLabels = cell(1,25);
  71. for i = 1:25
  72. fwhmLabels{i} = sprintf('fwhm_%d', i);
  73. end
  74. % Create row names (images)
  75. imgLabels = cell(length(files),1);
  76. for i = 1:length(files)
  77. imgLabels{i} = sprintf('img_%d', i);
  78. end
  79. % Convert to table
  80. resultsTable = array2table(results,'VariableNames', fwhmLabels, ...
  81. 'RowNames', imgLabels);
  82. % Save results
  83. %%%%%%%%%%%%%%%%%%%%%%%%%
  84. % saveName = sprintf('49img_25ROI_analysis.csv');
  85. % writetable(resultsTable, fullfile(pwd, saveName), ...
  86. % 'WriteRowNames', true);
  87. %% plot boxplot for the table
  88. % Calculate the mean of each row
  89. row_means = mean(results, 2);
  90. % Create a box plot for the data
  91. figure;
  92. boxplot(results', 'Whisker', 1.5); % Transpose data so each row is treated as a group
  93. % Set x-axis labels to indicate rows
  94. xticks(1:size(results, 1)); % Set x-ticks at each boxplot position
  95. xticklabels(arrayfun(@(x) ['img ', num2str(x)], 1:size(results, 1), 'UniformOutput', false));
  96. % Annotate the mean values below each box plot
  97. hold on;
  98. for i = 1:size(results, 1)
  99. text(i, mean(results(:)) + 0.3, sprintf('Mean: %.3f', row_means(i)), ...
  100. 'HorizontalAlignment', 'center', 'FontSize', 10, 'Color', 'black','Rotation',45);
  101. end
  102. hold off;
  103. % Add labels and title
  104. ylabel('FWHM of each img');
  105. xlabel('Img');
  106. title('Boxplot with FWHM in img');
  107. ylim([min(results(:)) - 0.1, max(results(:)) + 0.1]); % Adjust y-axis for annotations
  108. grid on;
  109. %% plot boxplot of 7 img, where they are located at the right corner of the matrix.
  110. ... Their focus plane are more centered
  111. row_to_plot = 7:7:size(results,1);
  112. results7 = results(row_to_plot,:);
  113. means7 = mean(results7,2);
  114. % Create a box plot for the filtered data
  115. figure;
  116. boxplot(results7', 'Whisker', 1.5); % Transpose data for boxplot
  117. % Annotate the mean values below each box plot
  118. hold on;
  119. for i = 1:size(results7, 1)
  120. text(i, mean(results7(:)) + 0.2, sprintf('Mean: %.3f', means7(i)), ...
  121. 'HorizontalAlignment', 'center', 'FontSize', 10, 'Color', 'black','Rotation',45);
  122. end
  123. hold off;
  124. % Add labels and title
  125. ylabel('FWHM of each img');
  126. xlabel('Img');
  127. title('Boxplot with FWHM in img');
  128. grid on;

plot_intensity.m at commit 581b153, under MIT · at the source

Overview

Authors: Ting Xie1, Anna Novoseltseva2, Alexander J. Gray2, Mikayla Bradsby3, Irving J. Bigio1,2,3,4
  1. Boston University, Department of Electrical and Computer Engineering, Boston, Massachusetts, United States
  2. Boston University, Department of Biomedical Engineering, Boston, Massachusetts, United States
  3. Boston University, Department of Physics, Boston, Massachusetts, United States
  4. Boston University School of Medicine, Department of Medicine, Boston, Massachusetts, United States
Institutions: Boston University (United States)
Journal: Neurophotonics, volume 13, issue 2, article 025011
Dates: received 10 October 2025; accepted 20 May 2026; published online 16 June 2026; in print April 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1117/1.nph.13.2.025011 · PMID 42326435 · PMCID PMC13276737 · OpenAlex W7165360014
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: histology / microscopy (modality), cellular / molecular (subfield)
Methods: Graphs
Keywords: optical anisotropy, birefringence microscopy, neurodegenerative diseases, myelin quantification
Topic: Optical Imaging and Spectroscopy Techniques (Radiology, Nuclear Medicine and Imaging, Medicine), according to OpenAlex
Funding: NIH (R01AG075727); National Science Foundation (CBET 2215990)
Citations: not cited yet (Europe PMC); 38 references in the paper

Abstract

Significance: Researchers require quantitative biomarkers to accurately identify neurodegenerative diseases and quantitatively monitor disease progression. The structural anisotropy of myelin leads to strong optical birefringence, enabling quantitative imaging with polarized-light microscopy imaging for detailed myelin assessment in neurodegenerative disease states and aging studies.

Aim: Our aim is to measure the absolute refractive index difference (birefringence) of the myelin sheath of primate brain tissue using birefringence microscopy (BRM).

Approach: Three-micron cryo-sectioned samples from the paraformaldehyde-fixed corpus callosum of a 22-year-old male rhesus macaque were analyzed using a BRM system. To quantify the absolute birefringence, transversely oriented axons were imaged with a 40× objective under red light-emitting diode illumination (λ=625 nm). Measurements focused on large myelinated axons (diameters ∼2 to 8 μm) mounted in 85% glycerol, ensuring high-resolution characterization of thick myelin sheaths.

Results: The myelin birefringence was determined to be Δn=0.012±0.001, representing the first absolute measurement of this optical property for myelin in primate brain tissue.

Conclusions: This absolute birefringence value enables quantification of myelin volume fraction and assessment of myelin loss in ex vivo measurements, providing an accurate optical biomarker for neurodegenerative diseases and aging studies through polarized light microscopic imaging.

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

Repository

Its files are read in the Code ↔ Paper reader above.

Ting24k/Myelin-Birefringence-measurement

License: MIT
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: 581b15373a77c59d87d6de467dc56c0706a08d2d, 22 April 2026
Languages: MATLAB (5)
Size: 63 files, 5 scripts
Software Heritage: not archived
Found in: “Code and Data Availability”
Holds: README, license file
Not found: CITATION.cff, environment file, tests, continuous integration, documentation
Availability: 1 check, the latest on 28 September 2026: the link answers
  • 28 September 2026: the link answers
7 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:

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

Code and Data Availability

All code used for the acquisition and analysis of qBRM data can be found at https://github.com/Ting24k/Myelin-Birefringence-measurement.git. All imaging data are available at the BioImage Archive under accession S-BSST2953: https://www.ebi.ac.uk/biostudies/studies/S-BSST2953.

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

Recorded: type, language, journal, volume, issue, pages, dates, 5 authors, 4 keywords, 2 funders, 34 references.

Cite

This paper

Xie, T., Novoseltseva, A., Gray, A. J., Bradsby, M., & Bigio, I. J. (2026). Measurement of the absolute value of the optical birefringence of myelin in primate brain tissue. Neurophotonics, 13(2), 025011. https://doi.org/10.1117/1.nph.13.2.025011

BibTeX

@article{xie2026measurement,
author = {Xie, Ting and Novoseltseva, Anna and Gray, Alexander J. and Bradsby, Mikayla and Bigio, Irving J.},
title = {{Measurement of the absolute value of the optical birefringence of myelin in primate brain tissue}},
journal = {Neurophotonics},
year = {2026},
month = apr,
volume = {13},
number = {2},
pages = {025011},
publisher = {Society of Photo-Optical Instrumentation Engineers},
issn = {2329-423X},
doi = {10.1117/1.nph.13.2.025011},
url = {https://doi.org/10.1117/1.nph.13.2.025011},
pmid = {42326435},
pmcid = {PMC13276737}
}

RIS

TY - JOUR
AU - Xie, Ting
AU - Novoseltseva, Anna
AU - Gray, Alexander J.
AU - Bradsby, Mikayla
AU - Bigio, Irving J.
TI - Measurement of the absolute value of the optical birefringence of myelin in primate brain tissue
T2 - Neurophotonics
J2 - Neurophotonics
PY - 2026
DA - 2026/04/01
VL - 13
IS - 2
SP - 025011
SN - 2329-423X
PB - Society of Photo-Optical Instrumentation Engineers
DO - 10.1117/1.nph.13.2.025011
UR - https://doi.org/10.1117/1.nph.13.2.025011
LA - en
ER -

CSL-JSON

{
"id": "10.1117/1.nph.13.2.025011",
"type": "article-journal",
"title": "Measurement of the absolute value of the optical birefringence of myelin in primate brain tissue",
"container-title": "Neurophotonics",
"author": [
{
"family": "Xie",
"given": "Ting"
},
{
"family": "Novoseltseva",
"given": "Anna"
},
{
"family": "Gray",
"given": "Alexander J."
},
{
"family": "Bradsby",
"given": "Mikayla"
},
{
"family": "Bigio",
"given": "Irving J."
}
],
"container-title-short": "Neurophotonics",
"volume": "13",
"issue": "2",
"page": "025011",
"DOI": "10.1117/1.nph.13.2.025011",
"PMID": "42326435",
"PMCID": "PMC13276737",
"ISSN": "2329-423X",
"publisher": "Society of Photo-Optical Instrumentation Engineers",
"URL": "https://doi.org/10.1117/1.nph.13.2.025011",
"language": "en",
"issued": {
"date-parts": [
[
2026,
4,
1
]
]
}
}

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-71614-6 [code]
Interferometric ultra-high resolution 3D imaging through brain sections.
Journal: Nature communications
In common: Curve Fitting Toolbox, Statistics and Machine Learning Toolbox, histology / microscopy, cellular / molecular
[2] 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: Curve Fitting Toolbox, Statistics and Machine Learning Toolbox, histology / microscopy
[3] 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: Curve Fitting Toolbox, Statistics and Machine Learning Toolbox, histology / microscopy
[4] doi:10.1111/jnc.70551 [code]
Synaptobrevin-2 Containing Extracellular Vesicles Are Rapidly Incorporated Into Mammalian Neurons via a Dynamin-Dependent Pathway.
Journal: Journal of neurochemistry
In common: Curve Fitting Toolbox, Statistics and Machine Learning Toolbox, cellular / molecular
[5] doi:10.1038/s41565-026-02180-7 [code]
Intracellular neuronal recordings across DNA tiles.
Journal: Nature nanotechnology
In common: Curve Fitting Toolbox, Statistics and Machine Learning Toolbox, cellular / molecular
[6] doi:10.1038/s41467-026-72935-2 [code]
Spindle neurons in human cortex possess distinctive firing properties and transcriptomic signatures.
Journal: Nature communications
In common: Curve Fitting Toolbox, Statistics and Machine Learning Toolbox, cellular / molecular
[7] doi:10.1002/glia.70141 [code]
Conservation of Neuron-Astrocyte Correlated Activity in Developing Sensory Pathways.
Journal: Glia
In common: Curve Fitting Toolbox, Statistics and Machine Learning Toolbox, cellular / molecular
[8] doi:10.1038/s41593-026-02247-7 [code]
Transcriptomic and phenotypic convergence of neurodevelopmental disorder risk genes in vitro and in vivo.
Journal: Nature neuroscience
In common: Curve Fitting Toolbox, Statistics and Machine Learning Toolbox, cellular / molecular
[9] doi:10.1016/j.isci.2026.115748 [code]
Huntingtin polyglutamine expansions misdirect axonal transport by perturbing motor and adaptor recruitment.
Journal: iScience
In common: Curve Fitting Toolbox, Statistics and Machine Learning Toolbox, cellular / molecular
[10] 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: Curve Fitting Toolbox, Statistics and Machine Learning Toolbox

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.