Welcome to the BIDS Starter Kit — BIDS starter kit (bids-standard.github.io)
1 BIDS的文件組織
1.1 文件夾
BIDS中將所有數(shù)據(jù)組織為四個層級:
project/
└── subject
└── session
└── datatype
- 工程(project) 最頂層的文件夾濒析,雖然可以為任意名稱绷旗,但是最好能夠體現(xiàn)出數(shù)據(jù)集的內(nèi)容
- 被試(subject)第二層文件夾珊佣,命名規(guī)則為
sub-<participant label>
,其中participant label
對于每個被試應(yīng)該有所不同 - 會話(session)第三層文件夾修档,命名規(guī)則為
ses-<session label>
,一個會話可以理解為一次記錄活動府框,在這個會話期間吱窝,受試者會待在掃描儀或頭盔中。如果在幾次不同的場合收集了同一個受試者的數(shù)據(jù)迫靖,那么就會產(chǎn)生多個會話院峡。如果每個受試者只有一次會話,那么這個層次結(jié)構(gòu)可以省略袜香。 - 數(shù)據(jù)類型(datatype)最后一層文件夾撕予,表示數(shù)據(jù)的類型,包括:
-
anat
: 解剖MRI數(shù)據(jù)蜈首,通常包含腦部結(jié)構(gòu)的詳細信息实抡,如T1加權(quán)欠母、T2加權(quán)、質(zhì)子密度等 -
func
: 功能MRI數(shù)據(jù) -
fmap
: 場映射數(shù)據(jù)吆寨,用于校正MRI圖像中的梯度場偏差赏淌。 -
dwi
: 擴散MRI數(shù)據(jù),提供有關(guān)大腦白質(zhì)中水分子的擴散方向和距離的信息 -
perf
: 動脈自旋標記(ASL)數(shù)據(jù)啄清,用于評估大腦血流量 -
eeg
: 腦電圖數(shù)據(jù)六水,記錄大腦皮層電活動 -
meg
: 腦磁圖數(shù)據(jù),記錄大腦皮層產(chǎn)生的磁場 -
ieeg
: 顱內(nèi)腦電圖數(shù)據(jù)辣卒,記錄大腦內(nèi)部區(qū)域的電活動 -
beh
: 行為數(shù)據(jù)掷贾,包括問卷調(diào)查、任務(wù)執(zhí)行結(jié)果等 -
pet
: 正電子發(fā)射斷層掃描(PET)數(shù)據(jù)荣茫,用于測量大腦中的代謝活動 -
micr
: 顯微鏡數(shù)據(jù)想帅,可能包括組織切片或細胞成像的數(shù)據(jù) -
nirs
: 近紅外光譜學(xué)數(shù)據(jù),用于測量大腦組織中的氧合血紅蛋白和脫氧血紅蛋白的濃度 -
motion
: 運動捕捉數(shù)據(jù)啡莉,記錄受試者在掃描過程中的頭部或身體運動
-
一個典型的BIDS文件目錄為:
ds001
├── dataset_description.json
├── participants.tsv
├── sub-01
│ ├── anat
│ │ ├── sub-01_inplaneT2.nii.gz
│ │ └── sub-01_T1w.nii.gz
│ └── func
│ ├── sub-01_task-balloonanalogrisktask_run-01_bold.nii.gz
│ ├── sub-01_task-balloonanalogrisktask_run-01_events.tsv
│ ├── sub-01_task-balloonanalogrisktask_run-02_bold.nii.gz
│ ├── sub-01_task-balloonanalogrisktask_run-02_events.tsv
│ ├── sub-01_task-balloonanalogrisktask_run-03_bold.nii.gz
│ └── sub-01_task-balloonanalogrisktask_run-03_events.tsv
├── sub-02
│ ├── anat
│ │ ├── sub-02_inplaneT2.nii.gz
│ │ └── sub-02_T1w.nii.gz
│ └── func
│ ├── sub-02_task-balloonanalogrisktask_run-01_bold.nii.gz
│ ├── sub-02_task-balloonanalogrisktask_run-01_events.tsv
│ ├── sub-02_task-balloonanalogrisktask_run-02_bold.nii.gz
│ ├── sub-02_task-balloonanalogrisktask_run-02_events.tsv
│ ├── sub-02_task-balloonanalogrisktask_run-03_bold.nii.gz
│ └── sub-02_task-balloonanalogrisktask_run-03_events.tsv
...
...
└── task-balloonanalogrisktask_bold.json
1.2 文件
BIDS中主要有三類文件港准,分別是:
- json文件
- tsv文件
- 原始數(shù)據(jù)文件
BIDS對于這些文件的明明有一些特定的要求:
- 不要在文件名中包含空格(很重要!_中馈G掣住)
- 只使用字母、數(shù)字魄咕、連字符和下劃線
- 不要依賴于字母大小寫區(qū)分文件名(因為
subj.nii.gz
和Subj.nii.gz
在某些操作系統(tǒng)下可能被認為是同一個文件) - 在整個項目中使用同一種命名法(駝峰命名法或蛇形命名法)
文件名模板
BIDS中的文件應(yīng)該采用如下模板進行命名:
![[Pasted image 20240620093700.png]]
- 用下劃線連接suffix進行說明衩椒,suffix表示數(shù)據(jù)類型(如anat、func蚕礼、eeg等)
- 實體由
<鍵>
-<值>
對組成烟具,鍵值對
之間以下劃線進行分割 - Keys, value和suffix只能包含字母和/或數(shù)字(沒太搞懂什么意思)
-
鍵值對
在文件名中必須以特定的順序出現(xiàn)。 - 某些實體的鍵值對只能用于派生數(shù)據(jù)奠蹬。
派生數(shù)據(jù)(Derivative Data)是指從原始數(shù)據(jù)(通常是神經(jīng)影像數(shù)據(jù))通過某種算法或處理流程得到的新的數(shù)據(jù)集朝聋。這些數(shù)據(jù)集通常是為了特定的分析目的而創(chuàng)建的,它們不是直接從掃描儀或其他數(shù)據(jù)采集設(shè)備獲得的原始數(shù)據(jù)囤躁。
在這里我只列出來冀痕,我可能需要的模板:
anat
: Anatomical MRI
sub-<label>/
[ses-<label>/]
anat/
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>][_echo-<index>][_part-<mag|phase|real|imag>][_chunk-<index>]_<suffix>.json
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>][_echo-<index>][_part-<mag|phase|real|imag>][_chunk-<index>]_<suffix>.nii[.gz]
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>][_chunk-<index>]_<suffix>.json
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>][_chunk-<index>]_<suffix>.nii[.gz]
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>][_mod-<label>][_chunk-<index>]_defacemask.json
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>][_mod-<label>][_chunk-<index>]_defacemask.nii[.gz]
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>]_echo-<index>[_part-<mag|phase|real|imag>][_chunk-<index>]_MEGRE.json
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>]_echo-<index>[_part-<mag|phase|real|imag>][_chunk-<index>]_MEGRE.nii[.gz]
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>]_echo-<index>[_part-<mag|phase|real|imag>][_chunk-<index>]_MESE.json
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>]_echo-<index>[_part-<mag|phase|real|imag>][_chunk-<index>]_MESE.nii[.gz]
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>][_echo-<index>]_flip-<index>[_part-<mag|phase|real|imag>][_chunk-<index>]_VFA.json
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>][_echo-<index>]_flip-<index>[_part-<mag|phase|real|imag>][_chunk-<index>]_VFA.nii[.gz]
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>]_inv-<index>[_part-<mag|phase|real|imag>][_chunk-<index>]_IRT1.json
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>]_inv-<index>[_part-<mag|phase|real|imag>][_chunk-<index>]_IRT1.nii[.gz]
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>][_echo-<index>][_flip-<index>]_inv-<index>[_part-<mag|phase|real|imag>][_chunk-<index>]_MP2RAGE.json
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>][_echo-<index>][_flip-<index>]_inv-<index>[_part-<mag|phase|real|imag>][_chunk-<index>]_MP2RAGE.nii[.gz]
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>][_echo-<index>]_flip-<index>_mt-<on|off>[_part-<mag|phase|real|imag>][_chunk-<index>]_MPM.json
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>][_echo-<index>]_flip-<index>_mt-<on|off>[_part-<mag|phase|real|imag>][_chunk-<index>]_MPM.nii[.gz]
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>][_echo-<index>]_flip-<index>_mt-<on|off>[_part-<mag|phase|real|imag>][_chunk-<index>]_MTS.json
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>][_echo-<index>]_flip-<index>_mt-<on|off>[_part-<mag|phase|real|imag>][_chunk-<index>]_MTS.nii[.gz]
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>]_mt-<on|off>[_part-<mag|phase|real|imag>][_chunk-<index>]_MTR.json
sub-<label>[_ses-<label>][_task-<label>][_acq-<label>][_ce-<label>][_rec-<label>][_run-<index>]_mt-<on|off>[_part-<mag|phase|real|imag>][_chunk-<index>]_MTR.nii[.gz]
func
: Functional MRI
sub-<label>/
[ses-<label>/]
func/
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_ce-<label>][_rec-<label>][_dir-<label>][_run-<index>][_echo-<index>][_part-<mag|phase|real|imag>][_chunk-<index>]_bold.json
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_ce-<label>][_rec-<label>][_dir-<label>][_run-<index>][_echo-<index>][_part-<mag|phase|real|imag>][_chunk-<index>]_bold.nii[.gz]
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_ce-<label>][_rec-<label>][_dir-<label>][_run-<index>][_echo-<index>][_part-<mag|phase|real|imag>][_chunk-<index>]_cbv.json
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_ce-<label>][_rec-<label>][_dir-<label>][_run-<index>][_echo-<index>][_part-<mag|phase|real|imag>][_chunk-<index>]_cbv.nii[.gz]
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_ce-<label>][_rec-<label>][_dir-<label>][_run-<index>][_echo-<index>][_part-<mag|phase|real|imag>][_chunk-<index>]_sbref.json
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_ce-<label>][_rec-<label>][_dir-<label>][_run-<index>][_echo-<index>][_part-<mag|phase|real|imag>][_chunk-<index>]_sbref.nii[.gz]
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_ce-<label>][_rec-<label>][_dir-<label>][_run-<index>][_mod-<label>][_echo-<index>][_part-<mag|phase|real|imag>][_chunk-<index>]_noRF.json
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_ce-<label>][_rec-<label>][_dir-<label>][_run-<index>][_mod-<label>][_echo-<index>][_part-<mag|phase|real|imag>][_chunk-<index>]_noRF.nii[.gz]
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_ce-<label>][_rec-<label>][_dir-<label>][_run-<index>][_echo-<index>][_chunk-<index>]_phase.json
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_ce-<label>][_rec-<label>][_dir-<label>][_run-<index>][_echo-<index>][_chunk-<index>]_phase.nii[.gz]
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_ce-<label>][_rec-<label>][_dir-<label>][_run-<index>]_events.json
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_ce-<label>][_rec-<label>][_dir-<label>][_run-<index>]_events.tsv
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_ce-<label>][_rec-<label>][_dir-<label>][_run-<index>][_recording-<label>]_physio.json
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_ce-<label>][_rec-<label>][_dir-<label>][_run-<index>][_recording-<label>]_physio.tsv.gz
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_ce-<label>][_rec-<label>][_dir-<label>][_run-<index>][_recording-<label>]_stim.json
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_ce-<label>][_rec-<label>][_dir-<label>][_run-<index>][_recording-<label>]_stim.tsv.gz
dwi
: Diffusion MRI
sub-<label>/
[ses-<label>/]
dwi/
sub-<label>[_ses-<label>][_acq-<label>][_rec-<label>][_dir-<label>][_run-<index>][_part-<mag|phase|real|imag>][_chunk-<index>]_dwi.bval
sub-<label>[_ses-<label>][_acq-<label>][_rec-<label>][_dir-<label>][_run-<index>][_part-<mag|phase|real|imag>][_chunk-<index>]_dwi.bvec
sub-<label>[_ses-<label>][_acq-<label>][_rec-<label>][_dir-<label>][_run-<index>][_part-<mag|phase|real|imag>][_chunk-<index>]_dwi.json
sub-<label>[_ses-<label>][_acq-<label>][_rec-<label>][_dir-<label>][_run-<index>][_part-<mag|phase|real|imag>][_chunk-<index>]_dwi.nii[.gz]
sub-<label>[_ses-<label>][_acq-<label>][_rec-<label>][_dir-<label>][_run-<index>][_part-<mag|phase|real|imag>][_chunk-<index>]_sbref.json
sub-<label>[_ses-<label>][_acq-<label>][_rec-<label>][_dir-<label>][_run-<index>][_part-<mag|phase|real|imag>][_chunk-<index>]_sbref.nii[.gz]
sub-<label>[_ses-<label>][_acq-<label>][_rec-<label>][_dir-<label>][_run-<index>][_chunk-<index>]_ADC.json
sub-<label>[_ses-<label>][_acq-<label>][_rec-<label>][_dir-<label>][_run-<index>][_chunk-<index>]_ADC.nii[.gz]
sub-<label>[_ses-<label>][_acq-<label>][_rec-<label>][_dir-<label>][_run-<index>][_chunk-<index>]_TRACE.json
sub-<label>[_ses-<label>][_acq-<label>][_rec-<label>][_dir-<label>][_run-<index>][_chunk-<index>]_TRACE.nii[.gz]
sub-<label>[_ses-<label>][_acq-<label>][_rec-<label>][_dir-<label>][_run-<index>][_recording-<label>]_physio.json
sub-<label>[_ses-<label>][_acq-<label>][_rec-<label>][_dir-<label>][_run-<index>][_recording-<label>]_physio.tsv.gz
sub-<label>[_ses-<label>][_acq-<label>][_rec-<label>][_dir-<label>][_run-<index>][_recording-<label>]_stim.json
sub-<label>[_ses-<label>][_acq-<label>][_rec-<label>][_dir-<label>][_run-<index>][_recording-<label>]_stim.tsv.gz
eeg
sub-<label>/
[ses-<label>/]
eeg/
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_run-<index>]_channels.json
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_run-<index>]_channels.tsv
sub-<label>[_ses-<label>][_acq-<label>][_space-<label>]_coordsystem.json
sub-<label>[_ses-<label>][_acq-<label>][_run-<index>][_space-<label>]_electrodes.json
sub-<label>[_ses-<label>][_acq-<label>][_run-<index>][_space-<label>]_electrodes.tsv
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_run-<index>]_eeg.<extension>
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_run-<index>]_eeg.json
sub-<label>[_ses-<label>][_acq-<label>]_photo.jpg
sub-<label>[_ses-<label>][_acq-<label>]_photo.png
sub-<label>[_ses-<label>][_acq-<label>]_photo.tif
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_run-<index>]_events.json
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_run-<index>]_events.tsv
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_run-<index>][_recording-<label>]_physio.json
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_run-<index>][_recording-<label>]_physio.tsv.gz
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_run-<index>][_recording-<label>]_stim.json
sub-<label>[_ses-<label>]_task-<label>[_acq-<label>][_run-<index>][_recording-<label>]_stim.tsv.gz
1.3 派生文件
所有符合規(guī)范的派生數(shù)據(jù)集都包含一個dataset_description.json
文件。其中狸演,新增了一些字段包括:
-
DatasetType
:用于區(qū)分“派生”數(shù)據(jù)集和“原始”數(shù)據(jù)集言蛇。 -
GeneratedBy
:一個過程列表,這些過程生成了數(shù)據(jù)宵距。 -
SourceDatasets
:生成派生數(shù)據(jù)時使用的數(shù)據(jù)集列表腊尚。
也許BIDS的使用并沒有那么復(fù)雜,這里有大量的BIDS轉(zhuǎn)換工具满哪,不過我還沒有使用婿斥,等以后有機會再說