OSCR

A cortical semantic map integrates fractions and integers in the human brain.

Code ↔ Paper

9 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 9 matches · 1 of them tie a paragraph to a whole file without given lines: a weak match, whose lines are not tinted
  1. [1] § Methods › Voxel tuning ↔ fMRI/Gaussian_fit/gaussianfit_averagegroups_aggruns_figure7CD.ipynb, lines 162 to 273 · score 0.79 · 0.1–2, amplitude, bounded, 0–5, Gaussian, Glasser · Report a mismatch
  2. [2] § Methods › Voxel tuning ↔ fMRI/Gaussian_fit/correlation_between_fractions_integers_figureS7.ipynb, the whole file · a weak match · score 0.68 · smoothed noise, FWHM, IP2, PF, volumes, Glasser · Report a mismatch
  3. [3] § Methods › Voxel tuning ↔ fMRI/Gaussian_fit/correlation-relation_between_fractions_integers_figures8.ipynb, lines 21 to 165 · score 0.64 · smoothed noise, FWHM, IP2, PF, volumes, match · Report a mismatch
  4. [4] § Methods › Representational similarity analysis (RSA) ↔ fMRI/Multiple_regression/searchlight_analysis_allsubs_multipleregression_figure6.py, lines 184 to 273 · score 0.59 · multiple regression, sphere, searchlight, radius, RSA, mask · Report a mismatch
  5. [5] § Methods › Representational similarity analysis (RSA) ↔ fMRI/Multiple_regression/secondlevel_analyses_searchlight_figure6_tableS1.ipynb, lines 104 to 225 · score 0.58 · multiple regression, radius, searchlight, RSA, mask, FDR · Report a mismatch
  6. [6] § Methods › Voxel tuning ↔ fMRI/Gaussian_fit/relation_between_runs_integ_figure7A.ipynb, lines 136 to 192 · score 0.58 · diagonal elements, normalized activation, shuffled, permutation, rows, voxels · Report a mismatch
  7. [7] § Methods › Voxel tuning ↔ fMRI/Gaussian_fit/relation_between_runs_fractions_figure7B.ipynb, lines 142 to 192 · score 0.56 · diagonal elements, normalized activation, shuffled, permutation, voxels, matrix · Report a mismatch
  8. [8] § Methods › Anatomical and functional preprocessing ↔ fMRI/Gaussian_fit/gaussianfit_averagegroups_aggruns_figure7CD.ipynb, lines 162 to 273 · score 0.54 · residual, affine, variance, volume, threshold, square · Report a mismatch
  9. [9] § Results › Individual voxel tuning and numerotopic map ↔ fMRI/Gaussian_fit/relation_between_fractions_integers_figureS7.ipynb, lines 102 to 182 · score 0.51 · preferred integer, normalized activation, Gaussian, S7, preferences, fitted · 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

Jupyter notebook · 273 lines · 11 KB · no license · 2 matches

  1. # %%
  2. import numpy as np
  3. import matplotlib.pyplot as plt
  4. import time
  5. from scipy import linalg # Using scipy.linalg.lstsq might offer more options later if needed, but numpy is fine
  6. from scipy.optimize import curve_fit
  7. import os
  8. import sys
  9. import numpy as np
  10. import pandas as pd
  11. import json
  12. import pickle
  13. import nibabel as nib
  14. import time
  15. from nilearn.image import load_img
  16. from nilearn.glm.first_level import FirstLevelModel
  17. from nilearn.glm.first_level import make_first_level_design_matrix
  18. from nilearn.plotting import plot_design_matrix
  19. from nilearn.image import resample_to_img
  20. from nilearn.image import new_img_like
  21. from nilearn import surface
  22. from nilearn import plotting
  23. from nilearn.image import smooth_img
  24. from matplotlib.colors import ListedColormap, BoundaryNorm
  25. from nilearn import plotting
  26. import glob
  27. import os.path as op
  28. from nilearn.image import smooth_img
  29. from scipy.stats import sem # standard error of the mean
  30. import matplotlib.pyplot as plt
  31. from nilearn.maskers import NiftiMasker
  32. from matplotlib import cm
  33. from matplotlib.colors import Normalize
  34. from nilearn.image.image import mean_img
  35. from nilearn.plotting import plot_roi, plot_epi, show
  36. # %%
  37. # Define a Gaussian function
  38. def gaussian(x, a, x0, sigma):
  39. return a * np.exp(-(x - x0)**2 / (2 * sigma**2))
  40. # %% [markdown]
  41. # # Integers
  42. #
  43. # aggregate runs, loop through rois
  44. # %%
  45. r_threshold = 0.5
  46. rois = ["locp005_math", "glasser_bilateral_frontal", "glasser_bilateral_ips", "glasser_bilateral_temporal", "hippocampus", "parahippocampal", "bilateral_PF_IP2"]
  47. for roi in rois:
  48. print(f"\n--- ROI: {roi} ---")
  49. file_path = f"/home_local/Daniela_fmri_analyses/Results/gaussian_fit/group_analysis_aggregate_runs/{roi}/grouplevel_matrix_targetsXvoxels_coords_tmap_mni-space_{roi}_ordercateg_smooth4.npz"
  50. data = np.load(file_path)
  51. # Assuming the first key contains the matrix, print the first row
  52. first_key = data.files[0]
  53. matrix = data[first_key]
  54. tuning_curves = np.zeros((matrix.shape[0], 3))
  55. fitted_gaussians = np.zeros((matrix.shape[0], 6)) #to collect the fitted gaussian model for each voxel
  56. target_tmap_all = np.zeros((matrix.shape[0], 6))
  57. for i_voxel in range(matrix.shape[0]):
  58. #print("Voxel", i_voxel)
  59. target_tmap = matrix[i_voxel, -6:] # all voxels for the integers
  60. target_tmap = (target_tmap - np.min(target_tmap)) /(np.max(target_tmap) - np.min(target_tmap)) # Normalize target_betas between 0 and 1
  61. target_tmap = np.nan_to_num(target_tmap)
  62. target_tmap_all[i_voxel] = target_tmap # to store
  63. x = [0, 1, 2, 3, 4, 5]
  64. high_res_x = np.linspace(0, len(target_tmap) - 1, len(target_tmap))
  65. amplitude, center, size = np.nan, np.nan, np.nan # Initialize outputs
  66. try:
  67. # Attempt to fit the curve
  68. # Fit the Gaussian to target_betas with constrained parameters
  69. # Bounds: amplitude (0 to 1), center (0 to 5), sigma (0.1 to 2)
  70. popt, pcov = curve_fit(
  71. gaussian,
  72. x,
  73. target_tmap,
  74. p0=[1, np.argmax(target_tmap), 1],
  75. bounds=([0, 0, 0.1], [1, 5, 2]) # Lower and upper bounds
  76. )
  77. except RuntimeError as e:
  78. print(f"Curve fitting failed: {e}")
  79. # Outputs remain as NaN or can be set to zero
  80. amplitude, center, size = 0, 0, 0
  81. # Extract the fitted parameters
  82. amplitude, center, size = popt
  83. # Generate the Gaussian fit at the original resolution
  84. # It has 6 datapoints to the 6 conditions
  85. fitted_gaussian = gaussian(x, amplitude, center, size)
  86. fitted_gaussians[i_voxel] = fitted_gaussian # to store
  87. # Generate the high-resolution Gaussian
  88. high_res_gaussian = gaussian(high_res_x, amplitude, center, size)
  89. # Calculate the variance explained (R²)
  90. ss_total = np.sum((target_tmap - np.mean(target_tmap))**2)
  91. ss_residual = np.sum((target_tmap - fitted_gaussian)**2)
  92. r_squared = 1 - (ss_residual / ss_total)
  93. # Ensure R² is non-negative
  94. modified_r_squared = max(0, r_squared)
  95. tuning_curves[i_voxel, 0] = center
  96. tuning_curves[i_voxel, 1] = size
  97. tuning_curves[i_voxel, 2] = modified_r_squared
  98. # Assign values from numTune to the corresponding voxel indices in voxel_ijk
  99. numTune = tuning_curves[:,0] #center
  100. numTune [tuning_curves[:, 2] <= r_threshold] = np.nan # only to have r2 > 0.5
  101. # Load the mask used to extract the matrix (same space & dimensions as reference image)
  102. mask_img = nib.load(f"/home_local/Daniela_fmri_analyses/Results/gaussian_fit/ROIs/{roi}.nii")
  103. mask_data = mask_img.get_fdata()
  104. volume_shape = mask_img.shape
  105. affine = mask_img.affine
  106. # Initialize an empty volume (full brain size)
  107. volume = np.zeros(volume_shape)
  108. # Get the (i, j, k) indices of nonzero voxels (i.e., selected voxels in the mask)
  109. voxel_ijk = np.array(np.nonzero(mask_data)).T # shape: (els,n_vox 3)
  110. # Assume voxel_ijk is already available and numTune contains values to fill
  111. for idx, (i, j, k) in enumerate(voxel_ijk):
  112. volume[i, j, k] = numTune[idx]
  113. voxel_mni = nib.affines.apply_affine(affine, voxel_ijk)
  114. # Save NIfTI
  115. output_img = nib.Nifti1Image(volume, affine=affine)
  116. numTune_path = f"/home_local/Daniela_fmri_analyses/Results/gaussian_fit/group_analysis_aggregate_runs/{roi}/grouplevel_numTuning_integers_{roi}_r{r_threshold}_smooth4_norm.nii.gz"
  117. nib.save(output_img, numTune_path)
  118. save_path = f"/home_local/Daniela_fmri_analyses/Results/gaussian_fit/group_analysis_aggregate_runs/{roi}/grouplevel_integers_{roi}_fit_outputs_smooth4_norm.npz"
  119. np.savez(
  120. save_path,
  121. target_tmap_all=target_tmap_all, #save t values after being normalized
  122. fitted_gaussians=fitted_gaussians, #predicted values
  123. tuning_curves=tuning_curves, #preferred centers
  124. voxel_coords=voxel_mni #voxel coordinates
  125. )
  126. # %% [markdown]
  127. # # Fractions
  128. #
  129. # aggregate runs
  130. # %%
  131. r_threshold = 0.5
  132. rois = ["locp005_math", "glasser_bilateral_frontal", "glasser_bilateral_ips", "glasser_bilateral_temporal", "hippocampus", "parahippocampal", "bilateral_PF_IP2"]
  133. for roi in rois:
  134. print(f"\n--- ROI: {roi} ---")
  135. file_path = f"/home_local/Daniela_fmri_analyses/Results/gaussian_fit/group_analysis_aggregate_runs/{roi}/grouplevel_matrix_targetsXvoxels_coords_tmap_mni-space_{roi}_ordercateg_smooth4.npz"
  136. data = np.load(file_path)
  137. # Assuming the first key contains the matrix, print the first row
  138. first_key = data.files[0]
  139. matrix = data[first_key]
  140. tuning_curves = np.zeros((matrix.shape[0], 3))
  141. fitted_gaussians = np.zeros((matrix.shape[0], 6)) #to collect the fitted gaussian model for each voxel
  142. target_tmap_all = np.zeros((matrix.shape[0], 6))
  143. for i_voxel in range(matrix.shape[0]):
  144. #print("Voxel", i_voxel)
  145. target_tmap = matrix[i_voxel, 4:10] # all voxels for the fractions
  146. target_tmap = (target_tmap - np.min(target_tmap)) /(np.max(target_tmap) - np.min(target_tmap)) # Normalize target_betas between 0 and 1
  147. target_tmap = np.nan_to_num(target_tmap)
  148. target_tmap_all[i_voxel] = target_tmap # to store
  149. x = [1/4, 1/3, 1/2, 2/3, 3/2, 5/2]
  150. high_res_x = np.linspace(0, len(target_tmap) - 1, len(target_tmap))
  151. amplitude, center, size = np.nan, np.nan, np.nan # Initialize outputs
  152. try:
  153. # Attempt to fit the curve
  154. # Fit the Gaussian to target_betas with constrained parameters
  155. # Bounds: amplitude (0 to 1), center (0 to 5), sigma (0.1 to 2)
  156. popt, pcov = curve_fit(
  157. gaussian,
  158. x,
  159. target_tmap,
  160. p0=[1, np.clip(np.argmax(target_tmap), 0.25, 2.5), 1],
  161. bounds=([0, 0.25, 0.1], [1, 2.5, 2]) # Lower and upper bounds
  162. )
  163. except RuntimeError as e:
  164. print(f"Curve fitting failed: {e}")
  165. # Outputs remain as NaN or can be set to zero
  166. amplitude, center, size = 0, 0, 0
  167. # Extract the fitted parameters
  168. amplitude, center, size = popt
  169. # Generate the Gaussian fit at the original resolution
  170. # It has 6 datapoints to the 6 conditions
  171. fitted_gaussian = gaussian(x, amplitude, center, size)
  172. fitted_gaussians[i_voxel] = fitted_gaussian # to store
  173. # Generate the high-resolution Gaussian
  174. high_res_gaussian = gaussian(high_res_x, amplitude, center, size)
  175. # Calculate the variance explained (R²)
  176. ss_total = np.sum((target_tmap - np.mean(target_tmap))**2)
  177. ss_residual = np.sum((target_tmap - fitted_gaussian)**2)
  178. r_squared = 1 - (ss_residual / ss_total)
  179. # Ensure R² is non-negative
  180. modified_r_squared = max(0, r_squared)
  181. tuning_curves[i_voxel, 0] = center
  182. tuning_curves[i_voxel, 1] = size
  183. tuning_curves[i_voxel, 2] = modified_r_squared
  184. # Assign values from numTune to the corresponding voxel indices in voxel_ijk
  185. numTune = tuning_curves[:,0] #center
  186. numTune [tuning_curves[:, 2] <= r_threshold] = np.nan # only to have r2 in 0.5
  187. #print("Number tuning", numTune.shape)
  188. # Load the mask used to extract the matrix (same space & dimensions as reference image)
  189. mask_img = nib.load(f"/home_local/Daniela_fmri_analyses/Results/gaussian_fit/ROIs/{roi}.nii")
  190. mask_data = mask_img.get_fdata()
  191. volume_shape = mask_img.shape
  192. affine = mask_img.affine
  193. # Initialize an empty volume (full brain size)
  194. volume = np.zeros(volume_shape)
  195. # Get the (i, j, k) indices of nonzero voxels (i.e., selected voxels in the mask)
  196. voxel_ijk = np.array(np.nonzero(mask_data)).T # shape: (n_voxels, 3)
  197. # Assume voxel_ijk is already available and numTune contains values to fill
  198. for idx, (i, j, k) in enumerate(voxel_ijk):
  199. volume[i, j, k] = numTune[idx]
  200. voxel_mni = nib.affines.apply_affine(affine, voxel_ijk)
  201. # Save NIfTI
  202. output_img = nib.Nifti1Image(volume, affine=affine)
  203. numTune_path = f"/home_local/Daniela_fmri_analyses/Results/gaussian_fit/group_analysis_aggregate_runs/{roi}/grouplevel_numTuning_fractions_{roi}_r{r_threshold}_smooth4_norm.nii.gz"
  204. nib.save(output_img, numTune_path)
  205. save_path = f"/home_local/Daniela_fmri_analyses/Results/gaussian_fit/group_analysis_aggregate_runs/{roi}/grouplevel_fractions_{roi}_fit_outputs_smooth4_norm.npz"
  206. np.savez(
  207. save_path,
  208. target_tmap_all=target_tmap_all,
  209. fitted_gaussians=fitted_gaussians,
  210. tuning_curves=tuning_curves,
  211. voxel_coords=voxel_mni #voxel coordinates
  212. )

gaussianfit_averagegroups_aggruns_figure7CD.ipynb, no license · at the source

Overview

Authors: Daniela Valério1,2, Samuel Debray1,2, Alireza Karami1,2, Maxime Cauté1,2, Nicolás Gravel1,2, Stanislas Dehaene1,2
ORCID iDs: Daniela Valério
  1. Université Paris Saclay, INSERM, CEA, Cognitive Neuroimaging Unit, NeuroSpin Center, Gif-sur-Yvette, France
  2. Collège de France, PSL University, Paris, France
Journal: PLoS biology, volume 24, issue 10, article e3003820
Dates: received 16 March 2026; accepted 18 September 2026; published online 22 October 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1371/journal.pbio.3003820 · PMID 42911907 · PMCID PMC13690230 · OpenAlex W7223218274
Open access: gold, a free copy (OpenAlex)
Status: code verified (how the code is found and verified)
Categories: fMRI (modality), human (organism)
Methods: Connectivity, Statistics, Smoothing, state filtering, decompositions, Preprocessing, fMRI & imaging, Machine learning
MeSH: Brain*, Brain Mapping*, Semantics*, Adult, Female, Humans, Magnetic Resonance Imaging, Male, Young Adult (* major topic)
Journal subjects: Biology and Life Sciences, Neuroscience, Brain Mapping, Functional Magnetic Resonance Imaging, Medicine and Health Sciences, Diagnostic Medicine, Diagnostic Radiology, Magnetic Resonance Imaging, Research and Analysis Methods, Imaging Techniques, Radiology and Imaging, Neuroimaging, Anatomy, Brain, Hippocampus, Social Sciences, Linguistics, Semantics, Mathematical and Statistical Techniques, Statistical Methods, Multivariate Analysis, Principal Component Analysis, Physical Sciences, Mathematics, Statistics, Algebra, Linear Algebra, Vector Spaces, Neuronal Tuning, Psychology, Behavior, Cerebral Cortex, Temporal Lobe
Topic: Cognitive and developmental aspects of mathematical skills (Developmental and Educational Psychology, Psychology), according to OpenAlex
Funding: European Research Council (ERC-2022-ADG 101095866)
Citations: not cited yet (Europe PMC); 117 references in the paper
Research resources: RRID:SCR_001362, distributed with ANTs 2.3.3 [59 RRID:SCR_004757

Abstract

How does the human brain represent the meaning of abstract symbols? Some theories postulate the existence of semantic spaces where concepts occupy positions that reflect their conceptual relationships. In the number domain, psychological evidence suggests that integers are represented along a mental number line which, with education, integrates higher-level number concepts such as fractions. To test this hypothesis, we recorded whole-brain 7T fMRI responses to integer and fraction symbols during an active magnitude comparison task designed to engage magnitude processing. Consistent with predictions, we found both behavioral and neural numerical distance effects. Activation vectors in intraparietal, inferior temporal, prefrontal, hippocampal, and parahippocampal cortices formed a two-dimensional semantic space organized by numerical magnitude and domain (fractions versus integers). Gaussian fits revealed a topographic map of numerical preferences in the anterior inferior parietal cortex, common to both domains. Our results suggest that, when educated adults engage in an explicit magnitude comparison task, their brain can construct an ordered representation that integrates fractions and integers, with a topographic organization in the anterior IPS/IPL.

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

Repositories

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

OSF jqcna

License: none: the authors keep all their rights
State: the link answers, verified on 25 October 2026
Evidence: files inventoried
Languages: Jupyter (19), R (3), Python (1)
Size: 30 files, 23 scripts
Software Heritage: not checked
Found in: “Data Availability”
Holds: 19 notebooks
Not found: README, license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: NumPy (20 files), Matplotlib (19 files), NiBabel (18 files), Nilearn (17 files), SciPy (16 files), scikit-learn (12 files), pandas (11 files), statsmodels (8 files), reticulate (3 files), ggplot2 (1 file), reshape2 (1 file), seaborn (1 file), tidyverse (1 file)
Availability: 1 check, the latest on 25 October 2026: the link answers (HTTP 200)
  • 25 October 2026: the link answers (HTTP 200)
23 files

OSF 267s5

License: none: the authors keep all their rights
State: the link answers, verified on 30 September 2026
Evidence: files inventoried
Languages: R (3)
Size: 8 files, 3 scripts
Software Heritage: not checked
Found in: the references
Holds: 3 notebooks
Not found: README, license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: ggplot2 (3 files), ggpubr (3 files), reshape2 (3 files), tidyverse (3 files), broom (2 files), rstatix (2 files)
Availability: 1 check, the latest on 30 September 2026: the link answers (HTTP 200)
  • 30 September 2026: the link answers (HTTP 200)
3 files
At the source: osf.io/267s5

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:

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

All data, code, and outputs to reproduce the main results are publicly available on the Open Science Foundation (OSF): https://doi.org/10.17605/OSF.IO/JQCNA.

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, 25 October 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 6 authors, 9 MeSH terms, 1 funder, 114 references, 2 RRIDs.

Cite

This paper

Valério, D., Debray, S., Karami, A., Cauté, M., Gravel, N., & Dehaene, S. (2026). A cortical semantic map integrates fractions and integers in the human brain. PLoS biology, 24(10), e3003820. https://doi.org/10.1371/journal.pbio.3003820

BibTeX

@article{valerio2026cortical,
author = {Valério, Daniela and Debray, Samuel and Karami, Alireza and Cauté, Maxime and Gravel, Nicolás and Dehaene, Stanislas},
title = {{A cortical semantic map integrates fractions and integers in the human brain}},
journal = {PLoS biology},
year = {2026},
month = oct,
volume = {24},
number = {10},
pages = {e3003820},
publisher = {PLOS},
issn = {1544-9173},
doi = {10.1371/journal.pbio.3003820},
url = {https://doi.org/10.1371/journal.pbio.3003820},
pmid = {42911907},
pmcid = {PMC13690230}
}

RIS

TY - JOUR
AU - Valério, Daniela
AU - Debray, Samuel
AU - Karami, Alireza
AU - Cauté, Maxime
AU - Gravel, Nicolás
AU - Dehaene, Stanislas
TI - A cortical semantic map integrates fractions and integers in the human brain
T2 - PLoS biology
J2 - PLoS Biol
PY - 2026
DA - 2026/10/22
VL - 24
IS - 10
SP - e3003820
SN - 1544-9173
PB - PLOS
DO - 10.1371/journal.pbio.3003820
UR - https://doi.org/10.1371/journal.pbio.3003820
LA - en
ER -

CSL-JSON

{
"id": "10.1371/journal.pbio.3003820",
"type": "article-journal",
"title": "A cortical semantic map integrates fractions and integers in the human brain",
"container-title": "PLoS biology",
"author": [
{
"family": "Valério",
"given": "Daniela"
},
{
"family": "Debray",
"given": "Samuel"
},
{
"family": "Karami",
"given": "Alireza"
},
{
"family": "Cauté",
"given": "Maxime"
},
{
"family": "Gravel",
"given": "Nicolás"
},
{
"family": "Dehaene",
"given": "Stanislas"
}
],
"container-title-short": "PLoS Biol",
"volume": "24",
"issue": "10",
"page": "e3003820",
"DOI": "10.1371/journal.pbio.3003820",
"PMID": "42911907",
"PMCID": "PMC13690230",
"ISSN": "1544-9173",
"publisher": "PLOS",
"URL": "https://doi.org/10.1371/journal.pbio.3003820",
"language": "en",
"issued": {
"date-parts": [
[
2026,
10,
22
]
]
}
}

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.03.24.713850 [code]
A cortical semantic space integrating fractions and integers
Journal: bioRxiv (preprint)
In common: broom, rstatix, reshape2, 3 other tools, 52 references
[2] doi:10.1038/s42003-025-08395-z [code]
Distinct neural representational geometries of numerosity in early visual and association regions across visual streams.
Journal: Communications biology
In common: Nilearn, NiBabel, scikit-learn, 4 other tools, fMRI, 18 references
[3] doi:10.7554/elife.106464 [code]
A geometric shape regularity effect in the human brain.
Journal: eLife
In common: broom, Nilearn, statsmodels, 7 other tools, 18 references
[4] doi:10.1111/desc.70042 [code]
Developmental Changes in Nonsymbolic and Symbolic Fractions Processing: A Cross-Sectional fMRI Study.
Journal: Developmental science
In common: tidyverse, fMRI, 15 references
[5] doi:10.1038/s41467-024-44810-5 [code]
Human brain representations of internally generated outcomes of approximate calculation revealed by ultra-high-field brain imaging.
Journal: Nature communications
In common: NiBabel, scikit-learn, SciPy, 1 other tool, 15 references
[6] doi:10.1038/s41467-024-55599-8 [code]
Hierarchical representations of relative numerical magnitudes in the human frontoparietal cortex.
Journal: Nature communications
In common: broom, tidyverse, 14 references
[7] doi:10.1016/j.dcn.2025.101598 [code]
High-field fMRI at 7 Tesla reveals topographic responses tuned to number in the developing human brain.
Journal: Developmental cognitive neuroscience
In common: Nilearn, statsmodels, NiBabel, 5 other tools, fMRI, 15 references
[8] doi:10.1371/journal.pbio.3003755 [code]
Action information is integrated into entorhinal representations of conceptual space and is reflected in eye movements.
Journal: PLoS biology
In common: Nilearn, statsmodels, NiBabel, 5 other tools, 15 references
[9] doi:10.1016/j.dcn.2023.101337 [code]
A multi-sample evaluation of the measurement structure and function of the modified monetary incentive delay task in adolescents.
Journal: Developmental cognitive neuroscience
In common: Nilearn, reshape2, ggpubr, 10 other tools, fMRI, 11 references
[10] doi:10.1523/eneuro.0065-24.2024 [code]
Gaze and Arrows: Does the Gaze-Following Patch in the Posterior Temporal Cortex Differentiate Social and Symbolic Spatial Cues?
Journal: eNeuro
In common: Nilearn, reshape2, ggpubr, 10 other tools, fMRI, 11 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.1371/journal.pbio.3003820.svg)](https://openscicode.org/badge/doi/10.1371/journal.pbio.3003820)
<!-- oscr-badge:end -->
reStructuredText
.. oscr-badge:start

.. image:: https://openscicode.org/badge/doi/10.1371/journal.pbio.3003820.svg
   :target: https://openscicode.org/badge/doi/10.1371/journal.pbio.3003820
   :alt: OSCR

.. oscr-badge:end
HTML
<!-- oscr-badge:start -->
<a href="https://openscicode.org/badge/doi/10.1371/journal.pbio.3003820"><img src="https://openscicode.org/badge/doi/10.1371/journal.pbio.3003820.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.