Canonical and retinal size in visual working memory.
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
MATLAB · 299 lines · 15 KB · no license
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % BigSmallVWM1.m
- % Participants encoded 8 objects which appeared in random locations in a
- % 4x4 grid for 2s. The objects dissapeared for the encoding interval of 1s
- % before reappearing with one object different. Participants were asked to
- % click on the object that was different.
- %
- % In Exp1, objects were intermixed on the display: two objects were large
- % retinal and canonical size, two objects were small retinal and canonical
- % size, two objects were small retinal and large canonical size, and two
- % objects were large retinal and small canonical size
- %
- % There were 16 participants. Participants completed 12 blocks of 32 trials
- % for 384 total trials per participant to counterbalance the objects
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % Experimental parameters
- clear all;
- rand('state', sum(100*clock));
- Screen('Preference', 'SkipSyncTests', 1);
- encodingDuration = 2; retentionInterval = 1;
- prompt = {'Outputfile', 'block', 'Subject number', 'age', 'gender', 'memory load'};
- defaults = {'BigSmallVWM1', '1', '99', '18', 'F', '8'};
- answer = inputdlg(prompt, 'BigSmallVWM1', 2, defaults);
- [output, block, subnum, age, gender, nObjects] = deal(answer{:});
- nObjects = str2num(nObjects);
- stimulusFileName = ['BigSmallVWM1_s' subnum '.xls'];
- if exist(stimulusFileName)==2&&(str2num(subnum)~=99)
- fileproblem = input('That file already exists! Append a .x (1), overwrite (2), or break (3/default)?');
- if isempty(fileproblem) | fileproblem==3
- return;
- elseif fileproblem==1
- stimulusFileName = [stimulusFileName '.x'];
- end
- end
- stimulusFile = fopen(stimulusFileName, 'w');
- writeData(stimulusFile, {'subnum', 'age', 'gender', 'trial', 'canonicalSize', 'pixelSize', 'object1',...
- 'object2', 'object3', 'object4', 'object5', 'object6', 'object7', 'object8', 'probe', ...
- 'probecell', 'probex', 'probey', 'mousex', 'mousey', 'mouseDistance', 'accuracy', 'rt', 'numCorrectSoFar'}, '\t');
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % Sound feedback
- BeepFreq = [800 1300 2000]; BeepDur = [.1 .1 .1];
- Beep1 = MakeBeep(BeepFreq(1), BeepDur(1));
- Beep2 = MakeBeep(BeepFreq(2), BeepDur(2));
- Beep3 = MakeBeep(BeepFreq(3), BeepDur(3));
- Beep4 = [Beep1 Beep2 Beep3];
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % Screen parameters
- gray = [127 127 127 ]; white = [255 255 255]; black = [0 0 0]; darkgreen = [0 200 0]; lineWidth = 6;
- bgcolor = white; textcolor = black; linecolor = darkgreen;
- [mainwin, screenrect] = Screen(0, 'OpenWindow');
- Screen('FillRect', mainwin, bgcolor);
- center = [screenrect(3)/2 screenrect(4)/2];
- Screen(mainwin, 'Flip');
- nrow = 4; ncolumn = 4; cellsize = 180;
- for ncells = 1:nrow.*ncolumn
- xnum = (mod(ncells-1, ncolumn)+1)-ncolumn/2-0.5;
- ynum = ceil(ncells/nrow)-nrow/2-0.5;
- cellcenter(ncells,1) = center(1)+xnum.*cellsize;
- cellcenter(ncells,2) = center(2)+ynum.*cellsize;
- end
- % Display the grid
- startGridx = nrow/2+1; startGridy = ncolumn/2+1;
- for i = 1:5
- Screen('DrawLine', mainwin, darkgreen, center(1)-(startGridx-i)*cellsize, center(2)-nrow/2*cellsize, center(1)-(startGridx-i)*cellsize, center(2)+nrow/2*cellsize,lineWidth);
- Screen('DrawLine', mainwin, darkgreen, center(1)-(ncolumn/2)*cellsize, center(2)-(startGridy-i)*cellsize, center(1)+(ncolumn/2)*cellsize, center(2)-(startGridy-i)*cellsize,lineWidth);
- end
- for j = 1:nrow.*ncolumn
- Screen('DrawText', mainwin, num2str(j),cellcenter(j,1), cellcenter(j,2),textcolor);
- end
- Screen(mainwin, 'Flip');
- WaitSecs(1);
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % select objects
- nObjectsPerSize = 96;
- if mod(str2num(subnum),2) == 0 % even numbered participants
- tinyPhotoIndex = [1:2:nObjectsPerSize*2]; % odd numbered objects
- largePhotoIndex = [2:2:nObjectsPerSize*2]; % even numbered objects
- else
- tinyPhotoIndex = [2:2:nObjectsPerSize*2];
- largePhotoIndex = [1:2:nObjectsPerSize*2];
- end
- tinyPhotoBigObjectIndex = Shuffle(tinyPhotoIndex);
- tinyPhotoSmallObjectIndex = Shuffle(tinyPhotoIndex);
- largePhotoBigObjectIndex = Shuffle(largePhotoIndex);
- largePhotoSmallObjectIndex = Shuffle(largePhotoIndex);
- tinyPhotoSize = 70; largePhotoSize = 140;
- nTrialsPerBlock = 32; nBlocks = nObjectsPerSize*4/nTrialsPerBlock;
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % Instructions
- instructions = ['Welcome to the Visual Attention and Memory Study. You will see a display of several objects. Please try to remember as much of the display as possible. A second or so later, another similar array will appear, except that one object has changed. Your task is to identify which object has changed by clicking on the center of the object. \n\n The task is challenging, but please try your best! \n\n There will be 12 blocks of trials, each taking a couple of minutes to complete. You may take a break at the end of each block. Please click the mouse to start.']
- DrawFormattedText(mainwin, instructions, 'center', 'center', textcolor, 70);
- Screen('Flip', mainwin);
- GetClicks;
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % Trial loop
- randTrials = Shuffle(1:nObjectsPerSize*4);
- largePhotoBigObjectStart = 0;
- largePhotoSmallObjectStart = 0;
- tinyPhotoBigObjectStart = 0;
- tinyPhotoSmallObjectStart = 0;
- randCells = Shuffle(1:nrow*ncolumn);
- eightObjectSize = [largePhotoSize, largePhotoSize, tinyPhotoSize, tinyPhotoSize, largePhotoSize, largePhotoSize, tinyPhotoSize, tinyPhotoSize];
- numCorrectSoFar = 0;
- for i = 1:nObjectsPerSize*4
- if str2num(subnum)==99 & i > 4
- break; ShowCursor; Screen('CloseAll'); fclose('all');
- end
- if i > 1 && mod(i,nTrialsPerBlock) == 0 % break every 32 trials or so
- whichBlock = floor(i/nTrialsPerBlock);
- Screen('FillRect', mainwin, bgcolor);
- Screen('DrawText', mainwin, ['You got ' num2str(numCorrectSoFar) ' out of ' num2str(i) ' trials correct so far. Please try your best!'],center(1)-400,center(2)-50,textcolor);
- Screen('DrawText', mainwin, ['End of block ' num2str(whichBlock) ' out of ' num2str(nBlocks) '. You may take a short break. Click to continue.'],center(1)-400,center(2)+50,textcolor);
- Screen(mainwin, 'Flip');
- GetClicks;
- end
- if mod(randTrials(i),4) == 0
- pixelSize = 'largePhoto';
- photoSize = largePhotoSize;
- objectSize = 'big';
- largePhotoBigObjectStart = largePhotoBigObjectStart + 1;
- probeLoc = 1;
- probeIndex = largePhotoBigObjectIndex(largePhotoBigObjectStart);
- otherToChooseFrom = largePhotoBigObjectIndex(find(largePhotoBigObjectIndex~=probeIndex));
- templist1 = Shuffle(otherToChooseFrom); templist2 = Shuffle(tinyPhotoBigObjectIndex); templist3 = Shuffle(largePhotoSmallObjectIndex); templist4 = Shuffle(tinyPhotoSmallObjectIndex);
- elseif mod(randTrials(i),4) == 1
- pixelSize = 'tinyPhoto';
- photoSize = tinyPhotoSize;
- objectSize = 'big';
- tinyPhotoBigObjectStart = tinyPhotoBigObjectStart + 1;
- probeLoc = 3;
- probeIndex = tinyPhotoBigObjectIndex(tinyPhotoBigObjectStart);
- otherToChooseFrom = tinyPhotoBigObjectIndex(find(tinyPhotoBigObjectIndex~=probeIndex));
- templist1 = Shuffle(largePhotoBigObjectIndex); templist2 = Shuffle(otherToChooseFrom); templist3 = Shuffle(largePhotoSmallObjectIndex); templist4 = Shuffle(tinyPhotoSmallObjectIndex);
- elseif mod(randTrials(i),4) == 2
- pixelSize = 'largePhoto';
- photoSize = largePhotoSize;
- objectSize = 'small';
- probeLoc = 5;
- largePhotoSmallObjectStart = largePhotoSmallObjectStart + 1;
- probeIndex = largePhotoSmallObjectIndex(largePhotoSmallObjectStart);
- otherToChooseFrom = largePhotoSmallObjectIndex(find(largePhotoSmallObjectIndex~=probeIndex));
- templist1 = Shuffle(largePhotoBigObjectIndex); templist2 = Shuffle(tinyPhotoBigObjectIndex); templist3 = Shuffle(otherToChooseFrom); templist4 = Shuffle(tinyPhotoSmallObjectIndex);
- else
- pixelSize = 'tinyPhoto';
- photoSize = tinyPhotoSize;
- objectSize = 'small';
- probeLoc = 7;
- tinyPhotoSmallObjectStart = tinyPhotoSmallObjectStart + 1;
- probeIndex = tinyPhotoSmallObjectIndex(tinyPhotoSmallObjectStart);
- otherToChooseFrom = tinyPhotoSmallObjectIndex(find(tinyPhotoSmallObjectIndex~=probeIndex));
- templist1 = Shuffle(largePhotoBigObjectIndex); templist2 = Shuffle(tinyPhotoBigObjectIndex); templist3 = Shuffle(largePhotoSmallObjectIndex); templist4 = Shuffle(otherToChooseFrom);
- end
- listOfEncodingObjects = [templist1(1:2), templist2(1:2), templist3(1:2), templist4(1:2)];
- randCells = Shuffle(randCells); % shuffle cell locations
- % Draw memory array
- Screen('FillRect', mainwin, bgcolor);
- for k = 1:5
- Screen('DrawLine', mainwin, darkgreen, center(1)-(startGridx-k)*cellsize, center(2)-nrow/2*cellsize, center(1)-(startGridx-k)*cellsize, center(2)+nrow/2*cellsize,lineWidth);
- Screen('DrawLine', mainwin, darkgreen, center(1)-(ncolumn/2)*cellsize, center(2)-(startGridy-k)*cellsize, center(1)+(ncolumn/2)*cellsize, center(2)-(startGridy-k)*cellsize,lineWidth);
- end
- for j = 1:nObjects
- if j < 5
- imageName = ['./Big/big' num2str(listOfEncodingObjects(j)) '.jpg'];
- else
- imageName = ['./Small/small' num2str(listOfEncodingObjects(j)) '.jpg'];
- end
- eachObjectSize = eightObjectSize(j);
- thisIm = imread(imageName); imgDim = size(thisIm); diagDim = sqrt(imgDim(1).^2 + imgDim(2).^2); dimCell = eachObjectSize.*sqrt(2); scalingFactor = dimCell./diagDim; photoSize1 = imgDim(2).*scalingFactor; photoSize2 = imgDim(1).*scalingFactor;
- thisImObject = Screen('MakeTexture', mainwin, thisIm);
- Screen('DrawTexture', mainwin, thisImObject, [], [cellcenter(randCells(j),1)-photoSize1/2, cellcenter(randCells(j),2)-photoSize2/2, cellcenter(randCells(j),1)+photoSize1/2, cellcenter(randCells(j),2)+photoSize2/2],1);
- end
- Screen('Flip', mainwin);
- currentDisplay = Screen('GetImage', mainwin);
- imwrite(currentDisplay, ['Exp1ImageA.jpg']); %this will write out a file called MathisFigure.jpg
- WaitSecs(encodingDuration);
- Screen('FillRect', mainwin, bgcolor);
- Screen('Flip', mainwin);
- WaitSecs(retentionInterval);
- % Draw Test array
- for k = 1:5
- Screen('DrawLine', mainwin, darkgreen, center(1)-(startGridx-k)*cellsize, center(2)-nrow/2*cellsize, center(1)-(startGridx-k)*cellsize, center(2)+nrow/2*cellsize,lineWidth);
- Screen('DrawLine', mainwin, darkgreen, center(1)-(ncolumn/2)*cellsize, center(2)-(startGridy-k)*cellsize, center(1)+(ncolumn/2)*cellsize, center(2)-(startGridy-k)*cellsize,lineWidth);
- end
- probeName = ['./' objectSize '/' objectSize num2str(probeIndex) '.jpg'];
- thisIm = imread(probeName); imgDim = size(thisIm); diagDim = sqrt(imgDim(1).^2 + imgDim(2).^2); dimCell = photoSize.*sqrt(2); scalingFactor = dimCell./diagDim; photoSize1 = imgDim(2).*scalingFactor; photoSize2 = imgDim(1).*scalingFactor;
- thisImObject = Screen('MakeTexture', mainwin, thisIm);
- Screen('DrawTexture', mainwin, thisImObject, [], [cellcenter(randCells(probeLoc),1)-photoSize1/2, cellcenter(randCells(probeLoc),2)-photoSize2/2, cellcenter(randCells(probeLoc),1)+photoSize1/2, cellcenter(randCells(probeLoc),2)+photoSize2/2],1);
- probex = cellcenter(randCells(probeLoc),1);
- probey = cellcenter(randCells(probeLoc),2);
- for j = 1:nObjects
- if j ~= probeLoc
- if j < 5
- imageName = ['./Big/big' num2str(listOfEncodingObjects(j)) '.jpg'];
- else
- imageName = ['./Small/small' num2str(listOfEncodingObjects(j)) '.jpg'];
- end
- eachObjectSize = eightObjectSize(j);
- thisIm = imread(imageName); imgDim = size(thisIm); diagDim = sqrt(imgDim(1).^2 + imgDim(2).^2); dimCell = eachObjectSize.*sqrt(2); scalingFactor = dimCell./diagDim; photoSize1 = imgDim(2).*scalingFactor; photoSize2 = imgDim(1).*scalingFactor;
- thisImObject = Screen('MakeTexture', mainwin, thisIm);
- Screen('DrawTexture', mainwin, thisImObject, [], [cellcenter(randCells(j),1)-photoSize1/2, cellcenter(randCells(j),2)-photoSize2/2, cellcenter(randCells(j),1)+photoSize1/2, cellcenter(randCells(j),2)+photoSize2/2],1);
- end
- end
- timeStart = GetSecs; accuracy = 0; rt = 0;
- Screen('Flip', mainwin);
- currentDisplay = Screen('GetImage', mainwin);
- imwrite(currentDisplay, ['Exp2ImageB.jpg']); %this will write out a file called MathisFigure.jpg
- %mousex = 0; mousey = 0; Record response
- mouseDistance = 1000;
- while 1
- [mousex,mousey,buttons] = GetMouse;
- while any(buttons) % if already down, wait for release
- [mousex,moosey,buttons] = GetMouse;
- end
- while ~any(buttons) % wait for press
- [mousex,mousey,buttons] = GetMouse;
- end
- while any(buttons) % wait for release
- [mousex,mousey,buttons] = GetMouse;
- end
- if (mousex > 50 && mousey > 50)
- rt = (GetSecs - timeStart)*1000; break;
- elseif mousex<50&&mousey<50
- ShowCursor;
- fclose('all');
- Screen('CloseAll');
- return;
- end
- end
- mouseDistance = sqrt((mousex-probex).^2 + (mousey-probey).^2); % distance between mouse click and probe image;
- if mouseDistance < 150
- accuracy = 1; numCorrectSoFar = numCorrectSoFar+1; Snd('Play', Beep4);
- else
- accuracy = 0; Snd('Play', Beep1);
- end
- writeData(stimulusFile, {subnum, age, gender, i, objectSize, pixelSize, otherToChooseFrom(1),...
- otherToChooseFrom(2), otherToChooseFrom(3), otherToChooseFrom(4), otherToChooseFrom(5), otherToChooseFrom(6),...
- otherToChooseFrom(7), otherToChooseFrom(8), probeIndex, ...
- randCells(probeLoc), probex, probey, mousex, mousey, mouseDistance, accuracy, rt, numCorrectSoFar}, '\t');
- Screen('FillRect', mainwin, bgcolor);
- Screen('Flip', mainwin);
- WaitSecs(0.75);
- end
- ShowCursor;
- Screen('CloseAll');
- fclose('all');
- disp('Overall accuracy is:');
- disp(numCorrectSoFar/(i-1));
BigSmallVWM1.m, no license · at the source
Overview
Abstract
Visual working memory (VWM) is key to many daily tasks, such as remembering visual information about traffic when crossing a busy street. Despite extensive research, the extent to which VWM abstracts out sensory properties not relevant to identification, such as object size, remains unclear. In three experiments, we examined how object size affects VWM, with size defined in two ways: retinal size, referring to the image’s size on the screen (small or large photos), and canonical size, referring to the typical size of objects in the real world, from big (e.g., a tower) to small (e.g., an egg). Experiments 1 and 2 tested memory for real-world objects, classified into four types based on their photo size and canonical size. VWM was better for large rather than small photos—a retinal-size effect—and for canonically small than big objects—a canonical-size effect. These effects were stronger when participants remembered a mix of different-sized objects than when all objects in a display were of the same size. Experiment 3 tested memory for colored squares that were either big or small on the screen. Size had no effect when displays consisted of colored squares of the same size, but big squares were remembered better when mixed with small squares. These results suggest that seemingly irrelevant sensory properties affect VWM, favoring objects that stimulate more neurons. The effect is stronger when size conditions are mixed, indicating that retinally larger objects are better attended.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above.
OSF hwstm
Availability: 1 check, the latest on 29 September 2026: the link answers (HTTP 200)
- 29 September 2026: the link answers (HTTP 200)
7 files
- Exp1/
BigSmallVWM1.m , MATLAB, 299 lines - Exp1/
writeData.m , MATLAB, 53 lines - Exp2/
BigSmallVWM2.m , MATLAB, 281 lines - Exp2/
writeData.m , MATLAB, 53 lines - Exp3/
ColorVWM3.m , MATLAB, 244 lines - Exp3/
writeData.m , MATLAB, 53 lines - README.txt, Text, 17 lines
The paper's code and data availability statement is in the Data section.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 6 scripts, each with its path and the digest of its content;
- no match between paragraphs and code yet;
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
No dataset and no data link were found in the paper.
Data availability
These experiments were not preregistered. De-identified subject level data in an aggregated format, scripts, and Supplemental Materials containing additional analyses are available at the Open Science Framework (https://
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, 29 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 3 authors, 4 keywords, 10 MeSH terms, 1 funder, 15 references.
Cite
This paper
Gronewald, W. L., Lee, V. G., & Remington, R. W. (2026). Canonical and retinal size in visual working memory. Psychonomic bulletin & review, 33(5), 147. https://
BibTeX
@article{gronewald2026ca
author = {Gronewald, William L and Lee, Vanessa G and Remington, Roger W},
title = {{Canonical and retinal size in visual working memory}},
journal = {Psychonomic bulletin \& review},
year = {2026},
month = apr,
volume = {33},
number = {5},
pages = {147},
publisher = {Springer Science+Business Media},
issn = {1069-9384},
doi = {10.3758/
url = {https://
pmid = {42014599},
pmcid = {PMC13099791}
}
RIS
TY - JOUR
AU - Gronewald, William L
AU - Lee, Vanessa G
AU - Remington, Roger W
TI - Canonical and retinal size in visual working memory
T2 - Psychonomic bulletin & review
J2 - Psychon Bull Rev
PY - 2026
DA - 2026/
VL - 33
IS - 5
SP - 147
SN - 1069-9384
PB - Springer Science+Business Media
DO - 10.3758/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.3758/
"type": "article-journal",
"title": "Canonical and retinal size in visual working memory",
"container-title": "Psychonomic bulletin & review",
"author": [
{
"family": "Gronewald",
"given": "William L"
},
{
"family": "Lee",
"given": "Vanessa G"
},
{
"family": "Remington",
"given": "Roger W"
}
],
"container-title-short":
"volume": "33",
"issue": "5",
"page": "147",
"DOI": "10.3758/
"PMID": "42014599",
"PMCID": "PMC13099791",
"ISSN": "1069-9384",
"publisher": "Springer Science+Business Media",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
4,
21
]
]
}
}
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.1162/imag.a.1228 [code]
- A unique neural signature of long-term memory encoding from EEG inter-electrode correlation.Journal: Imaging neuroscience (Cambridge, Mass.)In common: cognitive, 2 references
- [2] doi:10.7554/elife.103846 [code]
- Overt visual attention modulates decision-related signals in the frontal cortex.Journal: eLifeIn common: Psychtoolbox, cognitive
- [3] doi:10.1371/journal.pbio.3003948 [code]
- Neural encoding of pain is robust within but unstable between individuals.Journal: PLoS biologyIn common: Psychtoolbox, cognitive
- [4] doi:10.1038/s41562-026-02533-1 [code]
- Fluctuations in arousal reflect latent state transitions that facilitate behavioural optimization.Journal: Nature human behaviourIn common: Psychtoolbox, cognitive
- [5] doi:10.1186/s13229-026-00730-3 [code]
- Predicting emotional valence in autism: a preregistered study in the Bayesian Brain framework.Journal: Molecular autismIn common: Psychtoolbox, cognitive
- [6] doi:10.1038/s41467-026-75662-w [code]
- Distinct Roles of Deep and Superficial Cortical Layers in Tone Prediction, Comparison, and Adaptation in Human Auditory Cortices.Journal: Nature communicationsIn common: Psychtoolbox, cognitive
- [7] doi:10.1038/s41467-026-75359-0 [code]
- Neural mechanisms of time-forward predictions for naturalistic auditory tone sequences.Journal: Nature communicationsIn common: Psychtoolbox, cognitive
- [8] doi:10.7554/elife.108017 [code]
- Visual working memory guides attention rhythmically in humans.Journal: eLifeIn common: Psychtoolbox, cognitive
- [9] doi:10.1007/s00426-026-02341-2 [code]
- When emotions hurt: negative interpretations of bodily signals and interoceptive difficulties in fibromyalgia.Journal: Psychological researchIn common: Psychtoolbox, cognitive
- [10] doi:10.1016/j.isci.2026.116458 [code]
- Neural tracking of prosodic and statistical rhythms jointly supports artificial language learning.Journal: iScienceIn common: Psychtoolbox, cognitive
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: 1 repository of the authors' code, each at its verified commit and with its license, 6 scripts, and 0 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:9f7c03cfbca78967…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[.
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.
