GithubHelp home page GithubHelp logo

colelab / coleanticevicnetpartition Goto Github PK

View Code? Open in Web Editor NEW
59.0 13.0 20.0 120.22 MB

Public release of The Cole-Anticevic Brain-wide Network Partition (CAB-NP)

License: Other

MATLAB 29.45% Python 1.12% Makefile 0.15% C 63.84% Shell 5.44%
neuroscience brain connectivity brain-imaging neuroimaging network-partitions

coleanticevicnetpartition's People

Contributors

ito-takuya avatar jielisaji avatar mwcole avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

coleanticevicnetpartition's Issues

Parcel naming

Thanks for making this available. It's great to have a rigorous network partition, including the addition of subcortex, of the Glasser parcellation.

However, it's a bit cumbersome to work with the current parcel naming scheme. Specifically, there is one parcel in each network that does not have a numeric suffix as part of its name. e.g., Most parcels in the visual network are named "Visual_#", but "Visual" is the name of one specific parcel as well . So not only does the name of one parcel for each network not map to a standard naming format, but the name of that parcel is identical to the name of the network itself.

Also, it is bit non-intuitive that the cortical parcels are named with an underscore, and the subcortical ones with a dash. A more intuitive distinction in the naming between the cortical and subcortical parcels would be helpful.

In terms of sorting, it would be convenient if the numeric portion of the parcel names was padded to a consistent number of digits.

Last, I know all the necessary information is already contained as part of the *.txt and *.dlabel.nii files, but it is a bit hard to integrate. It would be convenient if a single summary csv was provided that linked the parcel names, the name of the parcel in the original Glasser version, their hemisphere, their numeric position in the dlabel file, the parcels 'key' values, their network assignment, the networks 'key' value, and the parcels position when they are resorted according to the *order.txt files. Without this, it is challenging to navigate between the different data representations, especially since hemisphere is not encoded into the parcel names, and the numeric position in the dlabel file and the 'key' value in the dlabel file are not necessarily the same. Having such a single summary csv would make it much easier to interpret the structure of FC matrices that have been sorted according to the provided *order.txt files.

wb_command -cifti-parcellate

I used the fillowing command:

eval(['!wb_command -cifti-parcellate ' inputFile ' ' parcelCIFTIFile ' COLUMN ' parcelTSFilename ' -method MEAN'])

The output obtained is as:

While running:
wb_command -cifti-parcellate input.dtseries.nii CortexSubcortex_ColeAnticevic_NetPartition_wSubcorGSR_parcels_LR.dlabel.nii COLUMN Output_Atlas_CortSubcort.Parcels.LR.ptseries.nii -method MEAN

ERROR: input cifti files must have the same volume space

Can someone explain the error to me and the way to run the code. My input dtseries was obtained after processing using fmriprep.

Regards,

Shilpi Modi

using GSR atlas on functional data without GSR

Hi,

Firs of all, congratulations for such a wonderful atlas.

One question, is it OK to use the GSR version of your atlas, even if the functional data to which I will apply the atlas was not preprocessed including that step?

Thanks a lot in advance!

Using Cole Atlas parcels for extracting BOLD signal

Hi,

  • I have pre-processed my fMRI task data with fMRIPrep and obtained the output dtseries in cifti (fsLR) space.
  1. I visualised output dtseries in wb_view and it seems to be registered with the CortexSubcortex_ColeAnticevic_NetPartition_wSubcorGSR_parcels_LR.dlabel.nii

However, is there a way so that I know that my time series data is properly registered with the atlas and the signal extracted using the below code actually gives the values for corresponding parcels of the brain.

  • Thereafter, I used the LoadParcellatedDataMAtlab_Example.m to parcellate my dtseries and obtain BOLD signal from the language network parcels.
  1. The 120X36 matrix (120 dynamics and 36 language parcels (I have omitted one)) generated shows a high level of coherence between the BOLD signals from all the 36 parcels for the entire time series even for a task data. Is it expected or is an error?

Thanks and regards,

Shilpi Modi
LanguageParcels
tseriesMatSubj

Using LoadParcellatedDataInMatlab_Example.m

Dear Dr. Cole,

I am looking to apply the ColeAnticevic atlas to my data in order to run a parcellated task analysis. I preprocessed my fMRI data using fmriprep and obtain fmri dtseries in fsLR space.

Can I directly use LoadParcellatedDataInMatlab_Example.m on each subject by using the subject's dtseries as the input file? Is there an additional registration step to be used to make the ColeAnticevic atlas individualized?

Anatomical location of various parcels

  1. In the CortexSubcortex_ColeAnticevic_NetPartition_wSubcorGSR_parcels_LR_LabelKey.txt file, each label/ parcel of a particular network is assigned an index/key value. The hemisphere to which a parcel belongs and whether it’s a cortical/ sub-cortical parcel can be identified. However, is there a way to know exactly to which lobe of the cortex/ anatomical location, a particular parcel belongs.

  2. In the supplimentary table 1 of Glasser, 2016 a table with the description of Glasser cortical parcels is provided. Is the index/ key value same for Cole Parcels as well?

Thanks.

Shilpi Modi

Ordering of network labels

In the network_labelfile.txt file, it lists the 12 Cole-Anticevic Networks, but to clarify, does the list order correspond to the network number in increasing order that can be matched up using cortex_parcel_network_assignments.mat?

By this, I mean:

Visual1 - network 1
Visual2 - network 2
Somatomotor - network 3
Cingulo-Opercular - network 4
Language - network 5
Default - network 6
Frontoparietal - network 7
Auditory - network 8
Posterior-Multimodal - network 9
Dorsal-attention - network 10
Ventral-Multimodal - network 11
Orbito-Affective -network 12

Viewing only selected parcels

Hi,

I downloaded the atlas and am able to view various networks/ parcels using the workbench.

Is there a way to visualize only the parcels that we want and not the entire network/ all the 718 parcels.

Thanks.

Shilpi

Network mismatch in cortex_parcel_network_assignments.mat

In a previous issue, it was mentioned that the order in cortex_parcel_network_assignments.mat corresponded to the parcel order in Glasser parcellation, in which all the left parcels correspond to the first 180 indices and the right parcels correspond to the last 180 indices. Given that left and right parcels should belong to the same one out of 12 networks, there is a mismatch in networks assigned to a given left parcel and its corresponding right parcel in cortex_parcel_network_assignments.mat.

After loading cortex_parcel_network_assignments.mat into Matlab, I ran this command:
mismatch = []; mismatch(:, 1) = netassignments(1:180, 1); mismatch(:, 2) = netassignments(181:360, 1)

See attached mismatch.txt file, in which the first column corresponds to the 180 left parcels' network IDs and the second column corresponds to the 180 right parcels' network IDs .
mismatch.txt

For example, row 11 col. 1 corresponds to L_Premotor Eye Field and row 11 col. 2 corresponds to R_Premotor Eye Field, however, their network ID #s do not match (the left parcel was assigned to 5 (dorsal-attention) , whereas the right parcel was assigned to 4 (Cingulo-opercular)).

These inconsistencies in network IDs are also in rows 25, 28, 58, 62, 74, 81, 82, 93, 104, 128, 162, and 177.

Could you clarify this?

Discrepancy in subcortical labels for '*_parcels_LR.dlabel' file and 'data/*parcels_LR.dscalar file'

Hi, this a somewhat minor issue but the subcortical region labels are different for the 'CortexSubcortex_ColeAnticevic_NetPartition_wSubcorGSR_parcels_LR.dlabel.nii' file and the 'data/CortexSubcortex_ColeAnticevic_NetPartition_wSubcorGSR_parcels_LR.dscalar.nii.file', even though the documentation implies they should be the same. I think the numbering in the dscalar file is more sensible (it goes from 361-718, whereas dlabel goes from 1010-12170), so maybe the dlabel file should be switched to that scheme?

Possible to get the labelled cortical-subcortical MNI coordinates corresponding to the 12 networks?

Hello @jielisaji! Thank you so much for this data! :)
I am trying to get the [x,y,z] MNI coordinates corresponding to each of the 12 networks (so something like x,y,z, -> network 1) so I can plot it in a python diagram. May I ask if this dataset is available? If not, may I ask which are the nii cortical-subcortical images where the 12 networks are already labelled?

My friend and I have tried going through the files, the README, the humanconnectome site, and also tried running the LoadParcellatedDataInPython_Example script too but we're not too sure how we can go about getting the coordinates..

Thanks a lot for your time! >.<

Mapping from Glasser to Cole Anticevic

In the cortex_parcel_network_assignments.txt file, do the 360 rows correspond to the the exact same order in Glasser parcellation? Or is there a separate file or way to check if the parcel labels match up? I am trying to do a mapping between Glasser parcels and CAB to get the corresponding network labels.

Thanks!

Glasser to Cole Anticevic subcortical parcels

How can we map the Glasser parcels to the Cole Anticevic atlas for the subcortical parcels? In CortexSubcortex_ColeAnticevic_NetPartition_wSubcorGSR_parcels_LR_LabelKey.txt, I see that "NETWORKSORTEDORDER" corresponds to the Glasser parcels and "NETWORK" is the mapping to the Cole Anticevic networks, but after row #360 which should start with the subcortical parcels, it is unclear how what network each subcortical parcel corresponds to. It seems as though there are multiple network assignments for the L/R subcortical parcels?

For example, there is "Visual1-01_L-Accumbens"..and so forth for all of the subcortical parcels and then switches to "Somatomotor-01_R-Accumbens", etc.

parcelTSFilename

Hi,

I want to use the ColeAnticevicNetPartition in an fMRI study to study dynamic functional connectivity of various brain networks during task performance and rest.

  1. In LoadParcellatedDataInMatlab_Example.m what is

parcelTSFilename='Output_Atlas_CortSubcort.Parcels.LR.ptseries.nii';

Regards,

Shilpi Modi

How to get the parcel name of FCMat_sorted?

Hi all,

I have obtain the FCMat_sorted (718*718) by LoadParcellatedDataInPython_Example.py scripts. In the script, the FCMat was ordered by cortex_subcortex_community_order.txt. I notice there is another file CortexSubcortex_ColeAnticevic_NetPartition_wSubcorGSR_parcels_LR_LabelKey.txt that store the parcel informations. I'm not sure the first row in FCMat_sorted (first parcel in FCMat_sorted) corresponds to 1 of column NETWORKSORTEDORDER or 1 of column INDEX in *LabelKey.txt file.

Maybe my description is a little confusing, in other words, the value in cortex_subcortex_community_order.txt correspond to which column in *LabelKey.txt file? The NETWORKSORTEDORDER or INDEX?

Sorry I am a beginner in fMRI, the description may not be clear, if you have any questions, please reply and I will add it in time.

Weihan

Any volumetric version?

Hi! I am using your atlas and want to project the surface atlas back to volumetric space for neurosynth decoding. I know the subcortical ROIs are already in volumetric space but unsure what to do with the cortical parcels. Apologize if this is an easy question.
Thanks,
Oliver

Cortex only files (L/R hemispheres separate) appear to have flipped numbering

Hi @jielisaji ,

I noticed that a new set of separate cortical hemispheres were recently uploaded (maybe last 8 months or so):
ColeAnticevicNetPartition/SeparateHemispheres/Q1-Q6_RelatedValidation210.R.CorticalAreas_dil_Final_Final_Areas_Group_Colors.32k_fs_LR.dlabel.nii
and
ColeAnticevicNetPartition/SeparateHemispheres/Q1-Q6_RelatedValidation210.L.CorticalAreas_dil_Final_Final_Areas_Group_Colors.32k_fs_LR.dlabel.nii

I know there have been issues with L/R ordering in the past, which is why we have opted to deal with separate cortical hemispheres to preserve L -> R ordering from 1 -> 360. However, I noticed when opening each file separately, e.g.,

rh = nib.load('SeparateHemispheres/Q1-Q6_RelatedValidation210.R.CorticalAreas_dil_Final_Final_Areas_Group_Colors.32k_fs_LR.dlabel.nii').get_data()
lh = nib.load('SeparateHemispheres/Q1-Q6_RelatedValidation210.L.CorticalAreas_dil_Final_Final_Areas_Group_Colors.32k_fs_LR.dlabel.nii').get_data()

that
In [37]: print(np.unique(rh)) [ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180.]

and
In [36]: print(np.unique(lh)) [ 0. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360.]

Which seems the opposite of what I would expect. In the label txt file ('CortexSubcortex_ColeAnticevic_NetPartition_wSubcorGSR_parcels_LR_LabelKey.txt'), it shows LH regions should be numbered 1-180 and RH regions are 181-360. I wonder if this is due to the recently added files (e.g., the 'RelatedValidation' files)? (Or perhaps this was always the case?)

Thanks,
Taku

Mismatch between Glasser Parcels and Cole-Anticevic Communities

There seems to be a mismatch between the order of the Glasser parcels (all left hemisphere regions first - i.e. the first 180 correspond to left regions, the last 180 correspond to right regions) and those in cortex_community_order.mat and cortex_parcel_network_assignments.mat.
GlasserToColeAnticevicMapping.txt

See attached GlasserToColeAnticevicMapping.txt file, in which the Glasser parcels have been reordered in ascending order. For example, parcel #1 and #181 should correspond to the left primary visual cortex and right primary visual cortex, respectively, however, in the mat files you have provided, it shows that parcel #1 belongs to the Cole-Anticevic Network #1, while parcel #181 belongs to Cole-Anticevic Network #6. I believe the right and left hemisphere parcels should belong to the same network, correct?
Glasser2016-supplement-Neuroanatomical_Supplementary_Results.pdf

Starting on page 81 of the Neuroanatomical Supplementary Results from Glasser et. al. 2016, the order of the Glasser parcels are listed in the table. This is the order I am going off of when I refer to a mismatch between the mat files on Github and the Glasser parcels.

Could you provide some clarification on this?

Not valid .nii files?

Thanks for the parcellations, great work!

What files exactly are these?

CortexSubcortex_ColeAnticevic_NetPartition_wSubcorGSR_netassignments_LR.dlabel.nii 
CortexSubcortex_ColeAnticevic_NetPartition_wSubcorGSR_parcels_LR.dlabel.nii

Despite the extension, they do not appears to be valid NIfTi's.

Error message by load_nii.m:
"Error using load_nii_hdr (line 77)
File "CortexSubcortex_ColeAnticevic_NetPartition_wSubcorGSR_parcels_LR.dlabel.nii"
is corrupted."

Error message by MRIcron:
"Warning: the header file is not in NIfTi format [the first 4 bytes do not have the value 348]. Assuming big-endian data."

Seeking your advice of template

Dear ColeLab team

This is Woo Sung Kim, a Ph.D. student at Jeonbuk National University from Korea.
I have read your article "Mapping the human brain's cortical-subcortical functional network organization."
After reading your paper, I do have questions about the functional network parcellation mask.
I would be grateful if you can find time for me.

  • I want to discuss applying the cortical part of the network partition template used in the paper to my analysis.
    The tool that I currently use for functional connectivity analysis is CONN (https://web.conn-toolbox.org/), so I would like to apply the network partition template in CONN toolbox.
    'Data, software, and the network partition are available here: https:// github.com/ColeLab/ColeAnticevicNetPartition and https://doi.org/10. 5281/zenodo.1455791.'
    When I download the code and files through the address above and checked them, I couldn't find the network partition template.
    I want to discuss whether I should make and use the network partition template using the 'LoadParcellatedDataInMatlab_Example_cortexonly.m' code.

  • I understand subcortex template also assigned with 12 cortical networks. Is there any specific detail of the subcortex template, especially the thalamus? Like thalamus is also parcellated to 12 parts or the whole thalamus is included in some of the 12 cortical networks.

  • If you can provide the network partition template of the cortical part and subcortex (especially the thalamus) in the atlas (3D brain image; ~.nii.gz / ~.nii) format, then would you please provide it for me?

Thanks for your time and expertise in advance.

Best Wishes

Woo

Labels for separate hemispheres

Dear team,

I really enjoy your parcellation- thank you so much for this! As I would like to use it as ROIs for my tractography, I need to translate them to MNI space which is really hard using connectome workbench (that is suited for cortex data and does not recognize that the .surf.gii-files that you included contain the subcortex - there is an error message saying: "specified file and direction does not contain the requested surface structure 'CEREBELLUM'/BRAIN_STEM etc).

I tried to use the .nii.gz-files from the SeparateHemispheres folder, however the amount of regions is not exactly the same as in LR (left hemisphere: 213 regions, right: 180 regions), so I do not know how to label the regions. Could you provide me with the labels for these files? Thanks!

wb_command cifti-parcellate throws error: data file is missing voxel (49, 66, 28), which is used by label 'Orbito-Affective'

Hello,

I am attempting to parcellate MyelinMap.32k_fs_LR.dscalar.nii files based on your ColeAnticevic atlas using the following code: ${CARET7DIR}/wb_command -cifti-parcellate subjid.MyelinMap.32k_fs_LR.dscalar.nii /path_to_my_HCP_templates/CortexSubcortex_ColeAnticevic_NetPartition_wSubcorGSR_netassignments_LR.dlabel.nii COLUMN subjid.testing.pscalar.nii -method MEAN

I get the following error: "data file is missing voxel (49, 66, 28), which is used by label 'Orbito-Affective'"

Could this be related to only inputting a surface file and therefore not having any "voxels"? Is there a purely cortical dscalar file that I might have missed? Also, could you please point me to the corresponding .border file in order to get the correct labels for each region (i.e. using wb_command -border-export-color-table or the like).
Any help would be greatly appreciated!
Kind regards Linn

about FC Matrix obtained

Thanks for making this available, great work!

Is there the FC Matrixs with 3D coordinates of MNI space available?
Maybe just like:

x  y  z node_label node_size
-39.5807 -5.71401 51.108	1	1.000000	-
40.2365	-8.38623	52.3802	1	1.000000	-
-19.2128	34.7426	42.474	1	1.000000	-
20.9405	30.7998	43.9931	1	1.000000	-
-17.8767	47.25	-12.8836	1	1.000000	-
17.7395	47.6141	-13.6109	1	1.000000	-
-34.268	32.3246	35.7804	1	1.000000	-
36.5444	32.998	34.1722	1	1.000000	-
-31.9333	50.4556	-9.33333	1	1.000000	-
32.7245	52.3776	-10.5816	1	1.000000	-
-49.3067	13.1779	20.2178	1	1.000000	-
49.3539	14.8219	21.4632	1	1.000000

Each row represents a node information. For example, the (x, y, z) is the 3D coordinate of MNI space.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.