ciftiTools | 用于讀取个初、寫入、可視化和操作CIFTI文件的R包

文章來源于微信公眾號(茗創(chuàng)科技)猴蹂,歡迎有興趣的朋友搜索關(guān)注院溺。

導(dǎo)讀

人類連接體項(xiàng)目引入的CIFTI 灰度文件格式進(jìn)一步推進(jìn)了基于灰度的分析,將來自左右半球皮層的灰質(zhì)數(shù)據(jù)與來自皮層下和小腦的灰質(zhì)數(shù)據(jù)合并成一個文件磅轻。在灰度空間中進(jìn)行的分析非常適合通過傳統(tǒng)的分析技術(shù)和更先進(jìn)的統(tǒng)計(jì)方法(包括貝葉斯方法)來利用大腦和被試之間共享的信息珍逸。R語言促進(jìn)了高級統(tǒng)計(jì)技術(shù)的使用,但以前幾乎沒有進(jìn)行灰度分析的R包聋溜。事實(shí)上谆膳,在任何語言中都很少有用于處理CIFTI文件的綜合編程工具。這里撮躁,研究者介紹了ciftiTools R包漱病,該包提供了一個用于讀取、寫入把曼、可視化和操作CIFTI文件和相關(guān)數(shù)據(jù)格式的統(tǒng)一環(huán)境杨帽。并舉例說明了ciftiTools操作,用于在R中處理灰質(zhì)和表層幾何數(shù)據(jù)嗤军,并描述了如何使用ciftiTools來推進(jìn)基于灰度的功能性MRI數(shù)據(jù)的統(tǒng)計(jì)分析睦尽。

前言

基于表層的磁共振(MR)數(shù)據(jù)分析由Freesurfer首創(chuàng),并由人類連接體項(xiàng)目(HCP)進(jìn)一步推廣型雳。采用基于表層的分析有很多原因当凡,包括改善整個皮層的可視化,緩解與體素平滑相關(guān)的問題纠俭,如降低靈敏度和特異性沿量,改進(jìn)被試間皮層折疊模式和功能區(qū)的對齊,以及降維冤荆。

最近朴则,基于表層的MR數(shù)據(jù)只存儲在不包含相關(guān)的大腦皮層下和小腦灰質(zhì)區(qū)域的數(shù)據(jù)格式中。例如钓简,GIFTI文件是一種表層格式乌妒,可以包含度量數(shù)據(jù)(如fMRI時間序列)、標(biāo)簽數(shù)據(jù)(如分割)或特定半球的表層幾何數(shù)據(jù)外邓。在分析中整合皮層下和/或小腦灰質(zhì)撤蚊,需要將表層數(shù)據(jù)與傳統(tǒng)NIFTI文件中存儲的體素數(shù)據(jù)配對。為了解決這一局限性损话,并推進(jìn)和促進(jìn)灰度MR數(shù)據(jù)的采用侦啸,這一術(shù)語是皮層槽唾、皮層下和小腦灰質(zhì)的統(tǒng)稱,HCP引入了CIFTI文件格式光涂。CIFTI是連接性信息技術(shù)倡議的首字母縮寫庞萍。(NIFTI中的N代表神經(jīng)科學(xué),GIFTI中的G代表幾何) CIFTI文件是一種NIFTI文件忘闻,它具有一個用于所有灰度數(shù)據(jù)的數(shù)字矩陣钝计,并帶有一個XML可擴(kuò)展標(biāo)記語言,其中包含關(guān)于數(shù)據(jù)大小和類型齐佳、列名和腦結(jié)構(gòu)標(biāo)簽信息葵蒂。這種組合格式為用戶提供了一種簡便的文件結(jié)構(gòu),可以對大腦的所有灰質(zhì)區(qū)域進(jìn)行分析重虑。

研究者介紹的ciftiTools R包提供了一個用戶友好的高級界面,可用于訪問CIFTI和分析GIFTI數(shù)據(jù)秦士。ciftiTools是一套用于讀取缺厉、寫入、可視化隧土、處理和操作CIFTI數(shù)據(jù)提针,以及兼容表層幾何圖形的工具(圖1)。支持三種CIFTI文件類型:dtseries(用于時間序列數(shù)據(jù))曹傀、dscalar(用于結(jié)構(gòu)辐脖、連續(xù)值數(shù)據(jù))和dlabel(用于分組、標(biāo)簽或分類數(shù)據(jù))皆愉。還支持GIFTI度量數(shù)據(jù)嗜价,以便更廣泛地應(yīng)用于基于表層的分析。研究者引入了對象類型“xifti”幕庐,指的是度量或標(biāo)簽數(shù)據(jù)與GIFTI表層幾何文件中編碼的表層幾何的組合久锥。這有助于表層數(shù)據(jù)的可視化、處理和分析异剥。

圖1.ciftiTools功能概括瑟由。

xifti對象類型

圖2說明了“xifti”的結(jié)構(gòu)。第一層有三個部分:data冤寿,表示每個大腦結(jié)構(gòu)的數(shù)據(jù)矩陣歹苦;Surf,表示左右皮層表面幾何圖形督怜;meta殴瘦,表示各種元數(shù)據(jù)包括內(nèi)側(cè)壁掩膜(mask)、皮層下標(biāo)簽和掩膜号杠,以及CIFTI特定信息痴施。因?yàn)椤皒ifti”是一個列表,其內(nèi)容可以用解析。例如辣吃,xiimetaciftiintent表示返回“xifti”對象xii的CIFTI intent动遭。

圖2.“xifti”的結(jié)構(gòu)。

左右皮層表面幾何圖形本身就是“surf”類的對象神得±宓耄“surf”對象是一個包含三個條目的列表:vertices,faces和hemisphere哩簿∠叮“surf”對象也可以與任何“xifti”對象分開存在,允許在沒有度量或標(biāo)簽數(shù)據(jù)的情況下直接可視化节榜、重采樣和操作表層幾何數(shù)據(jù)羡玛。

is.xifti這個函數(shù)可以用來驗(yàn)證R對象是否是一個正確格式的“xifti”對象。在ciftiTools中實(shí)現(xiàn)了幾種S3方法宗苍。S3方法在應(yīng)用于特定類的對象時控制某些基R函數(shù)的行為稼稿。目前,“xifti”對象有用于summary讳窟,print让歼,plot和一些數(shù)學(xué)操作的S3方法。

讀取和寫入

圖1A顯示了ciftiTools函數(shù)read_xifti如何將CIFTI數(shù)據(jù)作為“xifti”對象導(dǎo)入R中丽啡。read_xifti還可以導(dǎo)入GIFTI表層幾何數(shù)據(jù)和CIFTI數(shù)據(jù)谋右。當(dāng)“xifti”用write_xifti寫入時,數(shù)據(jù)流是反向的补箍。

as.xifti和read_xifti2兩個函數(shù)提供了構(gòu)造“Xifti”對象的替代方法改执。as.xifti從R數(shù)據(jù)矩陣創(chuàng)建一個“xifti”,而不是CIFTI文件坑雅,允許用戶存儲可能不是來自真實(shí)神經(jīng)影像的灰度數(shù)據(jù)天梧。例如,用as.xifti的用戶可以使用R中一些功能強(qiáng)大的仿真工具來模擬數(shù)據(jù)霞丧,然后將數(shù)據(jù)格式化為“xifti”灰度數(shù)據(jù)呢岗。然后,這個“xifti”可以用ciftiTools進(jìn)行分析蛹尝,或者可以用R之外的方法和軟件將它編寫到CIFTI文件進(jìn)行分析或可視化后豫。read_xifti2從GIFTI度量或標(biāo)簽文件創(chuàng)建一個“xifti”,而不是使用CIFTI文件突那,其靈活性更大挫酿。

與讀寫相關(guān)的其他函數(shù)包括separate_xifti,它將CIFTI文件分割為GIFTI度量或標(biāo)簽文件(用于皮質(zhì)數(shù)據(jù))和NIFTI文件(用于皮質(zhì)下數(shù)據(jù))愕难,info_xifti只讀取CIFTI文件的元數(shù)據(jù)早龟。write_xifti2的操作與read_xifti2相反:它將帶有表層數(shù)據(jù)的“xifti”寫入GIFTI度量或標(biāo)簽文件惫霸。

還可以使用saveRDS將“xifti”對象寫入RDS數(shù)據(jù)文件,并使用readRDS讀取葱弟,這兩個都是基本的R函數(shù)壹店。但RDS文件通常不與MATLAB或Python等其他編程平臺兼容。對跨平臺兼容性感興趣的用戶應(yīng)該使用write_xifti來生成CIFTI和GIFTI表層幾何文件芝加,以便后續(xù)在MATLAB硅卢、Python或其他工具中使用。

可視化

圖1B說明了如何使用view_xifti將“xifti”對象中的灰度數(shù)據(jù)可視化藏杖。同樣将塑,通用的R函數(shù)plot也可以應(yīng)用于“xifti”對象,因?yàn)関iew_xifti是“xifti”對象的plot S3方法蝌麸。view_xifti將用view_xifti_surface繪制皮層數(shù)據(jù)点寥,用view_xifti_volume繪制皮層下數(shù)據(jù)。如果“xifti”對象包含皮層和皮層下數(shù)據(jù)来吩,這兩個繪圖將共享相同的色階敢辩、調(diào)色板和色階范圍。view_xifti_surface和view_xifti_volume也可以直接調(diào)用误褪。

view_xifti_surface函數(shù)使用rgl包生成皮層表面數(shù)據(jù)的3D渲染。如果使用view_xifti_surface創(chuàng)建了交互式圖形碾褂,用戶可以單擊和拖動以旋轉(zhuǎn)曲面兽间,并滾動以調(diào)整其大小。交互式繪圖通常會在OpenGL窗口中打開正塌,但在某些特定情況下也可以在HTML中打開嘀略。

view_xifti_volume函數(shù)默認(rèn)生成覆蓋在2mm MNI結(jié)構(gòu)模板上的皮層下和小腦數(shù)據(jù)的2D切片圖。該函數(shù)具有與view_xifti_surface相同的參數(shù)乓诽,用于控制測量值的繪制和文件存儲等帜羊。非交互式繪圖基于來自oro.nifti包的overlay函數(shù),還有與view_xifti_surface相同的色階類型鸠天、調(diào)色板和色階范圍的參數(shù)讼育。還包括控制顯示的解剖平面和切片指數(shù)的參數(shù)。交互圖是 papayar包的同名函數(shù)包裝器稠集,允許用戶沿著每個解剖軸滾動切片奶段,并讀取每個體素的值“祝可以在GUI中調(diào)整色階痹籍、調(diào)色板和色階范圍』扌可以將非交互式圖形導(dǎo)出為PNG文件蹲缠,然后嵌入到R Markdown文檔中棺克。

"surf"也可以使用函數(shù)view_surf獨(dú)立于任何"xifti"數(shù)據(jù)進(jìn)行可視化∠叨ǎ“surf”對象的plot S3方法是view_surf的別名娜谊。與view_xifti_surface一樣,view_surf基于rgl包渔肩,并包含參數(shù)來控制視圖顯示因俐。

ciftiTools還包括view_comp函數(shù),以幫助用戶一次顯示多個PNG文件周偎。view_comp可用于顯示網(wǎng)格中多個列或“xifti”對象的數(shù)據(jù)抹剩,或并排顯示相應(yīng)的皮層和皮層下圖形。

Processing

Connectome Workbench是一套用于神經(jīng)成像數(shù)據(jù)的開源軟件工具蓉坎,專為HCP數(shù)據(jù)設(shè)計(jì)澳眷。它包括許多命令行工具,可以對CIFTI文件和其他數(shù)據(jù)格式進(jìn)行操作蛉艾。ciftiTools包為一些Workbench命令提供了一個方便的接口钳踊,包括兩種常見的處理操作,即重采樣和平滑勿侯,如圖1C所示拓瞪。“xifti”對象和CIFTI文件都可以直接使用ciftiTools重采樣和平滑助琐。

要使用resample_xifti重采樣皮層數(shù)據(jù)祭埂,用戶只需提供“xifti”對象或CIFTI文件的路徑,以及每個半球指定的頂點(diǎn)的目標(biāo)分辨率兵钮。注意蛆橡,重采樣后的確切頂點(diǎn)數(shù)可能會與目標(biāo)分辨率略有不同,這是由于進(jìn)行重采樣的球面映射過程掘譬。另外泰演,請注意,皮層下和小腦從未被重采樣葱轩。如果表層包含在“xifti”對象中或被用戶指定為GIFTI文件睦焕,它們將與CIFTI數(shù)據(jù)矩陣一起被重采樣到相同的目標(biāo)分辨率。也可以用resample_gifti函數(shù)和resample_surf函數(shù)分別對GIFTI文件和“surf”對象進(jìn)行重采樣度量靴拱、標(biāo)簽和表層幾何圖形复亏。

平滑可以沿著皮層表面進(jìn)行幾何平滑,也可以使用smooth_cifti函數(shù)對皮層下和小腦數(shù)據(jù)進(jìn)行體素平滑缭嫡。用戶只需提供一個“xifti”對象或CIFTI文件的路徑和平滑內(nèi)核的半寬度(FWHM)缔御。

resample_xifti和smooth_xifti需要考慮的一個問題是,它們處理CIFTI文件的速度要比等效的“xifti”對象快妇蛀。這是因?yàn)镃onnectome Workbench命令對CIFTI文件進(jìn)行操作耕突,所以在兩個對xifti對象進(jìn)行操作的函數(shù)的后臺笤成,必須將該對象寫入CIFTI文件,重采樣或平滑眷茁,然后再讀入炕泳。對于具有一個或幾個測量值的CIFTI數(shù)據(jù),編寫“xifti”對象非成掀恚快培遵,但是對于具有許多測量值的高分辨率CIFTI,例如fMRI時間序列數(shù)據(jù)登刺,編寫“xifti”對象可能會很慢籽腕。因此,在后一種情況下纸俭,如果可能的話皇耗,在讀取CIFTI文件之前直接重采樣或平滑會更有效。

數(shù)學(xué)和操作

如圖1D所示揍很,ciftiTools提供了幾個方便的函數(shù)來修改“xifti”對象郎楼,同時保留有效的“xifti”對象結(jié)構(gòu)。這分為兩類:操縱和數(shù)學(xué)窒悔。Manipulation函數(shù)顯式地更改一個或多個“xifti”對象呜袁。包括添加或刪除大腦結(jié)構(gòu)的函數(shù),數(shù)據(jù)矩陣的子集或與其他數(shù)據(jù)結(jié)合等简珠。Manipulation函數(shù)減少了用戶手動編輯“xifti”對象中的單個大腦結(jié)構(gòu)條目的需要阶界,同時確保適當(dāng)更新元數(shù)據(jù)以保留有效的“xifti”格式。Math函數(shù)僅對一個或多個“xifti”對象的數(shù)據(jù)矩陣執(zhí)行數(shù)學(xué)運(yùn)算北救,例如算術(shù)和單變量轉(zhuǎn)換荐操。這些基本R函數(shù)可以直接應(yīng)用于“xifti”對象芜抒。為了對“xifti”對象執(zhí)行更高級的數(shù)學(xué)操作或分析珍策,建議用戶使用as.matrix提取數(shù)據(jù)矩陣,然后使用newdata_xifti函數(shù)更新“xifti”對象的數(shù)據(jù)矩陣宅倒。不過攘宙,ciftiTools中包含的操作和數(shù)學(xué)函數(shù)允許用戶方便地使用CIFTI數(shù)據(jù),并使用簡潔的代碼拐迁,同時為用戶提供構(gòu)建塊蹭劈,以創(chuàng)建更復(fù)雜的、特定于用戶需要的處理過程线召。

示****例

研究者通過一個簡單的示例分析來說明ciftiTools的一些功能铺韧,該示例分析了來自HCP的靜息態(tài)fMRI (rfMRI)掃描的計(jì)算和可視化種子相關(guān)性,該HCP已經(jīng)用ICA-FIX進(jìn)行了預(yù)處理缓淹。種子點(diǎn)是后扣帶皮層(PCC)哈打,是默認(rèn)模式網(wǎng)絡(luò)(DMN)的高度連接節(jié)點(diǎn)塔逃。研究者使用Schaefer等人(2018)創(chuàng)建的功能分割來定義PCC和其他腦區(qū)。分析過程分為四個步驟:(1)讀取和平滑fMRI數(shù)據(jù)料仗;(2)讀取分割部分?jǐn)?shù)據(jù)湾盗;(3)計(jì)算種子相關(guān)性;(4)可視化和保存結(jié)果立轧。

讀取并平滑fMRI數(shù)據(jù)

首先加載ciftiTools并設(shè)置路徑于Connectome Workbench文件夾下格粪。

library(ciftiTools)

************************************************

ciftiTools requires the path to the Connectome Workbench folder,

or directly to wb_command(.exe). Please execute the command

ciftiTools.setOption('wb_path', 'path/to/workbench')

If you do not have the Connectome Workbench, install it here:

humanconnectome.org/software/get-connectome-workbench

************************************************

ciftiTools.setOption("wb_path", "workbench")

Using this Workbench path: 'workbench/bin_windows64/wb_command.exe'.

使用read_xifti讀取包含靜息態(tài)fMRI (rfMRI)數(shù)據(jù)的CIFTI文件。默認(rèn)情況下氛改,只有左和右皮層會被讀日饰:設(shè)置brainstructures = "all"也可以讀取皮層下數(shù)據(jù)。為簡便起見平窘,研究者在示例分析中不包括皮層下數(shù)據(jù)吓肋,感興趣的小伙伴可以參見補(bǔ)充材料。

xii <- read_xifti("Data/rfMRI_FIX.dtseries.nii")

xii將CIFTI數(shù)據(jù)存儲為“xifti”對象瑰艘。summary或者調(diào)用print S3方法是鬼,可以概覽內(nèi)容:

xii

====CIFTI METADATA===================

Intent: 3002 (dtseries)

- time step 0.72 (seconds)

- time start 0

Measurements: 1200 columns

====BRAIN STRUCTURES=================

- left cortex 29696 data vertices

2796 medial wall vertices (32492 total)

- right cortex 29716 data vertices

2776 medial wall vertices (32492 total)

S3方法as.matrix 將以矩陣形式返回時間序列數(shù)據(jù),行(位置:頂點(diǎn)或體素)和列(測量值:時間點(diǎn))紫新。像dim這樣的函數(shù)均蜜,強(qiáng)制輸入到數(shù)據(jù)矩陣中的代碼如下:

dim(xii)

[1] 59412 1200

用使用高斯平滑器的smooth_xifti函數(shù)對數(shù)據(jù)進(jìn)行空間平滑處理。這里使用默認(rèn)的5毫米FWHM寬度芒率,但是使用smooth_xifti函數(shù)的surf_FWHM參數(shù)也可以實(shí)現(xiàn)其他平滑囤耳。平滑原始CIFTI文件,然后讀取它偶芍,而不是平滑xii充择,后者會慢一些。

smooth_xifti("Data/rfMRI_FIX.dtseries.nii", "Data/rfMRI_FIX_sm.dtseries.nii")
xii_sm <- read_xifti("Data/rfMRI_FIX_sm.dtseries.nii")

畫出xii和xii_sm的第一列來了解數(shù)據(jù)規(guī)模匪蟀、范圍和平滑效果椎麦。plot將通過調(diào)用view_xifti_surface創(chuàng)建皮層數(shù)據(jù)的3D可視化。這里將分別繪制每個“xifti”材彪,將兩個圖保存為PNG文件观挎,然后將PNG文件與view_comp組合在一起。

plot(xii, title="Original", fname="Plots/rfMRI.png")

zlim not provided: using color range 0 - 13500 (data limits: 1160 - 17000).

plot(xii_sm, title="Smoothed", fname="Plots/rfMRI_sm.png")

zlim not provided: using color range 0 - 13300 (data limits: 2600 - 15100).

(ref:my-caption)使用smooth_xifti平滑前后的fMRI體素段化。

view_comp(c("Plots/rfMRI.png", "Plots/rfMRI_sm.png"), ncol=2)
圖3.(ref:my-caption)

色階范圍是根據(jù)數(shù)據(jù)自動確定的嘁捷,顏色接近,但是右邊的數(shù)據(jù)顯然更平滑显熏。

分割部分的讀取

首先進(jìn)行加載雄嚣。為了方便起見,ciftiTools包含了一些常用的分割喘蟆,可以使用load_parc讀取缓升。在這里夷磕,研究者使用了Schaefer分割為400個部分。其他CIFTI或GIFTI格式的分割可分別使用read_xifti或read_xifti2讀取仔沿。

parc <- load_parc("Schaefer_400")

同樣坐桩,可以通過使用summary來獲得“xifti”對象parc的概覽。

parc

====CIFTI METADATA===================

Intent: 3007 (dlabel)

- names "parcels"

Measurements: 1 column

====BRAIN STRUCTURES=================

- left cortex 32492 data vertices

- right cortex 32492 data vertices

分別可視化parcel 14封锉,它與PCC非常接近绵跷。使用transform_xifti創(chuàng)建一個只包含該parcel的掩膜。結(jié)果如圖4所示成福。

plot(parc, borders="black", title="Schaefer 400",fname="Plots/parc.png")

parc_PCC <- transform_xifti(parc, function(x){ ifelse(x == 14, 14, 0) })
plot(parc_PCC, borders="black", title="Parcel 14 (PCC)", fname="Plots/pPCC.png")
view_comp(c("Plots/parc.png", "Plots/pPCC.png"), ncol=2)
圖4.Schaefer分割和PCC碾局。

計(jì)算種子的相關(guān)性

現(xiàn)在有了平滑的rfMRI數(shù)據(jù)和分割,接下來可以計(jì)算種子相關(guān)性奴艾。從每個parcel的平均時間序列開始净当。直接使用parcel數(shù)據(jù)比使用parc“xifti”對象更容易。因此蕴潦,從將分割轉(zhuǎn)化為向量開始像啼,然后將xii_sm中的內(nèi)側(cè)壁頂點(diǎn)替換為NA數(shù)值,這樣分割向量的長度parc_vec將匹配xii_sm中皮層數(shù)據(jù)頂點(diǎn)的數(shù)量潭苞。

parc_vec <- c(as.matrix(parc))
length(parc_vec)

[1] 64984

xii_sm <- move_from_mwall(xii_sm, NA)
dim(xii_sm)

[1] 64984 1200

現(xiàn)在忽冻,對于每個parcel,將獲得其組成頂點(diǎn)的平均時間序列此疹。具體來說僧诚,預(yù)先分配一個矩陣xii_pmean,然后對于每個parcel蝗碎,將獲得其所有頂點(diǎn)的fMRI時間序列湖笨,在忽略內(nèi)側(cè)壁值的情況下,取整個空間的平均值蹦骑,然后將產(chǎn)生的時間序列保存為xii_pmean行慈省。

xii_mat <- as.matrix(xii_sm)
xii_pmean <- matrix(nrow=400, ncol=ncol(xii_mat))
for (p in 1:400) {
data_p <- xii_mat[parc_vec==p,]
xii_pmean[p, ] <- colMeans(data_p, na.rm=TRUE)
}

然后計(jì)算PCC parcel與其他parcel之間的種子相關(guān)性:

seed_cor <- cor(t(xii_pmean))[,14]

可視化和保存結(jié)果

使用newdata_xifti創(chuàng)建一個新的“xifti”來可視化結(jié)果。首先脊串,將parc_vec轉(zhuǎn)換為xii_seed辫呻。然后清钥,使用select_xifti初始化一列的“xifti”琼锋,并使用newdata_xifti將其數(shù)據(jù)替換為xii_seed。

xii_seed <- c(NA, seed_cor)[parc_vec + 1]
xii1 <- select_xifti(xii_sm, 1)
xii_seed <- newdata_xifti(xii1, xii_seed)

現(xiàn)在祟昭,再次使用“xifti”S3方法繪圖缕坎。兩次使用它來演示view_xifti自動選擇適當(dāng)?shù)膠lim的能力(圖5)。

plot(xii_seed, zlim=c(-1, 1), title="Set zlim", fname="Plots/seed.png")
plot(xii_seed, title="Auto zlim", fname="Plots/seed2.png")

zlim not provided: using color range -0.345 - 0.345 (data limits: -0.374 - 1).

view_comp(c("Plots/seed.png", "Plots/seed2.png"), ncol=2)
圖5.PCC種子相關(guān)篡悟。

正如預(yù)期的那樣谜叹,研究者發(fā)現(xiàn)大多數(shù)種子相關(guān)值為正或接近于零匾寝,種子相關(guān)最高的腦區(qū)是DMN的組成部分。

最后荷腊,使用write_xifti保存分析結(jié)果艳悔。將數(shù)據(jù)寫入一個“dscalar” CIFTI,因?yàn)樗炔槐硎緯r間序列(“dtseries”) 女仰,也不表示類別/標(biāo)簽數(shù)據(jù)(“dlabel”)猜年。

write_xifti(xii_seed, "Data/PCC_seedCor.dscalar.nii")

Writing left cortex.

Writing right cortex.

Creating CIFTI file from separated components.

file.exists("Data/PCC_seedCor.dscalar.nii")

[1] TRUE

其他R包

ciftiTools依賴于其他幾個R包來處理GIFTI和NIFTI格式的數(shù)據(jù)。具體來說疾忍,gifti包支持讀取乔外、寫入和解析GIFTI文件。RNifti包支持讀寫NIFTI文件一罩,特別是從CIFTI文件中分離出來的皮層下數(shù)據(jù)杨幼。皮層可視化基于rgl包。皮層下可視化是基于繪制靜態(tài)圖的oro.nifti包和用于交互圖繪制的papayar包聂渊。這些包的依賴關(guān)系列表可在DESCRIPTION文件中找到差购。

同時,研究者詳細(xì)地描述了cifti R汉嗽、gifti R歹撒、freesurferformat、fsbrain R诊胞、ggseg暖夭、ggseg3d、ggsegExtra R包撵孤,并將這些包的功能與ciftiTools的功能進(jìn)行了比較迈着,這里就不贅述了。

在其他編程環(huán)境中使用CIFTI文件

Python和MATLAB編程語言開發(fā)了一些工具邪码,為CIFTI處理裕菠、分析和可視化提供不同級別的支持。如Python:ciftify闭专、NiBabel奴潘。MATLAB:cifti-matlab。

總結(jié)

本文中介紹的ciftiTools是一個用于讀取影钉、寫入画髓、可視化和操作CIFTI和GIFTI文件的R包。ciftiTools的穩(wěn)定版本可以在以下網(wǎng)址獲得:

CRAN:

https://cran.r-project.org/web/packages/ciftiTools/index.html

GitHub:

https://github.com/mandymejia/ciftiTools/

原文:ciftiTools: A package for reading, writing, visualizing, and manipulating CIFTI files in R.

https://doi.org/10.1016/j.neuroimage.2022.118877

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末平委,一起剝皮案震驚了整個濱河市奈虾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖肉微,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件匾鸥,死亡現(xiàn)場離奇詭異,居然都是意外死亡碉纳,警方通過查閱死者的電腦和手機(jī)勿负,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來劳曹,“玉大人笆环,你說我怎么就攤上這事『裾撸” “怎么了躁劣?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長库菲。 經(jīng)常有香客問我账忘,道長,這世上最難降的妖魔是什么熙宇? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任鳖擒,我火速辦了婚禮,結(jié)果婚禮上烫止,老公的妹妹穿的比我還像新娘蒋荚。我一直安慰自己,他們只是感情好馆蠕,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布期升。 她就那樣靜靜地躺著,像睡著了一般互躬。 火紅的嫁衣襯著肌膚如雪播赁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天吼渡,我揣著相機(jī)與錄音容为,去河邊找鬼。 笑死寺酪,一個胖子當(dāng)著我的面吹牛坎背,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播寄雀,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼得滤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了咙俩?” 一聲冷哼從身側(cè)響起耿戚,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎阿趁,沒想到半個月后膜蛔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡脖阵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年皂股,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片命黔。...
    茶點(diǎn)故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡呜呐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出悍募,到底是詐尸還是另有隱情蘑辑,我是刑警寧澤,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布坠宴,位于F島的核電站洋魂,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏喜鼓。R本人自食惡果不足惜副砍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望庄岖。 院中可真熱鬧豁翎,春花似錦、人聲如沸隅忿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽背桐。三九已至刘陶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間牢撼,已是汗流浹背匙隔。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留熏版,地道東北人纷责。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像撼短,于是被迫代替她去往敵國和親再膳。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內(nèi)容