Visual processing of manipulable objects in the ventral stream is modulated by parietal action systems.
The 4 matches
- [1] § Results › Connectome-based lesion-activity mapping of manipulable object and place preferences in ventral occipitotemporal cortex ↔ 004_ExtractVoxelStats/GarceaLab_ExtractVoxelStats.m, lines 365–394 · score 0.63 · left arcuate fasciculus, left IFOF, left ILF, overlaps, tract, volume
- [2] § Materials and methods › Functional MRI pre-processing ↔ 001_fMRIPrep2BV/fMRIPrep_PreProcess_CreateVTC.m, lines 235–349 · score 0.62 · spatial smoothing, pre processing, FWHM, kernel, filtering, MRI
- [3] § Materials and methods › Functional MRI pre-processing ↔ 001_fMRIPrep2BV/importvtcfromanalyze.m, lines 1–57 · score 0.61 · BrainVoyager, motion parameters, events, linear, resolution
- [4] § Materials and methods › Functional MRI pre-processing ↔ 001_fMRIPrep2BV/fMRIPrep_PreProcess_CreateVTC.m, lines 151–234 · score 0.55 · native space, pre processed, filtering, mri
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 · 349 lines · 20 KB · no license · 2 matches
- function [Params] = fMRIPrep_PreProcess_CreateVTC(Params)
- %try
- %% Create VTC folder within the Processed Data Folder.
- if Params.CreateVTC
- Params.BBox = [54 44 55; 236 181 201];
- %% If we are working on VTC creation without prior moving of func data, we need user input.
- if Params.MoveFunc == 0
- % Let's get the func folder in the instance in which the user does
- % not indicate they want to move func data.
- promptVTCgoal = {'Do you want to create VTCs from files in an already-created functional folder?'};
- dlgtitle = 'VTC Creation - User Input Required';
- dims = [1 100];
- definputexpnames = {'Yes (1) or No (0)'};
- vtclocationinfo = inputdlg(promptVTCgoal,dlgtitle,dims,definputexpnames);
- % this would indicate the user wants to create VTCs within an
- % already-created functional folder. We need to ask them for folder
- % names and locations.
- if str2double(vtclocationinfo(1)) == 1
- % ask the user to provide experiment names.
- promptexpnames = {'Provide the number of fMRI experiment names in your derivatives folder.'};
- dlgtitle = 'List fMRI Experiment Names';
- dims = [1 100];
- definputexpnames = {'e.g., 1, 2, 3, 7'};
- Params.NrOfExps = inputdlg(promptexpnames,dlgtitle,dims,definputexpnames);
- end
- % Now that we have established the number of fMRI experiments, ask
- % the user for input regarding the names and if/where the folders
- % live.
- for expi = 1:str2double(Params.NrOfExps{1})
- % let's ask the user to provide info about the exp name and if a
- % BV processed data folder already exists.
- promptexpnames = {['Provide the name of fMRI experiment ' num2str(expi) '.']};
- dlgtitle = 'List the fMRI Experiment Name';
- dims = [1 100];
- definputexpnames = {'e.g., TAFP'};
- fmriexppromp = inputdlg(promptexpnames,dlgtitle,dims,definputexpnames);
- Params.ExpNames(expi).Name = cell2mat(fmriexppromp(1));
- % if the BV processed folder already exists, find the folder.
- uiwait(msgbox({['Please select the previously created folder where the ' Params.ExpNames(expi).Name ' processed data live.']}));
- Params.ExpNames(expi).FolderPath = uigetdir;
- end
- end
- %% Main loop doing VTC creation.
- for expi = 1:str2double(Params.NrOfExps{1})
- tmpexpname = []; tmpexpname = Params.ExpNames(expi).Name;
- % if the experiment does not have 'Rest' in the name, we proceed.
- if contains(lower(tmpexpname),'rest') == 0
- % let's get user input regarding VTC smoothing.
- % if move func was not selected it means we need to ask for
- % user-defined inputs. if not, it already exists in the Params structure.
- if Params.MoveFunc == 0
- promptVTCsmooth = {['If you are smoothing ' tmpexpname ' VTCs, enter the smoothing kernel size (FWHM)'],'What size functional voxels do you want (in mm)?','Temporal High Pass Filter the VTCs (YES!)?'};
- dlgtitle = ['VTC Smoothing - User Input Required for ' tmpexpname ' VTC creation.'];
- dims = [1 100];
- definputexpnames = {'Enter smoothing kernel value in mm (6 is suggested); put 0 if not smoothing','Enter voxel size in mm (3 is the suggested mm size).','How many cycles (sines per cosine) do you want (2 is suggested)?'};
- vtcsmoothinfo = inputdlg(promptVTCsmooth,dlgtitle,dims,definputexpnames);
- Params.VTC.SmoothKernel = str2double(vtcsmoothinfo(1));
- Params.VTC.VoxelSize = str2double(vtcsmoothinfo(2));
- Params.VTC.THPF = str2double(vtcsmoothinfo(3));
- end
- % Let's create the VTC folder in the processed data folder.
- if Params.VTC.SmoothKernel == 0
- % in this case, we do not smooth
- unsmoothedfoldername = 'ProcessedData_Unsmoothed';
- %Params.VTC(expi).FolderName = unsmoothedfoldername;
- VTCLoc = fullfile(Params.ExpNames(expi).FolderPath,unsmoothedfoldername);
- if isfolder(VTCLoc) == 0
- mkdir(VTCLoc);
- end
- elseif Params.VTC.SmoothKernel > 0
- % in this case, we smooth
- smoothedfoldername = ['ProcessedData_Smoothed_' num2str(Params.VTC.SmoothKernel) 'FWHM'];
- %Params.VTC(expi).FolderName = smoothedfoldername;
- VTCLoc = fullfile(Params.ExpNames(expi).FolderPath,smoothedfoldername);
- if isfolder(VTCLoc) == 0
- mkdir(VTCLoc);
- end
- end
- %% Now let's CD to the funcdicoms folder to make VTCs
- tmpfuncdicomsfolder = []; tmpfuncdicomsfolder = fullfile(Params.ExpNames(expi).FolderPath,'/FuncDicoms');
- cd(tmpfuncdicomsfolder);
- for subi = 1:length(Params.Subs2process)
- subID = [];
- % let's get the subject ID.
- if Params.Subs2process(subi) < 10
- subID = ['sub-00' num2str(Params.Subs2process(subi))];
- elseif Params.Subs2process(subi) > 9 && Params.Subs2process(subi) < 100
- subID = ['sub-0' num2str(Params.Subs2process(subi))];
- elseif Params.Subs2process(subi) > 99
- subID = ['sub-' num2str(Params.Subs2process(subi))];
- end
- % now let's set a temporary subject folder variable and cd there.
- tmpsubfolder = []; tmpsubfolder = fullfile(tmpfuncdicomsfolder,subID);
- cd(tmpsubfolder);
- % get session information.
- sessiondir = dir('*ses*');
- % let's loop through session information to get the anatomical files.
- % we'll then use this to copy the data to the process data folder.
- for sessioni = 1:size(sessiondir,1)
- % create a new variable
- sessionID = [];
- sessionID = sessiondir(sessioni).name;
- %
- rundirectory = [];
- rundirectory= filterdir('run',sessionID);
- %if length(rundirectory) ~= 1
- % error('Expected exactly one run file.');
- %end
- % if the session folder has an 'run' folder we move forward.
- if contains(rundirectory(1).name,'run') == 1
- for runi = 1:size(rundirectory,1)
- tmprunfolder = []; tmprunfolder = fullfile(tmpsubfolder,sessionID,rundirectory(runi).name);
- cd(tmprunfolder);
- niftidir = dir('*desc-preproc_bold.nii.gz*');
- if length(niftidir) ~= 1
- error('Expected exactly one nifti file.');
- end
- tsvdir = dir('*tsv*');
- if length(tsvdir) ~= 1
- error('Expected exactly one TSV file.');
- end
- %if runi == 1
- Params.fMRParams = [];
- V = spm_vol(fullfile(tmprunfolder,niftidir(1).name));
- [image,~] = spm_read_vols(V);
- Params.fMRIParams.nvol = size(image,4);
- % throw out first condition (0 = no).
- Params.fMRIParams.rcond = 0;
- % TR length in ms.
- Params.fMRIParams.prtr = floor(V(1).private.timing.tspace*1000);
- clear V image
- %end
- % let's copy this vtc file to the VTC folder in the
- % ProcessedData folder.
- tmpVTCrunloc = fullfile(VTCLoc,subID,sessionID,rundirectory(runi).name);
- if isfolder(tmpVTCrunloc) == 0
- mkdir(tmpVTCrunloc);
- end
- copyfile(niftidir(1).name,tmpVTCrunloc,'f');
- copyfile(tsvdir(1).name,tmpVTCrunloc,'f');
- %% VTC creation, THPF-ing, and smoothing (blurring).
- % if we're not smoothing, use these parameters.
- if Params.VTC.SmoothKernel == 0
- %% now that we've copied the files we can work in the BV VTC folder.
- cd(tmpVTCrunloc)
- % remove VTCs that may already live here.
- vtcdir = dir('THPFGLM2');
- if isempty(vtcdir) ~= 1
- delete('*THPFGLM2*');
- %! rm *THPFGLM2*
- end
- tmpniftifolder = tmpVTCrunloc;
- fMRIPrep_PreProcess_ConvertNiftiToVTC(tmpniftifolder,Params.fMRIParams,Params.VTC.VoxelSize);
- delete('*.nii*');
- %! rm *.nii*
- % now let's find the VTC file and THP filter the data.
- vtcfile = dir('*.vtc');
- % parameters for THPF
- %opts = []; opts.temp = 1; opts.temphp = 2; %opts.tempsc = 2;
- % parameters from j weber.
- opts = struct('temp', true, 'tempsc', Params.VTC.THPF);
- % load in native VTC
- nativeVTC = BVQXfile(fullfile(tmpVTCrunloc,vtcfile(1).name));
- % create a filtered VTC
- filteredVTC = nativeVTC.Filter(opts);
- % file names for VTC and nifti file.
- tmpunsmoothedtimecourse = [subID '_' sessionID '_task-' Params.ExpNames(expi).Name '_run-' num2str(runi) '_Unsmoothed_LTR_THPFGLM' num2str(opts.tempsc) 'c.vtc'];
- % don't save out nifti version so we don't
- % need filename but keep it here if we need
- % it down the road.
- %tmpunsmoothedtimecoursenifti = ['Sub-' subID '_task-' taskID '_run-' num2str(runi) '_Unsmoothed_LTR_THPFGLM' num2str(opts.tempsc) 'c.nii'];
- % now we'll erase the original VTC and then
- % save out the THPF-ed VTC,
- delete('*.vtc*'); delete('*rtv*');
- %! rm *.vtc* *rtv*
- % if this dataset is in native space, change reference space
- % index.
- if Params.Anatomyspace == 2
- filteredVTC.ReferenceSpace = 1;
- end
- % If the user provides the BBox size, this
- % will check to see if the VTC to save out
- % is the same size as the user provided
- % BBox. If the user does not provide a
- % BBox, the script will just save the VTC
- % as is.
- if isfield(Params,'BBox') == 1
- bbox = Params.BBox;
- %bbox = tmpvtc.BoundingBox;
- origVTCBbox = filteredVTC.BoundingBox;
- if sum(sum(bbox ~= origVTCBbox.BBox)) ~= 0
- filteredVTCReframe = filteredVTC.Reframe(bbox);
- % Save out reframed, blurred, and filtered VTC.
- filteredVTCReframe.SaveAs(tmpunsmoothedtimecourse);
- clear blurredVTCReframe
- end
- elseif isfield(Params,'BBox') ~= 1
- filteredVTC.SaveAs(tmpsmoothedtimecourse);
- end
- % if reframing the VTC, do it here.
- %tmpvtc = BVQXfile('new:vtc');
- %bbox = tmpvtc.BoundingBox;
- %filteredVTCReframe = filteredVTC.Reframe(bbox.BBox);
- %filteredVTCReframe.SaveAs(tmpunsmoothedtimecourse);
- %save also a nifti formatted file (this is for connectivity analyses in Conn).
- %NrOfVols = size(filteredVTC.VTCData,1);
- %filteredVTC.ExportNifti(tmpunsmoothedtimecoursenifti,1,1:NrOfVols);
- % clear VTCs from workspace
- clear nativeVTC filteredVTC filteredVTCReframe tmpvtc
- % cd to subject folder to go to next run.
- cd(tmpsubfolder);
- % if we're smoothing, we use these parameters.
- elseif Params.VTC.SmoothKernel > 0
- %% now that we've copied the files we can work in the BV VTC folder.
- cd(tmpVTCrunloc)
- % remove VTCs that may already live here.
- vtcdir = dir('THPFGLM2');
- if isempty(vtcdir) ~= 1
- delete('*THPFGLM2*');%! rm *THPFGLM2*
- end
- tmpniftifolder = tmpVTCrunloc;
- %Params.BBox = [54 44 55; 236 181 201];
- fMRIPrep_PreProcess_ConvertNiftiToVTC(tmpniftifolder,Params.fMRIParams,Params.VTC.VoxelSize);
- delete('*.nii*');%! rm *.nii*
- % now let's find the VTC file and THP filter the data.
- vtcfile = dir('*.vtc');
- if isempty(vtcfile)
- error('No VTC found.');
- elseif length(vtcfile) > 1
- warning('Multiple VTCs found. Using first.');
- end
- % load in native VTC
- %nativeVTC = BVQXfile(fullfile(tmpVTCrunloc,vtcfile(1).name));
- % parameters for THPF
- %opts = []; opts.temp = 1; opts.temphp = 2; %opts.tempsc = 2;
- % parameters from j weber.
- opts = struct('temp', true, 'tempsc', Params.VTC.THPF);
- % load in native VTC
- nativeVTC = BVQXfile(fullfile(tmpVTCrunloc,vtcfile(1).name));
- % create a filtered VTC
- filteredVTC = nativeVTC.Filter(opts);
- tempsc2save = opts.tempsc;
- % now we'll erase the original VTC and then save out the THP
- % filtered VTC
- delete('*.vtc*');
- delete('*rtv*');
- %! rm *.vtc* *rtv*
- % parameters for spatial smoothing
- opts = []; opts.spat = 1; opts.spkern = [Params.VTC.SmoothKernel,Params.VTC.SmoothKernel,Params.VTC.SmoothKernel];
- % run spatial smoothing with the blurkernel input.
- blurredVTC = filteredVTC.Filter(opts);
- tmpsmoothedtimecourse = [subID '_' sessionID '_task-' Params.ExpNames(expi).Name '_run-' num2str(runi) '_Smoothed_' num2str(Params.VTC.SmoothKernel) 'MM_FWHM_THPFGLM' num2str(tempsc2save) 'c.vtc'];
- % don't save out nifti version so we don't
- % need filename but keep it here if we need
- % it down the road.
- %tmpsmoothedtimecoursenifti = ['Sub-' subID '_task-' taskID '_run-' num2str(runi) '_Smoothed_' num2str(blurkernel) 'MM_FWHM_THPFGLM' num2str(tempsc2save) 'c.nii'];
- % if this dataset is in native space,
- % change reference space index.
- if Params.Anatomyspace == 2
- blurredVTC.ReferenceSpace = 1;
- end
- % If the user provides the BBox size, this
- % will check to see if the VTC to save out
- % is the same size as the user provided
- % BBox. If the user does not provide a
- % BBox, the script will just save the VTC
- % as is.
- if isfield(Params,'BBox') == 1
- bbox = Params.BBox;
- %bbox = tmpvtc.BoundingBox;
- origVTCBbox = blurredVTC.BoundingBox;
- if sum(sum(bbox ~= origVTCBbox.BBox)) ~= 0
- blurredVTCReframe = blurredVTC.Reframe(bbox);
- % Save out reframed, blurred, and filtered VTC.
- blurredVTCReframe.SaveAs(tmpsmoothedtimecourse);
- clear blurredVTCReframe
- end
- %if this isn't a field then we don't care.
- %in this case, just ssve it.
- elseif isfield(Params,'BBox') ~= 1
- blurredVTC.SaveAs(tmpsmoothedtimecourse);
- end
- %elseif exist('Params.BBox') == 0
- % tmpvtc = BVQXfile('new:vtc');
- % bbox = tmpvtc.BoundingBox;
- % origVTCBbox = blurredVTC.BoundingBox;
- % if sum(sum(bbox.BBox ~= origVTCBbox.BBox)) ~= 0
- % blurredVTCReframe = blurredVTC.Reframe(bbox.BBox);
- % % Save out reframed, blurred, and filtered VTC.
- % blurredVTCReframe.SaveAs(tmpsmoothedtimecourse);
- % clear blurredVTCReframe
- % else
- % blurredVTC.SaveAs(tmpsmoothedtimecourse);
- % end
- %blurredVTC.SaveAs(tmpsmoothedtimecourse);
- % if we want to save out a nii version.
- % NrOfVols = size(filteredVTC.VTCData,1);
- % blurredVTC.ExportNifti(tmpsmoothedtimecoursenifti,1,1:NrOfVols);
- % clear VTCs from workspace
- clear blurredVTC filteredVTC nativeVTC tmpvtc
- % cd to subject folder to go to next run.
- cd(tmpsubfolder);
- end
- end
- end
- end
- end
- end
- end
- end
- %catch
- %uiwait(msgbox({'There was an error in the CreateVTC code.'}));
- %cd(Params.HomeDirectory);
- %end
fMRIPrep_PreProcess_CreateVTC.m at commit 482fd51, no license · at the source
Overview
- Department of Neuroscience, University of Rochester Medical Center, Rochester, NY 14642, USA
- Department of Neurosurgery, University of Rochester Medical Center, Rochester, NY 14642, USA
- Department of Brain & Cognitive Sciences, University of Rochester, Rochester, NY 14627, USA
- Department of Imaging Sciences, University of Rochester Medical Center, Rochester, NY 14642, USA
- Department of Psychology, Carnegie Mellon University, Pittsburgh, PA 15213, USA
- Neuroscience Institute, Carnegie Mellon University, Pittsburgh, PA 15213, USA
Abstract
Functional object use requires the integration of visuomotor representations processed in the dorsal stream with representations of the visual form, surface texture and the material composition of objects, processed in the ventral stream. How do regions across the ventral and dorsal stream interact in support of functional object grasping and use? Here we show that the left inferior parietal lobe exerts a direct effect on neural responses in ventral occipitotemporal cortex (OTC) during visual processing of manipulable objects. We studied a series of consecutively enrolled participants in the pre-operative phase of their neurosurgical care (N = 109) with lesions distributed throughout the left hemisphere. Participants completed a category localizer functional MRI experiment in which they viewed images of manipulable objects, animals, faces and places. Using voxel-based lesion-activity mapping (VLAM), category preferences in neural responses in left ventral OTC were used to predict variance in voxelwise lesion incidence throughout the brain. This approach provides direct causal evidence about which regions outside of OTC, when lesioned, cause changes in neural responses within OTC. We found that lesions to the left anterior intraparietal sulcus and left supramarginal gyrus, two inferior parietal regions known to support object-directed grasping and manipulation, respectively, are associated with reduced neural responses for manipulable objects (compared to faces, places and animals) in the left ventral OTC. Parietal lesions do not modulate neural responses during visual processing of places in the same region of the left ventral OTC, even though places elicit stronger responses in the left ventral OTC than manipulable objects. To explore the structural pathways that may mediate these effects of diaschisis, we repeated the analysis using diffusion MRI-measured white matter fibre integrity as the dependent variable (instead of lesion location). That analysis identified the descending portion of the left arcuate fasciculus as the most likely pathway mediating the parietal-to-temporal lobe diaschisis identified in the VLAM analysis. These integrated VLAM and connectometry analyses demonstrate that inputs from parietal regions supporting skilled object-directed action shape neural responses in the ventral stream when viewing manipulable objects.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above, with 4 matches between paragraphs and lines of code.
frankgarcea/GarceaColleagues_BrainComms
482fd516d8cdac0c5941945ec446190deb17c852, 26 August 2026Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
47 files
- 001_fMRIPrep2BV/
RetrospectiveStudy_Creat , MATLAB, 487 linesePRTs.m - 001_fMRIPrep2BV/
RetrospectiveStudy_Creat , MATLAB, 447 linesePRTs_Update.m - 001_fMRIPrep2BV/
SelectConfoundRegressors , MATLAB, 147 linesGUI.m - 001_fMRIPrep2BV/
fMRIPrep_Anatomy_Convert , MATLAB, 48 linesLesiontoVOI.m - 001_fMRIPrep2BV/
fMRIPrep_Anatomy_Convert , MATLAB, 46 linesNiToVOI.m - 001_fMRIPrep2BV/
fMRIPrep_Anatomy_Convert , MATLAB, 20 linesT1MasktoVOI.m - 001_fMRIPrep2BV/
fMRIPrep_Anatomy_Convert , MATLAB, 33 linesVOItoNIfTI.m - 001_fMRIPrep2BV/
fMRIPrep_Anatomy_Convert , MATLAB, 124 linesVOItoNIfTI_Current.m - 001_fMRIPrep2BV/
fMRIPrep_Anatomy_MaskT1A , MATLAB, 30 linesnatomy.m - 001_fMRIPrep2BV/
fMRIPrep_CopyLesionsFrom , MATLAB, 27 linesBIDS.m - 001_fMRIPrep2BV/
fMRIPrep_GetMRParameters , MATLAB, 77 lines.m - 001_fMRIPrep2BV/
fMRIPrep_MoveAndRenameDa , MATLAB, 41 linesta.m - 001_fMRIPrep2BV/
fMRIPrep_PostProcess_Mov , MATLAB, 156 linese_Rename_AnatData.m - 001_fMRIPrep2BV/
fMRIPrep_PostProcess_Mov , MATLAB, 211 linese_Rename_FuncData.m - 001_fMRIPrep2BV/
fMRIPrep_PreProcess_Conv , MATLAB, 89 linesertNiftiToVTC.m - 001_fMRIPrep2BV/
fMRIPrep_PreProcess_Conv , MATLAB, 469 linesertToBV.m - 001_fMRIPrep2BV/
fMRIPrep_PreProcess_Conv , MATLAB, 92 linesertToBV_Current.m - 001_fMRIPrep2BV/
fMRIPrep_PreProcess_Crea , MATLAB, 250 linesteGLM.m - 001_fMRIPrep2BV/
fMRIPrep_PreProcess_Crea , MATLAB, 295 linesteMDM.m - 001_fMRIPrep2BV/
fMRIPrep_PreProcess_Crea , MATLAB, 345 linesteSDM.m - 001_fMRIPrep2BV/
fMRIPrep_PreProcess_Crea , MATLAB, 349 lines, 2 matchesteVTC.m - 001_fMRIPrep2BV/
fMRIPrep_PreProcess_Move , MATLAB, 314 linesAnatomy.m - 001_fMRIPrep2BV/
fMRIPrep_PreProcess_Move , MATLAB, 224 linesFunctional.m - 001_fMRIPrep2BV/
fMRIPrep_PreProcess_Move , MATLAB, 104 linesPRT.m - 001_fMRIPrep2BV/
fMRIPrep_PreProcess_Read , MATLAB, 88 linesTSV.m - 001_fMRIPrep2BV/
fmriprep2BV-main/ , MATLAB, 77 linesMAIN.m - 001_fMRIPrep2BV/
fmriprep2BV-main/ , MATLAB, 106 linesfMRIPrep2BV_FG.m - 001_fMRIPrep2BV/
fmriprep2BV-main/ , MATLAB, 1,157 linesfindfiles.m - 001_fMRIPrep2BV/
fmriprep2BV-main/ , MATLAB, 267 linesimportfmrfromanalyze.m - 001_fMRIPrep2BV/
fmriprep2BV-main/ , MATLAB, 54 lineslsqueeze.m - 001_fMRIPrep2BV/
fmriprep2BV-main/ , MATLAB, 102 linesmeannoinfnan.m - 001_fMRIPrep2BV/
fmriprep2BV-main/ , MATLAB, 177 linespsctrans.m - 001_fMRIPrep2BV/
fmriprep2BV-main/ , MATLAB, 1 linetsvread.m - 001_fMRIPrep2BV/
fmriprep2BV-main/ , MATLAB, 209 linesztrans.m - 001_fMRIPrep2BV/
getMRparams.m , MATLAB, 43 lines - 001_fMRIPrep2BV/
importvtcfromanalyze.m , MATLAB, 609 lines, 1 match - 001_fMRIPrep2BV/
neuroelf/ , MATLAB, 32 linesfilterdir.m - 001_fMRIPrep2BV/
neuroelf/ , MATLAB, 1,157 linesfindfiles.m - 001_fMRIPrep2BV/
neuroelf/ , MATLAB, 54 lineslsqueeze.m - 001_fMRIPrep2BV/
neuroelf/ , MATLAB, 102 linesmeannoinfnan.m - 001_fMRIPrep2BV/
neuroelf/ , MATLAB, 209 linesztrans.m - 002_ROILocalization/
GLM_CreateContrastMaps_T , MATLAB, 320 linesAFPVLAM_AllRuns_2025.m - 004_ExtractVoxelStats/
GarceaLab_ExtractVoxelSt , MATLAB, 441 lines, 1 matchats.m - 005_VLAMDifference/
VLAMDifferenceAnalysis.m , MATLAB, 72 lines - 005_VLAMDifference/
binarizeVLAMmap.m , MATLAB, 21 lines - 007_CorrelationWithBehav
ior/ , MATLAB, 128 linesranksumanalysis.m - README.md, Text, 2 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;
- 46 scripts, each with its path and the digest of its content;
- 4 matches between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
No dataset and no data link were found in the paper.
Data availability
The whole-brain maps of contrast-weighted t-values, lesions in MNI space, ROIs localized and analysis code are available via GitHub (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, 27 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 9 authors, 5 keywords, 5 funders, 113 references.
Cite
This paper
Garcea, F. E., Strawderman, E., Burns, W., Cotroneo, M., Meyers, S. P., Schmidt, T., Walter, K. A., Pilcher, W. H., & Mahon, B. Z. (2026). Visual processing of manipulable objects in the ventral stream is modulated by parietal action systems. Brain communications, 8(4), fcag293. https://
BibTeX
@article{garcea2026visua
author = {Garcea, Frank E and Strawderman, Emma and Burns, William and Cotroneo, Matthew and Meyers, Steven P and Schmidt, Tyler and Walter, Kevin A and Pilcher, Webster H and Mahon, Bradford Z},
title = {{Visual processing of manipulable objects in the ventral stream is modulated by parietal action systems}},
journal = {Brain communications},
year = {2026},
month = jul,
volume = {8},
number = {4},
pages = {fcag293},
publisher = {Oxford University Press},
issn = {2632-1297},
doi = {10.1093/
url = {https://
pmid = {42626050},
pmcid = {PMC13490872}
}
RIS
TY - JOUR
AU - Garcea, Frank E
AU - Strawderman, Emma
AU - Burns, William
AU - Cotroneo, Matthew
AU - Meyers, Steven P
AU - Schmidt, Tyler
AU - Walter, Kevin A
AU - Pilcher, Webster H
AU - Mahon, Bradford Z
TI - Visual processing of manipulable objects in the ventral stream is modulated by parietal action systems
T2 - Brain communications
J2 - Brain Commun
PY - 2026
DA - 2026/
VL - 8
IS - 4
SP - fcag293
SN - 2632-1297
PB - Oxford University Press
DO - 10.1093/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1093/
"type": "article-journal",
"title": "Visual processing of manipulable objects in the ventral stream is modulated by parietal action systems",
"container-title": "Brain communications",
"author": [
{
"family": "Garcea",
"given": "Frank E"
},
{
"family": "Strawderman",
"given": "Emma"
},
{
"family": "Burns",
"given": "William"
},
{
"family": "Cotroneo",
"given": "Matthew"
},
{
"family": "Meyers",
"given": "Steven P"
},
{
"family": "Schmidt",
"given": "Tyler"
},
{
"family": "Walter",
"given": "Kevin A"
},
{
"family": "Pilcher",
"given": "Webster H"
},
{
"family": "Mahon",
"given": "Bradford Z"
}
],
"container-title-short":
"volume": "8",
"issue": "4",
"page": "fcag293",
"DOI": "10.1093/
"PMID": "42626050",
"PMCID": "PMC13490872",
"ISSN": "2632-1297",
"publisher": "Oxford University Press",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
7,
27
]
]
}
}
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/s42003-026-10843-3 [code]
- Self-supervised learning yields representational signatures of category-selective cortex.Journal: Communications biologyIn common: 7 references
- [2] doi:10.1523/jneurosci.0038-26.2026 [code]
- Multidimensional Feature Tuning in Category Selective Areas of Human Visual Cortex.Journal: The Journal of neuroscience : the official journal of the Society for NeuroscienceIn common: 6 references
- [3] doi:10.1007/s00429-026-03152-2 [code]
- Limb-selective regions in the lateral temporal lobe shrink from childhood to adulthood.Journal: Brain structure & functionIn common: SPM, Statistics and Machine Learning Toolbox, 5 references
- [4] doi:10.1162/imag.a.1283 [code]
- The language network responds robustly to sentences across tasks.Journal: Imaging neuroscience (Cambridge, Mass.)In common: SPM, 5 references
- [5] doi:10.1523/eneuro.0254-25.2026 [code]
- Spatiotemporal Dynamics in Prespeech Semantic Category Decoding: An Intracranial EEG Study.Journal: eNeuroIn common: Statistics and Machine Learning Toolbox, 4 references
- [6] doi:10.1038/s41467-026-75588-3 [code]
- Frequency-dependent effects of motor thalamus deep brain stimulation on speech and swallowing.Journal: Nature communicationsIn common: Statistics and Machine Learning Toolbox, author Bradford Z Mahon
- [7] doi:10.1162/imag.a.1246 [code]
- A 3.5-minute-long reading-based fMRI localizer for the language network.Journal: Imaging neuroscience (Cambridge, Mass.)In common: 5 references
- [8] doi:10.1038/s41467-026-76098-y [code]
- A single computational objective can produce specialization of streams in visual cortex.Journal: Nature communicationsIn common: Statistics and Machine Learning Toolbox, 3 references
- [9] doi:10.1162/imag.a.1201 [code]
- All spectral frequencies of neural activity reveal semantic representation in the human anterior ventral temporal cortex.Journal: Imaging neuroscience (Cambridge, Mass.)In common: SPM, Statistics and Machine Learning Toolbox, 2 references
- [10] doi:10.1038/s41467-026-73938-9 [code]
- Higher visual areas act like domain-general filters with strong selectivity and functional specialization.Journal: Nature communicationsIn common: 4 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: 1 repository of the authors' code, each at its verified commit and with its license, 46 scripts, and 4 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:0a8ed2d6b0d6bc3f…
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
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
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.
