OSCR

Long-term brain volume trajectories and lifestyle associations in cognitively normal adults: the BRAIN-STRIDE study.

Code ↔ Paper

4 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 4 matches
  1. [1] § Materials and methods › Associations with lifestyle and clinical factors ↔ brain_stride_lifestyle_analysis.Rmd, lines 37 to 47 · score 0.61 · lifestyle variables, lifestyle factors, glucose, HDL, LDL, BMI · Report a mismatch
  2. [2] § Materials and methods › Identification of brain atrophy subtypes in cognitively normal adults ↔ brain_stride_apply_lme.Rmd, lines 16 to 44 · score 0.60 · individual atrophy rates, linear mixed, individual slopes, brain region, predictor, harmonized · Report a mismatch
  3. [3] § Results › Atrophy group classification and longitudinal brain volume changes ↔ brain_stride_apply_lme.Rmd, lines 273 to 325 · score 0.59 · linear fits, volume trajectories, normalized volume, individual baseline, resistant, Age · Report a mismatch
  4. [4] § Materials and methods › Brain volume measurement and longitudinal harmonization ↔ brain_stride_apply_longcombat.Rmd, lines 366 to 429 · score 0.51 · random intercepts, metric, correlation, additive, batch, mixed · Report a mismatch

Paper

Loaded from Europe PMC by your browser; OSCR does not store it: doi.org · Europe PMC

The paper is loaded when this pane is shown.

The authors' code

R Markdown · 325 lines · 10 KB · MIT · 2 matches

  1. ---
  2. title: "Individual Brain Atrophy Trajectories: Mixed-Effects Modeling and Bootstrap Grouping"
  3. output:
  4. html_document:
  5. toc: true
  6. toc_float:
  7. toc_collapsed: true
  8. toc_depth: 3
  9. theme: paper
  10. ---
  11. ```{r setup, include=FALSE}
  12. knitr::opts_chunk$set(echo = TRUE, message = FALSE, warning = FALSE)
  13. ```
  14. # Overview
  15. This script estimates individual atrophy rates for each brain region using
  16. linear mixed-effects models, then uses a bootstrap procedure to stratify
  17. subjects into "rapid", "resistant", and "typical" atrophy groups based on the
  18. distribution of individual slopes within each decade of age. Summary statistics
  19. and figures are generated for selected regions.
  20. # Packages and Data
  21. ```{r load-packages-data}
  22. ##############################################################################
  23. ## 0. Packages and data
  24. ##############################################################################
  25. library(lme4)
  26. library(tidyverse)
  27. library(purrr)
  28. library(cowplot)
  29. df_norm <- read.csv("data/df_combat_norm.csv")
  30. ## Region columns to analyze (harmonized, normalized features)
  31. regions <- grep("\\.combat\\.norm$", names(df_norm), value = TRUE)
  32. ## Analysis parameters
  33. predictors <- c("BMI", "dBP") # Lifestyle factors included as fixed effects
  34. B <- 2000 # Number of bootstrap iterations
  35. set.seed(123)
  36. ```
  37. # Individual Slope Estimation
  38. ```{r individual-slopes}
  39. ##############################################################################
  40. ## 1. Per-region lmer -> individual slopes -> attach decade -> drop 30s/80s
  41. ##############################################################################
  42. get_indiv_coef <- function(region) {
  43. fml <- as.formula(
  44. sprintf("`%s` ~ time + %s + (time | subid)",
  45. region, paste(predictors, collapse = " + "))
  46. )
  47. m <- lmer(fml, data = df_norm, REML = FALSE)
  48. coef(m)$subid %>% # Intercept and time slope
  49. rownames_to_column("subid") %>%
  50. select(subid, time) %>% # Keep slope only
  51. left_join(df_norm %>% select(subid, decade) %>% distinct(),
  52. by = "subid") %>%
  53. filter(!decade %in% c("30s", "80s")) %>% # Exclude sparse decades
  54. mutate(decade = factor(decade, levels = sort(unique(decade))),
  55. region = region)
  56. }
  57. indiv_all <- map_dfr(regions, get_indiv_coef)
  58. ```
  59. # Group Assignment
  60. ```{r group-assignment}
  61. ##############################################################################
  62. ## 2. Flag rapid / resistant groups (10% / 90% thresholds)
  63. ##############################################################################
  64. flag_groups <- function(df) {
  65. # Regions where a positive slope reflects atrophy (inverted interpretation)
  66. invert_regions <- c("Ventricle.combat.norm", "Sulcus.combat.norm")
  67. df %>%
  68. group_by(region, decade) %>%
  69. mutate(
  70. q10 = quantile(time, 0.10),
  71. q90 = quantile(time, 0.90),
  72. grp = case_when(
  73. time <= q10 ~ if_else(region %in% invert_regions, "resistant", "rapid"),
  74. time >= q90 ~ if_else(region %in% invert_regions, "rapid", "resistant"),
  75. TRUE ~ "typical"
  76. )
  77. ) %>%
  78. ungroup()
  79. }
  80. ```
  81. # Bootstrap
  82. ```{r bootstrap}
  83. ##############################################################################
  84. ## 3. Bootstrap (stratified by region x decade)
  85. ##############################################################################
  86. boot_once <- function(data) {
  87. sampled <- data %>%
  88. group_by(region, decade) %>%
  89. sample_frac(replace = TRUE) %>%
  90. ungroup()
  91. grp_tbl <- flag_groups(sampled)
  92. diff_tbl <- grp_tbl %>%
  93. filter(grp != "typical") %>%
  94. group_by(region, decade, grp) %>%
  95. summarise(med = median(time), .groups = "drop") %>%
  96. pivot_wider(names_from = grp, values_from = med) %>%
  97. mutate(med_diff = resistant - rapid)
  98. list(diff = diff_tbl,
  99. subj = grp_tbl %>% select(subid, region, decade, grp))
  100. }
  101. boot_out <- map(1:B, ~ boot_once(indiv_all))
  102. ```
  103. # Final Labels and Per-Region Plots
  104. ```{r final-labels}
  105. ##############################################################################
  106. ## 4. Stable labels (probability >= 0.8) and per-region boxplots
  107. ##############################################################################
  108. subj_stab <- map_dfr(boot_out, "subj") %>%
  109. count(subid, region, grp) %>%
  110. pivot_wider(names_from = grp, values_from = n, values_fill = 0) %>%
  111. mutate(across(rapid:resistant, ~ .x / B)) # Convert counts to probabilities
  112. final_lab <- subj_stab %>%
  113. mutate(final_grp = case_when(
  114. rapid >= 0.8 ~ "rapid",
  115. resistant >= 0.8 ~ "resistant",
  116. TRUE ~ "typical"
  117. )) %>%
  118. select(subid, region, final_grp)
  119. plot_df <- indiv_all %>%
  120. left_join(final_lab, by = c("subid", "region")) %>%
  121. mutate(final_grp = factor(final_grp,
  122. levels = c("rapid", "typical", "resistant")))
  123. ## Color palette
  124. fill_pal <- c(rapid = "#E15759", typical = "grey60", resistant = "#4E79A7")
  125. point_pal <- fill_pal
  126. ## Save a jitter plot per region
  127. walk(unique(plot_df$region), function(reg) {
  128. p <- ggplot(filter(plot_df, region == reg),
  129. aes(x = decade, y = time * 100, fill = final_grp)) +
  130. geom_jitter(aes(colour = final_grp),
  131. width = 0.15, size = 1.5, alpha = 0.55) +
  132. geom_hline(yintercept = 0, linetype = "dashed") +
  133. scale_fill_manual(values = fill_pal, drop = FALSE) +
  134. scale_colour_manual(values = point_pal, drop = FALSE) +
  135. labs(title = paste(reg, ": Atrophy rate by decade/group"),
  136. x = "", y = "Annual slope (%)",
  137. fill = "Group", colour = "Group") +
  138. theme_cowplot(12) +
  139. theme(legend.position = "right")
  140. ggsave(sprintf("%s_boxplot.png", reg), p,
  141. width = 5, height = 4.5, dpi = 300)
  142. })
  143. cat("Analysis complete: PNG figures written to the working directory.\n")
  144. ```
  145. # Combined Faceted Plot
  146. ```{r faceted-plot, fig.width=14, fig.height=3}
  147. ## Display labels and ordering for selected regions
  148. region_labels <- c(
  149. "WholeBrain.combat.norm" = "Whole brain",
  150. "CerebralCortex.combat.norm" = "Cortical",
  151. "WhiteMatter.combat.norm" = "WM",
  152. "Ventricle.combat.norm" = "Ventricle",
  153. "Sulcus.combat.norm" = "Sulcus"
  154. )
  155. region_order <- names(region_labels)
  156. ## Fix region order and keep only selected regions
  157. plot_df_subset <- plot_df %>%
  158. filter(region %in% region_order) %>%
  159. mutate(region = factor(region, levels = region_order))
  160. p_all <- ggplot(
  161. plot_df_subset,
  162. aes(x = decade, y = time * 100,
  163. fill = final_grp, colour = final_grp)
  164. ) +
  165. geom_jitter(width = 0.15, size = 0.5, alpha = 0.55) +
  166. geom_hline(yintercept = 0, linetype = "dashed") +
  167. scale_fill_manual(values = fill_pal, drop = FALSE) +
  168. scale_colour_manual(values = point_pal, drop = FALSE) +
  169. facet_wrap(
  170. ~ region,
  171. scales = "free_y",
  172. nrow = 1,
  173. labeller = as_labeller(region_labels)
  174. ) +
  175. labs(
  176. title = "Atrophy rate by decade / region / group",
  177. x = "",
  178. y = "Annual slope (%)",
  179. fill = "Group",
  180. colour = "Group"
  181. ) +
  182. theme_cowplot(12) +
  183. theme(legend.position = "right")
  184. print(p_all)
  185. ```
  186. # Summary Table
  187. ```{r summary-table}
  188. ##############################################################################
  189. ## 6. Summary statistics by region x decade x group (median [IQR])
  190. ##############################################################################
  191. region_labels <- c(
  192. "WholeBrain.combat.norm" = "Whole brain",
  193. "CerebralCortex.combat.norm" = "Cortical",
  194. "WhiteMatter.combat.norm" = "WM",
  195. "Ventricle.combat.norm" = "Ventricle",
  196. "Sulcus.combat.norm" = "Sulcus"
  197. )
  198. summary_tbl <- indiv_all %>% # subid, region, time, decade
  199. left_join(final_lab, by = c("subid", "region")) %>% # Add final_grp
  200. mutate(rate_pct = time * 100) %>% # Annual rate (%)
  201. group_by(region, decade, final_grp) %>%
  202. summarise(
  203. n = n(),
  204. median = median(rate_pct),
  205. p25 = quantile(rate_pct, 0.25),
  206. p75 = quantile(rate_pct, 0.75),
  207. .groups = "drop"
  208. ) %>%
  209. mutate(
  210. stat = sprintf("%.2f (%.2f to %.2f)", median, p25, p75)
  211. ) %>%
  212. select(region, decade, final_grp, stat) %>%
  213. pivot_wider(
  214. names_from = final_grp,
  215. values_from = stat
  216. ) %>%
  217. rename(
  218. `Typical volume change rate (annual %)` = typical,
  219. `Rapid-atrophy group` = rapid,
  220. `Atrophy-resistant group` = resistant
  221. ) %>%
  222. mutate(
  223. Structure = recode(region, !!!region_labels),
  224. Structure = factor(Structure, levels = region_labels)
  225. ) %>%
  226. arrange(Structure, decade) %>%
  227. select(Structure, decade,
  228. `Typical volume change rate (annual %)`,
  229. `Rapid-atrophy group`,
  230. `Atrophy-resistant group`)
  231. print(summary_tbl, n = Inf)
  232. ```
  233. # Age vs. Volume Trajectories
  234. ```{r age-volume-smooth, fig.width=14, fig.height=3}
  235. plot_lab <- final_lab
  236. regions_selected <- c("WholeBrain.combat.norm",
  237. "CerebralCortex.combat.norm",
  238. "WhiteMatter.combat.norm",
  239. "Sulcus.combat.norm",
  240. "Ventricle.combat.norm")
  241. plot_agevol <- df_norm %>%
  242. pivot_longer(cols = all_of(regions_selected),
  243. names_to = "region",
  244. values_to = "volume") %>%
  245. left_join(plot_lab, by = c("subid", "region")) %>%
  246. mutate(region = factor(region, levels = regions_selected))
  247. ## Version 1: per-subject linear fits for rapid / resistant groups
  248. ggplot(plot_agevol,
  249. aes(x = age, y = volume * 100, colour = final_grp)) +
  250. geom_jitter(alpha = 0.6, size = 0.3, width = 0.3) +
  251. geom_smooth(
  252. data = plot_agevol %>% filter(final_grp %in% c("rapid", "resistant")),
  253. aes(group = subid, colour = final_grp),
  254. method = "lm", se = FALSE,
  255. linewidth = 0.4, alpha = 0.7
  256. ) +
  257. facet_wrap(~ region, scales = "free_y", nrow = 1) +
  258. scale_colour_manual(values = point_pal) +
  259. labs(x = "Age (years)",
  260. y = "Normalized volume \n (% of individual baseline)",
  261. colour = "Group") +
  262. theme_cowplot(12)
  263. ## Version 2: connected observed points for rapid / resistant groups
  264. ggplot(plot_agevol,
  265. aes(x = age, y = volume * 100, colour = final_grp)) +
  266. geom_jitter(alpha = 0.6, size = 0.3, width = 0.3) +
  267. geom_line(
  268. data = plot_agevol %>%
  269. filter(final_grp %in% c("rapid", "resistant")) %>%
  270. arrange(subid, age),
  271. aes(group = subid),
  272. linewidth = 0.4, alpha = 0.7
  273. ) +
  274. facet_wrap(~ region, scales = "free_y", nrow = 1) +
  275. scale_colour_manual(values = point_pal) +
  276. labs(x = "Age (years)",
  277. y = "Normalized volume \n (% of individual baseline)",
  278. colour = "Group") +
  279. theme_cowplot(12)
  280. ```

brain_stride_apply_lme.Rmd, under MIT · at the source

Overview

Authors: Shohei Fujita1,2,3,4, Susumu Mori5,6, Kengo Onda5, Shouhei Hanaoka1, Yukihiro Nomura7,8, Takahiro Nakao7, Akifumi Hagiwara1,2, Yasuhiro Hagiwara9, Hidemasa Takao1, Takeharu Yoshikawa7, Osamu Abe1
  1. Department of Radiology, The University of Tokyo, Tokyo, 113-8655, Japan
  2. Department of Radiology, Juntendo University, Tokyo, 113-8421, Japan
  3. Athinoula A. Martinos Center for Biomedical Imaging, Massachusetts General Hospital, Boston, MA 02129, USA
  4. Department of Radiology, Harvard Medical School, Boston, MA 02115, USA
  5. Russell H. Morgan Department of Radiology and Radiological Science, Johns Hopkins University School of Medicine, Baltimore, MD 21287, USA
  6. F.M. Kirby Research Center for Functional Brain Imaging, Kennedy Krieger Institute, Baltimore, MD 21205, USA
  7. Department of Computational Diagnostic Radiology and Preventive Medicine, The University of Tokyo Hospital, Tokyo, 113-8655, Japan
  8. Center for Frontier Medical Engineering, Chiba University, Chiba, 263-8522, Japan
  9. Department of Biostatistics, School of Public Health, The University of Tokyo, Tokyo, 113-0033, Japan
Journal: Brain communications, volume 8, issue 5, article fcag343
Dates: received 29 January 2026; accepted 27 August 2026; published online 7 September 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1093/braincomms/fcag343 · PMID 42765092 · PMCID PMC13590224 · OpenAlex W7211919747
Open access: gold, a free copy (OpenAlex)
Status: code verified (how the code is found and verified)
Categories: structural MRI / diffusion (modality), human (organism), healthy (population), cognitive (subfield)
Methods: Connectivity, Statistics
Keywords: ageing, longitudinal studies, lifestyle, brain volume, cognition
Topic: Dementia and Cognitive Impairment Research (Psychiatry and Mental health, Medicine), according to OpenAlex
Citations: not cited yet (Europe PMC); 37 references in the paper

Abstract

Brain ageing is a major determinant of cognitive health, yet the extent of inter-individual variability in structural trajectories and its links to lifestyle factors remain incompletely understood. We conducted a single-centre, prospective longitudinal cohort study within an urban academic health screening programme in Japan (November 2006 to April 2021), with up to 15 years of follow-up. Among 10 209 individuals who underwent screening, those with more than 10 years of serial visits were eligible; 186 participants were excluded for major intracranial findings, 3 for cognitive decline during follow-up and 3 for contraindications or ineligibility, yielding 653 cognitively normal adults [207 women (31.6%); mean (SD) age at baseline, 55.1 (9.3) years]. Participants underwent serial magnetic resonance imaging and Mini-Mental State Examination, along with baseline assessments of lifestyle and vascular risk factors including body mass index, blood pressure, smoking exposure and lipid profile. Annual percentage change in whole-brain and regional volumes was estimated using linear mixed-effects models after harmonization for scanner effects, and participants were categorized as rapid atrophy, typical, or atrophy-resistant based on percentile thresholds. Across 7915 MRI scans, whole-brain volume decline accelerated from 0.24% per year in the 40s to 0.44% per year in the 70s. Individuals classified as having rapid atrophy in their 40s exhibited rates of decline of 0.46% per year, comparable to population averages in the 70s, whereas atrophy-resistant individuals in their 70s demonstrated rates as low as 0.27% per year. Faster whole-brain atrophy was associated with higher body mass index [β = 0.027; 95% confidence interval (CI), 0.0058–0.049], greater smoking exposure (β = 0.032; 95% CI, 0.012–0.053), elevated diastolic blood pressure (β = 0.044; 95% CI, 0.021–0.067) and higher low-density lipoprotein cholesterol (β = 0.043; 95% CI, 0.021–0.065) (all P < 0.01). Utilizing an uncommonly long and densely sampled longitudinal design, this study demonstrates that structural brain ageing among cognitively normal adults follows highly heterogeneous trajectories, spanning from marked decline to near-complete resistance. Modifiable lifestyle and vascular risk factors were associated with faster atrophy, supporting opportunities for risk stratification and targeted prevention strategies.

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 4 matches between paragraphs and lines of code.

Zenodo 20819668

License: MIT
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Languages: R (3)
Size: 4 files, 3 scripts
Software Heritage: not checked
Found in: “Data availability”
Holds: README, 3 notebooks
Not found: license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: tidyverse (3 files), lme4 (2 files), broom (1 file), cowplot (1 file), ggplot2 (1 file), nlme (1 file), patchwork (1 file)
Availability: 1 check, the latest on 26 September 2026: the link answers (HTTP 200)
  • 26 September 2026: the link answers (HTTP 200)
4 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;
  • 3 scripts, each with its path and the digest of its content;
  • 4 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

MRI data and individual measurements are currently unavailable because the hospital has withheld them to protect participant privacy. The scripts used for analyses are available via code repository link: https://doi.org/10.5281/zenodo.20819668.

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 3, 28 September 2026

  • Funding: added University of Tokyo

Version 1, 27 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 11 authors, 5 keywords, 33 references.

Cite

This paper

Fujita, S., Mori, S., Onda, K., Hanaoka, S., Nomura, Y., Nakao, T., Hagiwara, A., Hagiwara, Y., Takao, H., Yoshikawa, T., & Abe, O. (2026). Long-term brain volume trajectories and lifestyle associations in cognitively normal adults: the BRAIN-STRIDE study. Brain communications, 8(5), fcag343. https://doi.org/10.1093/braincomms/fcag343

BibTeX

@article{fujita2026long,
author = {Fujita, Shohei and Mori, Susumu and Onda, Kengo and Hanaoka, Shouhei and Nomura, Yukihiro and Nakao, Takahiro and Hagiwara, Akifumi and Hagiwara, Yasuhiro and Takao, Hidemasa and Yoshikawa, Takeharu and Abe, Osamu},
title = {{Long-term brain volume trajectories and lifestyle associations in cognitively normal adults: the BRAIN-STRIDE study}},
journal = {Brain communications},
year = {2026},
month = sep,
volume = {8},
number = {5},
pages = {fcag343},
publisher = {Oxford University Press},
issn = {2632-1297},
doi = {10.1093/braincomms/fcag343},
url = {https://doi.org/10.1093/braincomms/fcag343},
pmid = {42765092},
pmcid = {PMC13590224}
}

RIS

TY - JOUR
AU - Fujita, Shohei
AU - Mori, Susumu
AU - Onda, Kengo
AU - Hanaoka, Shouhei
AU - Nomura, Yukihiro
AU - Nakao, Takahiro
AU - Hagiwara, Akifumi
AU - Hagiwara, Yasuhiro
AU - Takao, Hidemasa
AU - Yoshikawa, Takeharu
AU - Abe, Osamu
TI - Long-term brain volume trajectories and lifestyle associations in cognitively normal adults: the BRAIN-STRIDE study
T2 - Brain communications
J2 - Brain Commun
PY - 2026
DA - 2026/09/07
VL - 8
IS - 5
SP - fcag343
SN - 2632-1297
PB - Oxford University Press
DO - 10.1093/braincomms/fcag343
UR - https://doi.org/10.1093/braincomms/fcag343
LA - en
ER -

CSL-JSON

{
"id": "10.1093/braincomms/fcag343",
"type": "article-journal",
"title": "Long-term brain volume trajectories and lifestyle associations in cognitively normal adults: the BRAIN-STRIDE study",
"container-title": "Brain communications",
"author": [
{
"family": "Fujita",
"given": "Shohei"
},
{
"family": "Mori",
"given": "Susumu"
},
{
"family": "Onda",
"given": "Kengo"
},
{
"family": "Hanaoka",
"given": "Shouhei"
},
{
"family": "Nomura",
"given": "Yukihiro"
},
{
"family": "Nakao",
"given": "Takahiro"
},
{
"family": "Hagiwara",
"given": "Akifumi"
},
{
"family": "Hagiwara",
"given": "Yasuhiro"
},
{
"family": "Takao",
"given": "Hidemasa"
},
{
"family": "Yoshikawa",
"given": "Takeharu"
},
{
"family": "Abe",
"given": "Osamu"
}
],
"container-title-short": "Brain Commun",
"volume": "8",
"issue": "5",
"page": "fcag343",
"DOI": "10.1093/braincomms/fcag343",
"PMID": "42765092",
"PMCID": "PMC13590224",
"ISSN": "2632-1297",
"publisher": "Oxford University Press",
"URL": "https://doi.org/10.1093/braincomms/fcag343",
"language": "en",
"issued": {
"date-parts": [
[
2026,
9,
7
]
]
}
}

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-68886-3 [code]
Precision estimates of longitudinal brain aging capture unexpected individual differences in one year.
Journal: Nature communications
In common: broom, lme4, cowplot, 2 other tools, 4 references
[2] doi:10.1038/s41593-026-02363-4 [code]
Cortical thickness changes precede high levels of amyloid by at least 7 years.
Journal: Nature neuroscience
In common: broom, lme4, patchwork, 3 other tools, structural MRI / diffusion, 3 references
[3] doi:10.64898/2026.03.20.713139 [code]
Dissociable contributions of cortical thickness and surface area to cognitive ageing: evidence from multiple longitudinal cohorts
Journal: bioRxiv (preprint)
In common: broom, lme4, patchwork, 2 other tools, structural MRI / diffusion, cognitive, 3 references
[4] doi:10.1162/imag_a_00547 [code]
Reliability of structural brain change in cognitively healthy adult samples.
Journal: Imaging neuroscience (Cambridge, Mass.)
In common: broom, patchwork, ggplot2, 1 other tool, healthy, structural MRI / diffusion, 3 references
[5] doi:10.1038/s41586-024-08260-9 [code]
Study design features increase replicability in brain-wide association studies.
Journal: Nature
In common: lme4, cowplot, ggplot2, 1 other tool, structural MRI / diffusion, 3 references
[6] doi:10.1038/s41467-025-63967-1 [code]
Heterogeneous, temporally consistent, and plastic brain development after preterm birth.
Journal: Nature communications
In common: lme4, ggplot2, tidyverse, structural MRI / diffusion, 4 references
[7] doi:10.1002/hbm.70546 [code]
ComBat-Predict Enhances Generalizability of Neuroimaging Models to New Sites.
Journal: Human brain mapping
In common: lme4, patchwork, ggplot2, 1 other tool, structural MRI / diffusion, 3 references
[8] doi:10.1038/s41514-024-00171-3 [code]
Mapping computational cognitive profiles of aging to dissociable brain and sociodemographic factors.
Journal: npj aging
In common: nlme, lme4, cowplot, 2 other tools, 1 reference
[9] doi:10.1038/s41467-024-53548-z [code]
Brain change trajectories in healthy adults correlate with Alzheimer's related genetic variation and memory decline across life.
Journal: Nature communications
In common: broom, patchwork, cowplot, 1 other tool, 2 references
[10] doi:10.1186/s13024-023-00688-3 [code]
Advanced structural brain aging in preclinical autosomal dominant Alzheimer disease.
Journal: Molecular neurodegeneration
In common: nlme, lme4, tidyverse, structural MRI / diffusion, 3 references

Contribute

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

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

Add the badge to the code's README

OSCR: the badge of this paper

If you are an author or a maintainer of this paper's code, you can add this badge. It says what OSCR knows of the paper (its code, its validated tracing map) and links the code to this page. Paste one of these snippets under the README's title. Keep the two marks around it, so that the badge can be replaced in place and is never added twice. OSCR changes nothing in your repository.

Markdown
<!-- oscr-badge:start -->
[![OSCR](https://openscicode.org/badge/doi/10.1093/braincomms/fcag343.svg)](https://openscicode.org/badge/doi/10.1093/braincomms/fcag343)
<!-- oscr-badge:end -->
reStructuredText
.. oscr-badge:start

.. image:: https://openscicode.org/badge/doi/10.1093/braincomms/fcag343.svg
   :target: https://openscicode.org/badge/doi/10.1093/braincomms/fcag343
   :alt: OSCR

.. oscr-badge:end
HTML
<!-- oscr-badge:start -->
<a href="https://openscicode.org/badge/doi/10.1093/braincomms/fcag343"><img src="https://openscicode.org/badge/doi/10.1093/braincomms/fcag343.svg" alt="OSCR"></a>
<!-- oscr-badge:end -->

If you choose to, you can have the badge kept up to date for you, with oscr badge --write from the command line or with the GitHub Action in your repository's workflows. Every other form and option (a card, AsciiDoc, LaTeX, shields.io) is on the badge 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: code errors and mismatches between the code and the paper about this paper and its code, from readers and its authors, beside the paper and its tracing map.

Report a mismatch between the code and the paper · Report a code error (signed in)

Reproductions: reports from readers who ran the authors' code and did not get the paper's result, what they ran, with which environment, commit and data.

Report a reproduction failure (signed in)

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