OSCR

White matter microstructure differences in obstructive sleep apnea severity groups assessed by diffusion tensor metrics and biophysical modeling.

Code ↔ Paper

5 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 5 matches
  1. [1] § Materials and Methods › MRI processing: dMRI metrics ↔ designer2/designer.py, lines 6–104 · score 0.95 · Rician bias correction, Gibbs ringing, adaptive patch, motion correction, distortion correction, Partial Fourier
  2. [2] § Materials and Methods › MRI processing: dMRI metrics ↔ lib/smi.py, lines 1351–1473 · score 0.86 · Rician bias, SMI parameter, free water, parametric maps, EAS, ODF
  3. [3] § Materials and Methods › MRI acquisition ↔ designer2/designer.py, lines 6–104 · score 0.81 · EPI distortion correction, reverse phase encoding, diffusion gradient, partial Fourier, MR, TE
  4. [4] § Materials and Methods › MRI acquisition ↔ lib/designer_func_wrappers.py, lines 172–247 · score 0.54 · phase encoding direction, partial Fourier
  5. [5] § Materials and Methods › MRI processing: dMRI metrics ↔ designer2/tmi.py, lines 66–147 · score 0.53 · DKI parametric, outlier, nonlinear, MK, SMI, MD

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

Python · 278 lines · 19 KB · MIT · 2 matches

  1. #!/usr/bin/env python3
  2. from lib.designer_input_utils import *
  3. from lib.designer_func_wrappers import *
  4. def usage(cmdline): #pylint: disable=unused-variable
  5. from mrtrix3 import app #pylint: disable=no-name-in-module, import-outside-toplevel
  6. cmdline.set_copyright("""Copyright (c) 2016 New York University.\n\n
  7. Permission is hereby granted, free of charge, to any non-commercial entity (\'Recipient\') obtaining a copy of this software and associated documentation files (the \'Software\'), to the Software solely for non-commercial research, including the rights to use, copy and modify the Software, subject to the following conditions\n
  8. 1. The above copyright notice and this permission notice shall be included by Recipient in all copies or substantial portions of the Software.\n
  9. 2. THE SOFTWARE IS PROVIDED \'AS IS\', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIESvOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF ORIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n
  10. 3. In no event shall NYU be liable for direct, indirect, special, incidental or consequential damages in connection with the Software. Recipient will defend, indemnify and hold NYU harmless from any claims or liability resulting from the use of the Software by recipient.\n
  11. 4. Neither anything contained herein nor the delivery of the Software to recipient shall be deemed to grant the Recipient any right or licenses under any patents or patent application owned by NYU.\n
  12. 5. The Software may only be used for non-commercial research and may not be used for clinical care.\n
  13. 6. Any publication by Recipient of research involving the Software shall cite the references listed below.\n
  14. """)
  15. cmdline.set_author('Benjamin Ades-Aron ([email hidden])')
  16. cmdline.set_synopsis("""Designer by default, with no optional arguments used:\n
  17. "designer <input> <output>" will not perform any preprocessing. Each preprocessing step must be chosen using the appropriate option. For example usage please see the Designer documentation at https://nyu-diffusionmri.github.io/docs/designer/examples/\n
  18. 1. pre-check: concatenate all dwi series and make sure the all diffusion AP images and PA image have the same matrix dimensions/orientations. Ensure input parameters are reasonable, perform a check on diffusion gradient scheme.\n
  19. 2. Denoising\n
  20. 3. Gibbs ringing correction\n
  21. 4. EPI distortion and Motion Correction\n
  22. 5. Normalization\n
  23. 6. Rician bias correction\n
  24. """)
  25. cmdline.add_citation('Veraart, J.; Novikov, D.S.; Christiaens, D.; Ades-aron, B.; Sijbers, J. & Fieremans, E. Denoising of diffusion MRI using random matrix theory. NeuroImage, 2016, 142, 394-406, doi: 10.1016/j.neuroimage.2016.08.016',is_external=True)
  26. cmdline.add_citation('Veraart, J.; Fieremans, E. & Novikov, D.S. Diffusion MRI noise mapping using random matrix theory. Magn. Res. Med., 2016, 76(5), 1582-1593, doi:10.1002/mrm.26059',is_external=True)
  27. cmdline.add_citation('Kellner, E., et al., Gibbs-Ringing Artifact Removal Based on Local Subvoxel-Shifts. Magnetic Resonance in Medicine, 2016. 76(5): p. 1574-1581.',is_external=True)
  28. cmdline.add_citation('Koay, C.G. and P.J. Basser, Analytically exact correction scheme for signal extraction from noisy magnitude MR signals. Journal of Magnetic Resonance, 2006. 179(2): p. 317-322.',is_external=True)
  29. cmdline.add_citation('Andersson, J. L. & Sotiropoulos, S. N. An integrated approach to correction for off-resonance effects and subject movement in diffusion MR imaging. NeuroImage, 2015, 125, 1063-1078', is_external=True)
  30. cmdline.add_citation('Smith, S. M.; Jenkinson, M.; Woolrich, M. W.; Beckmann, C. F.; Behrens, T. E.; Johansen-Berg, H.; Bannister, P. R.; De Luca, M.; Drobnjak, I.; Flitney, D. E.; Niazy, R. K.; Saunders, J.; Vickers, J.; Zhang, Y.; De Stefano, N.; Brady, J. M. & Matthews, P. M. Advances in functional and structural MR image analysis and implementation as FSL. NeuroImage, 2004, 23, S208-S219', is_external=True)
  31. cmdline.add_citation('Skare, S. & Bammer, R. Jacobian weighting of distortion corrected EPI data. Proceedings of the International Society for Magnetic Resonance in Medicine, 2010, 5063', is_external=True)
  32. cmdline.add_citation('Andersson, J. L.; Skare, S. & Ashburner, J. How to correct susceptibility distortions in spin-echo echo-planar images: application to diffusion tensor imaging. NeuroImage, 2003, 20, 870-888', is_external=True)
  33. cmdline.add_citation('Zhang, Y.; Brady, M. & Smith, S. Segmentation of brain MR images through a hidden Markov random field model and the expectation-maximization algorithm. IEEE Transactions on Medical Imaging, 2001, 20, 45-57', is_external=True)
  34. cmdline.add_citation('Smith, S. M.; Jenkinson, M.; Woolrich, M. W.; Beckmann, C. F.; Behrens, T. E.; Johansen-Berg, H.; Bannister P. R.; De Luca, M.; Drobnjak, I.; Flitney, D. E.; Niazy, R. K.; Saunders, J.; Vickers, J.; Zhang, Y.; DeStefano, N.; Brady, J. M. & Matthews, P. M. Advances in functional and structural MR image analysis and implementation as FSL. NeuroImage, 2004,23, S208-S219', is_external=True)
  35. cmdline.add_argument('input', help='The input DWI series. For multiple input series, separate file names with commas (i.e. dwi1.nii,dwi2.nii,...)')
  36. cmdline.add_argument('output', help='The output basename')
  37. options = cmdline.add_argument_group('Other options for the DESIGNER script')
  38. options.add_argument('-degibbs', action='store_true', help='Perform (RPG) Gibbs artifact correction. Must include PF factor with -pf (e.g. 6/8, 7/8) and PF dimension -dim (1, 2 or 3 for i, j or k respectively).')
  39. options.add_argument('-rician', action='store_true', help='Perform Rician bias correction')
  40. options.add_argument('-noisemap', metavar=('<noise map image>'), help='Used along with Rician correction if denoising was done outside of designer')
  41. options.add_argument('-b1correct', action='store_true', help='Include a bias correction step in dwi preprocessing', default=False)
  42. options.add_argument('-normalize', action='store_true', help='normalize the dwi volume to median b0 CSF intensity of 1000 (useful for multiple dwi acquisitions)', default=False)
  43. options.add_argument('-mask', action='store_true',help='compute a brain mask prior to tensor fitting to strip skull and improve efficiency')
  44. options.add_argument('-echo_time',metavar=('<TE1,TE2,...>'),help='specify the echo time used in the acquisition (comma separated list the same length as number of inputs)')
  45. options.add_argument('-bshape',metavar=('<beta1,beta2,...>'),help='specify the b-shape used in the acquisition (comma separated list the same length as number of inputs)')
  46. options.add_argument('-pre_align',action='store_true',help='rigidly align each input series to correct for large motion between series')
  47. options.add_argument('-ants_motion_correction',action='store_true',help='perform rigid motion correction using ANTs (useful for cases where eddy breaks down)')
  48. options.add_argument('-pe_dir', metavar=('<phase encoding direction>'), help='Specify the phase encoding direction of the input series (required if using the eddy option). Can be a signed axis number (e.g. -0, 1, +2), an axis designator (e.g. RL, PA, IS), or NIfTI axis codes (e.g. i-, j, k)')
  49. options.add_argument('-pf', metavar=('<PF factor>'), help='Specify the partial fourier factor (e.g. 7/8, 6/8)')
  50. options.add_argument('-datatype', metavar=('<spec>'), help='If using the "-processing_only" option, you can specify the output datatype. Valid options are float32, float32le, float32be, float64, float64le, float64be, int64, uint64, int64le, uint64le, int64be, uint64be, int32, uint32, int32le, uint32le, int32be, uint32be, int16, uint16, int16le, uint16le, int16be, uint16be, cfloat32, cfloat32le, cfloat32be, cfloat64, cfloat64le, cfloat64be, int8, uint8, bit')
  51. options.add_argument('-fslbvec',metavar=('<bvecs>'),help='specify bvec path if path is different from the path to the dwi or the file has an unusual extension')
  52. options.add_argument('-fslbval',metavar=('<bvals>'),help='specify bval path if path is different from the path to the dwi or the file has an unusual extension')
  53. options.add_argument('-bids',metavar=('<bids1,bids2,...>'),help='specify bids.json path if path is different from the path to the dwi or the file has an unusual extension')
  54. options.add_argument('-n_cores',metavar=('<ncores>'),help='specify the number of cores to use in parallel tasks, by default designer will use available cores - 2', default=-3)
  55. mp_options = cmdline.add_argument_group('Options for specifying denoising parameters')
  56. mp_options.add_argument('-patch2self', action='store_true', help='Perform patch2self')
  57. mp_options.add_argument('-denoise', action='store_true', help='Perform MPPCA')
  58. mp_options.add_argument('-shrinkage',metavar=('<shrink>'),help='specify shrinkage type for MPPCA. Options are "threshold" or "frob"', default='threshold')
  59. mp_options.add_argument('-algorithm',metavar=('<alg>'),help='specify MP algorithm. Options are "veraart","(cordero-grande)","jespersen"',default='cordero-grande')
  60. mp_options.add_argument('-extent', metavar=('<size>'), help='MPPCA Denoising extent. Default is 5,5,5')
  61. mp_options.add_argument('-phase', metavar=('<image>'), help='Diffusion phases - for performing denoising on complex data. This option should not be used alongside "-rician" since denoising complex data reduces the noise floor.', default=None)
  62. mp_options.add_argument('-adaptive_patch', action='store_true', help='Run MPPCA with adaptive patching')
  63. mp_options.add_argument('-adaptive_patch_length', metavar=('<len>'), help='Size of the adaptive patch for MPPCA denoising. Default is 80% of the kernel size')
  64. rpe_options = cmdline.add_argument_group('Options for eddy and to specify the acquisition phase-encoding design')
  65. rpe_options.add_argument('-eddy', action='store_true', help='run fsl eddy (note that if you choose this command you must also choose a phase encoding option')
  66. rpe_options.add_argument('-eddy_groups',metavar=('<index1,index2,...'),help='specify how input series should be grouped when running eddy, for use with variable TE or b-shape data. (Comma separated list of integers beginning with 1, i.e. 1,1,1,2,2,2 for 6 series where the first 3 series and second 3 series have different echo times).', default=None)
  67. rpe_options.add_argument('-eddy_fakeb',metavar=('<factor1,factor2,...'),help='specify how b-values of the input series should be scaled, for use with variable TE or b-shape data.', default=None)
  68. rpe_options.add_argument('-rpe_none', action='store_true', help='Specify that no reversed phase-encoding image data is being provided; eddy will perform eddy current and motion correction only')
  69. rpe_options.add_argument('-rpe_pair', metavar=('<reverse PE b=0 image>'), help='Specify the reverse phase encoding image')
  70. rpe_options.add_argument('-rpe_all', metavar=('<reverse PE dwi volume>'), help='Specify that ALL DWIs have been acquired with opposing phase-encoding; this information will be used to perform a recombination of image volumes (each pair of volumes with the same b-vector but different phase encoding directions will be combined together into a single volume). The argument to this option is the set of volumes with reverse phase encoding but the same b-vectors as the input image')
  71. rpe_options.add_argument('-rpe_header', action='store_true', help='Specify that the phase-encoding information can be found in the image header(s), and that this is the information that the script should use')
  72. rpe_options.add_argument('-rpe_te', metavar=('<echo time (s)>'), help='Specify the echo time of the reverse phase encoded image, if it is not accompanied by a bids .json sidecar.')
  73. rpe_options.add_argument('-eddy_quad_output', metavar=('<path>'), help='path to a not yet existing directory you want to save eddy_quad output to')
  74. rpe_options.add_argument('-eddy_quad_off', action='store_true', help='skip eddy_quad')
  75. etc_options = cmdline.add_argument_group('Other options')
  76. etc_options.add_argument('-set_seed', action='store_true', help='set random seed and make eddy deterministic', default=False)
  77. def execute(): #pylint: disable=unused-variable
  78. from mrtrix3 import app, fsl, run, path #pylint: disable=no-name-in-module, import-outside-toplevel
  79. import pandas as pd
  80. import numpy as np
  81. import os
  82. import random
  83. from pathlib import Path
  84. if app.ARGS.set_seed:
  85. seed = 42
  86. np.random.seed(seed)
  87. random.seed(seed)
  88. # create a temporary directory to store processing files
  89. app.make_scratch_dir()
  90. # grab the fsl suffix stored in $FSLOUTPUTTYPLE
  91. fsl_suffix = fsl.suffix()
  92. # create dict containing metadata from either user input args or bids .json sidecars
  93. dwi_metadata = get_input_info(
  94. app.ARGS.input, app.ARGS.fslbval, app.ARGS.fslbvec, app.ARGS.bids)
  95. # if rpe_pair is selected then get metadata for the rpe_data
  96. if getattr(app.ARGS, "rpe_pair", None):
  97. rpe_path = app.ARGS.rpe_pair
  98. # Strip off .gz if present, then .nii
  99. if rpe_path.endswith(".nii.gz"):
  100. base = rpe_path[:-7] # remove .nii.gz
  101. elif rpe_path.endswith(".nii"):
  102. base = rpe_path[:-4] # remove .nii
  103. else:
  104. base, _ = os.path.splitext(rpe_path)
  105. rpe_bval = base + ".bval"
  106. rpe_bvec = base + ".bvec"
  107. rpe_json = base + ".json"
  108. rpe_metadata = get_input_info(
  109. rpe_path, rpe_bval, rpe_bvec, rpe_json
  110. )
  111. # ensure inputs are reasonable for subsequent dwi processing
  112. # assert_inputs(dwi_metadata, app.ARGS.pe_dir, app.ARGS.pf)
  113. # convert input data to .mif format and concatenate
  114. convert_input_data(dwi_metadata)
  115. # get a table of b-shells, echo times, and b-shapes
  116. shell_table = create_shell_table(dwi_metadata)
  117. shell_rows = ['b-value', 'b-shape', 'n volumes', 'echo time']
  118. shell_df = pd.DataFrame(data = shell_table,
  119. index = shell_rows)
  120. print('input DWI data has properties:')
  121. print(shell_df)
  122. outpath = Path(app.ARGS.output)
  123. abs_outpath = outpath.resolve()
  124. abs_outpath.parent.mkdir(parents=True, exist_ok=True)
  125. if abs_outpath.suffix == '':
  126. abs_outpath = abs_outpath.with_suffix('.nii')
  127. app.goto_scratch_dir()
  128. # begin pipeline
  129. # denoising
  130. if app.ARGS.denoise:
  131. if app.ARGS.phase:
  132. phasepath = 'phase.nii'
  133. else:
  134. phasepath = None
  135. # by default perform mppca denoising with optional phase denoising for complex data
  136. run_mppca(
  137. app.ARGS.extent, phasepath, app.ARGS.shrinkage, app.ARGS.algorithm, dwi_metadata)
  138. # patch2self can be run either in addition or alternatively to mppca
  139. if app.ARGS.patch2self:
  140. run_patch2self()
  141. # rpg gibbs artifact correction
  142. # if app.ARGS.degibbs:
  143. # run_degibbs(dwi_metadata['pf'], dwi_metadata['pe_dir'],dwi_metadata['stride'])
  144. # Always run degibbs on main input if --degibbs is set
  145. if getattr(app.ARGS, "degibbs", False):
  146. run_degibbs_flexible("working.mif", dwi_metadata['pf'], dwi_metadata['pe_dir'], dwi_metadata['stride'], output_prefix="working")
  147. # rigid alignment of b0s from separate input series
  148. if app.ARGS.pre_align:
  149. run_pre_align(dwi_metadata)
  150. # rigid alignment of each dwi volume to the prior volume
  151. if app.ARGS.ants_motion_correction:
  152. run_ants_moco(dwi_metadata)
  153. # eddy current, succeptibility, motion correction
  154. if app.ARGS.eddy:
  155. run_eddy(shell_table, dwi_metadata)
  156. # if app.ARGS.denoise_after_eddy:
  157. # run_sigma_denoiser(dwi_metadata)
  158. # b1 bias correction and b0 normalization - added by omnia (enable)
  159. if app.ARGS.b1correct:
  160. run_b1correct(dwi_metadata)
  161. # generate a final brainmask
  162. if app.ARGS.mask or app.ARGS.normalize:
  163. create_brainmask(fsl_suffix,dwi_metadata)
  164. # Forced after b1 correction and moved before rician bias correction - added by omnia (enable)
  165. # normalize separate input series (voxelwise) such that b0 images are properly scaled
  166. if app.ARGS.normalize or app.ARGS.b1correct:
  167. if app.ARGS.b1correct:
  168. print("running b0 normalization because -b1correct was requested.")
  169. run_normalization(dwi_metadata)
  170. # rician bias correction
  171. if app.ARGS.phase and app.ARGS.rician:
  172. print('phase included, skipping approximated bias correction')
  173. elif app.ARGS.rician and not app.ARGS.phase:
  174. run_rice_bias_correct(dwi_metadata)
  175. run.command('mrinfo -export_grad_fsl dwi_designer.bvec dwi_designer.bval working.mif', show=False)
  176. orig_stride = dwi_metadata['stride']
  177. run.command('mrconvert -force -stride %s -datatype float32le working.mif dwi_designer.nii' %
  178. (orig_stride), show=False)
  179. dir_path = abs_outpath.parent
  180. out_name = abs_outpath.stem
  181. if app.ARGS.datatype:
  182. run.command('mrconvert -force -stride %s -datatype %s -export_grad_fsl "%s" "%s" %s "%s"' %
  183. (orig_stride,
  184. app.ARGS.datatype,
  185. dir_path / f"{out_name}.bvec",
  186. dir_path / f"{out_name}.bval",
  187. 'working.mif',
  188. abs_outpath))
  189. else:
  190. run.command('mrconvert -force -stride %s -export_grad_fsl "%s" "%s" %s "%s"' %
  191. (orig_stride,
  192. dir_path / f"{out_name}.bvec",
  193. dir_path / f"{out_name}.bval",
  194. 'working.mif',
  195. abs_outpath))
  196. bshapes = dwi_metadata['bshape_per_volume']
  197. tes = dwi_metadata['echo_time_per_volume']
  198. if len(set(bshapes)) > 1:
  199. np.savetxt(dir_path / f"{out_name}.bshape", bshapes, fmt='%s', delimiter=' ', newline=' ')
  200. if len(set(tes)) > 1:
  201. np.savetxt(dir_path / f"{out_name}.echotime", tes, fmt='%s', delimiter=' ', newline=' ')
  202. #eddy_quad
  203. if app.ARGS.eddy:
  204. run_eddy_quad()
  205. def main():
  206. import mrtrix3
  207. mrtrix3.execute() #pylint: disable=no-member
  208. if __name__ == "__main__":
  209. main()

designer.py at commit 92e19a0, under MIT · at the source

Overview

Authors: Luisa F. Figueredo1, Jenny Chen2, Naomi L. Gaggi1,3, Xiaotong Song1,4, Tovia Jacobs1,5, Gabriela Silva-Albornoz1, Shayna Pehel6, Moses Gonzalez1, Sandra Giménez Badia7, Ivana Rosenzweig8, Sharon L. Naismith9, Jaime Ramos-Cejudo1, Joshua Gills10, Indu Ayappa11, David M. Rapoport11, Korey Kam11, Anna E. Mullins11,12, Ankit Parekh11, Andrew W. Varga11, Omonigho M. Bubu1,10, Esther Blessing1,3, Dmitry S. Novikov2, Els Fieremans2, Ricardo S. Osorio1,3
ORCID iDs: Xiaotong Song
  1. Brain Aging and Sleep Center, NYU Grossman School of Medicine,New York, USA
  2. Radiology Department, NYU Grossman School of Medicine,New York, USA
  3. Nathan Kline Institute for Psychiatric Research,Orangeburg, USA
  4. University of Kentucky,Lexington, USA
  5. Penn State Milton S. Hershey Medical Center,Hershey, USA
  6. Neuromodulation Lab, NYU Grossman School of Medicine,New York, USA
  7. Hospital de La Santa Creu y Sant Pau,Barcelona, Spain
  8. Sleep and Brain Plasticity Center, King’s College of London,London, UK
  9. Healthy Brain Ageing Program, Brain and Mind Centre, The University of Sydney,Sydney, Australia
  10. Aging Research in Sleep Equity and Dementia Prevention Program, NYU Grossman School of Medicine,New York, USA
  11. Mount Sinai Integrative Sleep Center, Division of Pulmonary, Critical Care, and Sleep Medicine, Icahn School of Medicine at Mount Sinai,New York, USA
  12. Monash University,Melbourne, Australia
Journal: Scientific reports, volume 16, issue 1, article 11963
Dates: received 25 September 2025; accepted 3 February 2026; published online 4 March 2026
Type: Research article · Language: English
License: CC BY-NC-ND
Identifiers: DOI 10.1038/s41598-026-39162-7 · PMID 41781414 · PMCID PMC13068906 · OpenAlex W7133490378
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: structural MRI / diffusion (modality), EEG (modality), human (organism), sleep disorders (population)
Methods: Statistics, Smoothing, state filtering, decompositions, Preprocessing, Connectivity, fMRI & imaging, Physiology & signal measures
Keywords: Brain, Magnetic resonance imaging, MRI, Diffusion tensor imaging, DTI, Diffusion kurtosis imaging, DKI, Standard model, SMI, White matter, Sleep, Obstructive sleep apnea, OSA, Memory, Engineering, Medical research, Neurology, Neuroscience
MeSH: Diffusion Tensor Imaging*, Sleep Apnea, Obstructive*, White Matter*, Adult, Female, Humans, Male, Middle Aged, Polysomnography, Severity of Illness Index (* major topic)
Topic: Obstructive Sleep Apnea Research (Physiology, Medicine), according to OpenAlex
Funding: National Institute on Aging (REC Scholar Program P30AG066512, R01AG082278, R21AG087904, R01AG056031, K23AG068534); Alzheimer’s Association (AARG-D-21-848397); Bright Focus Foundation, United States (ADR-A2022033S); American Academy of Sleep Medicine Foundation (BS-231-20); NINDS (R01NS088040); U.S. Department of Health & Human Services | NIH | National Institute of Biomedical Imaging and Bioengineering (NIBIB) (P41EB017183)
Citations: not cited yet (Europe PMC); 93 references in the paper

Abstract

The abstract is not reproduced here: the paper's license (CC BY-NC-ND) does not allow it. Read it in the paper, at the publisher or on Europe PMC.

Repository

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

NYU-DiffusionMRI/DESIGNER-v2

License: MIT
State: the link answers, verified on 30 September 2026
Evidence: files inventoried
Commit: 92e19a0f98980f9100162dc0acafa6efb0e385b3, 29 September 2026
Languages: Python (33), JavaScript (5), Shell (3), C++ (1)
Size: 309 files, 42 scripts
Software Heritage: not archived
Found in: the text, “MRI processing: dMRI metrics”
Holds: README, license file, environment (Dockerfile, pyproject.toml, requirements.txt, setup.py, .devcontainer/devcontainer-lock.json, .devcontainer/devcontainer.json, .devcontainer/Dockerfile, tests/requirements_test.txt), tests, continuous integration, documentation
Not found: CITATION.cff
Tools: NumPy (23 files), SciPy (7 files), MRtrix3 (6 files), ANTs (3 files), NiBabel (3 files), pandas (2 files), scikit-image (2 files), DIPY (1 file), Numba (1 file)
Availability: 1 check, the latest on 30 September 2026: the link answers
  • 30 September 2026: the link answers
44 files

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;
  • 42 scripts, each with its path and the digest of its content;
  • 5 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 statement

The paper has a data availability statement. Its license (CC BY-NC-ND) does not allow reproducing it here; in short, from what the harvester recognized in it:

  • it says that the data are available on request

Read it in the paper: doi.org/10.1038/s41598-026-39162-7.

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, 24 authors, 18 keywords, 10 MeSH terms, 6 funders, 90 references.

Cite

This paper

Figueredo, L. F., Chen, J., Gaggi, N. L., Song, X., Jacobs, T., Silva-Albornoz, G., Pehel, S., Gonzalez, M., Badia, S. G., Rosenzweig, I., Naismith, S. L., Ramos-Cejudo, J., Gills, J., Ayappa, I., Rapoport, D. M., Kam, K., Mullins, A. E., Parekh, A., Varga, A. W., . . . Osorio, R. S. (2026). White matter microstructure differences in obstructive sleep apnea severity groups assessed by diffusion tensor metrics and biophysical modeling. Scientific reports, 16(1), 11963. https://doi.org/10.1038/s41598-026-39162-7

BibTeX

@article{figueredo2026white,
author = {Figueredo, Luisa F. and Chen, Jenny and Gaggi, Naomi L. and Song, Xiaotong and Jacobs, Tovia and Silva-Albornoz, Gabriela and Pehel, Shayna and Gonzalez, Moses and Badia, Sandra Giménez and Rosenzweig, Ivana and Naismith, Sharon L. and Ramos-Cejudo, Jaime and Gills, Joshua and Ayappa, Indu and Rapoport, David M. and Kam, Korey and Mullins, Anna E. and Parekh, Ankit and Varga, Andrew W. and Bubu, Omonigho M. and Blessing, Esther and Novikov, Dmitry S. and Fieremans, Els and Osorio, Ricardo S.},
title = {{White matter microstructure differences in obstructive sleep apnea severity groups assessed by diffusion tensor metrics and biophysical modeling}},
journal = {Scientific reports},
year = {2026},
month = mar,
volume = {16},
number = {1},
pages = {11963},
publisher = {Nature Publishing Group},
issn = {2045-2322},
doi = {10.1038/s41598-026-39162-7},
url = {https://doi.org/10.1038/s41598-026-39162-7},
pmid = {41781414},
pmcid = {PMC13068906}
}

RIS

TY - JOUR
AU - Figueredo, Luisa F.
AU - Chen, Jenny
AU - Gaggi, Naomi L.
AU - Song, Xiaotong
AU - Jacobs, Tovia
AU - Silva-Albornoz, Gabriela
AU - Pehel, Shayna
AU - Gonzalez, Moses
AU - Badia, Sandra Giménez
AU - Rosenzweig, Ivana
AU - Naismith, Sharon L.
AU - Ramos-Cejudo, Jaime
AU - Gills, Joshua
AU - Ayappa, Indu
AU - Rapoport, David M.
AU - Kam, Korey
AU - Mullins, Anna E.
AU - Parekh, Ankit
AU - Varga, Andrew W.
AU - Bubu, Omonigho M.
AU - Blessing, Esther
AU - Novikov, Dmitry S.
AU - Fieremans, Els
AU - Osorio, Ricardo S.
TI - White matter microstructure differences in obstructive sleep apnea severity groups assessed by diffusion tensor metrics and biophysical modeling
T2 - Scientific reports
J2 - Sci Rep
PY - 2026
DA - 2026/03/04
VL - 16
IS - 1
SP - 11963
SN - 2045-2322
PB - Nature Publishing Group
DO - 10.1038/s41598-026-39162-7
UR - https://doi.org/10.1038/s41598-026-39162-7
LA - en
ER -

CSL-JSON

{
"id": "10.1038/s41598-026-39162-7",
"type": "article-journal",
"title": "White matter microstructure differences in obstructive sleep apnea severity groups assessed by diffusion tensor metrics and biophysical modeling",
"container-title": "Scientific reports",
"author": [
{
"family": "Figueredo",
"given": "Luisa F."
},
{
"family": "Chen",
"given": "Jenny"
},
{
"family": "Gaggi",
"given": "Naomi L."
},
{
"family": "Song",
"given": "Xiaotong"
},
{
"family": "Jacobs",
"given": "Tovia"
},
{
"family": "Silva-Albornoz",
"given": "Gabriela"
},
{
"family": "Pehel",
"given": "Shayna"
},
{
"family": "Gonzalez",
"given": "Moses"
},
{
"family": "Badia",
"given": "Sandra Giménez"
},
{
"family": "Rosenzweig",
"given": "Ivana"
},
{
"family": "Naismith",
"given": "Sharon L."
},
{
"family": "Ramos-Cejudo",
"given": "Jaime"
},
{
"family": "Gills",
"given": "Joshua"
},
{
"family": "Ayappa",
"given": "Indu"
},
{
"family": "Rapoport",
"given": "David M."
},
{
"family": "Kam",
"given": "Korey"
},
{
"family": "Mullins",
"given": "Anna E."
},
{
"family": "Parekh",
"given": "Ankit"
},
{
"family": "Varga",
"given": "Andrew W."
},
{
"family": "Bubu",
"given": "Omonigho M."
},
{
"family": "Blessing",
"given": "Esther"
},
{
"family": "Novikov",
"given": "Dmitry S."
},
{
"family": "Fieremans",
"given": "Els"
},
{
"family": "Osorio",
"given": "Ricardo S."
}
],
"container-title-short": "Sci Rep",
"volume": "16",
"issue": "1",
"page": "11963",
"DOI": "10.1038/s41598-026-39162-7",
"PMID": "41781414",
"PMCID": "PMC13068906",
"ISSN": "2045-2322",
"publisher": "Nature Publishing Group",
"URL": "https://doi.org/10.1038/s41598-026-39162-7",
"language": "en",
"issued": {
"date-parts": [
[
2026,
3,
4
]
]
}
}

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-70018-w [code]
Geometry of the cumulant series in diffusion MRI.
Journal: Nature communications
In common: structural MRI / diffusion, 15 references
[2] 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: DIPY, MRtrix3, NiBabel, 3 other tools, structural MRI / diffusion, 7 references
[3] doi:10.1038/s41598-026-51531-w [code]
Multimodal age-dependent diffusion-MRI analysis of the neocortex in a rat model of cortical dysplasia.
Journal: Scientific reports
In common: DIPY, MRtrix3, scikit-image, 4 other tools, structural MRI / diffusion, 5 references
[4] doi:10.1371/journal.pone.0346132 [code]
Analysis of cortical dysplasias using b-tensor encoding diffusion MRI in an animal model.
Journal: PloS one
In common: DIPY, MRtrix3, scikit-image, 3 other tools, structural MRI / diffusion, 5 references
[5] doi:10.1038/s43856-026-01614-6 [code]
Simulation-based inference at the theoretical limit for fast, robust microstructural MRI with minimal diffusion data.
Journal: Communications medicine
In common: DIPY, scikit-image, SciPy, 1 other tool, structural MRI / diffusion, 6 references
[6] doi:10.1109/tmi.2026.3664328 [code]
Axon Diameter Mapping From Myelin Water Diffusion MRI.
Journal: IEEE transactions on medical imaging
In common: MRtrix3, structural MRI / diffusion, 7 references
[7] doi:10.1038/s41597-026-06869-1 [code]
Individual Brain Charting: fifth release of high-resolution fMRI data for cognitive mapping.
Journal: Scientific data
In common: DIPY, MRtrix3, ANTs, 5 other tools, 2 references
[8] doi:10.2463/mrms.mp.2024-0149 [code]
Image Distortion Correction for Diffusion MR Imaging Using a Transformer-based U-Net.
Journal: Magnetic resonance in medical sciences : MRMS : an official journal of Japan Society of Magnetic Resonance in Medicine
In common: ANTs, scikit-image, NiBabel, 3 other tools, structural MRI / diffusion, 4 references
[9] doi:10.1002/mrm.70496 [code]
A Deep Nonlinear Subspace Modeling and Reconstruction for Diffusion-Weighted Imaging Using Denoising Auto-Encoder.
Journal: Magnetic resonance in medicine
In common: DIPY, MRtrix3, Numba, 3 other tools, structural MRI / diffusion, 2 references
[10] doi:10.1093/cercor/bhag132 [code]
Spatiotemporal white-matter development across early childhood.
Journal: Cerebral cortex (New York, N.Y. : 1991)
In common: DIPY, MRtrix3, ANTs, 4 other tools, structural MRI / diffusion, 1 reference

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.