OSCR

Evaluating place cell detection methods in Rats and Humans: Implications for cross-species spatial coding.

Code ↔ Paper

2 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 2 matches
  1. [1] § Datasets › Feature estimation ↔ code/utils/utils.py, lines 71–123 · score 0.60 · Pearson correlation, Odd Correlation, spatial firing rate
  2. [2] § Datasets › Permutation testing ↔ spiketools/stats/shuffle.py, lines 168–217 · score 0.57 · circularly shifted, spike train, shuffling

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 · 178 lines · 6.9 KB · MIT · 1 match

  1. import numpy as np
  2. from scipy.ndimage import label
  3. from feature_settings import PLACE_FIELD_THRESH, PLACE_FIELD_NOISE_THRESH, TOLERANCE, PEAK, AVERAGE, PEAK_OVER_AVERAGE, PLACE_FIELD_WIDTH, N_PLACE_FIELD, EVEN_ODD_CORRELATION, PLACE_FIELD_CONSISTENCY, PRESENCE_RATIO
  4. def find_place_field(rate_map, place_field_thresh=PLACE_FIELD_THRESH, noise_thresh=PLACE_FIELD_NOISE_THRESH):
  5. """
  6. Identify contiguous regions of high firing rates above a threshold, and remove noisy regions below a threshold.
  7. Parameters:
  8. - rate_map: 2D array representing the spatial firing rate map.
  9. - place_field_thresh: Fraction of the peak firing rate used for thresholding (e.g., 0.2).
  10. - noise_thresh: Threshold below which regions are considered noise and excluded.
  11. Returns:
  12. - place_field_mask: Binary map of the identified place fields (True for regions above the threshold).
  13. - place_bins_passed_thresh: Number of bins above the place field threshold.
  14. - labeled_fields: 2D array where each contiguous region above the threshold is labeled with a unique integer.
  15. - num_fields: Number of contiguous place fields found.
  16. - peak_rate: Peak firing rate used for thresholding.
  17. """
  18. # Find the peak firing rate in the rate map
  19. peak_rate = np.max(rate_map)
  20. peak_loc = np.argmax(rate_map)
  21. # Define the threshold value (fraction of peak firing rate)
  22. place_field_thresh_value = place_field_thresh * peak_rate
  23. noise_thresh_value = noise_thresh*peak_rate
  24. # Create a binary mask of regions with firing rates above the threshold
  25. place_field_mask = rate_map >= place_field_thresh_value
  26. # Apply the noise threshold: Remove regions where firing rate is below the noise threshold
  27. noise_mask = rate_map < noise_thresh_value
  28. # Count how many bins (or regions) passed the combined threshold
  29. num_place_field_bins = place_field_mask.sum()
  30. num_noise_bins = noise_mask.sum()
  31. # Label contiguous regions above the threshold
  32. labeled_place_fields, num_place_fields = label(place_field_mask)
  33. # Return all the relevant information
  34. return num_place_field_bins,num_noise_bins, labeled_place_fields, num_place_fields, peak_rate,peak_loc
  35. def find_place_location(trial_place_bins, peak_loc, tolerance=TOLERANCE):
  36. max_locs = [] # List to store the indices of max values
  37. max_values = [] # List to store the max values
  38. for indx, trial in enumerate(trial_place_bins):
  39. # Find the index of the maximum value in the trial
  40. max_index = np.argmax(trial)
  41. max_value = np.max(trial)
  42. # Store the results
  43. max_locs.append(max_index)
  44. max_values.append(max_value)
  45. max_locs = np.array(max_locs)
  46. max_values = np.array(max_values)
  47. # Compute the number of max_locs close to the peak_loc within a given tolerance
  48. close_to_peak = np.abs(max_locs - peak_loc) <= tolerance
  49. num_close_to_peak = np.sum(close_to_peak)
  50. percentage_num_close_to_peak = num_close_to_peak/len(trial_place_bins)
  51. return max_locs, max_values, num_close_to_peak,percentage_num_close_to_peak
  52. def even_odd_correlation(x):
  53. """
  54. Calculate the correlation between the average firing rates of even and odd trials.
  55. This function splits trials into even and odd numbered trials, averages each group,
  56. and computes the correlation between these averages. This measures the consistency
  57. of spatial firing patterns across trials.
  58. Args:
  59. x: List or array of trial firing rates, where each trial contains firing rates
  60. across spatial positions
  61. Returns:
  62. float: Pearson correlation coefficient between even and odd trial averages.
  63. Returns np.nan if:
  64. - Input has no variance (constant values)
  65. - Input contains only NaN values
  66. - Less than 2 valid data points after processing
  67. """
  68. # Convert input to numpy array if it's a list
  69. x = np.array(x)
  70. # find the even and odd indices
  71. even_indices = np.arange(0, len(x), 2)
  72. odd_indices = np.arange(1, len(x), 2)
  73. # Split trials into even and odd groups
  74. even_trials = np.array([x[i] for i in even_indices])
  75. odd_trials = np.array([x[i] for i in odd_indices])
  76. # Calculate mean firing rate for each position across even/odd trials
  77. even_avg = np.mean(even_trials, axis=0)
  78. odd_avg = np.mean(odd_trials, axis=0)
  79. # Handle cases where there is no variance
  80. if np.all(even_avg == even_avg[0]) or np.all(odd_avg == odd_avg[0]):
  81. return np.nan
  82. # Remove any NaN values
  83. mask = ~np.isnan(even_avg) & ~np.isnan(odd_avg)
  84. if not np.any(mask):
  85. return np.nan
  86. even_avg = even_avg[mask]
  87. odd_avg = odd_avg[mask]
  88. # Compute correlation only if we have enough valid data points
  89. if len(even_avg) < 2:
  90. return np.nan
  91. # Calculate Pearson correlation between even and odd trial averages
  92. correlation = np.corrcoef(even_avg, odd_avg)[0,1]
  93. return correlation
  94. def get_all_place_field_features(all_cell_place_bins):
  95. """
  96. Process all cell place bins and compute feature metrics for each cell.
  97. Parameters:
  98. -----------
  99. all_cell_place_bins : list or array-like
  100. List of arrays, each containing the place bins for a cell across trials.
  101. Returns:
  102. --------
  103. all_results : dict
  104. Dictionary containing lists of computed features for each cell.
  105. """
  106. all_results = {
  107. PEAK: [],
  108. AVERAGE: [],
  109. PEAK_OVER_AVERAGE: [],
  110. PLACE_FIELD_WIDTH: [],
  111. N_PLACE_FIELD: [],
  112. EVEN_ODD_CORRELATION: [],
  113. PLACE_FIELD_CONSISTENCY: [],
  114. PRESENCE_RATIO: [],
  115. }
  116. for cell_place_bins in all_cell_place_bins:
  117. # Calculate rate map by averaging across trials
  118. rate_map = np.mean(cell_place_bins, axis=0)
  119. # Find place fields and get results
  120. num_place_field_bins, num_noise_bins, labeled_fields, num_fields, peak_rate, peak_loc = find_place_field(rate_map)
  121. # Find trial-by-trial peak locations
  122. trial_peak_locs, trial_peak_rates, num_close, pct_close = find_place_location(cell_place_bins, peak_loc)
  123. even_odd_corr = even_odd_correlation(cell_place_bins)
  124. # Calculate basic metrics
  125. avg_rate = np.mean(rate_map)
  126. snr = peak_rate / avg_rate
  127. # Append results for this cell
  128. all_results[PEAK].append(peak_rate)
  129. all_results[AVERAGE].append(avg_rate)
  130. all_results[PEAK_OVER_AVERAGE].append(snr)
  131. all_results[PLACE_FIELD_WIDTH].append(num_place_field_bins)
  132. all_results[EVEN_ODD_CORRELATION].append(even_odd_corr)
  133. all_results[N_PLACE_FIELD].append(num_fields)
  134. all_results[PLACE_FIELD_CONSISTENCY].append(pct_close)
  135. all_results[PRESENCE_RATIO].append(np.mean(cell_place_bins > 0, axis=0).mean())
  136. return all_results

utils.py at commit ce0d921, under MIT · at the source

Overview

  1. Department of Biomedical Engineering, Columbia University, New York, New York, United States of America
  2. Department of Neurosurgery, Rutgers Robert Wood Johnson Medical School and Rutgers‌‌ Brain Health Institute, New Brunswick, New Jersey, United States of America
  3. Department of Neurology and Neuroscience Institute, University of Chicago, ‌‌Chicago, Illinois, United States of America
Institutions: Columbia University (United States); Rutgers, The State University of New Jersey (United States)
Journal: PLoS computational biology, volume 22, issue 5, article e1013488
Dates: received 3 September 2025; accepted 28 April 2026; published online 26 May 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1371/journal.pcbi.1013488 · PMID 42189870 · PMCID PMC13225663 · OpenAlex W4414001215
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: extracellular electrophysiology (units, LFP) (modality), human (organism), rat (organism)
Methods: Statistics, Smoothing, state filtering, decompositions, Connectivity, Single-unit activity, calcium imaging
MeSH: Models, Neurological*, Place Cells*, Space Perception*, Action Potentials, Animals, Computational Biology, Computer Simulation, Hippocampus, Humans, Neurons, Rats, Species Specificity (* major topic)
Journal subjects: Biology and Life Sciences, Neuroscience, Neuronal Tuning, Computational Biology, Computational Neuroscience, Single Neuron Function, Cell Biology, Cellular Types, Animal Cells, Neurons, Cellular Neuroscience, Organisms, Eukaryota, Animals, Vertebrates, Amniotes, Mammals, Rodents, Zoology, Research and Analysis Methods, Mathematical and Statistical Techniques, Statistical Methods, Analysis of Variance, Physical Sciences, Mathematics, Statistics, Discrete Mathematics, Combinatorics, Permutation, Multivariate Analysis, Principal Component Analysis, Coding Mechanisms
Topic: Memory and Neural Mechanisms (Cognitive Neuroscience, Neuroscience), according to OpenAlex
Funding: National Institute of Mental Health (R01-MH104606)
Citations: not cited yet (Europe PMC); 67 references in the paper

Abstract

Place cells, first identified in the rat hippocampus as neurons that fire selectively at specific locations, are central to investigations of the neural underpinnings of spatial navigation. Recent spatial studies in human patients with drug-resistant epilepsy have made identifying and characterizing place cells across species increasingly important for understanding the extent to which decades of rodent research generalize to humans and for uncovering fundamental principles of spatial cognition. One challenge, however, is that detection methods differ: rodent studies often rely on spatial information (SI) in conjunction with place field stability measures, whereas human studies employ analysis of variance (ANOVA) based approaches. These methodological differences may affect the identified place cell populations, which complicates how their properties are interpreted and cross-species comparisons. To address this, we systematically applied multiple detection pipelines to human and rat datasets, supported by simulations that vary place-field properties. Our analyses and simulations demonstrate that spatial information and ANOVA-based approaches are responsive to distinct place field properties: spatial information primarily reflects the contrast between peak and average firing rates, while ANOVA emphasizes consistency across trials. Across species, rodent place cells revealed a broad spectrum of spatial tuning, including strongly tuned neurons with high spatial information and high ANOVA values. In contrast, human place cells lacked this strongly tuned population and exhibited a narrower distribution of tuning scores, concentrated at the lower end of both spatial tuning metrics. Despite these differences, both species had an overlapping population of neurons with weaker yet consistent spatial tuning, which may support important functional roles such as generalization and mixed selectivity. Addressing these analytical differences allows for more direct comparisons between species, though differences in spatial tuning may still relate to variations in experimental paradigms that warrant further investigation. Together, our study provides a roadmap showing how spatial tuning metrics shape place cell detection and interpretation.

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

HSNPipeline/PlaceCellMethods

License: none: the authors keep all their rights
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: a6ad6d9385c876899956e6f0d6866dc79cdfa3d2, 2 September 2025
Languages: Jupyter (1)
Size: 5 files, 1 script
Software Heritage: not archived
Found in: “Data Availability”
Holds: README, environment (literature/requirements.txt), 1 notebook
Not found: license file, CITATION.cff, tests, continuous integration, documentation
Availability: 1 check, the latest on 28 September 2026: the link answers
  • 28 September 2026: the link answers
2 files

HSNPipeline/SimPlaceCells

License: MIT
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: ce0d921f693478ab9324fa3a3e31a32c40d72fe6, 3 December 2025
Languages: Python (19), Jupyter (14)
Size: 40 files, 33 scripts
Software Heritage: not archived
Found in: “Data Availability”
Holds: README, license file, 14 notebooks
Not found: CITATION.cff, environment file, tests, continuous integration, documentation
Tools: Matplotlib (23 files), NumPy (19 files), SciPy (3 files), pandas (2 files), NeuroDSP (1 file), scikit-learn (1 file), seaborn (1 file)
Availability: 1 check, the latest on 28 September 2026: the link answers
  • 28 September 2026: the link answers
35 files

HSNPipeline

License: none: the authors keep all their rights
State: the link answers, verified on 28 September 2026
Evidence: the link answers
Software Heritage: not checked
Found in: “Data Availability”
Not found: README, license file, CITATION.cff, environment file, tests, continuous integration, documentation
Availability: 1 check, the latest on 28 September 2026: the link answers (HTTP 200)
  • 28 September 2026: the link answers (HTTP 200)
At the source: github.com/HSNPipeline

spiketools/spiketools

License: Apache-2.0
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: b7076514e794f6accc76aac47430e1a98da30854, 17 September 2026
Languages: Python (120)
Size: 142 files, 120 scripts
Software Heritage: archived
Found in: “Data Availability”
Holds: README, license file, CITATION.cff, environment (requirements-docs.txt, requirements.txt, setup.py), tests, continuous integration, documentation
Tools: NumPy (75 files), Matplotlib (8 files), pandas (4 files), SciPy (4 files), statsmodels (1 file)
Availability: 1 check, the latest on 28 September 2026: the link answers
  • 28 September 2026: the link answers
122 files

lisc-tools/lisc

License: Apache-2.0
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: e5a5f66e9d87ec0d8a2de01963f25ca933334663, 17 September 2026
Languages: Python (119)
Size: 145 files, 119 scripts
Software Heritage: archived
Found in: “Software”
Holds: README, license file, CITATION.cff, environment (requirements-docs.txt, requirements.txt, setup.py), tests, continuous integration, documentation
Tools: NumPy (11 files), Matplotlib (1 file), SciPy (1 file), seaborn (1 file)
Availability: 1 check, the latest on 28 September 2026: the link answers
  • 28 September 2026: the link answers
121 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:

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

Datasets cited

Data Availability

Repository This project is openly available through an online project repository, which includes all the code used for data pre-processing and analysis. Project Repository: https://github.com/HSNPipeline/PlaceCellMethods Dataset This project uses electrophysiological data collected from neurosurgical patients, as well as an open access rat recording dataset from CRCNS.org: http://dx.doi.org/10.6080/K09G5JRZ. The human single-neuron dataset was collected as part of a previously published study and is publicly available through OSF [14]: https://osf.io/dh3wv/metadata/osf. To systematically evaluate place cell detection methods across species, we developed a custom simulation framework, SimPlaceCells, available at: https://github.com/HSNPipeline/SimPlaceCells. Software All code used and developed for this project was written in the Python programming language. The code is openly available, licensed for reuse, and deposited in the project repository. Management of the dataset was conducted using the Human Single Neuron (HSN) Pipeline: https://github.com/HSNPipeline Analyses of the single-neuron data were performed using the open-source Spiketools toolbox: https://github.com/spiketools/spiketools Literature searches and related resources were organized using LISC, an open-source Python module for literature analysis. https://github.com/lisc-tools/lisc.

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

Materials descriptions and availability statements

Project repository: This project is openly available through an online project repository, which includes all the code used for data pre-processing and analysis.

Project Repository: https://github.com/HSNPipeline/PlaceCellMethods

Dataset: This project uses electrophysiological data collected from neurosurgical patients, as well as an open-access rat recording dataset from CRCNS.org: http://dx.doi.org/10.6080/K09G5JRZ.

The human single-neuron dataset was collected as part of a previously published study and is publicly available through OSF [14]: https://osf.io/dh3wv/metadata/osf.

To systematically evaluate place cell detection methods across species, we developed a custom simulation framework, SimPlaceCells, available at: https://github.com/HSNPipeline/SimPlaceCells.

Software: All code used and developed for this project was written in the Python programming language. The code is openly available, licensed for reuse, and deposited in the project repository.

Management of the dataset was conducted using the Human Single Neuron (HSN) Pipeline:

https://github.com/HSNPipeline

Analyses of the single-neuron data were performed using the open-source Spiketools toolbox:

https://github.com/spiketools/spiketools

Literature searches and related resources were organized using LISC, an open-source Python module for literature analysis.

https://github.com/lisc-tools/lisc

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

  • Authors: added Salman E. Qasim (0000-0001-8739-5962); Joshua Jacobs (0000-0003-1807-6882); removed Salman E. Qasim; Joshua Jacobs

Version 1, 28 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 4 authors, 12 MeSH terms, 1 funder, 64 references.

Cite

This paper

Zhang, W., Donoghue, T., Qasim, S. E., & Jacobs, J. (2026). Evaluating place cell detection methods in Rats and Humans: Implications for cross-species spatial coding. PLoS computational biology, 22(5), e1013488. https://doi.org/10.1371/journal.pcbi.1013488

BibTeX

@article{zhang2026evaluating,
author = {Zhang, Weijia and Donoghue, Thomas and Qasim, Salman E. and Jacobs, Joshua},
title = {{Evaluating place cell detection methods in Rats and Humans: Implications for cross-species spatial coding}},
journal = {PLoS computational biology},
year = {2026},
month = may,
volume = {22},
number = {5},
pages = {e1013488},
publisher = {PLOS},
issn = {1553-734X},
doi = {10.1371/journal.pcbi.1013488},
url = {https://doi.org/10.1371/journal.pcbi.1013488},
pmid = {42189870},
pmcid = {PMC13225663}
}

RIS

TY - JOUR
AU - Zhang, Weijia
AU - Donoghue, Thomas
AU - Qasim, Salman E.
AU - Jacobs, Joshua
TI - Evaluating place cell detection methods in Rats and Humans: Implications for cross-species spatial coding
T2 - PLoS computational biology
J2 - PLoS Comput Biol
PY - 2026
DA - 2026/05/26
VL - 22
IS - 5
SP - e1013488
SN - 1553-734X
PB - PLOS
DO - 10.1371/journal.pcbi.1013488
UR - https://doi.org/10.1371/journal.pcbi.1013488
LA - en
ER -

CSL-JSON

{
"id": "10.1371/journal.pcbi.1013488",
"type": "article-journal",
"title": "Evaluating place cell detection methods in Rats and Humans: Implications for cross-species spatial coding",
"container-title": "PLoS computational biology",
"author": [
{
"family": "Zhang",
"given": "Weijia"
},
{
"family": "Donoghue",
"given": "Thomas"
},
{
"family": "Qasim",
"given": "Salman E."
},
{
"family": "Jacobs",
"given": "Joshua"
}
],
"container-title-short": "PLoS Comput Biol",
"volume": "22",
"issue": "5",
"page": "e1013488",
"DOI": "10.1371/journal.pcbi.1013488",
"PMID": "42189870",
"PMCID": "PMC13225663",
"ISSN": "1553-734X",
"publisher": "PLOS",
"URL": "https://doi.org/10.1371/journal.pcbi.1013488",
"language": "en",
"issued": {
"date-parts": [
[
2026,
5,
26
]
]
}
}

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.1126/sciadv.adz9893 [code]
Hippocampal place cells map terrain geometry independently of behavior.
Journal: Science advances
In common: extracellular electrophysiology (units, LFP), rat, 9 references
[2] doi:10.3389/fnbeh.2026.1895371 [code]
Discrete and differentiated encoding of distinct components of spatial experience occurs within the proximodistal subfields of the dorsoventral axis of the hippocampus.
Journal: Frontiers in behavioral neuroscience
In common: SciPy, Matplotlib, NumPy, rat, 8 references
[3] doi:10.1111/ejn.70255 [code]
A Systematic Review of Aperiodic Neural Activity in Clinical Investigations
Journal: n/a
In common: NeuroDSP, seaborn, pandas, 2 other tools, 1 reference, author Thomas Donoghue
[4] doi:10.1038/s41467-026-71386-z [code]
Planar, spiral, and concentric traveling waves distinguish behavioral states in human memory.
Journal: Nature communications
In common: statsmodels, seaborn, scikit-learn, 4 other tools, 1 reference, author Joshua Jacobs
[5] doi:10.1038/s41586-026-10537-0 [code]
Sparse-to-dense coding transformation between hippocampal areas CA3 and CA1.
Journal: Nature
In common: 8 references
[6] doi:10.3389/fcogn.2026.1767179 [code]
Adult lifespan effects on functional specialization along the hippocampal long axis.
Journal: Frontiers in cognition
In common: statsmodels, scikit-learn, Matplotlib, 1 other tool, 5 references
[7] doi:10.7554/elife.100605 [code]
Age-related changes in ‘cortical’ 1/f dynamics are linked to cardiac activity
Journal: n/a
In common: NeuroDSP, statsmodels, seaborn, 5 other tools, 1 reference
[8] doi:10.1073/pnas.2517639123 [code]
Transformations of the spatial activity manifold convey aversive information in CA3.
Journal: Proceedings of the National Academy of Sciences of the United States of America
In common: statsmodels, scikit-learn, pandas, 3 other tools, 4 references
[9] doi:10.1038/s41467-026-74834-y [code]
Voltage imaging of CA1 pyramidal cells and SST+ interneurons reveals stability and plasticity mechanisms of spatial firing.
Journal: Nature communications
In common: 6 references
[10] doi:10.1126/sciadv.aeg6797 [code]
Dorsoventral gradient of theta sweeps in the medial entorhinal cortex.
Journal: Science advances
In common: statsmodels, seaborn, scikit-learn, 4 other tools, 2 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.