OSCR

Canonical and retinal size in visual working memory.

Code ↔ Paper

The paper beside its authors' code: matches between them have not been computed for this paper yet.

Paper

Loaded from Europe PMC by your browser, 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

  1. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2. % BigSmallVWM1.m
  3. % Participants encoded 8 objects which appeared in random locations in a
  4. % 4x4 grid for 2s. The objects dissapeared for the encoding interval of 1s
  5. % before reappearing with one object different. Participants were asked to
  6. % click on the object that was different.
  7. %
  8. % In Exp1, objects were intermixed on the display: two objects were large
  9. % retinal and canonical size, two objects were small retinal and canonical
  10. % size, two objects were small retinal and large canonical size, and two
  11. % objects were large retinal and small canonical size
  12. %
  13. % There were 16 participants. Participants completed 12 blocks of 32 trials
  14. % for 384 total trials per participant to counterbalance the objects
  15. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  16. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  17. % Experimental parameters
  18. clear all;
  19. rand('state', sum(100*clock));
  20. Screen('Preference', 'SkipSyncTests', 1);
  21. encodingDuration = 2; retentionInterval = 1;
  22. prompt = {'Outputfile', 'block', 'Subject number', 'age', 'gender', 'memory load'};
  23. defaults = {'BigSmallVWM1', '1', '99', '18', 'F', '8'};
  24. answer = inputdlg(prompt, 'BigSmallVWM1', 2, defaults);
  25. [output, block, subnum, age, gender, nObjects] = deal(answer{:});
  26. nObjects = str2num(nObjects);
  27. stimulusFileName = ['BigSmallVWM1_s' subnum '.xls'];
  28. if exist(stimulusFileName)==2&&(str2num(subnum)~=99)
  29. fileproblem = input('That file already exists! Append a .x (1), overwrite (2), or break (3/default)?');
  30. if isempty(fileproblem) | fileproblem==3
  31. return;
  32. elseif fileproblem==1
  33. stimulusFileName = [stimulusFileName '.x'];
  34. end
  35. end
  36. stimulusFile = fopen(stimulusFileName, 'w');
  37. writeData(stimulusFile, {'subnum', 'age', 'gender', 'trial', 'canonicalSize', 'pixelSize', 'object1',...
  38. 'object2', 'object3', 'object4', 'object5', 'object6', 'object7', 'object8', 'probe', ...
  39. 'probecell', 'probex', 'probey', 'mousex', 'mousey', 'mouseDistance', 'accuracy', 'rt', 'numCorrectSoFar'}, '\t');
  40. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  41. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  42. % Sound feedback
  43. BeepFreq = [800 1300 2000]; BeepDur = [.1 .1 .1];
  44. Beep1 = MakeBeep(BeepFreq(1), BeepDur(1));
  45. Beep2 = MakeBeep(BeepFreq(2), BeepDur(2));
  46. Beep3 = MakeBeep(BeepFreq(3), BeepDur(3));
  47. Beep4 = [Beep1 Beep2 Beep3];
  48. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  49. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  50. % Screen parameters
  51. gray = [127 127 127 ]; white = [255 255 255]; black = [0 0 0]; darkgreen = [0 200 0]; lineWidth = 6;
  52. bgcolor = white; textcolor = black; linecolor = darkgreen;
  53. [mainwin, screenrect] = Screen(0, 'OpenWindow');
  54. Screen('FillRect', mainwin, bgcolor);
  55. center = [screenrect(3)/2 screenrect(4)/2];
  56. Screen(mainwin, 'Flip');
  57. nrow = 4; ncolumn = 4; cellsize = 180;
  58. for ncells = 1:nrow.*ncolumn
  59. xnum = (mod(ncells-1, ncolumn)+1)-ncolumn/2-0.5;
  60. ynum = ceil(ncells/nrow)-nrow/2-0.5;
  61. cellcenter(ncells,1) = center(1)+xnum.*cellsize;
  62. cellcenter(ncells,2) = center(2)+ynum.*cellsize;
  63. end
  64. % Display the grid
  65. startGridx = nrow/2+1; startGridy = ncolumn/2+1;
  66. for i = 1:5
  67. 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);
  68. 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);
  69. end
  70. for j = 1:nrow.*ncolumn
  71. Screen('DrawText', mainwin, num2str(j),cellcenter(j,1), cellcenter(j,2),textcolor);
  72. end
  73. Screen(mainwin, 'Flip');
  74. WaitSecs(1);
  75. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  76. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  77. % select objects
  78. nObjectsPerSize = 96;
  79. if mod(str2num(subnum),2) == 0 % even numbered participants
  80. tinyPhotoIndex = [1:2:nObjectsPerSize*2]; % odd numbered objects
  81. largePhotoIndex = [2:2:nObjectsPerSize*2]; % even numbered objects
  82. else
  83. tinyPhotoIndex = [2:2:nObjectsPerSize*2];
  84. largePhotoIndex = [1:2:nObjectsPerSize*2];
  85. end
  86. tinyPhotoBigObjectIndex = Shuffle(tinyPhotoIndex);
  87. tinyPhotoSmallObjectIndex = Shuffle(tinyPhotoIndex);
  88. largePhotoBigObjectIndex = Shuffle(largePhotoIndex);
  89. largePhotoSmallObjectIndex = Shuffle(largePhotoIndex);
  90. tinyPhotoSize = 70; largePhotoSize = 140;
  91. nTrialsPerBlock = 32; nBlocks = nObjectsPerSize*4/nTrialsPerBlock;
  92. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  93. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  94. % Instructions
  95. 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.']
  96. DrawFormattedText(mainwin, instructions, 'center', 'center', textcolor, 70);
  97. Screen('Flip', mainwin);
  98. GetClicks;
  99. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  100. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  101. % Trial loop
  102. randTrials = Shuffle(1:nObjectsPerSize*4);
  103. largePhotoBigObjectStart = 0;
  104. largePhotoSmallObjectStart = 0;
  105. tinyPhotoBigObjectStart = 0;
  106. tinyPhotoSmallObjectStart = 0;
  107. randCells = Shuffle(1:nrow*ncolumn);
  108. eightObjectSize = [largePhotoSize, largePhotoSize, tinyPhotoSize, tinyPhotoSize, largePhotoSize, largePhotoSize, tinyPhotoSize, tinyPhotoSize];
  109. numCorrectSoFar = 0;
  110. for i = 1:nObjectsPerSize*4
  111. if str2num(subnum)==99 & i > 4
  112. break; ShowCursor; Screen('CloseAll'); fclose('all');
  113. end
  114. if i > 1 && mod(i,nTrialsPerBlock) == 0 % break every 32 trials or so
  115. whichBlock = floor(i/nTrialsPerBlock);
  116. Screen('FillRect', mainwin, bgcolor);
  117. 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);
  118. 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);
  119. Screen(mainwin, 'Flip');
  120. GetClicks;
  121. end
  122. if mod(randTrials(i),4) == 0
  123. pixelSize = 'largePhoto';
  124. photoSize = largePhotoSize;
  125. objectSize = 'big';
  126. largePhotoBigObjectStart = largePhotoBigObjectStart + 1;
  127. probeLoc = 1;
  128. probeIndex = largePhotoBigObjectIndex(largePhotoBigObjectStart);
  129. otherToChooseFrom = largePhotoBigObjectIndex(find(largePhotoBigObjectIndex~=probeIndex));
  130. templist1 = Shuffle(otherToChooseFrom); templist2 = Shuffle(tinyPhotoBigObjectIndex); templist3 = Shuffle(largePhotoSmallObjectIndex); templist4 = Shuffle(tinyPhotoSmallObjectIndex);
  131. elseif mod(randTrials(i),4) == 1
  132. pixelSize = 'tinyPhoto';
  133. photoSize = tinyPhotoSize;
  134. objectSize = 'big';
  135. tinyPhotoBigObjectStart = tinyPhotoBigObjectStart + 1;
  136. probeLoc = 3;
  137. probeIndex = tinyPhotoBigObjectIndex(tinyPhotoBigObjectStart);
  138. otherToChooseFrom = tinyPhotoBigObjectIndex(find(tinyPhotoBigObjectIndex~=probeIndex));
  139. templist1 = Shuffle(largePhotoBigObjectIndex); templist2 = Shuffle(otherToChooseFrom); templist3 = Shuffle(largePhotoSmallObjectIndex); templist4 = Shuffle(tinyPhotoSmallObjectIndex);
  140. elseif mod(randTrials(i),4) == 2
  141. pixelSize = 'largePhoto';
  142. photoSize = largePhotoSize;
  143. objectSize = 'small';
  144. probeLoc = 5;
  145. largePhotoSmallObjectStart = largePhotoSmallObjectStart + 1;
  146. probeIndex = largePhotoSmallObjectIndex(largePhotoSmallObjectStart);
  147. otherToChooseFrom = largePhotoSmallObjectIndex(find(largePhotoSmallObjectIndex~=probeIndex));
  148. templist1 = Shuffle(largePhotoBigObjectIndex); templist2 = Shuffle(tinyPhotoBigObjectIndex); templist3 = Shuffle(otherToChooseFrom); templist4 = Shuffle(tinyPhotoSmallObjectIndex);
  149. else
  150. pixelSize = 'tinyPhoto';
  151. photoSize = tinyPhotoSize;
  152. objectSize = 'small';
  153. probeLoc = 7;
  154. tinyPhotoSmallObjectStart = tinyPhotoSmallObjectStart + 1;
  155. probeIndex = tinyPhotoSmallObjectIndex(tinyPhotoSmallObjectStart);
  156. otherToChooseFrom = tinyPhotoSmallObjectIndex(find(tinyPhotoSmallObjectIndex~=probeIndex));
  157. templist1 = Shuffle(largePhotoBigObjectIndex); templist2 = Shuffle(tinyPhotoBigObjectIndex); templist3 = Shuffle(largePhotoSmallObjectIndex); templist4 = Shuffle(otherToChooseFrom);
  158. end
  159. listOfEncodingObjects = [templist1(1:2), templist2(1:2), templist3(1:2), templist4(1:2)];
  160. randCells = Shuffle(randCells); % shuffle cell locations
  161. % Draw memory array
  162. Screen('FillRect', mainwin, bgcolor);
  163. for k = 1:5
  164. 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);
  165. 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);
  166. end
  167. for j = 1:nObjects
  168. if j < 5
  169. imageName = ['./Big/big' num2str(listOfEncodingObjects(j)) '.jpg'];
  170. else
  171. imageName = ['./Small/small' num2str(listOfEncodingObjects(j)) '.jpg'];
  172. end
  173. eachObjectSize = eightObjectSize(j);
  174. 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;
  175. thisImObject = Screen('MakeTexture', mainwin, thisIm);
  176. 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);
  177. end
  178. Screen('Flip', mainwin);
  179. currentDisplay = Screen('GetImage', mainwin);
  180. imwrite(currentDisplay, ['Exp1ImageA.jpg']); %this will write out a file called MathisFigure.jpg
  181. WaitSecs(encodingDuration);
  182. Screen('FillRect', mainwin, bgcolor);
  183. Screen('Flip', mainwin);
  184. WaitSecs(retentionInterval);
  185. % Draw Test array
  186. for k = 1:5
  187. 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);
  188. 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);
  189. end
  190. probeName = ['./' objectSize '/' objectSize num2str(probeIndex) '.jpg'];
  191. 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;
  192. thisImObject = Screen('MakeTexture', mainwin, thisIm);
  193. 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);
  194. probex = cellcenter(randCells(probeLoc),1);
  195. probey = cellcenter(randCells(probeLoc),2);
  196. for j = 1:nObjects
  197. if j ~= probeLoc
  198. if j < 5
  199. imageName = ['./Big/big' num2str(listOfEncodingObjects(j)) '.jpg'];
  200. else
  201. imageName = ['./Small/small' num2str(listOfEncodingObjects(j)) '.jpg'];
  202. end
  203. eachObjectSize = eightObjectSize(j);
  204. 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;
  205. thisImObject = Screen('MakeTexture', mainwin, thisIm);
  206. 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);
  207. end
  208. end
  209. timeStart = GetSecs; accuracy = 0; rt = 0;
  210. Screen('Flip', mainwin);
  211. currentDisplay = Screen('GetImage', mainwin);
  212. imwrite(currentDisplay, ['Exp2ImageB.jpg']); %this will write out a file called MathisFigure.jpg
  213. %mousex = 0; mousey = 0; Record response
  214. mouseDistance = 1000;
  215. while 1
  216. [mousex,mousey,buttons] = GetMouse;
  217. while any(buttons) % if already down, wait for release
  218. [mousex,moosey,buttons] = GetMouse;
  219. end
  220. while ~any(buttons) % wait for press
  221. [mousex,mousey,buttons] = GetMouse;
  222. end
  223. while any(buttons) % wait for release
  224. [mousex,mousey,buttons] = GetMouse;
  225. end
  226. if (mousex > 50 && mousey > 50)
  227. rt = (GetSecs - timeStart)*1000; break;
  228. elseif mousex<50&&mousey<50
  229. ShowCursor;
  230. fclose('all');
  231. Screen('CloseAll');
  232. return;
  233. end
  234. end
  235. mouseDistance = sqrt((mousex-probex).^2 + (mousey-probey).^2); % distance between mouse click and probe image;
  236. if mouseDistance < 150
  237. accuracy = 1; numCorrectSoFar = numCorrectSoFar+1; Snd('Play', Beep4);
  238. else
  239. accuracy = 0; Snd('Play', Beep1);
  240. end
  241. writeData(stimulusFile, {subnum, age, gender, i, objectSize, pixelSize, otherToChooseFrom(1),...
  242. otherToChooseFrom(2), otherToChooseFrom(3), otherToChooseFrom(4), otherToChooseFrom(5), otherToChooseFrom(6),...
  243. otherToChooseFrom(7), otherToChooseFrom(8), probeIndex, ...
  244. randCells(probeLoc), probex, probey, mousex, mousey, mouseDistance, accuracy, rt, numCorrectSoFar}, '\t');
  245. Screen('FillRect', mainwin, bgcolor);
  246. Screen('Flip', mainwin);
  247. WaitSecs(0.75);
  248. end
  249. ShowCursor;
  250. Screen('CloseAll');
  251. fclose('all');
  252. disp('Overall accuracy is:');
  253. disp(numCorrectSoFar/(i-1));

BigSmallVWM1.m, no license · at the source

Overview

Authors: William L Gronewald1, Vanessa G Lee1, Roger W Remington1
  1. Department of Psychology, University of Minnesota, S504 Elliott Hall, Minneapolis, MN 55455 USA
Institutions: University of Minnesota (United States)
Journal: Psychonomic bulletin & review, volume 33, issue 5, article 147
Dates: received 25 June 2025; accepted 27 March 2026; published online 21 April 2026; in print 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.3758/s13423-026-02913-8 · PMID 42014599 · PMCID PMC13099791 · OpenAlex W7155077236
Open access: hybrid, a free copy (OpenAlex)
Status: code verified
Categories: human (organism), cognitive (subfield)
Methods: Statistics, Physiology & signal measures
Keywords: Visual working memory, Canonical size, Attention, Change detection
MeSH: Memory, Short-Term*, Pattern Recognition, Visual*, Size Perception*, Visual Perception*, Adult, Female, Humans, Male, Retina, Young Adult (* major topic)
Topic: Neural and Behavioral Psychology Studies (Cognitive Neuroscience, Neuroscience), according to OpenAlex
Citations: not cited yet (Europe PMC); 23 references in the paper

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

License: none: the authors keep all their rights
State: the link answers, verified on 29 September 2026
Evidence: files inventoried
Languages: MATLAB (6)
Size: 10 files, 6 scripts
Software Heritage: not checked
Found in: “Data availability”
Holds: README
Not found: license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: Psychtoolbox (3 files)
Availability: 1 check, the latest on 29 September 2026: the link answers (HTTP 200)
  • 29 September 2026: the link answers (HTTP 200)
7 files
At the source: osf.io/hwstm/

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://osf.io/hwstm/).

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://doi.org/10.3758/s13423-026-02913-8

BibTeX

@article{gronewald2026canonical,
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/s13423-026-02913-8},
url = {https://doi.org/10.3758/s13423-026-02913-8},
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/04/21
VL - 33
IS - 5
SP - 147
SN - 1069-9384
PB - Springer Science+Business Media
DO - 10.3758/s13423-026-02913-8
UR - https://doi.org/10.3758/s13423-026-02913-8
LA - en
ER -

CSL-JSON

{
"id": "10.3758/s13423-026-02913-8",
"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": "Psychon Bull Rev",
"volume": "33",
"issue": "5",
"page": "147",
"DOI": "10.3758/s13423-026-02913-8",
"PMID": "42014599",
"PMCID": "PMC13099791",
"ISSN": "1069-9384",
"publisher": "Springer Science+Business Media",
"URL": "https://doi.org/10.3758/s13423-026-02913-8",
"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: eLife
In common: Psychtoolbox, cognitive
[3] doi:10.1371/journal.pbio.3003948 [code]
Neural encoding of pain is robust within but unstable between individuals.
Journal: PLoS biology
In 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 behaviour
In 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 autism
In 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 communications
In 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 communications
In common: Psychtoolbox, cognitive
[8] doi:10.7554/elife.108017 [code]
Visual working memory guides attention rhythmically in humans.
Journal: eLife
In 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 research
In 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: iScience
In 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.

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.