Single pulse electrical stimulation in white matter modulates iEEG visual responses in human early visual cortex.
The 9 matches
- [1] § 2. Materials and methods › 2.6. iEEG data preprocessing ↔ analysisBBFIR1.m, lines 126–252 · score 0.92 · Hilbert transform, linear interpolation, fold increase, 130 Hz, 4 ms, 110 Hz
- [2] § 2. Materials and methods › 2.6. iEEG data preprocessing ↔ fig1_FP_broadband_examples.m, lines 30–105 · score 0.82 · linear interpolation, adjacent, 130 Hz, 110 Hz, 170 Hz, Hilbert
- [3] § 2. Materials and methods › 2.5. Selection of measurement and stimulation electrodes ↔ tractography/ccepVisual_RenderTracks01.m, lines 39–95 · score 0.71 · forceps major, tractography, ILF, SLF, VOF, fiber
- [4] § 2. Materials and methods › 2.3. Task and stimuli ↔ functions/picturePrep/generatepermutedphase.m, lines 1–102 · score 0.70 · phase matrix, uniform distribution, Fourier, ratios, mixed, pi
- [5] § 2. Materials and methods › 2.3. Task and stimuli ↔ functions/picturePrep/generaterandomphaseFromInput.m, lines 1–89 · score 0.69 · phase matrix, original phase, Fourier, FFT, mixed, pi
- [6] § 3. Results ↔ functions/picturePrep/generatepermutedphase.m, lines 1–102 · score 0.62 · single pulse electrical, iEEG, early visual cortex, human, signal, modulates
- [7] § 3. Results ↔ functions/picturePrep/generaterandomphaseFromInput.m, lines 1–89 · score 0.60 · single pulse electrical, iEEG, early visual cortex, human, modulates
- [8] § 2. Materials and methods › 2.7. Finite impulse response analysis of stimulation and visual responses ↔ globalAnalysis2.m, lines 97–227 · score 0.58 · full model best, training trials, tailed, baseline, error, predictor
- [9] § 2. Materials and methods › 2.7. Finite impulse response analysis of stimulation and visual responses ↔ analysisBBFIR2.m, lines 247–368 · score 0.58 · full model best, training trials, tailed, baseline, error, predictor
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 · 116 lines · 5.2 KB · GPL-3.0 · 2 matches
- function f = generatepermutedphase(ph)
- % function f = generatepermutedphase(ph)
- %
- % Variant on knkutils/generaterandomphase -- phases are permuted from input rather than randomly generated from uniform distribution
- % ph must be 2D so one image is processed at a time
- %
- % DC component is kept the same so that the image mean doesn't change
- % All other real values in the signal (Nyquists) are also kept the same... this is so that if the output of this function, f, is mixed with the input
- % ph at some ratio (e.g., 50/50), the real values don't accidentally become imaginary (i.e. halfway between 0 and pi phase)
- %
- % return a <res> x <res> matrix with elements that are unit-length complex
- % numbers. this matrix is ready for multiplication with the output of fft2.
- % the result is to randomly perturb the phase of each Fourier component of each image.
- % note that some of the Fourier components (e.g. the DC component) are special in that
- % the complex numbers corresponding to these components are restricted to be either 1 or -1,
- % since these components have no imaginary part.
- %
- % If this code is used in a publication, please cite the manuscript:
- % "H Huang, KN Kay, NM Gregg, G Ojeda Valencia, M In, C Kapeller, Y Shu, GA Worrell, KJ Miller, and D Hermes.
- % Single pulse electrical stimulation in white matter modulates iEEG visual responses in human early visual cortex. (Under Review)"
- %
- % A preprint is available currently at doi: https://doi.org/10.1101/2025.05.05.652264.
- %
- % The dataset corresponding to this code and manuscript is in BIDS format (version 1.10.0) on OpenNeuro (ds006485),
- % and it will be made publicly available upon manuscript acceptance.
- %
- % Copyright (C) 2025 Harvey Huang
- %
- % This program is free software: you can redistribute it and/or modify
- % it under the terms of the GNU General Public License as published by
- % the Free Software Foundation, either version 3 of the License, or
- % (at your option) any later version.
- %
- % This program is distributed in the hope that it will be useful,
- % but WITHOUT ANY WARRANTY; without even the implied warranty of
- % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- % GNU General Public License for more details.
- %
- % You should have received a copy of the GNU General Public License
- % along with this program. If not, see <https://www.gnu.org/licenses/>.
- %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- %
- % example:
- % a = randn(5,5);
- % b = fft2(a) .* generaterandomphase(5);
- % c = ifft2(b);
- % allzero(imag(c))
- res = size(ph, 1); assert(size(ph, 1) == size(ph, 2), 'Input phase matrix is not square');
- dc = ph(1); % dc component -- keep the same so image mean doesn't invert
- % Get one half of the mirror symmetrical phase distribution and real (nyquist) center phases along both legs and in matrix center
- if ~mod(res, 2)
- subM = ph(2:end, 2:end); % phase matrix excluding legs
- centers = [ph(res/2+1, 1), ph(1, res/2+1), subM((numel(subM)+1)/2)]; % in order: centers of vertical, horizontal legs, then center of submatrix
- distr = [ph(2:res/2, 1); ph(1, 2:res/2)'; subM(1:(numel(subM)-1)/2)'];
- else
- error('Not equipped to handle odd resolution inputs');
- % nn = (res*res-1)/2; % e.g., if 1079 x 1079, index up to 540col, 539row (just before center)
- % centers = ph(nn + 1); % preserve the same center (nyquist) value (0 or pi)
- % distr = ph(2:nn);
- end
- % randomly permute phase distribution
- distr = distr(randperm(length(distr)));
- % do it
- if mod(res,2)==0
- f = zeros(size(ph));
- f(1) = dc; % replace dc
- % fill in vertical leg
- f(2:res/2, 1) = distr(1:(res/2-1));
- f(res/2+1, 1) = centers(1);
- f((res/2+2):end, 1) = -flip(f(2:res/2, 1)); % mirror-symmetric from first half
- distr(1:(res/2-1)) = []; % remove used values from distribution
- % fill in horizontal leg as with vertical leg
- f(1, 2:res/2) = distr(1:(res/2-1));
- f(1, res/2+1) = centers(2);
- f(1, (res/2+2):end) = -flip(f(1, 2:res/2));
- distr(1:(res/2-1)) = [];
- % fill in the rest of the matrix
- subf = f(2:end, 2:end);
- subf(1:(numel(subf)-1)/2) = distr; % if this isn't the right size something is wrong with assigning distribution
- subf((numel(subf)+1)/2) = centers(3);
- subf((numel(subf)+1)/2 + 1:end) = -flip(distr);
- f(2:end, 2:end) = subf; % insert back into full matrix
- else
- f = helper(res,num); % need to figure out under what setting this actually works correctly. Doesn't work if fft2 image is odd sized
- end
- % convert to imaginary numbers
- f = exp(1i*f);
- %%%%%
- function f = helper(res,num)
- % return a matrix of dimensions <res> x <res> x <num> with appropriate
- % random phase values in [0,2*pi]. note that the center (DC component)
- % has phase values that are either 0 or pi. the returned matrix is
- % as if fftshift has been called.
- f = zeros(res*res,num); % initialize in convenient form
- nn = (res*res-1)/2; % how many in first half?
- f(1:nn,:) = rand(nn,num)*(2*pi); % fill in the first half with random phase in [0,2*pi]
- f = reshape(f,[res res num]); % reshape
- f = f + -flipdim(flipdim(f,1),2); % symmetrize (the mirror gets the negative phase)
- f((res+1)/2,(res+1)/2,:) = (rand(1,1,num)>.5)*pi; % fill in the center (either 0 or pi)
generatepermutedphase.m at commit 3eb20d8, under GPL-3.0 · at the source
Overview
- Medical Scientist Training Program, Mayo Clinic, Rochester, Minnesota, United States of America
- Center for Magnetic Resonance Research, Department of Radiology, University of Minnesota, Minneapolis, United States of America
- Department of Neurology, Mayo Clinic, Rochester, Minnesota, United States of America
- Department of Physiology and Biomedical Engineering, Mayo Clinic, Rochester, Minnesota, United States of America
- Department of Radiology, Mayo Clinic, Rochester, Minnesota, United States of America
- Invasive Technologies, g.tec medical engineering GmbH, Schiedlberg, Austria
- Department of Neurologic Surgery, Mayo Clinic, Rochester, Minnesota, United States of America
Abstract
Introduction: Electrical stimulation is increasingly used to modulate brain networks for clinical purposes. The basic unit of neurostimulation, a single electrical pulse, can travel through white matter to influence connected neuronal populations. However, the mechanisms by which it influences connected populations is not well understood: stimulation may excite, inhibit, or add noise to neuronal population activity.
Materials and methods: In this study, we investigated how single pulses modulate the neuronal processing of images in a well-controlled visual paradigm. In two human subjects implanted with iEEG electrodes for clinical purposes, single pulses were delivered to electrodes in white matter tracts connected to measurement electrodes in visual cortex. Images appeared on-screen at 0, 100, or 200 ms after each pulse. Using finite impulse response modeling, we decomposed the broadband and evoked potential responses into separate components induced by electrical stimulation and by visual processing.
Results: Single pulses induced transient broadband increases followed by suppression, but they did not modulate the visual broadband responses (i.e., stimulation response was additive to visual response). In contrast, single pulses elicited prominent brain stimulation evoked potentials and they modulated the visual evoked potentials. Specifically, visual evoked potentials were larger when stimulation occurred closer to visual onset. This indicates that a single electrical pulse can increase the strength or synchrony of visual inputs.
Conclusion: Overall, these findings suggest that the effects of electrical stimulation in the visual system are two-fold: stimulation induces additive effects on broadband power, possibly by adding noise, and it interacts with synchronous visual inputs to amplify them.
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 9 matches between paragraphs and lines of code.
hharveygit/SPES_Visual
3eb20d84f819490ac2e94fd9b17232ffe6c05432, 9 May 2026Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
242 files
- analysisBBFIR1.m, MATLAB, 364 lines, 1 match
- analysisBBFIR2.m, MATLAB, 532 lines, 1 match
- analysisERPFIR1.m, MATLAB, 268 lines
- analysisERPFIR2.m, MATLAB, 360 lines
- analysisPsychometric.m, MATLAB, 603 lines
- checkSummative.m, MATLAB, 337 lines
- compareBBTypes.m, MATLAB, 304 lines
- compile_fitFIR/
fitBBBootstrap.m , MATLAB, 114 lines - compile_fitFIR/
fitBBFull.m , MATLAB, 106 lines - compile_fitFIR/
fitBBOddEvenAllBBs.m , MATLAB, 110 lines - compile_fitFIR/
fitBBOddEvenAllModels.m , MATLAB, 129 lines - compile_fitFIR/
fitBBOddEvenToButton.m , MATLAB, 129 lines - compile_fitFIR/
fitBootstrapErp.m , MATLAB, 103 lines - compile_fitFIR/
fitFIRAbsErrButtonCompil , MATLAB, 214 linesed.m - compile_fitFIR/
fitFIRAbsErrCompiled.m , MATLAB, 196 lines - compile_fitFIR/
fitFIRButtonCompiled.m , MATLAB, 197 lines - compile_fitFIR/
fitFIRCompiled.m , MATLAB, 179 lines - compile_fitFIR/
fitFullErp.m , MATLAB, 76 lines - compile_fitFIR/
fitOddEvenAllModelsErp.m , MATLAB, 170 lines - compile_fitFIR/
fitOddEvenToButtonErp.m , MATLAB, 147 lines - createModelFigs.m, MATLAB, 349 lines
- evaluateContrastShrinkag
e.m , MATLAB, 216 lines - external/
distributionPlot/ , MATLAB, 40 linescolorCode2rgb.m - external/
distributionPlot/ , MATLAB, 134 linescountEntries.m - external/
distributionPlot/ , MATLAB, 152 linesdistinguishable_colors.m - external/
distributionPlot/ , MATLAB, 956 linesdistributionPlot.m - external/
distributionPlot/ , MATLAB, 25 linesisEven.m - external/
distributionPlot/ , MATLAB, 264 linesmyErrorbar.m - external/
distributionPlot/ , MATLAB, 212 linesmyHistogram.m - external/
distributionPlot/ , MATLAB, 632 linesplotSpread.m - external/
distributionPlot/ , MATLAB, 140 linesrepeatEntries.m - external/
distributionPlot/ , MATLAB, 154 linesweightedStats.m - fig1_FP_broadband_exampl
es.m , MATLAB, 211 lines, 1 match - figure4A.m, MATLAB, 70 lines
- functions/
clusterTestSample.m , MATLAB, 175 lines - functions/
clusterTestSampleNoperm. , MATLAB, 143 linesm - functions/
fitFIR.m , MATLAB, 180 lines - functions/
getBadTrsRound2.m , MATLAB, 94 lines - functions/
getCmapSpec.m , MATLAB, 48 lines - functions/
getE2vs.m , MATLAB, 43 lines - functions/
imadjustKeepMean.m , MATLAB, 39 lines - functions/
picturePrep/ , MATLAB, 132 linesaddFixation.m - functions/
picturePrep/ , MATLAB, 104 linesaddPhotodiode.m - functions/
picturePrep/ , MATLAB, 116 lines, 2 matchesgeneratepermutedphase.m - functions/
picturePrep/ , MATLAB, 103 lines, 2 matchesgeneraterandomphaseFromI nput.m - functions/
picturePrep/ , MATLAB, 64 linespadToSize.m - functions/
picturePrep/ , MATLAB, 82 linesphaseScrambleGray.m - functions/
plotCurvConfSample.m , MATLAB, 74 lines - functions/
transformBBType.m , MATLAB, 54 lines - functions/
transformYlims.m , MATLAB, 37 lines - globalAnalysis1.m, MATLAB, 341 lines
- globalAnalysis2.m, MATLAB, 324 lines, 1 match
- loadPreprocessedMef.m, MATLAB, 178 lines
- main.m, MATLAB, 190 lines
- overlay_bsep_spesvisual.
m , MATLAB, 177 lines - plotRecStimElecs.m, MATLAB, 120 lines
- preprocessCCEPForCCEPVis
ual.m , MATLAB, 132 lines - preprocessFromMef.m, MATLAB, 273 lines
- spectral_analysis.m, MATLAB, 356 lines
- tractography/
ccepVisual_RenderTracks0 , MATLAB, 290 lines, 1 match1.m - tractography/
external/ , MATLAB, 44 linesAFQ/ 3Dmesh/ AFQ_AddCrosshairTo3dPlot .m - tractography/
external/ , MATLAB, 252 linesAFQ/ 3Dmesh/ AFQ_AddImageTo3dPlot.m - tractography/
external/ , MATLAB, 64 linesAFQ/ 3Dmesh/ AFQ_MakeFiberGroupMontag e.m - tractography/
external/ , MATLAB, 135 linesAFQ/ 3Dmesh/ AFQ_RenderCorticalSurfac e.m - tractography/
external/ , MATLAB, 114 linesAFQ/ 3Dmesh/ AFQ_RenderEllipsoid.m - tractography/
external/ , MATLAB, 501 linesAFQ/ 3Dmesh/ AFQ_RenderFibers.m - tractography/
external/ , MATLAB, 88 linesAFQ/ 3Dmesh/ AFQ_RenderFibersOnCortex .m - tractography/
external/ , MATLAB, 143 linesAFQ/ 3Dmesh/ AFQ_RenderRoi.m - tractography/
external/ , MATLAB, 134 linesAFQ/ 3Dmesh/ AFQ_RenderTractProfile.m - tractography/
external/ , MATLAB, 45 linesAFQ/ 3Dmesh/ AFQ_RotatingFgGif.m - tractography/
external/ , MATLAB, 181 linesAFQ/ 3Dmesh/ AFQ_meshAddFgEndpoints.m - tractography/
external/ , MATLAB, 123 linesAFQ/ 3Dmesh/ AFQ_meshAddRoi.m - tractography/
external/ , MATLAB, 131 linesAFQ/ 3Dmesh/ AFQ_meshColor.m - tractography/
external/ , MATLAB, 203 linesAFQ/ 3Dmesh/ AFQ_meshCreate.m - tractography/
external/ , MATLAB, 86 linesAFQ/ 3Dmesh/ AFQ_meshCut.m - tractography/
external/ , MATLAB, 288 linesAFQ/ 3Dmesh/ AFQ_meshDrawRoi.m - tractography/
external/ , MATLAB, 74 linesAFQ/ 3Dmesh/ AFQ_meshGet.m - tractography/
external/ , MATLAB, 133 linesAFQ/ 3Dmesh/ AFQ_meshSet.m - tractography/
external/ , MATLAB, 107 linesAFQ/ 3Dmesh/ AFQ_tubeplot.m - tractography/
external/ , MATLAB, 65 linesAFQ/ 3Dmesh/ patch_normals/ patchnormals.m - tractography/
external/ , C, 168 linesAFQ/ 3Dmesh/ patch_normals/ patchnormals_double.c - tractography/
external/ , MATLAB, 39 linesAFQ/ 3Dmesh/ patch_normals/ patchnormals_double.m - tractography/
external/ , MATLAB, 5 linesAFQ/ 3Dmesh/ refinepatch_version2b/ edge_tangents.m - tractography/
external/ , C, 196 linesAFQ/ 3Dmesh/ refinepatch_version2b/ edge_tangents_double.c - tractography/
external/ , MATLAB, 72 linesAFQ/ 3Dmesh/ refinepatch_version2b/ edge_tangents_double.m - tractography/
external/ , MATLAB, 69 linesAFQ/ 3Dmesh/ refinepatch_version2b/ make_halfway_vertices.m - tractography/
external/ , MATLAB, 21 linesAFQ/ 3Dmesh/ refinepatch_version2b/ makenewfacelist.m - tractography/
external/ , MATLAB, 79 linesAFQ/ 3Dmesh/ refinepatch_version2b/ refinepatch.m - tractography/
external/ , MATLAB, 8 linesAFQ/ 3Dmesh/ refinepatch_version2b/ vertex_neighbours.m - tractography/
external/ , C, 214 linesAFQ/ 3Dmesh/ refinepatch_version2b/ vertex_neighbours_double .c - tractography/
external/ , MATLAB, 76 linesAFQ/ 3Dmesh/ refinepatch_version2b/ vertex_neighbours_double .m - tractography/
external/ , MATLAB, 18 linesAFQ/ 3Dmesh/ smoothpatch_version1b/ compile_smoothpatch.m - tractography/
external/ , MATLAB, 93 linesAFQ/ 3Dmesh/ smoothpatch_version1b/ smoothpatch.m - tractography/
external/ , C, 230 linesAFQ/ 3Dmesh/ smoothpatch_version1b/ smoothpatch_curvature_do uble.c - tractography/
external/ , C, 212 linesAFQ/ 3Dmesh/ smoothpatch_version1b/ smoothpatch_inversedista nce_double.c - tractography/
external/ , MATLAB, 8 linesAFQ/ 3Dmesh/ smoothpatch_version1b/ vertex_neighbours.m - tractography/
external/ , C, 214 linesAFQ/ 3Dmesh/ smoothpatch_version1b/ vertex_neighbours_double .c - tractography/
external/ , MATLAB, 76 linesAFQ/ 3Dmesh/ smoothpatch_version1b/ vertex_neighbours_double .m - tractography/
external/ , MATLAB, 88 linesAFQ/ SIPS/ AFQ_findSIPS.m - tractography/
external/ , MATLAB, 61 linesAFQ/ SIPS/ SIPS_convertROI.m - tractography/
external/ , MATLAB, 93 linesAFQ/ SIPS/ dtiSegmentFiberWithNifti Roi.m - tractography/
external/ , MATLAB, 73 linesAFQ/ aslant/ AFQ_AddFrontalAslantTrac t.m - tractography/
external/ , MATLAB, 73 linesAFQ/ aslant/ AddAslant.m - tractography/
external/ , MATLAB, 193 linesAFQ/ babyAFQ/ babyAFQ_ComputeTractProp erties.m - tractography/
external/ , MATLAB, 193 linesAFQ/ babyAFQ/ babyAFQ_ComputeTractProp ertiesNanMean.m - tractography/
external/ , MATLAB, 48 linesAFQ/ babyAFQ/ babyAFQ_DtiRoi2Nii.m - tractography/
external/ , MATLAB, 195 linesAFQ/ babyAFQ/ babyAFQ_FindVOF.m - tractography/
external/ , MATLAB, 211 linesAFQ/ babyAFQ/ babyAFQ_FindVerticalFibe rs.m - tractography/
external/ , MATLAB, 72 linesAFQ/ babyAFQ/ babyAFQ_LoadROIs.m - tractography/
external/ , MATLAB, 77 linesAFQ/ babyAFQ/ babyAFQ_LoadROIsReorient ed.m - tractography/
external/ , MATLAB, 45 linesAFQ/ babyAFQ/ babyAFQ_PrepareVofROI.m - tractography/
external/ , MATLAB, 542 linesAFQ/ babyAFQ/ babyAFQ_SegmentFiberGrou ps.m - tractography/
external/ , MATLAB, 179 linesAFQ/ babyAFQ/ babyAFQ_Segment_PostArcu ate.m - tractography/
external/ , MATLAB, 111 linesAFQ/ cerebellarPeduncles/ AFQ_SegmentCerebellum.m - tractography/
external/ , MATLAB, 126 linesAFQ/ cerebellarPeduncles/ ClipFibers.m - tractography/
external/ , MATLAB, 342 linesAFQ/ cerebellarPeduncles/ cp_AFQ_AddNewFiberGroup. m - tractography/
external/ , MATLAB, 361 linesAFQ/ cerebellarPeduncles/ cp_AFQ_AddNewFiberGroup3 ROI.m - tractography/
external/ , MATLAB, 185 linesAFQ/ cerebellarPeduncles/ cp_AFQ_ComputeTractPrope rties.m - tractography/
external/ , MATLAB, 63 linesAFQ/ cerebellarPeduncles/ cp_dtiClipFiberGroupToRO Is.m - tractography/
external/ , MATLAB, 74 linesAFQ/ cerebellarPeduncles/ cp_dtiComputeDiffusionPr opertiesAlongFG.m - tractography/
external/ , MATLAB, 256 linesAFQ/ cerebellarPeduncles/ cp_dtiIntersectFibersWit hRoi.m - tractography/
external/ , MATLAB, 342 linesAFQ/ functions/ AFQ_AddNewFiberGroup.m - tractography/
external/ , MATLAB, 57 linesAFQ/ functions/ AFQ_CombineSgeRuns.m - tractography/
external/ , MATLAB, 79 linesAFQ/ functions/ AFQ_ComparePatientsToNor ms.m - tractography/
external/ , MATLAB, 79 linesAFQ/ functions/ AFQ_ComputeNorms.m - tractography/
external/ , MATLAB, 30 linesAFQ/ functions/ AFQ_ComputeSpatialNormal ization.m - tractography/
external/ , MATLAB, 185 linesAFQ/ functions/ AFQ_ComputeTractProperti es.m - tractography/
external/ , MATLAB, 374 linesAFQ/ functions/ AFQ_Create.m - tractography/
external/ , MATLAB, 27 linesAFQ/ functions/ AFQ_CreateTractProfile.m - tractography/
external/ , MATLAB, 291 linesAFQ/ functions/ AFQ_DefineFgEndpoints.m - tractography/
external/ , MATLAB, 42 linesAFQ/ functions/ AFQ_FiberLengthHist.m - tractography/
external/ , MATLAB, 67 linesAFQ/ functions/ AFQ_FiberTractGaussian.m - tractography/
external/ , MATLAB, 52 linesAFQ/ functions/ AFQ_LoadROIs.m - tractography/
external/ , MATLAB, 185 linesAFQ/ functions/ AFQ_MakeFGProbabilityMap .m - tractography/
external/ , MATLAB, 217 linesAFQ/ functions/ AFQ_MultiCompCorrection. m - tractography/
external/ , MATLAB, 113 linesAFQ/ functions/ AFQ_ParamaterizeTractSha pe.m - tractography/
external/ , MATLAB, 240 linesAFQ/ functions/ AFQ_PlotPatientMeans.m - tractography/
external/ , MATLAB, 58 linesAFQ/ functions/ AFQ_PlotResults.m - tractography/
external/ , MATLAB, 49 linesAFQ/ functions/ AFQ_ReorientFibers.m - tractography/
external/ , MATLAB, 95 linesAFQ/ functions/ AFQ_SegmentCallosum.m - tractography/
external/ , MATLAB, 450 linesAFQ/ functions/ AFQ_SegmentFiberGroups.m - tractography/
external/ , MATLAB, 4 linesAFQ/ functions/ AFQ_SegmentNewFiberGroup .m - tractography/
external/ , MATLAB, 161 linesAFQ/ functions/ AFQ_Segment_PostArcuate. m - tractography/
external/ , MATLAB, 66 linesAFQ/ functions/ AFQ_Segment_VOF.m - tractography/
external/ , MATLAB, 32 linesAFQ/ functions/ AFQ_SubjectAvgMetadata.m - tractography/
external/ , MATLAB, 29 linesAFQ/ functions/ AFQ_TrackAndSegmentOneSu b.m - tractography/
external/ , MATLAB, 140 linesAFQ/ functions/ AFQ_TractProfileAlign.m - tractography/
external/ , MATLAB, 29 linesAFQ/ functions/ AFQ_TractProfileGet.m - tractography/
external/ , MATLAB, 61 linesAFQ/ functions/ AFQ_TractProfileInterp.m - tractography/
external/ , MATLAB, 16 linesAFQ/ functions/ AFQ_TractProfileSet.m - tractography/
external/ , MATLAB, 83 linesAFQ/ functions/ AFQ_TractProfileVolume.m - tractography/
external/ , MATLAB, 72 linesAFQ/ functions/ AFQ_TubeFromCoords.m - tractography/
external/ , MATLAB, 123 linesAFQ/ functions/ AFQ_WholebrainTractograp hy.m - tractography/
external/ , MATLAB, 13 linesAFQ/ functions/ AFQ_directories.m - tractography/
external/ , MATLAB, 94 linesAFQ/ functions/ AFQ_exportData.m - tractography/
external/ , MATLAB, 91 linesAFQ/ functions/ AFQ_fitlme.m - tractography/
external/ , MATLAB, 413 linesAFQ/ functions/ AFQ_get.m - tractography/
external/ , MATLAB, 64 linesAFQ/ functions/ AFQ_matchFgEndpoints.m - tractography/
external/ , MATLAB, 75 linesAFQ/ functions/ AFQ_outliers.m - tractography/
external/ , MATLAB, 94 linesAFQ/ functions/ AFQ_pca.m - tractography/
external/ , MATLAB, 453 linesAFQ/ functions/ AFQ_plot.m - tractography/
external/ , MATLAB, 149 linesAFQ/ functions/ AFQ_removeFiberOutliers. m - tractography/
external/ , MATLAB, 393 linesAFQ/ functions/ AFQ_run.m - tractography/
external/ , MATLAB, 129 linesAFQ/ functions/ AFQ_run_sge.m - tractography/
external/ , MATLAB, 356 linesAFQ/ functions/ AFQ_set.m - tractography/
external/ , MATLAB, 10 linesAFQ/ functions/ fgCalcShape.m - tractography/
external/ , MATLAB, 144 linesAFQ/ gui/ afq1.m - tractography/
external/ , MATLAB, 104 linesAFQ/ templates/ labelMaps/ dtiGetBrainLabel.m - tractography/
external/ , MATLAB, 10 linesAFQ/ templates/ labelMaps/ dtiGetMoriLabels.m - tractography/
external/ , MATLAB, 58 linesAFQ/ test/ AFQ_test.m - tractography/
external/ , MATLAB, 78 linesAFQ/ tutorials/ AFQ_RotatingBrainVideo.m - tractography/
external/ , MATLAB, 153 linesAFQ/ tutorials/ AFQ_example.m - tractography/
external/ , MATLAB, 73 linesAFQ/ tutorials/ AFQ_example_GroupCompari son.m - tractography/
external/ , MATLAB, 37 linesAFQ/ tutorials/ AFQ_publish_tutorials.m - tractography/
external/ , MATLAB, 133 linesAFQ/ tutorials/ CortexAndFibersMovie.m - tractography/
external/ , MATLAB, 105 linesAFQ/ tutorials/ RotatingArcSLF_CST_ATRmo vie.m - tractography/
external/ , MATLAB, 100 linesAFQ/ tutorials/ RotatingArcuateAndILFMov ie.m - tractography/
external/ , MATLAB, 41 linesAFQ/ tutorials/ tutorial1_FgCleaningRend eringExporting.m - tractography/
external/ , MATLAB, 12 linesAFQ/ tutorials/ tutorial2_DataPlotsStats Export.m - tractography/
external/ , MATLAB, 65 linesAFQ/ utilities/ AFQ_RemoveSubjects.m - tractography/
external/ , MATLAB, 30 linesAFQ/ utilities/ AFQ_colormap.m - tractography/
external/ , MATLAB, 288 linesAFQ/ utilities/ AFQ_mrtrixInit.m - tractography/
external/ , MATLAB, 52 linesAFQ/ utilities/ AFQ_mrtrix_5ttgen.m - tractography/
external/ , MATLAB, 58 linesAFQ/ utilities/ AFQ_mrtrix_build_files.m - tractography/
external/ , MATLAB, 56 linesAFQ/ utilities/ AFQ_mrtrix_cmd.m - tractography/
external/ , MATLAB, 75 linesAFQ/ utilities/ AFQ_mrtrix_csdeconv.m - tractography/
external/ , MATLAB, 62 linesAFQ/ utilities/ AFQ_mrtrix_csdeconv_msmt .m - tractography/
external/ , MATLAB, 40 linesAFQ/ utilities/ AFQ_mrtrix_dwi2tensor.m - tractography/
external/ , MATLAB, 40 linesAFQ/ utilities/ AFQ_mrtrix_mrconvert.m - tractography/
external/ , MATLAB, 113 linesAFQ/ utilities/ AFQ_mrtrix_response.m - tractography/
external/ , MATLAB, 23 linesAFQ/ utilities/ AFQ_mrtrix_set_ld_path.m - tractography/
external/ , MATLAB, 68 linesAFQ/ utilities/ AFQ_mrtrix_tensor2FA.m - tractography/
external/ , MATLAB, 60 linesAFQ/ utilities/ AFQ_mrtrix_tensor2vector .m - tractography/
external/ , MATLAB, 234 linesAFQ/ utilities/ AFQ_mrtrix_track.m - tractography/
external/ , MATLAB, 25 linesAFQ/ utilities/ ANTS_CreateRoiFromMniNif ti.m - tractography/
external/ , MATLAB, 12 linesAFQ/ utilities/ ANTS_normalize.m - tractography/
external/ , MATLAB, 51 linesAFQ/ utilities/ CoordsToImg.m - tractography/
external/ , MATLAB, 26 linesAFQ/ utilities/ CreateParamsStruct.m - tractography/
external/ , MATLAB, 22 linesAFQ/ utilities/ afqCheckArgument.m - tractography/
external/ , MATLAB, 46 linesAFQ/ utilities/ afqVarargin.m - tractography/
external/ , MATLAB, 85 linesAFQ/ utilities/ cell2csv.m - tractography/
external/ , MATLAB, 8 linesAFQ/ utilities/ check_ants.m - tractography/
external/ , MATLAB, 46 linesAFQ/ utilities/ check_mrTrix.m - tractography/
external/ , MATLAB, 25 linesAFQ/ utilities/ check_mrTrix_Version.m - tractography/
external/ , MATLAB, 12 linesAFQ/ utilities/ check_mrvista.m - tractography/
external/ , MATLAB, 10 linesAFQ/ utilities/ check_spm.m - tractography/
external/ , MATLAB, 80 linesAFQ/ utilities/ computeGaussianDisplacem ent.m - tractography/
external/ , MATLAB, 16 linesAFQ/ utilities/ dtiLoadExploreDTIFibers. m - tractography/
external/ , MATLAB, 27 linesAFQ/ utilities/ dtiMakeDt6FromExploreDTI .m - tractography/
external/ , MATLAB, 80 linesAFQ/ utilities/ errorbargraph.m - tractography/
external/ , MATLAB, 32 linesAFQ/ utilities/ errorbarvectorplot.m - tractography/
external/ , MATLAB, 20 linesAFQ/ utilities/ fiberCovToMatrix.m - tractography/
external/ , MATLAB, 7 linesAFQ/ utilities/ fiberNodeHeatmap.m - tractography/
external/ , MATLAB, 31 linesAFQ/ utilities/ flipDWIx.m - tractography/
external/ , MATLAB, 73 linesAFQ/ utilities/ frame.m - tractography/
external/ , MATLAB, 63 linesAFQ/ utilities/ frenet.m - tractography/
external/ , MATLAB, 106 linesAFQ/ utilities/ frenet2.m - tractography/
external/ , MATLAB, 13 linesAFQ/ utilities/ isafq.m - tractography/
external/ , MATLAB, 12 linesAFQ/ utilities/ ismesh.m - tractography/
external/ , MATLAB, 8 linesAFQ/ utilities/ isparams.m - tractography/
external/ , MATLAB, 9 linesAFQ/ utilities/ lineargradient.m - tractography/
external/ , MATLAB, 217 linesAFQ/ utilities/ medfilt3.m - tractography/
external/ , MATLAB, 7 linesAFQ/ utilities/ minmax.m - tractography/
external/ , MATLAB, 21 linesAFQ/ utilities/ niftiChangeResolution.m - tractography/
external/ , MATLAB, 34 linesAFQ/ utilities/ pyAFQ/ pyAFQ_dkiFit.m - tractography/
external/ , MATLAB, 26 linesAFQ/ utilities/ pyAFQ/ test_pyAFQ.m - tractography/
external/ , MATLAB, 72 linesAFQ/ utilities/ randnmulti.m - tractography/
external/ , MATLAB, 14 linesAFQ/ utilities/ renderFiberNodeHeatmap.m - tractography/
external/ , MATLAB, 415 linesAFQ/ utilities/ rotateXLabels.m - tractography/
external/ , MATLAB, 129 linesAFQ/ utilities/ simulateDiffusion.m - tractography/
external/ , MATLAB, 7 linesAFQ/ utilities/ strip_ext.m - tractography/
external/ , MATLAB, 77 linesAFQ/ utilities/ vals2colormap.m - tractography/
external/ , MATLAB, 177 linesAFQ/ vof/ AFQ_FindVOF.m - tractography/
external/ , MATLAB, 201 linesAFQ/ vof/ AFQ_FindVerticalFibers.m - tractography/
external/ , MATLAB, 465 linesBrewerMap/ brewermap.m - tractography/
external/ , MATLAB, 52 linesBrewerMap/ brewermap_plot.m - tractography/
external/ , MATLAB, 404 linesBrewerMap/ brewermap_view.m - tractography/
external/ , MATLAB, 71 linesBrewerMap/ preset_colormap.m - tractography/
functions/ , MATLAB, 132 linestrk_read_afq.m - writeXmlCcepVisualDetPha
se.m , MATLAB, 369 lines - LICENSE, License, 674 lines
- README.txt, Text, 25 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;
- 240 scripts, each with its path and the digest of its content;
- 9 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
- openneuro:ds007703, at OpenNeuro; found in “Data Availability”
Data Availability
The complete data that support these findings are freely accessible on OpenNeuro: 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 2, 28 September 2026
- Authors: added Nicholas M Gregg (0000-0002-6151-043X); Gabriela Ojeda Valencia (0000-0002-5002-3310); Myung-Ho In (0000-0001-8001-6237); Yunhong Shu (0000-0002-7521-9088); Gregory A Worrell (0000-0003-2916-0553); Kai J Miller (0000-0002-6687-6422); removed Nicholas M Gregg; Gabriela Ojeda Valencia; Myung-Ho In; Yunhong Shu; Gregory A Worrell; Kai J Miller
Version 1, 27 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 10 authors, 11 MeSH terms, 4 funders, 52 references.
Cite
This paper
Huang, H., Kay, K. N., Gregg, N. M., Ojeda Valencia, G., In, M.-H., Kapeller, C., Shu, Y., Worrell, G. A., Miller, K. J., & Hermes, D. (2026). Single pulse electrical stimulation in white matter modulates iEEG visual responses in human early visual cortex. PLoS computational biology, 22(7), e1014563. https://
BibTeX
@article{huang2026single
author = {Huang, Harvey and Kay, Kendrick N and Gregg, Nicholas M and Ojeda Valencia, Gabriela and In, Myung-Ho and Kapeller, Christoph and Shu, Yunhong and Worrell, Gregory A and Miller, Kai J and Hermes, Dora},
title = {{Single pulse electrical stimulation in white matter modulates iEEG visual responses in human early visual cortex}},
journal = {PLoS computational biology},
year = {2026},
month = jul,
volume = {22},
number = {7},
pages = {e1014563},
publisher = {PLOS},
issn = {1553-734X},
doi = {10.1371/
url = {https://
pmid = {42497215},
pmcid = {PMC13426923}
}
RIS
TY - JOUR
AU - Huang, Harvey
AU - Kay, Kendrick N
AU - Gregg, Nicholas M
AU - Ojeda Valencia, Gabriela
AU - In, Myung-Ho
AU - Kapeller, Christoph
AU - Shu, Yunhong
AU - Worrell, Gregory A
AU - Miller, Kai J
AU - Hermes, Dora
TI - Single pulse electrical stimulation in white matter modulates iEEG visual responses in human early visual cortex
T2 - PLoS computational biology
J2 - PLoS Comput Biol
PY - 2026
DA - 2026/
VL - 22
IS - 7
SP - e1014563
SN - 1553-734X
PB - PLOS
DO - 10.1371/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1371/
"type": "article-journal",
"title": "Single pulse electrical stimulation in white matter modulates iEEG visual responses in human early visual cortex",
"container-title": "PLoS computational biology",
"author": [
{
"family": "Huang",
"given": "Harvey"
},
{
"family": "Kay",
"given": "Kendrick N"
},
{
"family": "Gregg",
"given": "Nicholas M"
},
{
"family": "Ojeda Valencia",
"given": "Gabriela"
},
{
"family": "In",
"given": "Myung-Ho"
},
{
"family": "Kapeller",
"given": "Christoph"
},
{
"family": "Shu",
"given": "Yunhong"
},
{
"family": "Worrell",
"given": "Gregory A"
},
{
"family": "Miller",
"given": "Kai J"
},
{
"family": "Hermes",
"given": "Dora"
}
],
"container-title-short":
"volume": "22",
"issue": "7",
"page": "e1014563",
"DOI": "10.1371/
"PMID": "42497215",
"PMCID": "PMC13426923",
"ISSN": "1553-734X",
"publisher": "PLOS",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
7,
24
]
]
}
}
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-026-71151-2 [code]
- Common and distinct neural correlates of social interaction processing and theory of mind in narratives.Journal: Nature communicationsIn common: MRtrix3, fdr_bh (Benjamini-Hochberg FDR), GIfTI library for MATLAB, 8 other tools, 1 reference
- [2] doi:10.1038/s41467-026-72444-2 [code]
- Broadband synergy versus oscillatory redundancy in the visual cortex.Journal: Nature communicationsIn common: Statistics and Machine Learning Toolbox, intracranial EEG (iEEG / ECoG / SEEG), systems, 3 references, 2 authors
- [3] doi:10.1016/j.celrep.2026.117404 [code]
- Action and rest tremor map to distinct networks within the primary motor cortex.Journal: Cell reportsIn common: Curve Fitting Toolbox, GIfTI library for MATLAB, Optimization Toolbox, 7 other tools, systems
- [4] doi:10.1002/hbm.70602 [code]
- Neuroimaging Correlates of Post-Stroke Pain After Ischemic Stroke: Secondary Analysis of the INSPiRE-TMS Trial.Journal: Human brain mappingIn common: Curve Fitting Toolbox, GIfTI library for MATLAB, Optimization Toolbox, 7 other tools
- [5] doi:10.1038/s41586-026-10631-3 [code]
- A prognostic human brain network for diffuse midline glioma.Journal: NatureIn common: Curve Fitting Toolbox, GIfTI library for MATLAB, Optimization Toolbox, 7 other tools
- [6] doi:10.1111/ene.70678 [code]
- Who Falls After a Stroke? Evidence From a Prospective Stroke Cohort.Journal: European journal of neurologyIn common: Curve Fitting Toolbox, GIfTI library for MATLAB, Optimization Toolbox, 7 other tools
- [7] doi:10.1002/ana.78206 [code]
- Multimodal Image Guidance in Subthalamic Deep Brain Stimulation for Parkinson's Disease.Journal: Annals of neurologyIn common: Curve Fitting Toolbox, GIfTI library for MATLAB, Optimization Toolbox, 7 other tools
- [8] doi:10.1002/hbm.70577 [code]
- Disgust Propensity, Not Disgust Sensitivity, Shapes the Reactivity of a Subjective Disgust Circuit in Humans.Journal: Human brain mappingIn common: fdr_bh (Benjamini-Hochberg FDR), GIfTI library for MATLAB, Optimization Toolbox, 6 other tools, systems
- [9] doi:10.1038/s41467-026-73668-y [code]
- Convergent and divergent brain-cognition development in early adolescence.Journal: Nature communicationsIn common: MRtrix3, fdr_bh (Benjamini-Hochberg FDR), GIfTI library for MATLAB, 6 other tools
- [10] doi:10.1038/s41467-026-74565-0 [code]
- The functional neurobiology of dispositions towards negative emotions.Journal: Nature communicationsIn common: fdr_bh (Benjamini-Hochberg FDR), GIfTI library for MATLAB, Optimization Toolbox, 6 other tools
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, 240 scripts, and 9 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:4af22ea11d997522…
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.
