OSCR

Spatial Entropy of Brain Network Landscapes: A Novel Method to Assess Spatial Disorder in Brain Networks.

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 · 460 lines · 18 KB · no license

  1. function entropyCalc(niiFN, outFN, entropyMethod,scaleByDistanceFlag, scaleByModSizeFlag,scaleByPatchSize, distance, maskFN)
  2. %
  3. % Inputs
  4. %--------------------------------------------------------------------------
  5. % niiFN | nifti image
  6. % outFN | output image fn
  7. % entropyMethod | 1 = Shannon (Batty Voxel Adaptation)
  8. % | 2 = O'Neil
  9. % | 3 = Claramunt
  10. % | 4 = Proximity
  11. % scaleByDistanceFlag | 1 = yes
  12. % scaleByModSizeFlag | 1 = yes
  13. % scaleByPatchSizeFlag | 1 = yes
  14. % distance | distance from center of patch
  15. % maskFN | inclusive mask specifying what voxels in the
  16. % | brain to consider in the calculations
  17. %
  18. % Requirements
  19. %--------------------------------------------------------------------------
  20. % Tools for NIfTI and ANALYZE image - Jimmy Shen
  21. % Available here: https://www.mathworks.com/matlabcentral/fileexchange/8797-tools-for-nifti-and-analyze-image
  22. %
  23. % Release
  24. %--------------------------------------------------------------------------
  25. % 10/22/25 - Robert Lyday
  26. %
  27. %
  28. % % Warning: This code is provided "as is"
  29. % Use at your own risk
  30. img1 = load_untouch_nii(niiFN);
  31. atlas = load_untouch_nii(maskFN);
  32. pointer = find(atlas.img(:));
  33. % convert pointer to x,y,z
  34. [xindex, yindex, zindex] = ind2sub(size(atlas.img),pointer);
  35. maxDist = distance;
  36. maxMod = max(img1.img(:));
  37. for m = 1:maxMod
  38. modSize(m) = sum(img1.img==m,'all');
  39. end
  40. modSize = 1 - (modSize ./ sum(modSize));
  41. modSize_inv = 1 - modSize;
  42. if sum(size(img1.img)-size(atlas.img))
  43. fprintf('size nii %d\t%d\t%d\n',size(img1.img));
  44. fprintf('size atlas %d\t%d\t%d\n',size(atlas.img));
  45. error('module image and voxel mask do not match!')
  46. end
  47. imgOut = img1;
  48. imgOut.img = imgOut.img * 0;
  49. switch entropyMethod
  50. case 1
  51. %------------------------------------------------------------------
  52. % ----- Shannon -----
  53. %------------------------------------------------------------------
  54. neighborCounts = zeros(size(xindex));
  55. for index = 1:length(xindex)
  56. x = xindex(index);
  57. y = yindex(index);
  58. z = zindex(index);
  59. modProb = zeros(max(maxMod),1);
  60. count = 0;
  61. for xx = -maxDist:1:maxDist
  62. for yy = -maxDist:1:maxDist
  63. for zz = -maxDist:1:maxDist
  64. try
  65. currMod = img1.img(x+xx,y+yy,z+zz);
  66. maskCheck = atlas.img(x+xx,y+yy,z+zz);
  67. currDist = sqrt((xx^2)+(yy^2)+(zz^2));
  68. if currDist == 0
  69. currDist = 1;
  70. end
  71. if maskCheck && currDist<=maxDist
  72. count = count + 1;
  73. if currMod
  74. val = 1;
  75. if scaleByDistanceFlag
  76. val = val ./ currDist;
  77. end
  78. modProb(currMod) = modProb(currMod) + val;
  79. end
  80. end
  81. end
  82. end
  83. end
  84. end
  85. neighborCounts(index) = count;
  86. % scale modProb
  87. origModProb = modProb;
  88. modProb = modProb ./ sum(modProb);
  89. % calc entropy
  90. entVal = 0;
  91. for m = 1:maxMod
  92. if scaleByPatchSize == 1
  93. lambda = modProb(m) / count;
  94. else
  95. lambda = modProb(m);
  96. end
  97. if scaleByModSizeFlag==1
  98. temp = modSize(m) .* modProb(m) * log(1/(lambda));
  99. if isnan(temp) || isinf(temp)
  100. temp = 0;
  101. end
  102. entVal = entVal + temp;
  103. elseif scaleByModSizeFlag==2
  104. temp = modSize_inv(m) .* modProb(m) * log(1/(lambda));
  105. if isnan(temp) || isinf(temp)
  106. temp = 0;
  107. end
  108. entVal = entVal + temp;
  109. else
  110. if scaleByPatchSize == 2
  111. temp = modProb(m) * log(1/lambda) / count; %bring patch size scaling outside of log function -CM 7.3.25
  112. if isnan(temp) || isinf(temp)
  113. temp = 0;
  114. end
  115. entVal = entVal + temp;
  116. else
  117. temp = modProb(m) * log(1/lambda);
  118. if isnan(temp) || isinf(temp)
  119. temp = 0;
  120. end
  121. entVal = entVal + temp;
  122. end
  123. end
  124. end
  125. if entVal == 0
  126. entVal;
  127. end
  128. imgOut.img(x,y,z) = entVal;
  129. end
  130. case 2
  131. %------------------------------------------------------------------
  132. % ----- O'Neill -----
  133. %------------------------------------------------------------------
  134. for index = 1:length(xindex)
  135. x = xindex(index);
  136. y = yindex(index);
  137. z = zindex(index);
  138. modProb = zeros(max(maxMod),max(maxMod));
  139. count = 0;
  140. patchLocs = [];
  141. patchLocsDists = [];
  142. for xx = -maxDist:1:maxDist
  143. for yy = -maxDist:1:maxDist
  144. for zz = -maxDist:1:maxDist
  145. try
  146. maskCheck = atlas.img(x+xx,y+yy,z+zz);
  147. currDist = sqrt((xx^2)+(yy^2)+(zz^2));
  148. if maskCheck && currDist<=maxDist
  149. patchLocs(end+1,:) = [x+xx,y+yy,z+zz];
  150. patchLocsDists(end+1) = currDist;
  151. end
  152. end
  153. end
  154. end
  155. end
  156. for patchIndexi = 1:size(patchLocs,1)
  157. for patchIndexj = 1:size(patchLocs,1)
  158. currDist = sqrt(((patchLocs(patchIndexj,1)-patchLocs(patchIndexi,1))^2)+((patchLocs(patchIndexj,2)-patchLocs(patchIndexi,2))^2)+((patchLocs(patchIndexj,3)-patchLocs(patchIndexi,3))^2));
  159. if currDist == 1
  160. modi = img1.img(patchLocs(patchIndexi,1),patchLocs(patchIndexi,2),patchLocs(patchIndexi,3));
  161. modj = img1.img(patchLocs(patchIndexj,1),patchLocs(patchIndexj,2),patchLocs(patchIndexj,3));
  162. if modi && modj
  163. count = count + 1;
  164. distVal = 1;
  165. if scaleByDistanceFlag
  166. distVal = (patchLocsDists(patchIndexi)+patchLocsDists(patchIndexj))/2;
  167. end
  168. modProb(modi,modj) = modProb(modi,modj) + 1 / distVal;
  169. modProb(modj,modi) = modProb(modi,modj);
  170. end
  171. end
  172. end
  173. end
  174. % scale modProb
  175. modProbOrig = modProb;
  176. modProb = modProb ./ sum(modProb(:));
  177. % calc entropy
  178. entVal = 0;
  179. % vals = [];
  180. for m = 1:maxMod
  181. for mm = 1:maxMod
  182. if scaleByPatchSize == 1
  183. lambda = modProb(m,mm) / count;
  184. else
  185. lambda = modProb(m,mm);
  186. end
  187. if scaleByModSizeFlag == 1
  188. temp = modSize(m) .* modProb(m,mm) * log(1/(lambda));
  189. if isnan(temp) || isinf(temp)
  190. temp = 0;
  191. end
  192. entVal = entVal + temp;
  193. elseif scaleByModSizeFlag == 2
  194. temp = modSize_inv(m) .* modProb(m,mm) * log(1/(lambda));
  195. if isnan(temp) || isinf(temp)
  196. temp = 0;
  197. end
  198. entVal = entVal + temp;
  199. else
  200. if scaleByPatchSize == 2 %patch size scaler outside of log -CM 7.3
  201. temp = modProb(m,mm) * log(1/lambda) / count;
  202. if isnan(temp) || isinf(temp)
  203. temp = 0;
  204. end
  205. entVal = entVal + temp;
  206. else
  207. temp = modProb(m,mm) * log(1/lambda);
  208. if isnan(temp) || isinf(temp)
  209. temp = 0;
  210. end
  211. entVal = entVal + temp;
  212. % vals(end+1) = temp;
  213. end
  214. end
  215. end
  216. end
  217. imgOut.img(x,y,z) = entVal;
  218. end
  219. case 3
  220. %------------------------------------------------------------------
  221. % ----- Clarmunt -----
  222. %------------------------------------------------------------------
  223. for index = 1:length(xindex)
  224. x = xindex(index);
  225. y = yindex(index);
  226. z = zindex(index);
  227. modProb = zeros(max(maxMod),1);
  228. count = 0;
  229. patchLocs = [];
  230. for xx = -maxDist:1:maxDist
  231. for yy = -maxDist:1:maxDist
  232. for zz = -maxDist:1:maxDist
  233. try
  234. maskCheck = atlas.img(x+xx,y+yy,z+zz);
  235. currDist = sqrt((xx^2)+(yy^2)+(zz^2));
  236. if maskCheck && currDist<=maxDist
  237. patchLocs(end+1,:) = [x+xx,y+yy,z+zz];
  238. end
  239. end
  240. end
  241. end
  242. end
  243. count = size(patchLocs,1);
  244. modVals = [];
  245. modDists = [];
  246. for patchIndexi = 1:size(patchLocs,1)
  247. modVals(patchIndexi) = img1.img(patchLocs(patchIndexi,1),patchLocs(patchIndexi,2),patchLocs(patchIndexi,3));
  248. for patchIndexj = 1:size(patchLocs,1)
  249. currDist = sqrt(((patchLocs(patchIndexj,1)-patchLocs(patchIndexi,1))^2)+((patchLocs(patchIndexj,2)-patchLocs(patchIndexi,2))^2)+((patchLocs(patchIndexj,3)-patchLocs(patchIndexi,3))^2));
  250. modDists(patchIndexi, patchIndexj) = currDist;
  251. end
  252. end
  253. % set diagonal = nan
  254. modDists(1:length(modDists)+1:end)=nan;
  255. % calc modProb
  256. for m = 1:maxMod
  257. modProb(m) = sum(modVals == m) / sum(modVals > 0);
  258. end
  259. % calc entropy
  260. entVal = 0;
  261. for m = 1:maxMod
  262. if scaleByPatchSize == 1
  263. lambda = modProb(m) / count;
  264. else
  265. lambda = modProb(m);
  266. end
  267. locs1 = modVals == m;
  268. locs2 = (modVals~=m) & (modVals > 0);
  269. temp = modDists(locs1,locs1);
  270. tempDist1 = mean(temp(:),'omitnan');
  271. if tempDist1 == 0
  272. tempDist1 = 1;
  273. end
  274. temp = modDists(locs1,locs2);
  275. tempDist2 = mean(temp(:),'omitnan');
  276. if tempDist2 == 0
  277. tempDist2 = 1;
  278. end
  279. tempDist = tempDist1/tempDist2;
  280. %%% Added second scale by module size (020) CM 7.2.25
  281. if scaleByModSizeFlag == 1
  282. temp = tempDist .* modSize(m) .* modProb(m) * log(1/(lambda));
  283. if isnan(temp) || isinf(temp)
  284. temp = 0;
  285. end
  286. entVal = entVal + temp;
  287. elseif scaleByModSizeFlag == 2
  288. temp = tempDist .* modSize_inv(m) .* modProb(m) * log(1/(lambda));
  289. if isnan(temp) || isinf(temp)
  290. temp = 0;
  291. end
  292. entVal = entVal + temp;
  293. else
  294. if scaleByPatchSize == 2
  295. temp = tempDist * modProb(m) * log(1/lambda) / count;
  296. if isnan(temp) || isinf(temp)
  297. temp = 0;
  298. end
  299. entVal = entVal + temp;
  300. else
  301. temp = tempDist * modProb(m) * log(1/lambda);
  302. if isnan(temp) || isinf(temp)
  303. temp = 0;
  304. end
  305. entVal = entVal + temp;
  306. end
  307. end
  308. end
  309. imgOut.img(x,y,z) = entVal;
  310. end
  311. case 4
  312. %------------------------------------------------------------------
  313. % ----- Proximity -----
  314. %------------------------------------------------------------------
  315. for index = 1:length(xindex)
  316. % if index==82
  317. % index
  318. % end
  319. x = xindex(index);
  320. y = yindex(index);
  321. z = zindex(index);
  322. modProb = zeros(max(maxMod),1);
  323. modEdgeCount = zeros(max(maxMod),max(maxMod));
  324. count = 0;
  325. patchLocs = [];
  326. patchLocsDists = [];
  327. modVals = [];
  328. for xx = -maxDist:1:maxDist
  329. for yy = -maxDist:1:maxDist
  330. for zz = -maxDist:1:maxDist
  331. try
  332. maskCheck = atlas.img(x+xx,y+yy,z+zz);
  333. currDist = sqrt((xx^2)+(yy^2)+(zz^2));
  334. if maskCheck && currDist<=maxDist
  335. patchLocs(end+1,:) = [x+xx,y+yy,z+zz];
  336. patchLocsDists(end+1) = currDist;
  337. end
  338. end
  339. end
  340. end
  341. end
  342. for patchIndexi = 1:size(patchLocs,1)
  343. modVals(patchIndexi) = img1.img(patchLocs(patchIndexi,1),patchLocs(patchIndexi,2),patchLocs(patchIndexi,3));
  344. for patchIndexj = 1:size(patchLocs,1)
  345. currDist = sqrt(((patchLocs(patchIndexj,1)-patchLocs(patchIndexi,1))^2)+((patchLocs(patchIndexj,2)-patchLocs(patchIndexi,2))^2)+((patchLocs(patchIndexj,3)-patchLocs(patchIndexi,3))^2));
  346. if currDist == 1
  347. modi = img1.img(patchLocs(patchIndexi,1),patchLocs(patchIndexi,2),patchLocs(patchIndexi,3));
  348. modj = img1.img(patchLocs(patchIndexj,1),patchLocs(patchIndexj,2),patchLocs(patchIndexj,3));
  349. if modi && modj
  350. count = count + 1;
  351. modEdgeCount(modi,modj) = modEdgeCount(modi,modj) + 1;
  352. modEdgeCount(modj,modi) = modEdgeCount(modi,modj);
  353. end
  354. end
  355. end
  356. end
  357. % zero self modProb
  358. modEdgeCount(1:maxMod+1:end) = 0;
  359. for m = 1:maxMod
  360. modProb(m) = sum(modVals==m) ./ sum(modVals>0);
  361. end
  362. % calc dist matrix
  363. centroids = [];
  364. for m = 1:maxMod
  365. centroids(m,:)=mean(patchLocs(modVals==m,:),1);
  366. end
  367. for m = 1:maxMod
  368. for mm = 1:maxMod
  369. distMat(m,mm) = sqrt((centroids(m,1)-centroids(mm,1))^2 + (centroids(m,2)-centroids(mm,2))^2 + (centroids(m,3)-centroids(mm,3))^2);
  370. end
  371. end
  372. distMat(1:maxMod+1:end) = nan;
  373. % calc entropy
  374. entVal = 0;
  375. for m = 1:maxMod
  376. if scaleByPatchSize == 1
  377. lambda = modProb(m) / count;
  378. else
  379. lambda = modProb(m);
  380. end
  381. li = sum(modEdgeCount(m,:));
  382. di = mean(distMat(m,:),'omitnan');
  383. if di < 1
  384. di = 1;
  385. end
  386. if scaleByModSizeFlag == 1
  387. temp = li/di * modSize(m) .* modProb(m) * log(1/(lambda));
  388. if isnan(temp) || isinf(temp)
  389. temp = 0;
  390. end
  391. entVal = entVal + temp;
  392. elseif scaleByModSizeFlag == 2
  393. temp = li/di * modSize_inv(m) .* modProb(m) * log(1/(lambda));
  394. if isnan(temp) || isinf(temp)
  395. temp = 0;
  396. end
  397. entVal = entVal + temp;
  398. else
  399. if scaleByPatchSize == 2
  400. temp = li/di * modProb(m) * log(1/lambda) / count;
  401. if isnan(temp) || isinf(temp)
  402. temp = 0;
  403. end
  404. entVal = entVal + temp;
  405. else
  406. temp = li/di * modProb(m) * log(1/lambda);
  407. if isnan(temp) || isinf(temp)
  408. temp = 0;
  409. end
  410. entVal = entVal + temp;
  411. end
  412. end
  413. end
  414. imgOut.img(x,y,z) = entVal;
  415. end
  416. otherwise
  417. error('Entropy method should be a number from 1 to 4');
  418. end
  419. pth = fileparts(outFN);
  420. if ~exist(pth,'dir')
  421. mkdir(pth);
  422. end
  423. save_untouch_nii(imgOut,outFN);

entropyCalc.m at commit 0256f55, no license · at the source

Overview

Authors: Clayton C. McIntyre1, Shannon M. O’Donnell1, Mohammadreza Khodaei2, Robert G. Lyday3, Jonathan H. Burdette3, Paul J. Laurienti3
  1. Wake Forest Graduate School of Arts and Sciences Neuroscience Graduate Program Winston‐Salem North Carolina USA
  2. School of Biomedical Engineering and Sciences Virginia Tech‐Wake Forest University Winston‐Salem North Carolina USA
  3. Department of Radiology Wake Forest University School of Medicine Winston‐Salem North Carolina USA
Journal: Human brain mapping, volume 47, issue 5, article e70525
Dates: received 4 November 2025; accepted 29 March 2026; published online 7 April 2026; in print April 2026
Type: Research article · Language: English
License: CC BY-NC-ND
Identifiers: DOI 10.1002/hbm.70525 · PMID 41947544 · PMCID PMC13058231 · OpenAlex W4415529349
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: human (organism), cognitive (subfield)
Methods: Spectral & time-frequency, Connectivity, Graphs, fMRI & imaging
Keywords: brain networks, entropy, music, self‐organization, working memory
MeSH: Auditory Perception*, Brain*, Brain Mapping*, Connectome*, Image Processing, Computer-Assisted*, Magnetic Resonance Imaging*, Memory, Short-Term*, Nerve Net*, Entropy, Humans, Music (* major topic)
Topic: Functional Brain Connectivity Studies (Cognitive Neuroscience, Neuroscience), according to OpenAlex
Funding: National Institute on Alcohol Abuse and Alcoholism (P50AA026117, R01AA029926, F31AA032409)
Citations: cited by 1 paper (Europe PMC); 46 references in the paper

Abstract

The abstract is not reproduced here: the paper's license (CC BY-NC-ND) does not allow it. Read it in the paper, at the publisher or on Europe PMC.

Repository

Its files are read in the Code ↔ Paper reader above.

rlyday/brain-network-spatial-entropy

License: none: the authors keep all their rights
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: 0256f55b7eb92a46f68b046ce8181bd154712510, 22 October 2025
Languages: MATLAB (1)
Size: 1 file, 1 script
Software Heritage: not archived
Found in: “Code Availability”
Not found: README, license file, CITATION.cff, environment file, tests, continuous integration, documentation
Availability: 1 check, the latest on 28 September 2026: the link answers
  • 28 September 2026: the link answers
1 file

Code availability statement

The paper has a code availability statement. Its license (CC BY-NC-ND) does not allow reproducing it here; in short, from what the harvester recognized in it:

Read it in the paper: doi.org/10.1002/hbm.70525.

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;
  • 1 script, 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 statement

The paper has a data availability statement. Its license (CC BY-NC-ND) does not allow reproducing it here; in short, from what the harvester recognized in it:

  • it says that the data are available on request

Read it in the paper: doi.org/10.1002/hbm.70525.

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, 28 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 6 authors, 5 keywords, 11 MeSH terms, 1 funder, 44 references.

Cite

This paper

McIntyre, C. C., O’Donnell, S. M., Khodaei, M., Lyday, R. G., Burdette, J. H., & Laurienti, P. J. (2026). Spatial Entropy of Brain Network Landscapes: A Novel Method to Assess Spatial Disorder in Brain Networks. Human brain mapping, 47(5), e70525. https://doi.org/10.1002/hbm.70525

BibTeX

@article{mcintyre2026spatial,
author = {McIntyre, Clayton C. and O’Donnell, Shannon M. and Khodaei, Mohammadreza and Lyday, Robert G. and Burdette, Jonathan H. and Laurienti, Paul J.},
title = {{Spatial Entropy of Brain Network Landscapes: A Novel Method to Assess Spatial Disorder in Brain Networks}},
journal = {Human brain mapping},
year = {2026},
month = apr,
volume = {47},
number = {5},
pages = {e70525},
publisher = {Wiley},
issn = {1065-9471},
doi = {10.1002/hbm.70525},
url = {https://doi.org/10.1002/hbm.70525},
pmid = {41947544},
pmcid = {PMC13058231}
}

RIS

TY - JOUR
AU - McIntyre, Clayton C.
AU - O’Donnell, Shannon M.
AU - Khodaei, Mohammadreza
AU - Lyday, Robert G.
AU - Burdette, Jonathan H.
AU - Laurienti, Paul J.
TI - Spatial Entropy of Brain Network Landscapes: A Novel Method to Assess Spatial Disorder in Brain Networks
T2 - Human brain mapping
J2 - Hum Brain Mapp
PY - 2026
DA - 2026/04/01
VL - 47
IS - 5
SP - e70525
SN - 1065-9471
PB - Wiley
DO - 10.1002/hbm.70525
UR - https://doi.org/10.1002/hbm.70525
LA - en
ER -

CSL-JSON

{
"id": "10.1002/hbm.70525",
"type": "article-journal",
"title": "Spatial Entropy of Brain Network Landscapes: A Novel Method to Assess Spatial Disorder in Brain Networks",
"container-title": "Human brain mapping",
"author": [
{
"family": "McIntyre",
"given": "Clayton C."
},
{
"family": "O’Donnell",
"given": "Shannon M."
},
{
"family": "Khodaei",
"given": "Mohammadreza"
},
{
"family": "Lyday",
"given": "Robert G."
},
{
"family": "Burdette",
"given": "Jonathan H."
},
{
"family": "Laurienti",
"given": "Paul J."
}
],
"container-title-short": "Hum Brain Mapp",
"volume": "47",
"issue": "5",
"page": "e70525",
"DOI": "10.1002/hbm.70525",
"PMID": "41947544",
"PMCID": "PMC13058231",
"ISSN": "1065-9471",
"publisher": "Wiley",
"URL": "https://doi.org/10.1002/hbm.70525",
"language": "en",
"issued": {
"date-parts": [
[
2026,
4,
1
]
]
}
}

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.1254 [code]
The individuality of single-frame functional brain connectivity.
Journal: Imaging neuroscience (Cambridge, Mass.)
In common: 5 references, author Clayton C. McIntyre
[2] doi:10.21203/rs.3.rs-9326213/v1 [code]
Multi-task fMRI outperforms resting-state fMRI for revealing task-invariant organization of the human brain
Journal: Research Square (preprint)
In common: cognitive, 5 references
[3] doi:10.1002/advs.202523009 [code]
Personalized Network-Guided Neuromodulation Enhances Human Working Memory.
Journal: Advanced science (Weinheim, Baden-Wurttemberg, Germany)
In common: Tools for NIfTI and ANALYZE image (MATLAB), cognitive, 3 references
[4] doi:10.1162/imag.a.1222 [code]
Network-based near-scalp personalized brain stimulation targets.
Journal: Imaging neuroscience (Cambridge, Mass.)
In common: Tools for NIfTI and ANALYZE image (MATLAB), 3 references
[5] doi:10.1016/j.neuron.2026.04.011 [code]
Precision fMRI reveals densely interdigitated network patches with conserved motifs in the lateral prefrontal cortex.
Journal: Neuron
In common: Tools for NIfTI and ANALYZE image (MATLAB), 3 references
[6] doi:10.7554/elife.108408 [code]
Frequency and laminar profile of feature-specific visual activity revealed by interleaved EEG-fMRI.
Journal: eLife
In common: Tools for NIfTI and ANALYZE image (MATLAB), 3 references
[7] doi:10.1038/s41467-026-75745-8 [code]
A language network in the individualized functional connectomes of 1199 human brains doing arbitrary tasks.
Journal: Nature communications
In common: cognitive, 4 references
[8] doi:10.1038/s41467-026-75959-w [code]
Charting higher-order models of brain function beyond pairwise interactions.
Journal: Nature communications
In common: 4 references
[9] doi:10.1162/imag.a.1262 [code]
Frame-wise multi-echo distortion correction for superior functional MRI.
Journal: Imaging neuroscience (Cambridge, Mass.)
In common: Tools for NIfTI and ANALYZE image (MATLAB), 3 references
[10] doi:10.1038/s41598-026-49900-6 [code]
Global neural oscillations underlie performance variability and attentional state fluctuations in humans.
Journal: Scientific reports
In common: Tools for NIfTI and ANALYZE image (MATLAB), cognitive, 2 references

Contribute

The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.

Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.

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.