OSCR

Differential associations of plasma biomarkers with Alzheimer's disease and small vessel disease: A multimodal imaging study.

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

Python · 281 lines · 14 KB · other

  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. Extract voxel count, volume and cluster count for segmented WMH from (multiple) NIfTI files, corresponding to
  5. differnt patients and containing MARS segmentation label-maps, and aggregate these statistics across files into a single table.
  6. """
  7. import sys, os, glob, argparse, re, time
  8. import nibabel as nib
  9. import numpy as np
  10. import pandas as pd
  11. from scipy import ndimage
  12. import datetime
  13. def isDir(path):
  14. if not os.path.isdir(path):
  15. raise argparse.ArgumentTypeError("File path for directory has to be an existing directory. Please check: %s"%(path))
  16. else:
  17. return path
  18. def extNii(path):
  19. if not path.endswith('.nii.gz') and not path.endswith('.nii'):
  20. raise argparse.ArgumentTypeError("File path for filename has to end with '.nii' or 'nii.gz'. Please check: %s"%(path))
  21. else:
  22. return path
  23. def plausiblePath(path):
  24. if os.path.isdir(path):
  25. return path
  26. else:
  27. directory = os.path.dirname(path)
  28. base = os.path.basename(path)
  29. if len(base)>4 and base[-4:]=='.csv' and (len(directory)==0 or (len(directory)>1 and os.path.isdir(directory))):
  30. return path
  31. else:
  32. raise argparse.ArgumentTypeError("File path has to be an existing directory or a filename. If filename, it must end with '.csv' and can be optionally prepended by the path to an existing directory. Please check: %s"%(path))
  33. license = 'https://github.com/miac-research/MARS-WMH'
  34. region = 'WMH'
  35. regionSuffix = 'wmh'
  36. defaultFnOut = f"MARS-{region}_volumes_aggregated.csv"
  37. defaultLabels = [1]
  38. defaultNames = ['WMH']
  39. def iniParser():
  40. parser = argparse.ArgumentParser(description="Extract voxel count, volume and cluster count for segmented regions from (multiple) NIfTI files containing MARS label-maps and aggregate these statistics across files into a single table. MARS label-maps will be globbed in the specified DIRECTORY using the specified FILENAME and DEPTH.",
  41. add_help=False,
  42. epilog=f'Notice: By using MARS, you agree to the software license terms described at "{license}"')
  43. group0 = parser.add_argument_group()
  44. group0.add_argument(dest="directory", metavar='DIRECTORY', type=isDir, help="path to directory containing MARS label-maps (NIfTI files). Will be used for globbing.")
  45. group0.add_argument("-f", dest="filename", type=extNii, default=f"*_{regionSuffix}.nii.gz", help="name of MARS label-maps (default: '%(default)s'). Will be used for globbing and can contain wildcards ('*'). Requires extension '.nii[.gz]'.")
  46. group0.add_argument("-d", dest="depth", type=int, default=-1, help="depth for globbing (default: %(default)s, which means any depth).")
  47. group0.add_argument("-o", dest="output", metavar="OUTPUT-PATH", type=plausiblePath, default=defaultFnOut, help="path to write aggregated table to (default: %(default)s). If left at default or only a filename is provided, it will be saved into the DIRECTORY provided for globbing. If only a directory is provided, the default output-filename will be used.")
  48. group0.add_argument("-l", metavar='LABEL', dest='labels', type=int, action="extend", nargs="+", default=None, help=f"labels; i.e., integer values used to label voxels in the label map corresponding to the regions of interest (default: {defaultLabels}).")
  49. group0.add_argument("-n", metavar='NAME', dest='names', type=str, action="extend", nargs="+", default=None, help=f"names of regions of interest, corresponding to the labels chosen with option '-l' (default: {defaultNames}; can be 'None' to exclude names from table).")
  50. group0.add_argument("-c", dest='connectivity', type=int, default=1, help="Connectivity criterium for determining connected voxels belonging to the same cluster (default: %(default)s); possible values 1 (voxels must touch via surfaces; produces the most clusters), 2 (touching edge is sufficient), and 3 (touching vertex is sufficient; produces the fewest clusers).")
  51. group0.add_argument("-x", dest="overwrite", action='store_true', help="allow overwriting output if existing. By default, already existing output will raise an error.")
  52. group0.add_argument("-t", dest="appendDate", choices=['date', 'time', 'datetime'], default=None, help="append output filename with current date, time, or datetime (default: %(default)s), formated as '*[_YYYY-MM-DD][_HHMMSS].csv'")
  53. group0.add_argument("-q", dest="verbose", action='store_false', help="quiet mode; only warnings and errors are displayed.")
  54. group0.add_argument("-h", action="help", help="show this help message and exit")
  55. group0.add_argument("-help","--help", action="help", help=argparse.SUPPRESS)
  56. return parser
  57. if __name__ == "__main__":
  58. start = time.time()
  59. parser = iniParser()
  60. if len(sys.argv)==1:
  61. parser.print_usage()
  62. print(f'\nRun "{os.path.basename(__file__)} -h" for detailed help\n'
  63. f'Notice: By using MARS, you agree to the software license terms described at "{license}"\n')
  64. parser.exit()
  65. args = parser.parse_args()
  66. if args.verbose:
  67. print("Running: " + " ".join([os.path.basename(sys.argv[0])]+sys.argv[1::]))
  68. # construct output filename path
  69. if os.path.isdir(args.output):
  70. fnOut = os.path.join(args.output, defaultFnOut)
  71. elif os.path.dirname(args.output)=='':
  72. fnOut = os.path.join(args.directory, args.output)
  73. else:
  74. fnOut = args.output
  75. # append date
  76. if args.appendDate:
  77. if args.appendDate == 'date':
  78. date = datetime.datetime.now().strftime("%Y-%m-%d")
  79. elif args.appendDate == 'time':
  80. date = datetime.datetime.now().strftime("%H%M%S")
  81. elif args.appendDate == 'datetime':
  82. date = datetime.datetime.now().strftime("%Y-%m-%d_%H%M%S")
  83. fnOut = re.sub(r'\.csv$', f'_{date}.csv', fnOut)
  84. # check existence of output file
  85. if os.path.isfile(fnOut):
  86. if not args.overwrite:
  87. print(f'\nERROR: Output file already exists:\n {fnOut}')
  88. print(" Use option '-x' to overwrite existing file or change output filepath with option '-o' or '-t datetime'.\n")
  89. sys.exit(1)
  90. else:
  91. print(f'\nWARNING: Output file already exists and will be overwritten:\n {fnOut}')
  92. # check correspondance of labels and names
  93. background = 0
  94. if args.labels is None:
  95. args.labels = defaultLabels
  96. else:
  97. assert len(set(args.labels)) == len(args.labels), 'ERROR: requested labels have to be unique! Please check: ' + str(args.labels)
  98. assert all([x!=background for x in args.labels]), f'ERROR: label {background} is reserved for background! Please check: ' + str(args.labels)
  99. assert all([x>=0 for x in args.labels]), f'ERROR: negative labels are not supported! Please check: ' + str(args.labels)
  100. if args.names is None:
  101. args.names = defaultNames
  102. if args.names[0] == 'None':
  103. args.names = None
  104. elif len(args.labels) != len(args.names):
  105. print('ERROR: number of labels and of names (options "-l" and "-n") has to be equal!\nPlease check:')
  106. print(' Labels:', args.labels)
  107. print(' Names:', args.names)
  108. sys.exit(1)
  109. # find all MARS label-maps
  110. if args.depth == -1:
  111. depth = '**'
  112. depthStr = 'any depth'
  113. else:
  114. depth = '/'.join(['*'] * args.depth)
  115. depthStr = f'search depth = {args.depth}'
  116. if args.verbose: print(f'\nSearching for MARS label-maps in "{args.directory}" at {depthStr} and with pattern "{args.filename}":')
  117. fnames = sorted(glob.glob(os.path.join(args.directory, depth, args.filename), recursive=True))
  118. fnamesRel = [re.sub('^'+re.escape(args.directory),'',fname) for fname in fnames]
  119. if len(fnames) == 0:
  120. print(f'\nNo MARS label-maps found in "{args.directory}" at {depthStr} and with pattern "{args.filename}"')
  121. sys.exit(1)
  122. # display found label-maps
  123. if args.verbose:
  124. nShow = min(10, len(fnames))
  125. if nShow == len(fnames):
  126. print(f'\nFound {len(fnames)} label-maps:')
  127. for i in range(nShow):
  128. print(' '+fnamesRel[i])
  129. else:
  130. cc = 5
  131. print(f'\nFound {len(fnames)} label-maps')
  132. print(f'Showing first and last {cc} files:')
  133. for i in range(cc):
  134. print(' '+fnamesRel[i])
  135. print(' ...')
  136. for i in range(cc):
  137. print(' '+fnamesRel[len(fnames)-cc+i])
  138. # prepare to extract stats for all labels, if multiple labels are requested
  139. if args.verbose: print()
  140. if len(args.labels)>1:
  141. insertTotal = True
  142. labelsOut = args.labels + [-1]
  143. if args.names is not None:
  144. if set(args.names) == set(defaultNames):
  145. namesOut = args.names + ['brainstem']
  146. else:
  147. namesOut = args.names + ['merged regions'] #-- there is a small chance that there is a conflict with names chosen by user, but the labels will always be unique
  148. else:
  149. insertTotal = False
  150. labelsOut = args.labels
  151. if args.names is not None:
  152. namesOut = args.names
  153. # loop over label map files and extract stats
  154. stats = list()
  155. warnings = list()
  156. addNewLine='\n' if args.verbose else ''
  157. for i, file in enumerate(fnames):
  158. if args.verbose: print(f"\rReading {i+1}. out of {len(fnames)} files ...", end='')
  159. try:
  160. nii = nib.load(file)
  161. except:
  162. # print(addNewLine+' Error reading file:', fnamesRel[i])
  163. warnings.append([i+1, fnamesRel[i], 'error', 'file reading error', ''])
  164. continue
  165. if not np.issubdtype(nii.get_data_dtype(), np.integer):
  166. warnings.append([i+1, fnamesRel[i], 'warning', 'non-integer data type', nii.get_data_dtype()])
  167. # find unique labels and voxel counts
  168. map = nii.get_fdata()
  169. labels, voxels = np.unique(map, return_counts=True)
  170. if not np.all(labels == labels.astype('uint64')):
  171. # print(addNewLine+' Error: not all detected labels are positiv whole numbers:', fnamesRel[i])
  172. warnings.append([i+1, fnamesRel[i], 'error', 'not all detected labels are positiv whole numbers', labels[labels != labels.astype('uint64')]])
  173. continue
  174. if len(labels)==0:
  175. # print(addNewLine+' Error: no valid labels in:', fnamesRel[i])
  176. warnings.append([i+1, fnamesRel[i], 'error', 'no valid labels', setdiff])
  177. continue
  178. setdiff = list(set(labels[labels!=0]) - set(args.labels))
  179. if len(setdiff)>0:
  180. warnings.append([i+1, fnamesRel[i], 'warning', 'unexpected labels detected', setdiff])
  181. # for each requested label, keep the corresponding voxel count, and insert 0 if the label was not found
  182. voxels = np.asarray([voxels[label==labels][0] if label in labels else 0 for label in args.labels])
  183. # calculate volumes
  184. volumes = voxels * np.prod(nii.header.get_zooms()[0:3])
  185. # dtermine number of voxel clusters per label
  186. struct = ndimage.generate_binary_structure(map.ndim, args.connectivity)
  187. clusters = [0] * len(args.labels)
  188. for j, label in enumerate(args.labels):
  189. if voxels[j] > 0:
  190. _, clusters[j] = ndimage.label(map == label, struct)
  191. if insertTotal:
  192. voxels = np.append(voxels, np.sum(voxels))
  193. volumes = np.append(volumes, np.sum(volumes))
  194. if len(set(labels[labels!=0]) & set(args.labels)) > 1:
  195. _, clustersT = ndimage.label(np.isin(map, args.labels), struct)
  196. clusters = np.append(clusters, clustersT)
  197. else:
  198. clusters = np.append(clusters, np.sum(clusters))
  199. # append extracted stats to list
  200. if args.names is None:
  201. stats.append(pd.DataFrame({'file_index': i+1, 'file_path_relative': fnamesRel[i], 'file_path': file, 'label': labelsOut, 'voxels': voxels, 'volume': volumes, 'clusters': clusters}))
  202. else:
  203. stats.append(pd.DataFrame({'file_index': i+1, 'file_path_relative': fnamesRel[i], 'file_path': file, 'label': labelsOut, 'region': namesOut, 'voxels': voxels, 'volume': volumes, 'clusters': clusters}))
  204. if args.verbose: print('\nDone reading files! ')
  205. # check warnings
  206. if len(warnings)>0:
  207. dfWarnings = pd.DataFrame(warnings, columns=['file_index','file_path_relative','code','description','additional_info'])
  208. # error if not any file could be read
  209. nErrors = sum(dfWarnings['code']=='error')
  210. if nErrors == len(fnames):
  211. print('\nERROR: none of the globbed files could be read!')
  212. sys.exit(1)
  213. # concat stats and display
  214. df = pd.concat(stats)
  215. df.reset_index(drop=True,inplace=True)
  216. if args.verbose:
  217. pd.set_option('display.max_rows', 20)
  218. print("\nResults table:")
  219. print(df.drop('file_path', axis=1))
  220. # Save table
  221. if args.verbose:
  222. print(f'\nWriting results table to:\n {fnOut}\n')
  223. df.replace(np.nan, '', inplace=True)
  224. df.drop('file_path_relative', axis=1).to_csv(fnOut, index=False)
  225. # display errors and warning
  226. if len(warnings)>0:
  227. if any(dfWarnings['code']=='warning') and nErrors>0:
  228. print('\nERRORS and WARNINGS per file:')
  229. elif nErrors>0:
  230. print('\nERRORS per file:')
  231. else:
  232. print('\nWARNINGS per file:')
  233. print(dfWarnings)
  234. if nErrors>0:
  235. print(f'\nWARNING: {nErrors} files were excluded due to error!')
  236. if args.verbose:
  237. elapsed = time.time() - start
  238. print('Total duration: {:02.0f}:{:02.0f}\n'.format(elapsed//60, elapsed%60))

MARS-WMH_extract_volumes.py at commit 40e7cae, under other · at the source

Overview

Authors: Anna Dewenter1, Katharina Bürger1,2, Daniel Janowitz1, Melina Paulus1, Brigitte Nuscher3, Fabian Hirsch1, Benno Gesierich4, Anna Steward1, Lukas Frontzkowski1,5, Sebastian N Roemer‐Cassiano1,6, Zeyu Zhu1, Davina Biel1, Madleen Klonowski1, Gloria Biechele7, Sophia Stoecklein7, Michael Ewers1, Marco Duering1,4, Steffen Tiedt1, Matthias Brendel2,5,8, Nicolai Franzmeier1,8,9, for the Alzheimer's Disease Neuroimaging Initiative (ADNI)
  1. Institute for Stroke and Dementia Research (ISD), University Hospital, LMU Munich, Munich, Germany
  2. German Center for Neurodegenerative Diseases (DZNE), Munich, Germany
  3. Division of Metabolic Biochemistry, Biomedical Center (BMC), Faculty of Medicine, Ludwig‐Maximilians‐Universität Munich, Munich, Germany
  4. Antaros Medical AB, Mölndal, Sweden
  5. Department of Nuclear Medicine, University Hospital, LMU Munich, Munich, Germany
  6. Department of Neurology, University Hospital, LMU Munich, Munich, Germany
  7. Department of Radiology, University Hospital, LMU Munich, Munich, Germany
  8. Munich Cluster for Systems Neurology (SyNergy), Munich, Germany
  9. Department of Psychiatry and Neurochemistry, The Sahlgrenska Academy, Institute of Neuroscience and Physiology, University of Gothenburg, Gothenburg, Sweden
Journal: Alzheimer's & dementia : the journal of the Alzheimer's Association, volume 22, issue 6, article e71530
Dates: received 1 December 2025; accepted 17 April 2026; published online 7 June 2026; in print June 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1002/alz.71530 · PMID 42252508 · PMCID PMC13243208 · OpenAlex W7163813712
Open access: hybrid, a free copy (OpenAlex)
Status: code verified
Categories: structural MRI / diffusion (modality), other (modality), PET / SPECT (modality), human (organism), Alzheimer's / dementia (population), stroke (population), clinical / translational (subfield)
Methods: Connectivity, Statistics, Smoothing, state filtering, decompositions, Machine learning, fMRI & imaging, Preprocessing
Keywords: Alzheimer's disease, biomarkers, cerebral small vessel disease, imaging, imaging biomarkers, mixed pathology, plasma biomarkers, precision medicine
MeSH: Alzheimer Disease*, Biomarkers*, Cerebral Small Vessel Diseases*, Glial Fibrillary Acidic Protein*, Aged, Aged, 80 and over, Female, Humans, Magnetic Resonance Imaging, Male, Multimodal Imaging, Neurofilament Proteins, Neuropsychological Tests, Positron-Emission Tomography, tau Proteins (* major topic)
Topic: Dementia and Cognitive Impairment Research (Psychiatry and Mental health, Medicine), according to OpenAlex
Funding: Legerlotz Stiftung (1032, 1175)
Citations: cited by 1 paper (Europe PMC); 66 references in the paper

Abstract

INTRODUCTION: We investigated how plasma biomarkers (phosphorylated tau 217 [ptau217], glial fibrillary acidic protein [GFAP], neurofilament light chain [NfL]) relate to imaging markers of small vessel disease (SVD) and Alzheimer's disease (AD), and cognition in memory clinic patients.

METHODS: 76 memory clinic patients underwent plasma biomarker assessment, neuropsychological testing, and 3T MRI. SVD burden was assessed using white matter hyperintensity (WMH) volume, mean skeletonized mean diffusivity (MSMD), and fiber density. AD‐related neurodegeneration was captured by AD‐signature cortical thickness and fiber‐bundle cross‐section. Findings were validated in 41 Alzheimer's Disease Neuroimaging Initiative (ADNI) participants with amyloid‐/tau‐positron emission tomography (PET).

RESULTS: Associations varied between biomarkers. NfL showed strongest associations with SVD burden, ptau217 with AD‐related neurodegeneration, while GFAP was linked to both. SVD markers were associated with processing speed, whereas AD markers were most associated with memory.

DISCUSSION: NfL relates to SVD burden, while ptau217 remains most sensitive to AD‐related biomarkers. GFAP's dual associations suggest overlapping biological processes. Together, coexisting SVD should be considered when interpreting plasma biomarkers in memory clinic patients.

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

Repository

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

miac-research/MARS-WMH

License: other
State: the link answers, verified on 27 September 2026
Evidence: files inventoried
Commit: 40e7cae546568e2e20be1deb722e0ad14f5c561b, 28 October 2025
Languages: Python (7)
Size: 13 files, 7 scripts
Software Heritage: not archived
Found in: the text, “MRI acquisition and MRI markers”
Holds: README, license file, environment (mdgru/Dockerfile, nnunet/Dockerfile)
Not found: CITATION.cff, tests, continuous integration, documentation
Tools: NumPy (7 files), NiBabel (5 files), pandas (5 files), SciPy (5 files), imageio (2 files), Matplotlib (2 files), PyTorch (2 files), SimpleITK (2 files), nnU-Net (1 file)
Availability: 1 check, the latest on 27 September 2026: the link answers
  • 27 September 2026: the link answers
9 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;
  • 7 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

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

Data availability

Anonymized data of the E‐Go study will be made available upon request to the corresponding author and after permission of the regulatory bodies. ADNI data are publicly available at https://ida.loni.usc.edu/ upon registration.

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, 21 authors, 8 keywords, 15 MeSH terms, 1 funder, 63 references.

Cite

This paper

Dewenter, A., Bürger, K., Janowitz, D., Paulus, M., Nuscher, B., Hirsch, F., Gesierich, B., Steward, A., Frontzkowski, L., Roemer‐Cassiano, S. N., Zhu, Z., Biel, D., Klonowski, M., Biechele, G., Stoecklein, S., Ewers, M., Duering, M., Tiedt, S., Brendel, M., . . . for the Alzheimer's Disease Neuroimaging Initiative (ADNI). (2026). Differential associations of plasma biomarkers with Alzheimer's disease and small vessel disease: A multimodal imaging study. Alzheimer's & dementia : the journal of the Alzheimer's Association, 22(6), e71530. https://doi.org/10.1002/alz.71530

BibTeX

@article{dewenter2026differential,
author = {Dewenter, Anna and Bürger, Katharina and Janowitz, Daniel and Paulus, Melina and Nuscher, Brigitte and Hirsch, Fabian and Gesierich, Benno and Steward, Anna and Frontzkowski, Lukas and Roemer‐Cassiano, Sebastian N and Zhu, Zeyu and Biel, Davina and Klonowski, Madleen and Biechele, Gloria and Stoecklein, Sophia and Ewers, Michael and Duering, Marco and Tiedt, Steffen and Brendel, Matthias and Franzmeier, Nicolai and {for the Alzheimer's Disease Neuroimaging Initiative (ADNI)}},
title = {{Differential associations of plasma biomarkers with Alzheimer's disease and small vessel disease: A multimodal imaging study}},
journal = {Alzheimer's \& dementia : the journal of the Alzheimer's Association},
year = {2026},
month = jun,
volume = {22},
number = {6},
pages = {e71530},
publisher = {Wiley},
issn = {1552-5260},
doi = {10.1002/alz.71530},
url = {https://doi.org/10.1002/alz.71530},
pmid = {42252508},
pmcid = {PMC13243208}
}

RIS

TY - JOUR
AU - Dewenter, Anna
AU - Bürger, Katharina
AU - Janowitz, Daniel
AU - Paulus, Melina
AU - Nuscher, Brigitte
AU - Hirsch, Fabian
AU - Gesierich, Benno
AU - Steward, Anna
AU - Frontzkowski, Lukas
AU - Roemer‐Cassiano, Sebastian N
AU - Zhu, Zeyu
AU - Biel, Davina
AU - Klonowski, Madleen
AU - Biechele, Gloria
AU - Stoecklein, Sophia
AU - Ewers, Michael
AU - Duering, Marco
AU - Tiedt, Steffen
AU - Brendel, Matthias
AU - Franzmeier, Nicolai
AU - for the Alzheimer's Disease Neuroimaging Initiative (ADNI)
TI - Differential associations of plasma biomarkers with Alzheimer's disease and small vessel disease: A multimodal imaging study
T2 - Alzheimer's & dementia : the journal of the Alzheimer's Association
J2 - Alzheimers Dement
PY - 2026
DA - 2026/06/01
VL - 22
IS - 6
SP - e71530
SN - 1552-5260
PB - Wiley
DO - 10.1002/alz.71530
UR - https://doi.org/10.1002/alz.71530
LA - en
ER -

CSL-JSON

{
"id": "10.1002/alz.71530",
"type": "article-journal",
"title": "Differential associations of plasma biomarkers with Alzheimer's disease and small vessel disease: A multimodal imaging study",
"container-title": "Alzheimer's & dementia : the journal of the Alzheimer's Association",
"author": [
{
"family": "Dewenter",
"given": "Anna"
},
{
"family": "Bürger",
"given": "Katharina"
},
{
"family": "Janowitz",
"given": "Daniel"
},
{
"family": "Paulus",
"given": "Melina"
},
{
"family": "Nuscher",
"given": "Brigitte"
},
{
"family": "Hirsch",
"given": "Fabian"
},
{
"family": "Gesierich",
"given": "Benno"
},
{
"family": "Steward",
"given": "Anna"
},
{
"family": "Frontzkowski",
"given": "Lukas"
},
{
"family": "Roemer‐Cassiano",
"given": "Sebastian N"
},
{
"family": "Zhu",
"given": "Zeyu"
},
{
"family": "Biel",
"given": "Davina"
},
{
"family": "Klonowski",
"given": "Madleen"
},
{
"family": "Biechele",
"given": "Gloria"
},
{
"family": "Stoecklein",
"given": "Sophia"
},
{
"family": "Ewers",
"given": "Michael"
},
{
"family": "Duering",
"given": "Marco"
},
{
"family": "Tiedt",
"given": "Steffen"
},
{
"family": "Brendel",
"given": "Matthias"
},
{
"family": "Franzmeier",
"given": "Nicolai"
},
{
"literal": "for the Alzheimer's Disease Neuroimaging Initiative (ADNI)"
}
],
"container-title-short": "Alzheimers Dement",
"volume": "22",
"issue": "6",
"page": "e71530",
"DOI": "10.1002/alz.71530",
"PMID": "42252508",
"PMCID": "PMC13243208",
"ISSN": "1552-5260",
"publisher": "Wiley",
"URL": "https://doi.org/10.1002/alz.71530",
"language": "en",
"issued": {
"date-parts": [
[
2026,
6,
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.64898/2026.05.06.26352540 [code]
Generating synthetic tau-PET scans in Alzheimer’s disease from MRI, blood biomarkers and demographics with deep learning
Journal: medRxiv (preprint)
In common: NiBabel, pandas, SciPy, 2 other tools, PET / SPECT, other, Alzheimer's / dementia, 2 other categories, 4 references
[2] doi:10.1126/sciadv.aec2348 [code]
Congenital blindness reduces myelination in human visual cortex.
Journal: Science advances
In common: NiBabel, pandas, NumPy, structural MRI / diffusion, 8 references
[3] doi:10.3389/frai.2026.1771088 [code]
Few-shot deployment of pretrained MRI transformers in brain imaging tasks.
Journal: Frontiers in artificial intelligence
In common: nnU-Net, imageio, SimpleITK, 6 other tools, structural MRI / diffusion
[4] doi:10.1162/imag.a.1183 [code]
Learning-based segmentation of diffusion-weighted MR images with arbitrary <i>q</i>-space samplings.
Journal: Imaging neuroscience (Cambridge, Mass.)
In common: NiBabel, PyTorch, pandas, 3 other tools, structural MRI / diffusion, 6 references
[5] doi:10.3389/fnins.2026.1870124 [code]
An end-to-end pipeline for automated fetal brain segmentation and biometry from 3D SSFP MRI.
Journal: Frontiers in neuroscience
In common: nnU-Net, imageio, SimpleITK, 6 other tools, structural MRI / diffusion
[6] doi:10.1002/alz.71649 [code]
Postmortem brain MRI reveals differential associations of subcortical and limbic volumes with cortical thinning and neurodegenerative pathologies.
Journal: Alzheimer's & dementia : the journal of the Alzheimer's Association
In common: nnU-Net, SimpleITK, NiBabel, 5 other tools, Alzheimer's / dementia, structural MRI / diffusion, 1 reference
[7] 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: nnU-Net, NiBabel, PyTorch, 4 other tools, stroke, structural MRI / diffusion, clinical / translational, 2 references
[8] doi:10.1080/07853890.2026.2685416 [code]
Pulmonary and cerebral damage in COVID-19 survivors: is there any association?
Journal: Annals of medicine
In common: imageio, SimpleITK, NiBabel, 5 other tools, stroke, other, structural MRI / diffusion, 1 other category
[9] doi:10.1136/jnnp-2025-335884 [code]
Diffusivity anisotropy signature of slowly expanding lesions predicts progression independent of relapse activity in multiple sclerosis.
Journal: Journal of neurology, neurosurgery, and psychiatry
In common: nnU-Net, SimpleITK, NiBabel, 5 other tools, structural MRI / diffusion, clinical / translational, 1 reference
[10] doi:10.1126/sciadv.aee2305 [code]
Prediction of mild cognitive impairment progression using time-sensitive multimodal biomarkers.
Journal: Science advances
In common: NiBabel, pandas, Matplotlib, 1 other tool, PET / SPECT, Alzheimer's / dementia, structural MRI / diffusion, 1 other category, 4 references

Contribute

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

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

Request its removal

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

Discussion, reproductions, activity

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

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

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