OSCR

Hippocampal Subfield Volumes and Spatial Memory Performance in Older Adults At-Risk for Type 2 Diabetes.

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; OSCR does not store it: doi.org · Europe PMC

The paper is loaded when this pane is shown.

The authors' code

Python · 196 lines · 6.6 KB · other-open

  1. ##############################################################################
  2. # Kivy Launcher Interface #
  3. # by: Daniel Palmer PhD #
  4. # Version: 2.0 #
  5. ##############################################################################
  6. # Setup#
  7. from kivy.config import Config
  8. import os
  9. import configparser
  10. main_path = os.getcwd()
  11. config_path = main_path + '/Screen.ini'
  12. config_file = configparser.ConfigParser()
  13. config_file.read(config_path)
  14. x_dim = config_file['Screen']['x']
  15. y_dim = config_file['Screen']['y']
  16. fullscreen = int(config_file['Screen']['fullscreen'])
  17. if fullscreen == 0:
  18. Config.set('graphics', 'width', str(x_dim))
  19. Config.set('graphics', 'height', str(y_dim))
  20. Config.set('graphics', 'fullscreen', '0')
  21. Config.set('graphics', 'position', 'custom')
  22. Config.set('graphics', 'top', 0)
  23. Config.set('graphics', 'left', 0)
  24. Config.set('kivy', 'keyboard_mode', 'systemandmulti')
  25. elif fullscreen == 1:
  26. Config.set('graphics', 'width', str(x_dim))
  27. Config.set('graphics', 'height', str(y_dim))
  28. Config.set('graphics', 'position', 'custom')
  29. Config.set('graphics', 'top', 0)
  30. Config.set('graphics', 'left', 0)
  31. Config.set('graphics', 'fullscreen', True)
  32. Config.set('kivy', 'keyboard_mode', 'systemandmulti')
  33. # Imports #
  34. import kivy
  35. import zipimport
  36. import sys
  37. import os
  38. import configparser
  39. from kivy.app import App
  40. from kivy.uix.widget import Widget
  41. from kivy.uix.button import Button
  42. from kivy.uix.image import Image
  43. from kivy.uix.label import Label
  44. from kivy.core.window import Window
  45. from kivy.uix.floatlayout import FloatLayout
  46. from kivy.uix.gridlayout import GridLayout
  47. # from win32api import GetSystemMetrics
  48. from kivy.uix.behaviors import ButtonBehavior
  49. from kivy.clock import Clock
  50. from kivy.uix.textinput import TextInput
  51. from kivy.uix.vkeyboard import VKeyboard
  52. from kivy.uix.screenmanager import ScreenManager, Screen
  53. from kivy.config import Config
  54. from functools import partial
  55. Window.borderless = True
  56. # from Protocol_Configure import Protocol_Select
  57. # General Functions #
  58. def os_folder_modifier():
  59. os_platform = sys.platform
  60. if os_platform == "linux":
  61. mod = "/"
  62. elif os_platform == "darwin":
  63. mod = "/"
  64. elif os_platform == "win32":
  65. mod = "\\"
  66. else:
  67. mod = "/"
  68. return mod
  69. # Class Objects #
  70. class ImageButton(ButtonBehavior, Image):
  71. def __init__(self, **kwargs):
  72. super(ImageButton, self).__init__(**kwargs)
  73. # Class Screen Manager #
  74. class Screen_Manager(ScreenManager):
  75. def __init__(self, **kwargs):
  76. super(Screen_Manager, self).__init__(**kwargs)
  77. # Class Task Selection #
  78. class Main_Menu(Screen):
  79. def __init__(self, **kwargs):
  80. super(Main_Menu, self).__init__(**kwargs)
  81. self.Menu_Layout = FloatLayout()
  82. self.add_widget(self.Menu_Layout)
  83. launch_button = Button(text="Start Session")
  84. launch_button.size_hint = (0.3, 0.2)
  85. launch_button.pos_hint = {"x": 0.35, "y": 0.6}
  86. launch_button.bind(on_press=self.load_protocol_menu)
  87. self.Menu_Layout.add_widget(launch_button)
  88. exit_button = Button(text="Close Program")
  89. exit_button.size_hint = (0.3, 0.2)
  90. exit_button.pos_hint = {"x": 0.35, "y": 0.2}
  91. exit_button.bind(on_press=self.exit_program)
  92. self.Menu_Layout.add_widget(exit_button)
  93. def load_protocol_menu(self, *args):
  94. self.protocol_window = Protocol_Menu()
  95. self.manager.add_widget(Protocol_Menu(name='protocolmenu'))
  96. self.manager.current = "protocolmenu"
  97. def exit_program(self, *args):
  98. App.get_running_app().stop()
  99. Window.close()
  100. # Class Protocol Selection #
  101. class Protocol_Menu(Screen):
  102. def __init__(self, **kwargs):
  103. super(Protocol_Menu, self).__init__(**kwargs)
  104. self.Protocol_Layout = FloatLayout()
  105. protocol_list = self.search_protocols()
  106. self.Protocol_List = GridLayout(rows=len(protocol_list), cols=1)
  107. protocol_index = 0
  108. for protocol in protocol_list:
  109. button_func = partial(self.set_protocol, protocol)
  110. self.Protocol_List.add_widget(Button(text=protocol, on_press=button_func))
  111. protocol_index += 1
  112. self.Protocol_List.size_hint = (0.8, 0.7)
  113. self.Protocol_List.pos_hint = {"x": 0.1, "y": 0.3}
  114. self.Protocol_Layout.add_widget(self.Protocol_List)
  115. cancel_button = Button(text="Cancel")
  116. cancel_button.size_hint = (0.2, 0.1)
  117. cancel_button.pos_hint = {"x": 0.4, "y": 0.1}
  118. cancel_button.bind(on_press=self.cancel_protocol)
  119. self.Protocol_Layout.add_widget(cancel_button)
  120. self.add_widget(self.Protocol_Layout)
  121. def set_protocol(self, label, *args):
  122. self.protocol_constructor(label)
  123. self.manager.switch_to(self.Protocol_Configure_Screen)
  124. def cancel_protocol(self, *args):
  125. self.manager.current = "mainmenu"
  126. def search_protocols(self):
  127. cwd = os.getcwd()
  128. mod = os_folder_modifier()
  129. folder = cwd + mod + "Protocol"
  130. task_list = os.listdir(folder)
  131. return task_list
  132. def protocol_constructor(self, protocol):
  133. if protocol == 'iCPT2GStim1':
  134. from Protocol.iCPT2GStim1.Menu import Configure_Screen
  135. self.Protocol_Configure_Screen = Configure_Screen()
  136. elif protocol == 'iCPT2GStim2':
  137. from Protocol.iCPT2GStim2.Menu import Configure_Screen
  138. self.Protocol_Configure_Screen = Configure_Screen()
  139. elif protocol == 'vPRL':
  140. from Protocol.vPRL.Menu import Configure_Screen
  141. self.Protocol_Configure_Screen = Configure_Screen()
  142. elif protocol == 'PAL':
  143. from Protocol.PAL.Menu import Configure_Screen
  144. self.Protocol_Configure_Screen = Configure_Screen()
  145. elif protocol == 'PRHuman':
  146. from Protocol.PRHuman.Menu import Configure_Screen
  147. self.Protocol_Configure_Screen = Configure_Screen()
  148. elif protocol == 'TUNL':
  149. from Protocol.TUNL.Menu import Configure_Screen
  150. self.Protocol_Configure_Screen = Configure_Screen()
  151. elif protocol == 'TUNLProbe':
  152. from Protocol.TUNLProbe.Menu import ConfigureScreen
  153. self.Protocol_Configure_Screen = ConfigureScreen()
  154. # Class App Builder #
  155. class MenuApp(App):
  156. def build(self):
  157. self.s_manager = Screen_Manager()
  158. self.s_manager.add_widget(Main_Menu(name="mainmenu"))
  159. return self.s_manager
  160. def add_screen(self, screen):
  161. self.s_manager.add_widget(screen)
  162. if __name__ == '__main__':
  163. MenuApp().run()

KivyMenuInterface.py, under other-open · at the source

Overview

Authors: Jennifer Hanna Al‐Shaikh1,2, Olivia R. Ghosh‐Swaby1,2, Ali R. Khan2,3, Jane Thornton4, Timothy J. Bussey2,5, Lisa M. Saksida2,5, Daniel Palmer2,5, Teresa Liu‐Ambrose6, Lindsay S. Nagamatsu7
  1. Graduate Program in Neuroscience Western University London Ontario Canada
  2. Robarts Research Institute, Schulich School of Medicine and Dentistry Western University London Ontario Canada
  3. Department of Medical Biophysics Western University London Ontario Canada
  4. Department of Epidemiology & Biostatistics Western University London Ontario Canada
  5. Department of Physiology & Pharmacology Western University London Ontario Canada
  6. Department of Physical Therapy University of British Columbia Vancouver British Columbia Canada
  7. School of Kinesiology Western University London Ontario Canada
Journal: Hippocampus, volume 36, issue 6, article e70144
Dates: received 29 January 2026; accepted 6 October 2026; published online 28 October 2026; in print November 2026
Type: Research article · Language: English
License: CC BY-NC
Identifiers: DOI 10.1002/hipo.70144 · PMID 42951841 · PMCID PMC13716845 · OpenAlex W7224111531
Open access: hybrid, a free copy (OpenAlex)
Status: code verified (how the code is found and verified)
Categories: structural MRI / diffusion (modality), human (organism), other condition (population)
Methods: Statistics, Machine learning
Keywords: Hippocampal subfield volumes, magnetic resonance imaging, regional brain volume, touchscreen trial‐unique delayed non‐matching to location, type 2 diabetes risk
MeSH: Diabetes Mellitus, Type 2*, Hippocampus*, Spatial Memory*, Aged, Aging, Cross-Sectional Studies, Female, Glycated Hemoglobin, Humans, Magnetic Resonance Imaging, Male, Middle Aged, Neuropsychological Tests, Organ Size (* major topic)
Topic: Dementia and Cognitive Impairment Research (Psychiatry and Mental health, Medicine), according to OpenAlex
Citations: not cited yet (Europe PMC); 67 references in the paper

Abstract

Older adults at risk for type 2 diabetes (T2D) are more likely to experience accelerated cognitive aging and neurodegeneration due to impaired metabolism in the hippocampus. However, the precise relationship between T2D risk factors, brain volumes (i.e., gray matter, white matter, hippocampus subfields), and hippocampus‐dependent functions (i.e., spatial pattern separation, a component of spatial memory) remains unexplored. To investigate these relationships in this cross‐sectional study, 60 older adults at risk for T2D (e.g., high BMI or elevated A1c levels) completed a touchscreen‐based spatial pattern separation behavioral task—the Trial‐Unique delayed Nonmatching‐to‐Location (TUNL) and magnetic resonance imaging (MRI). HippUnfold was utilized to segment the hippocampus from high‐resolution, T1‐weighted images. We found positive correlations between A1c levels and volumes of the dentate gyrus (DG) and cornu ammonis (CA) 2, indicating that higher A1c was associated with larger volumes of hippocampal subregions. Additionally, TUNL accuracy was correlated with gray matter and distinct hippocampus subfield volumes (i.e., subiculum, CA1, and CA4), with larger volumes associated with better spatial memory performance. Understanding early structural changes in T2D risk allows us to further characterize changes in brain health associated with metabolic dysfunction.

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

Repositories

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

Zenodo 7577008

License: other-open
State: the link answers, verified on 1 November 2026
Evidence: files inventoried
Size: 1 file
Software Heritage: not checked
Found in: the text, “Spatial Memory Apparatus and Measures”
Not found: README, license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: NumPy (7 files)
Availability: 1 check, the latest on 1 November 2026: the link answers (HTTP 200)
  • 1 November 2026: the link answers (HTTP 200)
25 files

dpalmer9/touchcog

License: GPL-3.0
State: the link answers, verified on 1 November 2026
Evidence: files inventoried
Commit: f6f059a83e08bdf13a5a2e2e4bfb6b7cf23963d9, 14 October 2026
Languages: Python (28)
Size: 463 files, 28 scripts
Software Heritage: not archived
Found in: the Zenodo archive record
Holds: README, license file, CITATION.cff, environment (requirements.txt)
Not found: tests, continuous integration, documentation
Tools: NumPy (5 files), pandas (4 files)
Availability: 1 check, the latest on 1 November 2026: the link answers
  • 1 November 2026: the link answers
30 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:

  • 2 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 51 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 Statement

Data is available from the corresponding author upon reasonable request.

Reproduced under the paper's license (CC BY-NC), 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, 1 November 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 9 authors, 5 keywords, 14 MeSH terms, 3 funders, 61 references.

Cite

This paper

Al‐Shaikh, J. H., Ghosh‐Swaby, O. R., Khan, A. R., Thornton, J., Bussey, T. J., Saksida, L. M., Palmer, D., Liu‐Ambrose, T., & Nagamatsu, L. S. (2026). Hippocampal Subfield Volumes and Spatial Memory Performance in Older Adults At-Risk for Type 2 Diabetes. Hippocampus, 36(6), e70144. https://doi.org/10.1002/hipo.70144

BibTeX

@article{alshaikh2026hippocampal,
author = {Al‐Shaikh, Jennifer Hanna and Ghosh‐Swaby, Olivia R. and Khan, Ali R. and Thornton, Jane and Bussey, Timothy J. and Saksida, Lisa M. and Palmer, Daniel and Liu‐Ambrose, Teresa and Nagamatsu, Lindsay S.},
title = {{Hippocampal Subfield Volumes and Spatial Memory Performance in Older Adults At-Risk for Type 2 Diabetes}},
journal = {Hippocampus},
year = {2026},
month = nov,
volume = {36},
number = {6},
pages = {e70144},
publisher = {Wiley},
issn = {1050-9631},
doi = {10.1002/hipo.70144},
url = {https://doi.org/10.1002/hipo.70144},
pmid = {42951841},
pmcid = {PMC13716845}
}

RIS

TY - JOUR
AU - Al‐Shaikh, Jennifer Hanna
AU - Ghosh‐Swaby, Olivia R.
AU - Khan, Ali R.
AU - Thornton, Jane
AU - Bussey, Timothy J.
AU - Saksida, Lisa M.
AU - Palmer, Daniel
AU - Liu‐Ambrose, Teresa
AU - Nagamatsu, Lindsay S.
TI - Hippocampal Subfield Volumes and Spatial Memory Performance in Older Adults At-Risk for Type 2 Diabetes
T2 - Hippocampus
J2 - Hippocampus
PY - 2026
DA - 2026/11/01
VL - 36
IS - 6
SP - e70144
SN - 1050-9631
PB - Wiley
DO - 10.1002/hipo.70144
UR - https://doi.org/10.1002/hipo.70144
LA - en
ER -

CSL-JSON

{
"id": "10.1002/hipo.70144",
"type": "article-journal",
"title": "Hippocampal Subfield Volumes and Spatial Memory Performance in Older Adults At-Risk for Type 2 Diabetes",
"container-title": "Hippocampus",
"author": [
{
"family": "Al‐Shaikh",
"given": "Jennifer Hanna"
},
{
"family": "Ghosh‐Swaby",
"given": "Olivia R."
},
{
"family": "Khan",
"given": "Ali R."
},
{
"family": "Thornton",
"given": "Jane"
},
{
"family": "Bussey",
"given": "Timothy J."
},
{
"family": "Saksida",
"given": "Lisa M."
},
{
"family": "Palmer",
"given": "Daniel"
},
{
"family": "Liu‐Ambrose",
"given": "Teresa"
},
{
"family": "Nagamatsu",
"given": "Lindsay S."
}
],
"container-title-short": "Hippocampus",
"volume": "36",
"issue": "6",
"page": "e70144",
"DOI": "10.1002/hipo.70144",
"PMID": "42951841",
"PMCID": "PMC13716845",
"ISSN": "1050-9631",
"publisher": "Wiley",
"URL": "https://doi.org/10.1002/hipo.70144",
"language": "en",
"issued": {
"date-parts": [
[
2026,
11,
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.1073/pnas.2310044121 [code]
Insights into hippocampal perfusion using high-resolution, multi-modal 7T MRI.
Journal: Proceedings of the National Academy of Sciences of the United States of America
In common: pandas, NumPy, structural MRI / diffusion, 3 references, author Ali R. Khan
[2] doi:10.1038/s41598-025-04166-2 [code]
Insights on the neurocognitive mechanisms underlying hippocampus-dependent memory impairment in COVID-19.
Journal: Scientific reports
In common: pandas, NumPy, other condition, 5 references
[3] doi:10.7554/elife.88404 [code]
Evaluation of surface-based hippocampal registration using ground-truth subfield definitions.
Journal: eLife
In common: pandas, NumPy, 2 references, author Ali R. Khan
[4] doi:10.1038/s41467-026-73818-2 [code]
Prefrontal parvalbumin neurons mediate working memory in a task demand-dependent manner.
Journal: Nature communications
In common: pandas, NumPy, 1 reference, author Daniel Palmer
[5] doi:10.1038/s41467-024-49823-8 [code]
Hippocampal connectivity patterns echo macroscale cortical evolution in the primate brain.
Journal: Nature communications
In common: pandas, NumPy, 6 references
[6] doi:10.7554/elife.77945 [code]
Automated hippocampal unfolding for morphometry and subfield segmentation with HippUnfold.
Journal: eLife
In common: pandas, NumPy, structural MRI / diffusion, 1 reference, author Ali R. Khan
[7] doi:10.1093/schizbullopen/sgae010 [code]
Cortical Network Disruption Is Minimal in Early Stages of Psychosis.
Journal: Schizophrenia bulletin open
In common: pandas, NumPy, structural MRI / diffusion, 1 reference, author Ali R. Khan
[8] doi:10.1002/hbm.26461 [code]
Mapping the macrostructure and microstructure of the in vivo human hippocampus using diffusion MRI.
Journal: Human brain mapping
In common: pandas, NumPy, structural MRI / diffusion, 4 references
[9] doi:10.1038/s41597-023-02330-9 [code]
Magnetic resonance imaging datasets with anatomical fiducials for quality control and registration.
Journal: Scientific data
In common: NumPy, structural MRI / diffusion, 1 reference, author Ali R. Khan
[10] doi:10.1002/hbm.70417 [code]
In Vivo Quantification of White Matter Pathways in the Human Hippocampus.
Journal: Human brain mapping
In common: structural MRI / diffusion, 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.

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.1002/hipo.70144.svg)](https://openscicode.org/badge/doi/10.1002/hipo.70144)
<!-- oscr-badge:end -->
reStructuredText
.. oscr-badge:start

.. image:: https://openscicode.org/badge/doi/10.1002/hipo.70144.svg
   :target: https://openscicode.org/badge/doi/10.1002/hipo.70144
   :alt: OSCR

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

On GitHub, open the README, choose Edit (the pencil), paste the snippet under the title, then "Commit changes".

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)

Versions of its code: the releases of its code tied to a version of this paper (the preprint, the accepted manuscript, the version of record…), each with the tracing map versioned with it.

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