Anterior and posterior retrosplenial cortex form distinct visuospatial circuits in the mouse.
The 18 matches
- [1] § Methods › Detection of neurons with position activity ↔ src/rscvp/spatial/main_slb.py, lines 76 to 149 · score 0.96 · occupancy normalized activity, circularly shifted, Gaussian window, linear track, session duration, shuffled distribution · Report a mismatch
- [2] § Methods › Selection of active neurons ↔ src/rscvp/visual/main_reliability.py, lines 62 to 123 · score 0.92 · de randomized response, pre stimulus, correlation coefficients, cross trial, visually evoked, visual reliability · Report a mismatch
- [3] § Results › Anterior and posterior RSC subregions integrate specific sets of inputs ↔ demo/example_3d_reconstruction.py, lines 9 to 27 · score 0.82 · VISal, VISli, VISpl, VISam, VISpm, VISpor · Report a mismatch
- [4] § Results › Anterior and posterior RSC subregions integrate specific sets of inputs ↔ src/rscvp/atlas/util_plot.py, lines 1 to 31 · score 0.82 · VISal, VISli, VISpl, VISam, VISpm, VISpor · Report a mismatch
- [5] § Methods › Detection of neurons with position activity ↔ src/rscvp/spatial/main_place_field.py, lines 237 to 309 · score 0.77 · consecutive position bins, activity exceeded, baseline activity, field width, peak, neurons · Report a mismatch
- [6] § Methods › Two-photon calcium imaging ↔ src/rscvp/util/cli/cli_suite2p.py, lines 25 to 131 · score 0.74 · imaging depth, frame rate, optical planes, calcium imaging, PMT, ETL · Report a mismatch
- [7] § Results › Visual response properties differ between anterior and posterior RSC ↔ src/rscvp/visual/main_reliability.py, lines 62 to 123 · score 0.70 · de randomized, correlation coefficients, visually responsive neurons, visual reliability, Pearson, threshold · Report a mismatch
- [8] § Methods › Population decoding of position ↔ src/rscvp/model/bayes_decoding/main_decode_analysis.py, lines 120 to 183 · score 0.63 · decoded position, posterior probability, decoding error, model · Report a mismatch
- [9] § Methods › Selection of active neurons ↔ src/rscvp/selection/main_trial_reliability.py, lines 20 to 98 · score 0.62 · standard deviation, calcium transients, actively, reliability, baseline, lap · Report a mismatch
- [10] § Methods › Characterization of direction and orientation visual selectivity ↔ src/rscvp/visual/util.py, lines 140 to 281 · score 0.62 · orthogonal orientation, preferred orientation, OSI, DSI, selectivity · Report a mismatch
- [11] § Results › Anterior and posterior RSC subregions integrate specific sets of inputs ↔ demo/example_3d_reconstruction.py, lines 9 to 27 · score 0.61 · VISam, VISpm, VISpor, RSC · Report a mismatch
- [12] § Results › Anterior and posterior RSC subregions integrate specific sets of inputs ↔ src/rscvp/atlas/util_plot.py, lines 1 to 31 · score 0.61 · VISam, VISpm, VISpor · Report a mismatch
- [13] § Methods › Quantification of position-related activity ↔ src/rscvp/spatial/main_trial_corr.py, lines 16 to 83 · score 0.59 · pairwise Pearson correlation, trial correlation, median, reliability, activity, position · Report a mismatch
- [14] § Results › Position coding varies along the anterior–posterior RSC axis ↔ src/rscvp/model/bayes_decoding/util_plot.py, lines 77 to 121 · score 0.57 · Confusion matrices, Cue locations, predicted position, decoded, bins, animals · Report a mismatch
- [15] § Methods › Visual stimulation ↔ src/rscvp/retinotopic/util.py, lines 175 to 258 · score 0.55 · circular patch, counterclockwise, retinotopic, interval, stimulation · Report a mismatch
- [16] § Methods › Population decoding of position ↔ src/rscvp/model/bayes_decoding/_decoder.py, lines 50 to 123 · score 0.55 · Bayesian decoding, spatial bins, probability, model, posterior · Report a mismatch
- [17] § Results › Anterior and posterior RSC rely on different sensory cues for position coding ↔ src/rscvp/behavioral/main_vr_licking.py, lines 15 to 114 · score 0.55 · reward zone, VR task, licking, landmarks, treadmill, position · Report a mismatch
- [18] § Methods › Two-photon calcium imaging ↔ configs/sbx/rig1/scanbox_config.m, lines 1 to 64 · score 0.53 · laser, physical, resonant, power, photon, ETL · 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
Python · 238 lines · 8.8 KB · BSD-3-Clause · 2 matches
- import collections
- import numpy as np
- from matplotlib.axes import Axes
- from scipy.signal import butter, lfilter
- from scipy.stats import pearsonr
- from typing import NamedTuple
- from argclz import AbstractParser
- from neuralib.io import csv_header
- from neuralib.plot import plot_figure
- from neuralib.plot.tools import AnchoredScaleBar
- from neuralib.suite2p import get_neuron_signal, sync_s2p_rigevent
- from neuralib.util.verbose import publish_annotation
- from rscvp.util.cli.cli_output import DataOutput
- from rscvp.util.cli.cli_plot import PlotOptions
- from rscvp.util.cli.cli_selection import SelectionOptions
- from rscvp.util.cli.cli_suite2p import get_neuron_list, NeuronID
- from stimpyp import GratingPattern
- __all__ = [
- 'VisualReliabilityOptions',
- 'plot_cat_trial'
- ]
- @publish_annotation('main', project='rscvp', figure='fig.4A & fig.S4 & fig.S5B-C', as_doc=True)
- class VisualReliabilityOptions(AbstractParser, SelectionOptions, PlotOptions):
- DESCRIPTION = """
- Concatenate the calcium traces per visual-stimuli epoch, and compute the pairwise cross-correlation (reliability)
- to determine if is a visually-responsive cell
- """
- def run(self):
- self.extend_src_path(self.exp_date, self.animal_id, self.daq_type, self.username)
- output_info = self.get_data_output('vc')
- self.foreach_visual_reliability(output_info, self.neuron_id)
- def foreach_visual_reliability(self, output: DataOutput, neuron_ids: NeuronID):
- """Calculate the reliability and plot foreach neuron"""
- from tqdm import tqdm
- s2p = self.load_suite_2p()
- neuron_list = get_neuron_list(s2p, neuron_ids)
- riglog = self.load_riglog_data()
- image_time = riglog.imaging_event.time
- image_time = sync_s2p_rigevent(image_time, s2p, self.plane_index)
- pattern = GratingPattern.of(riglog)
- headers = ['neuron_id', 'visual_cell', 'reliability', 'max_vis_resp', 'perc95_vis_resp']
- with csv_header(output.csv_output, headers) as csv:
- for neuron_id in tqdm(neuron_list, desc='visual_reliability', unit='neurons', ncols=80):
- signal = get_neuron_signal(s2p, neuron_id, normalize=False)[0]
- with plot_figure(output.figure_output(neuron_id)) as ax:
- ret = plot_cat_trial(ax, pattern, signal, image_time, s2p.fs,
- threshold=self.DEFAULT_TRIAL_THRES)
- csv(neuron_id, *ret)
- def calc_visual_reliability(data: np.ndarray,
- idx_onoff: np.ndarray,
- fps: float,
- threshold: float = 0.3,
- plot_matrix: bool = False) -> tuple[bool, float]:
- """
- Check if is a visually-evoked cell by calculating the cross-trials correlation.
- Refer to Xu et., 2022. Nature Comm.
- Trial averaged responses (dF/F) for each stimulus condition was offset by the median of pre-stimulus (5 frames) activity.
- Neural responses during the visual stimulus epochs were concatenated for computing the **visual reliability index(r)**
- , which defined as the 75th percentile of the cross-trial correlation coefficients of the de-randomized response time courses.
- Cell with r > 0.3 (threshold) was classified as a visually responsive neuron
- `Dimension parameters`:
- T = number of stimulation trials
- C = number of stimulation condition
- F = number of recording frames foreach stimulation
- :param data: Neural responses. `Array[float, [T, C, F]]`
- :param idx_onoff: On/Off visual stimulation bool array. `Array[bool, F]`
- :param fps: Frame rate of the ``data``
- :param threshold: Threshold for identifying whether it is a responsive cell
- :param plot_matrix: Preview to see the correlation coefficient matrix
- :return: tuple of (reliability > threshold, reliability).
- -(reliability > threshold): whether the calculated reliability greater than threshold
- -(reliability): visual reliability
- """
- # find pre-stim
- n_trial, n_cond, n_frame = data.shape
- idx_stim_1 = np.nonzero(idx_onoff)[0][0]
- pre_stim = data[:, :, idx_stim_1 - 5: idx_stim_1] # 5 frames of data before the stimulus
- pre_stim = np.mean(np.median(pre_stim, axis=2))
- # preprocessing of the calcium signals and grouped by trials
- proc_data = data - pre_stim
- proc_data = butter_lowpass_filter(proc_data, cutoff=fps * 0.2, fs=fps)
- proc_data = proc_data.reshape(n_trial, n_frame * n_cond)
- # pairwise
- r = np.zeros((n_trial, n_trial))
- for i in range(n_trial):
- for j in range(n_trial):
- r[i, j], _ = pearsonr(proc_data[i], proc_data[j])
- # preview
- if plot_matrix:
- with plot_figure(None) as ax:
- ax.imshow(r)
- for (i, j), val in np.ndenumerate(r):
- ax.text(j, i, f'{val:.2f}', ha='center', va='center', color='white')
- reliability = np.percentile(r, 75)
- return reliability > threshold, reliability
- class VisualEpochPars(NamedTuple):
- is_visual: bool
- reliability: float
- max_vis_resp: float
- perc95_vis_resp: float
- def plot_cat_trial(ax: Axes,
- pattern: GratingPattern,
- signal: np.ndarray,
- image_time: np.ndarray,
- fps: float, *,
- threshold: float = 0.3) -> VisualEpochPars:
- """
- plot concat stimulus epoch calcium trace (order followed by stimuli types)
- colors represent different repetitive trials.
- :param ax:
- :param pattern:
- :param signal:
- :param image_time:
- :param fps: frame rate (for filter)
- :param threshold: reliability threshold
- :return:
- flag: whether a visually-evoked neurons
- visual reliability
- max signal response
- """
- cond = pattern.sftfdir_i()
- ct = collections.Counter() # counter of trial
- cy = {} # dict[(trial, cond)] = y, for storage
- ry = {} # dict[(trial, cond)] = y, for non-normalized data storage
- cs = {} # dict[nstim] = idx_onoff
- for si, st, sf, tf, ori in pattern.foreach_stimulus():
- df_fx = np.logical_and(st[0] - 1 <= image_time, image_time <= st[1] + 1)
- idx_onoff = np.logical_and(st[0] <= image_time, image_time <= st[1])[df_fx] # 5s per each frame
- sig_trial = signal[df_fx] # shape: 5 x fs (3s stimuli window + 1s pre-/post-stimulus)
- c = cond[(sf, tf, ori)] # which condition
- t = ct[c] # which trial
- ct[c] += 1
- ry[(t, c)] = sig_trial
- sig_trial = sig_trial / (np.max(signal)) # normalization
- cy[(t, c)] = sig_trial # store into cy dict
- cs[len(sig_trial)] = idx_onoff
- # if the last stimulus trial is incomplete
- if len(set(ct.values())) > 1:
- raise RuntimeError('stimulus trials are incomplete, check protocol file...')
- ntrial = max(ct.values())
- ncond = len(cond)
- nframe_stim = max(map(len, ry.values())) # number of frame per stim epoch
- data = np.zeros((ntrial, ncond, nframe_stim))
- rawdata = np.zeros((ntrial, ncond, nframe_stim))
- for (t, c), sig_trial in cy.items():
- data[t, c, :len(sig_trial)] = sig_trial
- for (t, c), sig_trial in ry.items():
- rawdata[t, c, :len(sig_trial)] = sig_trial
- idx_onoff = cs[nframe_stim]
- is_visual, idx_reliability = calc_visual_reliability(data, idx_onoff, fps, threshold=threshold)
- rawdata = rawdata.reshape((ntrial, ncond * nframe_stim))
- data = data.reshape((ntrial, ncond * nframe_stim))
- # remove transient noise for plotting
- rawdata = butter_lowpass_filter(rawdata, cutoff=fps * 0.2, fs=fps)
- data = butter_lowpass_filter(data, cutoff=fps * 0.2, fs=fps)
- # Plot
- for y, t in enumerate(data):
- ax.plot(t + y, linewidth=0.5)
- if y == len(data) - 1:
- yval = np.max(signal).astype(int)
- sbar = AnchoredScaleBar(ax.transData,
- sizey=1,
- labely=f'{yval}%',
- pad=0.1,
- color='black')
- ax.add_artist(sbar)
- ax.set(ylabel='Trial #', xlabel='frames')
- ax.set_yticks([it for it in range(ntrial)])
- ax.set_yticklabels(it + 1 for it in range(ntrial))
- ax.set_title(f'reliability: {idx_reliability:.4f}', loc='right')
- # For visual responses from non-normalized raw dff
- trial_avg_resp = np.mean(rawdata, axis=0)
- max_vis_resp = np.max(trial_avg_resp)
- perc95_vis_resp = np.percentile(trial_avg_resp, 95)
- return VisualEpochPars(is_visual, idx_reliability, max_vis_resp, perc95_vis_resp)
- def butter_lowpass_filter(data: np.ndarray, cutoff: float, fs: float, order: int = 2) -> np.ndarray:
- nyq = 0.5 * fs # Nyquist frequency
- normal_cutoff = cutoff / nyq
- b, a = butter(order, normal_cutoff, btype='low', analog=False, output='ba')
- y = lfilter(b, a, data)
- return y
- if __name__ == '__main__':
- VisualReliabilityOptions().main()
main_reliability.py at commit 3855a6b, under BSD-3-Clause · at the source
Overview
- VIB-KU Leuven Center for Neuroscience/NERF, Leuven, Belgium
- Department of Biology & Leuven Brain Institute, KU Leuven,Leuven, Belgium
- Department of Neurobiology, University of California,Los Angeles, CA USA
- Faculty of Psychology & Educational Sciences, KU Leuven,Leuven, Belgium
- Department of Biosystems, KU Leuven,Leuven, Belgium
Abstract
The retrosplenial cortex (RSC) integrates sensory and mnemonic information to support spatial orientation and navigation, yet how visuospatial processing differs across its subregions remains unclear. Here, we combined cellular imaging in navigating mice with brain-wide anatomical input tracing to characterize how multimodal sensory and positional signals are integrated along the anterior–posterior axis of dorsal RSC. We identified consistent differences between anterior and posterior subregions in both functional response properties and long-range connectivity. Anterior RSC neurons displayed sharper and more reliable position tuning during tactile-cued navigation and preferential sensitivity to fast, low–spatial-frequency visual motion. In contrast, posterior RSC neurons showed broader position selectivity, stronger responses to slow, high–spatial-frequency visual patterns, and enhanced tuning in visually immersive virtual environments. Consistent with these differences, anterior RSC received denser projections from motor, somatosensory, and parietal areas, whereas posterior RSC received stronger input from primary and posteromedial visual cortices. Together, these findings identify an anterior–posterior functional gradient in RSC, with subregions differing in how they integrate sensory and positional signals during navigation.
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 18 matches between paragraphs and lines of code.
ytsimon2004/rscvp
3855a6b6b208acece1bb62c08dcde808fefc12ca, 19 March 2026Availability: 1 check, the latest on 30 September 2026: the link answers
- 30 September 2026: the link answers
289 files
- bash/
atlas/ , Shell, 82 linesanimal.sh - bash/
atlas/ , Shell, 50 linesanimal_subregion.sh - bash/
atlas/ , Shell, 63 linesbatch.sh - bash/
base/ , Shell, 188 linesbatch_persistence.sh - bash/
base/ , Shell, 69 linesbayes_sb15.sh - bash/
base/ , Shell, 29 linesconcat.sh - bash/
base/ , Shell, 55 linescsv_parq/ batch_generic.sh - bash/
base/ , Shell, 56 linescsv_parq/ batch_pf.sh - bash/
base/ , Shell, 89 linescsv_parq/ batch_spatial.sh - bash/
base/ , Shell, 128 linescsv_parq/ batch_visual.sh - bash/
base/ , Shell, 86 linesdb_update.sh - bash/
base/ , Shell, 75 linesdb_update_volumetric.sh - bash/
base/ , Shell, 100 linesgeneric.sh - bash/
base/ , Shell, 161 linesspatial.sh - bash/
base/ , Shell, 81 linesstat.sh - bash/
base/ , Shell, 77 linesvisual.sh - bash/
base/ , Shell, 168 linesvolumetric.sh - bash/
beh/ , Shell, 68 linesbatch_tactile.sh - bash/
beh/ , Shell, 31 linestactile.sh - bash/
blank/ , Shell, 47 linesbatch_persistence.sh - bash/
blank/ , Shell, 55 linesdb_update.sh - bash/
blank/ , Shell, 46 linesdb_update_volumetric.sh - bash/
dark/ , Shell, 52 linesbatch_persistence.sh - bash/
dark/ , Shell, 69 linesbayes_sb15.sh - bash/
dark/ , Shell, 29 linesconcat.sh - bash/
dark/ , Shell, 79 linescsv_parq/ batch_spatial.sh - bash/
dark/ , Shell, 50 linesdb_update.sh - bash/
dark/ , Shell, 45 linesdb_update_volumetric.sh - bash/
dark/ , Shell, 86 linesgeneric.sh - bash/
dark/ , Shell, 55 linessession.sh - bash/
dark/ , Shell, 205 linesspatial.sh - bash/
dark/ , Shell, 1 linestat.sh - bash/
dark/ , Shell, 131 linesvolumetric.sh - bash/
vr/ , Shell, 31 linesbatch_persistence.sh - bash/
vr/ , Shell, 28 linesconcat.sh - bash/
vr/ , Shell, 47 linescsv_parq/ batch_pf.sh - bash/
vr/ , Shell, 47 linescsv_parq/ batch_spatial.sh - bash/
vr/ , Shell, 60 linesdb_update.sh - bash/
vr/ , Shell, 45 linesdb_update_volumetric.sh - bash/
vr/ , Shell, 185 linesspatial.sh - bash/
vr/ , Shell, 75 linesvolumetric.sh - colab/
rscvp_histology_colab.ip , Jupyter, 162 linesynb - colab/
rscvp_physiology_colab.i , Jupyter, 407 linespynb - configs/
sbx/ , MATLAB, 206 lines, 1 matchrig1/ scanbox_config.m - configs/
stimpy/ , Python, 40 linesscreen_calibrate_rig1.py - demo/
__init__.py , Python, 1 line - demo/
example_3d_reconstructio , Python, 31 lines, 2 matchesn.py - demo/
example_decoding.py , Python, 59 lines - demo/
example_dorsal_roi.py , Python, 15 lines - demo/
example_position_map.py , Python, 20 lines - demo/
example_registered_slice , Python, 14 lines.py - demo/
example_visual_polars.py , Python, 17 lines - demo/
example_visual_reliabili , Python, 16 linesty.py - demo/
example_visual_sftf_dot. , Python, 16 linespy - demo/
example_visual_tuning.py , Python, 17 lines - res/
matlab/ , MATLAB, 40 linesbuzcode/ placeBayes.m - src/
rscvp/ , Python, 1 line__init__.py - src/
rscvp/ , Python, 1 lineatlas/ __init__.py - src/
rscvp/ , Python, 20 linesatlas/ __main__.py - src/
rscvp/ , Python, 558 linesatlas/ dir.py - src/
rscvp/ , Python, 161 linesatlas/ main_expr_level.py - src/
rscvp/ , Python, 77 linesatlas/ main_expr_range.py - src/
rscvp/ , Python, 159 linesatlas/ main_roi_atlas.py - src/
rscvp/ , Python, 202 linesatlas/ main_roi_quant.py - src/
rscvp/ , Python, 606 linesatlas/ main_roi_quant_batch.py - src/
rscvp/ , Python, 181 linesatlas/ main_roi_query.py - src/
rscvp/ , Python, 160 linesatlas/ main_roi_query_batch.py - src/
rscvp/ , Python, 292 linesatlas/ main_roi_top_view.py - src/
rscvp/ , Python, 185 linesatlas/ main_roi_view.py - src/
rscvp/ , Python, 80 linesatlas/ main_slice.py - src/
rscvp/ , Python, 64 linesatlas/ main_slice_expr.py - src/
rscvp/ , Python, 43 linesatlas/ main_slice_transform.py - src/
rscvp/ , Python, 69 linesatlas/ main_ternary.py - src/
rscvp/ , Python, 222 lines, 2 matchesatlas/ util_plot.py - src/
rscvp/ , Python, 1 linebehavioral/ __init__.py - src/
rscvp/ , Python, 8 linesbehavioral/ __main__.py - src/
rscvp/ , Python, 64 linesbehavioral/ main_dir_locomotion.py - src/
rscvp/ , Python, 252 linesbehavioral/ main_tactile_batch.py - src/
rscvp/ , Python, 115 linesbehavioral/ main_tactile_summary.py - src/
rscvp/ , Python, 118 lines, 1 matchbehavioral/ main_vr_licking.py - src/
rscvp/ , Python, 109 linesbehavioral/ main_vr_running.py - src/
rscvp/ , Python, 103 linesbehavioral/ main_vstim_locomotion.py - src/
rscvp/ , Python, 59 linesbehavioral/ util.py - src/
rscvp/ , Python, 152 linesbehavioral/ util_plot.py - src/
rscvp/ , Python, 1 linemodel/ __init__.py - src/
rscvp/ , Python, 1 linemodel/ bayes_decoding/ __init__.py - src/
rscvp/ , Python, 14 linesmodel/ bayes_decoding/ __main__.py - src/
rscvp/ , Python, 192 lines, 1 matchmodel/ bayes_decoding/ _decoder.py - src/
rscvp/ , Python, 638 linesmodel/ bayes_decoding/ main_cache_bayes.py - src/
rscvp/ , Python, 365 lines, 1 matchmodel/ bayes_decoding/ main_decode_analysis.py - src/
rscvp/ , Python, 59 linesmodel/ bayes_decoding/ main_disengagement.py - src/
rscvp/ , Python, 74 linesmodel/ bayes_decoding/ main_posdc_cache.py - src/
rscvp/ , Python, 18 linesmodel/ bayes_decoding/ util.py - src/
rscvp/ , Python, 121 lines, 1 matchmodel/ bayes_decoding/ util_plot.py - src/
rscvp/ , Python, 1 linemodel/ glm/ __init__.py - src/
rscvp/ , Python, 10 linesmodel/ glm/ __main__.py - src/
rscvp/ , Python, 484 linesmodel/ glm/ main_eval.py - src/
rscvp/ , Python, 1 linemodel/ rastermap/ __init__.py - src/
rscvp/ , Python, 57 linesmodel/ rastermap/ main_gui.py - src/
rscvp/ , Python, 438 linesmodel/ rastermap/ main_rastermap_2p.py - src/
rscvp/ , Python, 160 linesmodel/ rastermap/ main_rastermap_wfield.py - src/
rscvp/ , Python, 330 linesmodel/ rastermap/ rastermap_2p_cache.py - src/
rscvp/ , Python, 235 linesmodel/ rastermap/ rastermap_wfield_cache.p y - src/
rscvp/ , Python, 1 lineretinotopic/ __init__.py - src/
rscvp/ , Python, 132 linesretinotopic/ cache_retinotopic.py - src/
rscvp/ , Python, 84 linesretinotopic/ main_density.py - src/
rscvp/ , Python, 34 linesretinotopic/ main_retinotopic_map.py - src/
rscvp/ , Python, 258 lines, 1 matchretinotopic/ util.py - src/
rscvp/ , Python, 1 lineselection/ __init__.py - src/
rscvp/ , Python, 18 linesselection/ __main__.py - src/
rscvp/ , Python, 73 linesselection/ main_active_place_cell.p y - src/
rscvp/ , Python, 223 linesselection/ main_cls_summary.py - src/
rscvp/ , Python, 237 linesselection/ main_cue_cell.py - src/
rscvp/ , Python, 50 linesselection/ main_motion_drift.py - src/
rscvp/ , Python, 81 linesselection/ main_neuropil_error.py - src/
rscvp/ , Python, 71 linesselection/ main_raw.py - src/
rscvp/ , Python, 78 linesselection/ main_transient_propertie s.py - src/
rscvp/ , Python, 143 lines, 1 matchselection/ main_trial_reliability.p y - src/
rscvp/ , Python, 54 linesselection/ utils.py - src/
rscvp/ , Python, 1 linesignal/ __init__.py - src/
rscvp/ , Python, 12 linessignal/ __main__.py - src/
rscvp/ , Python, 167 linessignal/ main_concat_csv.py - src/
rscvp/ , Python, 55 linessignal/ main_dff_session.py - src/
rscvp/ , Python, 110 linessignal/ main_neuropil_corr.py - src/
rscvp/ , Python, 1 linespatial/ __init__.py - src/
rscvp/ , Python, 36 linesspatial/ __main__.py - src/
rscvp/ , Python, 42 linesspatial/ main_align_map.py - src/
rscvp/ , Python, 217 linesspatial/ main_cache_align_peak.py - src/
rscvp/ , Python, 180 linesspatial/ main_cache_occ.py - src/
rscvp/ , Python, 135 linesspatial/ main_cache_sortidx.py - src/
rscvp/ , Python, 132 linesspatial/ main_ev_pos.py - src/
rscvp/ , Python, 447 lines, 1 matchspatial/ main_place_field.py - src/
rscvp/ , Python, 161 linesspatial/ main_population_matrix.p y - src/
rscvp/ , Python, 247 linesspatial/ main_position_map.py - src/
rscvp/ , Python, 180 linesspatial/ main_position_sort.py - src/
rscvp/ , Python, 150 linesspatial/ main_position_sort_trial .py - src/
rscvp/ , Python, 113 linesspatial/ main_si.py - src/
rscvp/ , Python, 295 lines, 1 matchspatial/ main_slb.py - src/
rscvp/ , Python, 48 linesspatial/ main_sparsity.py - src/
rscvp/ , Python, 252 linesspatial/ main_speed_score.py - src/
rscvp/ , Python, 87 lines, 1 matchspatial/ main_trial_corr.py - src/
rscvp/ , Python, 153 linesspatial/ main_trial_profile.py - src/
rscvp/ , Python, 566 linesspatial/ util.py - src/
rscvp/ , Python, 228 linesspatial/ util_plot.py - src/
rscvp/ , Python, 1 linestatistic/ __init__.py - src/
rscvp/ , Python, 27 linesstatistic/ __main__.py - src/
rscvp/ , Python, 96 linesstatistic/ _var.py - src/
rscvp/ , Python, 175 linesstatistic/ cli_gspread.py - src/
rscvp/ , Python, 537 linesstatistic/ core.py - src/
rscvp/ , Python, 1 linestatistic/ csv_agg/ __init__.py - src/
rscvp/ , Python, 377 linesstatistic/ csv_agg/ core.py - src/
rscvp/ , Python, 79 linesstatistic/ csv_agg/ main_generic_agg.py - src/
rscvp/ , Python, 42 linesstatistic/ csv_agg/ main_pf_agg.py - src/
rscvp/ , Python, 121 linesstatistic/ csv_agg/ main_spatial_agg.py - src/
rscvp/ , Python, 69 linesstatistic/ csv_agg/ main_visual_agg.py - src/
rscvp/ , Python, 98 linesstatistic/ csv_agg/ main_visual_dir_agg.py - src/
rscvp/ , Python, 145 linesstatistic/ csv_agg/ main_visual_sftf_agg.py - src/
rscvp/ , Python, 82 linesstatistic/ main_normality.py - src/
rscvp/ , Python, 60 linesstatistic/ main_para_mtx.py - src/
rscvp/ , Python, 39 linesstatistic/ main_ses_overview.py - src/
rscvp/ , Python, 263 linesstatistic/ main_ses_var.py - src/
rscvp/ , Python, 1 linestatistic/ parq/ __init__.py - src/
rscvp/ , Python, 54 linesstatistic/ parq/ main_generic_gsp.py - src/
rscvp/ , Python, 254 linesstatistic/ parq/ main_pf_gsp.py - src/
rscvp/ , Python, 82 linesstatistic/ parq/ main_speed_gsp.py - src/
rscvp/ , Python, 210 linesstatistic/ parq/ main_topo_3d.py - src/
rscvp/ , Python, 188 linesstatistic/ parq/ main_topo_metric_gsp.py - src/
rscvp/ , Python, 114 linesstatistic/ parq/ main_value_gsp.py - src/
rscvp/ , Python, 110 linesstatistic/ parq/ main_visual_dir_gsp.py - src/
rscvp/ , Python, 111 linesstatistic/ parq/ main_visual_gsp.py - src/
rscvp/ , Python, 1 linestatistic/ persistence_agg/ __init__.py - src/
rscvp/ , Python, 146 linesstatistic/ persistence_agg/ core.py - src/
rscvp/ , Python, 203 linesstatistic/ persistence_agg/ main_decode_err.py - src/
rscvp/ , Python, 89 linesstatistic/ persistence_agg/ main_mismatch.py - src/
rscvp/ , Python, 89 linesstatistic/ persistence_agg/ main_si_sorted_occ.py - src/
rscvp/ , Python, 77 linesstatistic/ persistence_agg/ main_topo_celltype.py - src/
rscvp/ , Python, 167 linesstatistic/ persistence_agg/ main_trial_avg_position. py - src/
rscvp/ , Python, 1 linestatistic/ posdc/ __init__.py - src/
rscvp/ , Python, 91 linesstatistic/ posdc/ main_session_binned_err. py - src/
rscvp/ , Python, 110 linesstatistic/ posdc/ main_session_median_err. py - src/
rscvp/ , Python, 1 linestatistic/ sql/ __init__.py - src/
rscvp/ , Python, 49 linesstatistic/ sql/ main_base_cls.py - src/
rscvp/ , Python, 369 linesstatistic/ sql/ main_blank_cls.py - src/
rscvp/ , Python, 133 linesstatistic/ sql/ main_cell_type.py - src/
rscvp/ , Python, 81 linesstatistic/ sql/ main_dark_cls.py - src/
rscvp/ , Python, 51 linesstatistic/ sql/ main_decode_err.py - src/
rscvp/ , Python, 54 linesstatistic/ sql/ main_fov.py - src/
rscvp/ , Python, 93 linesstatistic/ sql/ main_osds_pie.py - src/
rscvp/ , Python, 44 linesstatistic/ sql/ main_push_gspread.py - src/
rscvp/ , Python, 119 linesstatistic/ sql/ main_visual_sftf.py - src/
rscvp/ , Python, 95 linesstatistic/ sql/ main_vr_cls.py - src/
rscvp/ , Python, 31 linesstatistic/ sql/ util.py - src/
rscvp/ , Python, 1 linetopology/ __init__.py - src/
rscvp/ , Python, 20 linestopology/ __main__.py - src/
rscvp/ , Python, 244 linestopology/ cache_ctype_cord.py - src/
rscvp/ , Python, 100 linestopology/ main_cls.py - src/
rscvp/ , Python, 47 linestopology/ main_cords.py - src/
rscvp/ , Python, 82 linestopology/ main_fov.py - src/
rscvp/ , Python, 72 linestopology/ main_fov_db.py - src/
rscvp/ , Python, 35 linestopology/ main_spatial_topo.py - src/
rscvp/ , Python, 57 linestopology/ main_visual_topo.py - src/
rscvp/ , Python, 100 linestopology/ util.py - src/
rscvp/ , Python, 303 linestopology/ util_plot.py - src/
rscvp/ , Python, 1 linetrack/ __init__.py - src/
rscvp/ , Python, 12 linestrack/ __main__.py - src/
rscvp/ , Python, 86 linestrack/ main_lick_score.py - src/
rscvp/ , Python, 117 linestrack/ main_licking_cmp.py - src/
rscvp/ , Python, 91 linestrack/ main_licking_prob.py - src/
rscvp/ , Python, 178 linestrack/ main_pupil_track.py - src/
rscvp/ , Python, 1 lineutil/ __init__.py - src/
rscvp/ , Python, 23 linesutil/ cli/ __init__.py - src/
rscvp/ , Python, 170 linesutil/ cli/ cli_camera.py - src/
rscvp/ , Python, 23 linesutil/ cli/ cli_ccf.py - src/
rscvp/ , Python, 251 linesutil/ cli/ cli_celltype.py - src/
rscvp/ , Python, 389 linesutil/ cli/ cli_core.py - src/
rscvp/ , Python, 19 linesutil/ cli/ cli_glm.py - src/
rscvp/ , Python, 139 linesutil/ cli/ cli_hist.py - src/
rscvp/ , Python, 142 linesutil/ cli/ cli_io.py - src/
rscvp/ , Python, 87 linesutil/ cli/ cli_model.py - src/
rscvp/ , Python, 57 linesutil/ cli/ cli_multiproc.py - src/
rscvp/ , Python, 128 linesutil/ cli/ cli_output.py - src/
rscvp/ , Python, 35 linesutil/ cli/ cli_persistence.py - src/
rscvp/ , Python, 54 linesutil/ cli/ cli_plot.py - src/
rscvp/ , Python, 100 linesutil/ cli/ cli_rastermap.py - src/
rscvp/ , Python, 139 linesutil/ cli/ cli_roi.py - src/
rscvp/ , Python, 101 linesutil/ cli/ cli_sbx.py - src/
rscvp/ , Python, 525 linesutil/ cli/ cli_selection.py - src/
rscvp/ , Python, 47 linesutil/ cli/ cli_shuffle.py - src/
rscvp/ , Python, 110 linesutil/ cli/ cli_sql.py - src/
rscvp/ , Python, 144 linesutil/ cli/ cli_sql_view.py - src/
rscvp/ , Python, 58 linesutil/ cli/ cli_statistic.py - src/
rscvp/ , Python, 228 linesutil/ cli/ cli_stattest.py - src/
rscvp/ , Python, 154 linesutil/ cli/ cli_stimpy.py - src/
rscvp/ , Python, 178 lines, 1 matchutil/ cli/ cli_suite2p.py - src/
rscvp/ , Python, 168 linesutil/ cli/ cli_treadmill.py - src/
rscvp/ , Python, 90 linesutil/ cli/ cli_wfield.py - src/
rscvp/ , Python, 461 linesutil/ database.py - src/
rscvp/ , Python, 234 linesutil/ io.py - src/
rscvp/ , Python, 98 linesutil/ pixviz.py - src/
rscvp/ , Python, 95 linesutil/ pkl_reader.py - src/
rscvp/ , Python, 379 linesutil/ position.py - src/
rscvp/ , Python, 1 lineutil/ presentation/ __init__.py - src/
rscvp/ , Python, 26 linesutil/ presentation/ animation.py - src/
rscvp/ , Python, 191 linesutil/ presentation/ simulate.py - src/
rscvp/ , Python, 65 linesutil/ rsync_backup.py - src/
rscvp/ , Python, 43 linesutil/ slack_bot.py - src/
rscvp/ , Python, 6 linesutil/ typing.py - src/
rscvp/ , Python, 32 linesutil/ util_camera.py - src/
rscvp/ , Python, 37 linesutil/ util_cascade.py - src/
rscvp/ , Python, 87 linesutil/ util_dataframe.py - src/
rscvp/ , Python, 139 linesutil/ util_demo.py - src/
rscvp/ , Python, 100 linesutil/ util_gspread.py - src/
rscvp/ , Python, 195 linesutil/ util_ibl.py - src/
rscvp/ , Python, 322 linesutil/ util_lick.py - src/
rscvp/ , Python, 36 linesutil/ util_plot.py - src/
rscvp/ , Python, 36 linesutil/ util_sort.py - src/
rscvp/ , Python, 252 linesutil/ util_stat.py - src/
rscvp/ , Python, 357 linesutil/ util_trials.py - src/
rscvp/ , Python, 97 linesutil/ wfield.py - src/
rscvp/ , Python, 1 linevisual/ __init__.py - src/
rscvp/ , Python, 18 linesvisual/ __main__.py - src/
rscvp/ , Python, 78 linesvisual/ main_mismatch.py - src/
rscvp/ , Python, 333 linesvisual/ main_polar.py - src/
rscvp/ , Python, 238 lines, 2 matchesvisual/ main_reliability.py - src/
rscvp/ , Python, 210 linesvisual/ main_response.py - src/
rscvp/ , Python, 81 linesvisual/ main_running.py - src/
rscvp/ , Python, 651 linesvisual/ main_sftf_fit.py - src/
rscvp/ , Python, 225 linesvisual/ main_sftf_pref.py - src/
rscvp/ , Python, 146 linesvisual/ main_tuning.py - src/
rscvp/ , Python, 349 lines, 1 matchvisual/ util.py - src/
rscvp/ , Python, 338 linesvisual/ util_cache.py - src/
rscvp/ , Python, 114 linesvisual/ util_plot.py - test/
local/ , Python, 1 line__init__.py - test/
local/ , Python, 353 linestest_atlas.py - test/
local/ , Python, 187 linestest_behavioral_track.py - test/
local/ , Python, 79 linestest_glm.py - test/
local/ , Python, 222 linestest_position_decode.py - test/
local/ , Python, 64 linestest_rastermap.py - test/
local/ , Python, 60 linestest_retinotopic.py - test/
local/ , Python, 57 linestest_selection.py - test/
local/ , Python, 210 linestest_spatial.py - test/
local/ , Python, 152 linestest_sql_db.py - test/
local/ , Python, 226 linestest_statistic.py - test/
local/ , Python, 98 linestest_topology.py - test/
local/ , Python, 81 linestest_trial_selection.py - test/
local/ , Python, 122 linestest_visual.py - test/
local/ , Python, 8 linesutil.py - LICENSE, License, 28 lines
- README.md, Text, 130 lines
Zenodo 18234118
Availability: 1 check, the latest on 30 September 2026: the link answers (HTTP 200)
- 30 September 2026: the link answers (HTTP 200)
292 files
- bash/
atlas/ , Shell, 82 linesanimal.sh - bash/
atlas/ , Shell, 50 linesanimal_subregion.sh - bash/
atlas/ , Shell, 63 linesbatch.sh - bash/
base/ , Shell, 188 linesbatch_persistence.sh - bash/
base/ , Shell, 69 linesbayes_sb15.sh - bash/
base/ , Shell, 29 linesconcat.sh - bash/
base/ , Shell, 55 linescsv_parq/ batch_generic.sh - bash/
base/ , Shell, 56 linescsv_parq/ batch_pf.sh - bash/
base/ , Shell, 89 linescsv_parq/ batch_spatial.sh - bash/
base/ , Shell, 128 linescsv_parq/ batch_visual.sh - bash/
base/ , Shell, 86 linesdb_update.sh - bash/
base/ , Shell, 75 linesdb_update_volumetric.sh - bash/
base/ , Shell, 100 linesgeneric.sh - bash/
base/ , Shell, 161 linesspatial.sh - bash/
base/ , Shell, 81 linesstat.sh - bash/
base/ , Shell, 77 linesvisual.sh - bash/
base/ , Shell, 168 linesvolumetric.sh - bash/
beh/ , Shell, 68 linesbatch_tactile.sh - bash/
beh/ , Shell, 31 linestactile.sh - bash/
blank/ , Shell, 47 linesbatch_persistence.sh - bash/
blank/ , Shell, 55 linesdb_update.sh - bash/
blank/ , Shell, 46 linesdb_update_volumetric.sh - bash/
dark/ , Shell, 52 linesbatch_persistence.sh - bash/
dark/ , Shell, 69 linesbayes_sb15.sh - bash/
dark/ , Shell, 29 linesconcat.sh - bash/
dark/ , Shell, 79 linescsv_parq/ batch_spatial.sh - bash/
dark/ , Shell, 50 linesdb_update.sh - bash/
dark/ , Shell, 45 linesdb_update_volumetric.sh - bash/
dark/ , Shell, 86 linesgeneric.sh - bash/
dark/ , Shell, 55 linessession.sh - bash/
dark/ , Shell, 205 linesspatial.sh - bash/
dark/ , Shell, 1 linestat.sh - bash/
dark/ , Shell, 131 linesvolumetric.sh - bash/
vr/ , Shell, 31 linesbatch_persistence.sh - bash/
vr/ , Shell, 28 linesconcat.sh - bash/
vr/ , Shell, 47 linescsv_parq/ batch_pf.sh - bash/
vr/ , Shell, 47 linescsv_parq/ batch_spatial.sh - bash/
vr/ , Shell, 60 linesdb_update.sh - bash/
vr/ , Shell, 45 linesdb_update_volumetric.sh - bash/
vr/ , Shell, 185 linesspatial.sh - bash/
vr/ , Shell, 75 linesvolumetric.sh - colab/
rscvp_histology_colab.ip , Jupyter, 162 linesynb - colab/
rscvp_physiology_colab.i , Jupyter, 407 linespynb - configs/
sbx/ , MATLAB, 206 linesrig1/ scanbox_config.m - configs/
stimpy/ , Python, 40 linesscreen_calibrate_rig1.py - demo/
__init__.py , Python, 1 line - demo/
example_3d_reconstructio , Python, 31 linesn.py - demo/
example_decoding.py , Python, 59 lines - demo/
example_dorsal_roi.py , Python, 15 lines - demo/
example_position_map.py , Python, 20 lines - demo/
example_registered_slice , Python, 14 lines.py - demo/
example_visual_polars.py , Python, 17 lines - demo/
example_visual_reliabili , Python, 16 linesty.py - demo/
example_visual_sftf_dot. , Python, 16 linespy - demo/
example_visual_tuning.py , Python, 17 lines - docs/
gen_api.py , Python, 129 lines - docs/
source/ , Python, 87 linesconf.py - docs/
workflow.py , Python, 82 lines - res/
matlab/ , MATLAB, 40 linesbuzcode/ placeBayes.m - src/
rscvp/ , Python, 1 line__init__.py - src/
rscvp/ , Python, 1 lineatlas/ __init__.py - src/
rscvp/ , Python, 20 linesatlas/ __main__.py - src/
rscvp/ , Python, 558 linesatlas/ dir.py - src/
rscvp/ , Python, 161 linesatlas/ main_expr_level.py - src/
rscvp/ , Python, 77 linesatlas/ main_expr_range.py - src/
rscvp/ , Python, 159 linesatlas/ main_roi_atlas.py - src/
rscvp/ , Python, 202 linesatlas/ main_roi_quant.py - src/
rscvp/ , Python, 606 linesatlas/ main_roi_quant_batch.py - src/
rscvp/ , Python, 181 linesatlas/ main_roi_query.py - src/
rscvp/ , Python, 160 linesatlas/ main_roi_query_batch.py - src/
rscvp/ , Python, 292 linesatlas/ main_roi_top_view.py - src/
rscvp/ , Python, 185 linesatlas/ main_roi_view.py - src/
rscvp/ , Python, 80 linesatlas/ main_slice.py - src/
rscvp/ , Python, 64 linesatlas/ main_slice_expr.py - src/
rscvp/ , Python, 43 linesatlas/ main_slice_transform.py - src/
rscvp/ , Python, 69 linesatlas/ main_ternary.py - src/
rscvp/ , Python, 222 linesatlas/ util_plot.py - src/
rscvp/ , Python, 1 linebehavioral/ __init__.py - src/
rscvp/ , Python, 8 linesbehavioral/ __main__.py - src/
rscvp/ , Python, 64 linesbehavioral/ main_dir_locomotion.py - src/
rscvp/ , Python, 252 linesbehavioral/ main_tactile_batch.py - src/
rscvp/ , Python, 115 linesbehavioral/ main_tactile_summary.py - src/
rscvp/ , Python, 118 linesbehavioral/ main_vr_licking.py - src/
rscvp/ , Python, 109 linesbehavioral/ main_vr_running.py - src/
rscvp/ , Python, 103 linesbehavioral/ main_vstim_locomotion.py - src/
rscvp/ , Python, 59 linesbehavioral/ util.py - src/
rscvp/ , Python, 152 linesbehavioral/ util_plot.py - src/
rscvp/ , Python, 1 linemodel/ __init__.py - src/
rscvp/ , Python, 1 linemodel/ bayes_decoding/ __init__.py - src/
rscvp/ , Python, 14 linesmodel/ bayes_decoding/ __main__.py - src/
rscvp/ , Python, 192 linesmodel/ bayes_decoding/ _decoder.py - src/
rscvp/ , Python, 638 linesmodel/ bayes_decoding/ main_cache_bayes.py - src/
rscvp/ , Python, 365 linesmodel/ bayes_decoding/ main_decode_analysis.py - src/
rscvp/ , Python, 59 linesmodel/ bayes_decoding/ main_disengagement.py - src/
rscvp/ , Python, 74 linesmodel/ bayes_decoding/ main_posdc_cache.py - src/
rscvp/ , Python, 18 linesmodel/ bayes_decoding/ util.py - src/
rscvp/ , Python, 121 linesmodel/ bayes_decoding/ util_plot.py - src/
rscvp/ , Python, 1 linemodel/ glm/ __init__.py - src/
rscvp/ , Python, 10 linesmodel/ glm/ __main__.py - src/
rscvp/ , Python, 484 linesmodel/ glm/ main_eval.py - src/
rscvp/ , Python, 1 linemodel/ rastermap/ __init__.py - src/
rscvp/ , Python, 57 linesmodel/ rastermap/ main_gui.py - src/
rscvp/ , Python, 438 linesmodel/ rastermap/ main_rastermap_2p.py - src/
rscvp/ , Python, 160 linesmodel/ rastermap/ main_rastermap_wfield.py - src/
rscvp/ , Python, 330 linesmodel/ rastermap/ rastermap_2p_cache.py - src/
rscvp/ , Python, 235 linesmodel/ rastermap/ rastermap_wfield_cache.p y - src/
rscvp/ , Python, 1 lineretinotopic/ __init__.py - src/
rscvp/ , Python, 132 linesretinotopic/ cache_retinotopic.py - src/
rscvp/ , Python, 84 linesretinotopic/ main_density.py - src/
rscvp/ , Python, 34 linesretinotopic/ main_retinotopic_map.py - src/
rscvp/ , Python, 258 linesretinotopic/ util.py - src/
rscvp/ , Python, 1 lineselection/ __init__.py - src/
rscvp/ , Python, 18 linesselection/ __main__.py - src/
rscvp/ , Python, 73 linesselection/ main_active_place_cell.p y - src/
rscvp/ , Python, 223 linesselection/ main_cls_summary.py - src/
rscvp/ , Python, 237 linesselection/ main_cue_cell.py - src/
rscvp/ , Python, 50 linesselection/ main_motion_drift.py - src/
rscvp/ , Python, 81 linesselection/ main_neuropil_error.py - src/
rscvp/ , Python, 71 linesselection/ main_raw.py - src/
rscvp/ , Python, 78 linesselection/ main_transient_propertie s.py - src/
rscvp/ , Python, 143 linesselection/ main_trial_reliability.p y - src/
rscvp/ , Python, 54 linesselection/ utils.py - src/
rscvp/ , Python, 1 linesignal/ __init__.py - src/
rscvp/ , Python, 12 linessignal/ __main__.py - src/
rscvp/ , Python, 167 linessignal/ main_concat_csv.py - src/
rscvp/ , Python, 55 linessignal/ main_dff_session.py - src/
rscvp/ , Python, 110 linessignal/ main_neuropil_corr.py - src/
rscvp/ , Python, 1 linespatial/ __init__.py - src/
rscvp/ , Python, 36 linesspatial/ __main__.py - src/
rscvp/ , Python, 42 linesspatial/ main_align_map.py - src/
rscvp/ , Python, 217 linesspatial/ main_cache_align_peak.py - src/
rscvp/ , Python, 180 linesspatial/ main_cache_occ.py - src/
rscvp/ , Python, 135 linesspatial/ main_cache_sortidx.py - src/
rscvp/ , Python, 132 linesspatial/ main_ev_pos.py - src/
rscvp/ , Python, 447 linesspatial/ main_place_field.py - src/
rscvp/ , Python, 161 linesspatial/ main_population_matrix.p y - src/
rscvp/ , Python, 247 linesspatial/ main_position_map.py - src/
rscvp/ , Python, 180 linesspatial/ main_position_sort.py - src/
rscvp/ , Python, 150 linesspatial/ main_position_sort_trial .py - src/
rscvp/ , Python, 113 linesspatial/ main_si.py - src/
rscvp/ , Python, 295 linesspatial/ main_slb.py - src/
rscvp/ , Python, 48 linesspatial/ main_sparsity.py - src/
rscvp/ , Python, 252 linesspatial/ main_speed_score.py - src/
rscvp/ , Python, 87 linesspatial/ main_trial_corr.py - src/
rscvp/ , Python, 153 linesspatial/ main_trial_profile.py - src/
rscvp/ , Python, 566 linesspatial/ util.py - src/
rscvp/ , Python, 228 linesspatial/ util_plot.py - src/
rscvp/ , Python, 1 linestatistic/ __init__.py - src/
rscvp/ , Python, 27 linesstatistic/ __main__.py - src/
rscvp/ , Python, 96 linesstatistic/ _var.py - src/
rscvp/ , Python, 175 linesstatistic/ cli_gspread.py - src/
rscvp/ , Python, 537 linesstatistic/ core.py - src/
rscvp/ , Python, 1 linestatistic/ csv_agg/ __init__.py - src/
rscvp/ , Python, 377 linesstatistic/ csv_agg/ core.py - src/
rscvp/ , Python, 79 linesstatistic/ csv_agg/ main_generic_agg.py - src/
rscvp/ , Python, 42 linesstatistic/ csv_agg/ main_pf_agg.py - src/
rscvp/ , Python, 121 linesstatistic/ csv_agg/ main_spatial_agg.py - src/
rscvp/ , Python, 69 linesstatistic/ csv_agg/ main_visual_agg.py - src/
rscvp/ , Python, 98 linesstatistic/ csv_agg/ main_visual_dir_agg.py - src/
rscvp/ , Python, 145 linesstatistic/ csv_agg/ main_visual_sftf_agg.py - src/
rscvp/ , Python, 82 linesstatistic/ main_normality.py - src/
rscvp/ , Python, 60 linesstatistic/ main_para_mtx.py - src/
rscvp/ , Python, 39 linesstatistic/ main_ses_overview.py - src/
rscvp/ , Python, 263 linesstatistic/ main_ses_var.py - src/
rscvp/ , Python, 1 linestatistic/ parq/ __init__.py - src/
rscvp/ , Python, 54 linesstatistic/ parq/ main_generic_gsp.py - src/
rscvp/ , Python, 254 linesstatistic/ parq/ main_pf_gsp.py - src/
rscvp/ , Python, 82 linesstatistic/ parq/ main_speed_gsp.py - src/
rscvp/ , Python, 210 linesstatistic/ parq/ main_topo_3d.py - src/
rscvp/ , Python, 188 linesstatistic/ parq/ main_topo_metric_gsp.py - src/
rscvp/ , Python, 114 linesstatistic/ parq/ main_value_gsp.py - src/
rscvp/ , Python, 110 linesstatistic/ parq/ main_visual_dir_gsp.py - src/
rscvp/ , Python, 111 linesstatistic/ parq/ main_visual_gsp.py - src/
rscvp/ , Python, 1 linestatistic/ persistence_agg/ __init__.py - src/
rscvp/ , Python, 146 linesstatistic/ persistence_agg/ core.py - src/
rscvp/ , Python, 203 linesstatistic/ persistence_agg/ main_decode_err.py - src/
rscvp/ , Python, 89 linesstatistic/ persistence_agg/ main_mismatch.py - src/
rscvp/ , Python, 89 linesstatistic/ persistence_agg/ main_si_sorted_occ.py - src/
rscvp/ , Python, 77 linesstatistic/ persistence_agg/ main_topo_celltype.py - src/
rscvp/ , Python, 167 linesstatistic/ persistence_agg/ main_trial_avg_position. py - src/
rscvp/ , Python, 1 linestatistic/ posdc/ __init__.py - src/
rscvp/ , Python, 91 linesstatistic/ posdc/ main_session_binned_err. py - src/
rscvp/ , Python, 110 linesstatistic/ posdc/ main_session_median_err. py - src/
rscvp/ , Python, 1 linestatistic/ sql/ __init__.py - src/
rscvp/ , Python, 49 linesstatistic/ sql/ main_base_cls.py - src/
rscvp/ , Python, 369 linesstatistic/ sql/ main_blank_cls.py - src/
rscvp/ , Python, 133 linesstatistic/ sql/ main_cell_type.py - src/
rscvp/ , Python, 81 linesstatistic/ sql/ main_dark_cls.py - src/
rscvp/ , Python, 51 linesstatistic/ sql/ main_decode_err.py - src/
rscvp/ , Python, 54 linesstatistic/ sql/ main_fov.py - src/
rscvp/ , Python, 93 linesstatistic/ sql/ main_osds_pie.py - src/
rscvp/ , Python, 44 linesstatistic/ sql/ main_push_gspread.py - src/
rscvp/ , Python, 119 linesstatistic/ sql/ main_visual_sftf.py - src/
rscvp/ , Python, 95 linesstatistic/ sql/ main_vr_cls.py - src/
rscvp/ , Python, 31 linesstatistic/ sql/ util.py - src/
rscvp/ , Python, 1 linetopology/ __init__.py - src/
rscvp/ , Python, 20 linestopology/ __main__.py - src/
rscvp/ , Python, 244 linestopology/ cache_ctype_cord.py - src/
rscvp/ , Python, 100 linestopology/ main_cls.py - src/
rscvp/ , Python, 47 linestopology/ main_cords.py - src/
rscvp/ , Python, 82 linestopology/ main_fov.py - src/
rscvp/ , Python, 72 linestopology/ main_fov_db.py - src/
rscvp/ , Python, 35 linestopology/ main_spatial_topo.py - src/
rscvp/ , Python, 57 linestopology/ main_visual_topo.py - src/
rscvp/ , Python, 100 linestopology/ util.py - src/
rscvp/ , Python, 303 linestopology/ util_plot.py - src/
rscvp/ , Python, 1 linetrack/ __init__.py - src/
rscvp/ , Python, 12 linestrack/ __main__.py - src/
rscvp/ , Python, 86 linestrack/ main_lick_score.py - src/
rscvp/ , Python, 117 linestrack/ main_licking_cmp.py - src/
rscvp/ , Python, 91 linestrack/ main_licking_prob.py - src/
rscvp/ , Python, 178 linestrack/ main_pupil_track.py - src/
rscvp/ , Python, 1 lineutil/ __init__.py - src/
rscvp/ , Python, 23 linesutil/ cli/ __init__.py - src/
rscvp/ , Python, 170 linesutil/ cli/ cli_camera.py - src/
rscvp/ , Python, 23 linesutil/ cli/ cli_ccf.py - src/
rscvp/ , Python, 251 linesutil/ cli/ cli_celltype.py - src/
rscvp/ , Python, 389 linesutil/ cli/ cli_core.py - src/
rscvp/ , Python, 19 linesutil/ cli/ cli_glm.py - src/
rscvp/ , Python, 139 linesutil/ cli/ cli_hist.py - src/
rscvp/ , Python, 142 linesutil/ cli/ cli_io.py - src/
rscvp/ , Python, 87 linesutil/ cli/ cli_model.py - src/
rscvp/ , Python, 57 linesutil/ cli/ cli_multiproc.py - src/
rscvp/ , Python, 128 linesutil/ cli/ cli_output.py - src/
rscvp/ , Python, 35 linesutil/ cli/ cli_persistence.py - src/
rscvp/ , Python, 54 linesutil/ cli/ cli_plot.py - src/
rscvp/ , Python, 100 linesutil/ cli/ cli_rastermap.py - src/
rscvp/ , Python, 139 linesutil/ cli/ cli_roi.py - src/
rscvp/ , Python, 101 linesutil/ cli/ cli_sbx.py - src/
rscvp/ , Python, 525 linesutil/ cli/ cli_selection.py - src/
rscvp/ , Python, 47 linesutil/ cli/ cli_shuffle.py - src/
rscvp/ , Python, 110 linesutil/ cli/ cli_sql.py - src/
rscvp/ , Python, 144 linesutil/ cli/ cli_sql_view.py - src/
rscvp/ , Python, 58 linesutil/ cli/ cli_statistic.py - src/
rscvp/ , Python, 228 linesutil/ cli/ cli_stattest.py - src/
rscvp/ , Python, 154 linesutil/ cli/ cli_stimpy.py - src/
rscvp/ , Python, 178 linesutil/ cli/ cli_suite2p.py - src/
rscvp/ , Python, 168 linesutil/ cli/ cli_treadmill.py - src/
rscvp/ , Python, 90 linesutil/ cli/ cli_wfield.py - src/
rscvp/ , Python, 461 linesutil/ database.py - src/
rscvp/ , Python, 234 linesutil/ io.py - src/
rscvp/ , Python, 98 linesutil/ pixviz.py - src/
rscvp/ , Python, 95 linesutil/ pkl_reader.py - src/
rscvp/ , Python, 379 linesutil/ position.py - src/
rscvp/ , Python, 1 lineutil/ presentation/ __init__.py - src/
rscvp/ , Python, 26 linesutil/ presentation/ animation.py - src/
rscvp/ , Python, 191 linesutil/ presentation/ simulate.py - src/
rscvp/ , Python, 65 linesutil/ rsync_backup.py - src/
rscvp/ , Python, 43 linesutil/ slack_bot.py - src/
rscvp/ , Python, 6 linesutil/ typing.py - src/
rscvp/ , Python, 32 linesutil/ util_camera.py - src/
rscvp/ , Python, 37 linesutil/ util_cascade.py - src/
rscvp/ , Python, 87 linesutil/ util_dataframe.py - src/
rscvp/ , Python, 139 linesutil/ util_demo.py - src/
rscvp/ , Python, 100 linesutil/ util_gspread.py - src/
rscvp/ , Python, 195 linesutil/ util_ibl.py - src/
rscvp/ , Python, 322 linesutil/ util_lick.py - src/
rscvp/ , Python, 36 linesutil/ util_plot.py - src/
rscvp/ , Python, 36 linesutil/ util_sort.py - src/
rscvp/ , Python, 252 linesutil/ util_stat.py - src/
rscvp/ , Python, 357 linesutil/ util_trials.py - src/
rscvp/ , Python, 97 linesutil/ wfield.py - src/
rscvp/ , Python, 1 linevisual/ __init__.py - src/
rscvp/ , Python, 18 linesvisual/ __main__.py - src/
rscvp/ , Python, 78 linesvisual/ main_mismatch.py - src/
rscvp/ , Python, 333 linesvisual/ main_polar.py - src/
rscvp/ , Python, 238 linesvisual/ main_reliability.py - src/
rscvp/ , Python, 210 linesvisual/ main_response.py - src/
rscvp/ , Python, 81 linesvisual/ main_running.py - src/
rscvp/ , Python, 651 linesvisual/ main_sftf_fit.py - src/
rscvp/ , Python, 225 linesvisual/ main_sftf_pref.py - src/
rscvp/ , Python, 146 linesvisual/ main_tuning.py - src/
rscvp/ , Python, 349 linesvisual/ util.py - src/
rscvp/ , Python, 338 linesvisual/ util_cache.py - src/
rscvp/ , Python, 114 linesvisual/ util_plot.py - test/
local/ , Python, 1 line__init__.py - test/
local/ , Python, 353 linestest_atlas.py - test/
local/ , Python, 187 linestest_behavioral_track.py - test/
local/ , Python, 79 linestest_glm.py - test/
local/ , Python, 222 linestest_position_decode.py - test/
local/ , Python, 64 linestest_rastermap.py - test/
local/ , Python, 60 linestest_retinotopic.py - test/
local/ , Python, 57 linestest_selection.py - test/
local/ , Python, 210 linestest_spatial.py - test/
local/ , Python, 152 linestest_sql_db.py - test/
local/ , Python, 226 linestest_statistic.py - test/
local/ , Python, 98 linestest_topology.py - test/
local/ , Python, 81 linestest_trial_selection.py - test/
local/ , Python, 122 linestest_visual.py - test/
local/ , Python, 8 linesutil.py - LICENSE, License, 28 lines
- README.md, Text, 113 lines
Code availability
All custom code used in this study is openly available on GitHub (https://
Reproduced under the paper's license (CC BY), from the paper cited above.
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;
- 577 scripts, each with its path and the digest of its content;
- 18 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
- zenodo:17639283, at Zenodo; found in “Data availability”
Data availability
All two-photon imaging datasets (Suite2p-processed) and retrograde-labeling data (CSV format) have been deposited in Zenodo and are publicly available (10.5281/
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, 30 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 4 authors, 2 keywords, 12 MeSH terms, 1 funder, 70 references.
Cite
This paper
Wei, Y.-T., Couto, J., Kloosterman, F., & Bonin, V. (2026). Anterior and posterior retrosplenial cortex form distinct visuospatial circuits in the mouse. Nature communications, 17(1), 4388. https://
BibTeX
@article{wei2026anterior
author = {Wei, Yu-Ting and Couto, João and Kloosterman, Fabian and Bonin, Vincent},
title = {{Anterior and posterior retrosplenial cortex form distinct visuospatial circuits in the mouse}},
journal = {Nature communications},
year = {2026},
month = mar,
volume = {17},
number = {1},
pages = {4388},
publisher = {Nature Publishing Group},
issn = {2041-1723},
doi = {10.1038/
url = {https://
pmid = {41881980},
pmcid = {PMC13181125}
}
RIS
TY - JOUR
AU - Wei, Yu-Ting
AU - Couto, João
AU - Kloosterman, Fabian
AU - Bonin, Vincent
TI - Anterior and posterior retrosplenial cortex form distinct visuospatial circuits in the mouse
T2 - Nature communications
J2 - Nat Commun
PY - 2026
DA - 2026/
VL - 17
IS - 1
SP - 4388
SN - 2041-1723
PB - Nature Publishing Group
DO - 10.1038/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1038/
"type": "article-journal",
"title": "Anterior and posterior retrosplenial cortex form distinct visuospatial circuits in the mouse",
"container-title": "Nature communications",
"author": [
{
"family": "Wei",
"given": "Yu-Ting"
},
{
"family": "Couto",
"given": "João"
},
{
"family": "Kloosterman",
"given": "Fabian"
},
{
"family": "Bonin",
"given": "Vincent"
}
],
"container-title-short":
"volume": "17",
"issue": "1",
"page": "4388",
"DOI": "10.1038/
"PMID": "41881980",
"PMCID": "PMC13181125",
"ISSN": "2041-1723",
"publisher": "Nature Publishing Group",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
3,
25
]
]
}
}
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-024-51391-w [code]
- Egocentric neural representation of geometric vertex in the retrosplenial cortex.Journal: Nature communicationsIn common: systems, mouse, 19 references
- [2] doi:10.7554/elife.82952 [code]
- Coordinated head direction representations in mouse anterodorsal thalamic nucleus and retrosplenial cortex.Journal: eLifeIn common: systems, mouse, 18 references
- [3] doi:10.7554/elife.109717 [code]
- Retrosplenial cortex enables context-dependent goal-directed sensorimotor transformation.Journal: eLifeIn common: imageio, tifffile, OpenCV, 8 other tools, systems, mouse, 10 references
- [4] doi:10.1038/s41467-024-51227-7 [code]
- Differential stability of task variable representations in retrosplenial cortex.Journal: Nature communicationsIn common: systems, mouse, 13 references
- [5] doi:10.1126/sciadv.aea1037 [code]
- Distinct cortical spatial representations learned along disparate visual pathways.Journal: Science advancesIn common: seaborn, pandas, SciPy, 2 other tools, systems, 10 references
- [6] doi:10.1038/s41467-022-29656-z [code]
- Diversity of spatiotemporal coding reveals specialized visual processing streams in the mouse cortex.Journal: Nature communicationsIn common: systems, mouse, 9 references, author Vincent Bonin
- [7] doi:10.1016/j.crmeth.2026.101302 [code]
- DMC-BrainMap is an open-source, end-to-end tool for multi-feature brain mapping in different species.Journal: Cell reports methodsIn common: imageio, tifffile, OpenCV, 9 other tools, mouse, 3 references
- [8] doi:10.1101/2025.10.31.685738 [code]
- Retrosplenial cortex enables context-dependent goal-directed sensorimotor transformationJournal: bioRxiv (preprint)In common: systems, 10 references
- [9] doi:10.1038/s41467-022-33883-9 [code]
- Distinct organization of two cortico-cortical feedback pathways.Journal: Nature communicationsIn common: imageio, OpenCV, scikit-image, 7 other tools, systems, mouse, 4 references
- [10] doi:10.1016/j.neuron.2025.11.021 [code]
- Spontaneous behavior is a succession of self-directed tasks.Journal: NeuronIn common: imageio, Plotly, OpenCV, 9 other tools, systems, mouse, 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.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 2 repositories of the authors' code, each at its verified commit and with its license, 577 scripts, and 18 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:c1cce9395caafca9…
Add the badge to the code's README
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 -->
[](https://openscicode.org/badge/doi/10.1038/s41467-026-70762-z)
<!-- oscr-badge:end -->reStructuredText
.. oscr-badge:start
.. image:: https://openscicode.org/badge/doi/10.1038/s41467-026-70762-z.svg
:target: https://openscicode.org/badge/doi/10.1038/s41467-026-70762-z
:alt: OSCR
.. oscr-badge:endHTML
<!-- oscr-badge:start -->
<a href="https://openscicode.org/badge/doi/10.1038/s41467-026-70762-z"><img src="https://openscicode.org/badge/doi/10.1038/s41467-026-70762-z.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.
