forked from Chinaduanyun/fMRI_pipeline_python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
816 lines (747 loc) · 35.8 KB
/
index.html
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
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
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
<!doctype html>
<html>
<head>
<title>基于Python的fMRI数据分析pipeline</title>
<meta charset='utf-8'/>
<style>
body {
font-family: Arial, sans-serif;
line-height: 1.6;
margin: 0;
padding: 0;
background-color: #f9f9f9;
color: #333;
padding: 0 17%; /* 增加左右间隙 */
}
header, main, footer {
padding: 20px;
}
header {
background-color: #4CAF50;
color: white;
text-align: center;
}
main {
max-width: 800px;
margin: 0 auto;
padding: 20px;
background-color: #fff; /* 增加背景色以区分内容和间隙 */
border-radius: 8px; /* 可选:增加圆角 */
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* 可选:增加阴影 */
}
h1, h2, h3 {
color: #000000;
}
ul, ol {
padding-left: 20px;
}
table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
pre {
background-color: #f2f2f2;
padding: 10px;
border-radius: 5px;
overflow-x: auto;
}
code {
background-color: #f2f2f2;
padding: 2px 4px;
border-radius: 3px;
}
.copy-code-button {
background-color: #4CAF50;
color: white;
border: none;
padding: 5px 10px;
cursor: pointer;
border-radius: 3px;
margin-left: 10px;
}
.copy-code-button:hover {
background-color: #45a049;
}
.ͼ1.cm-focused {outline: 1px dotted #212121;}
.ͼ1 {position: relative !important; box-sizing: border-box; display: flex !important; flex-direction: column;}
.ͼ1 .cm-scroller {display: flex !important; align-items: flex-start !important; font-family: monospace; line-height: 1.4; height: 100%; overflow-x: auto; position: relative; z-index: 0;}
.ͼ1 .cm-content[contenteditable=true] {-webkit-user-modify: read-write-plaintext-only;}
.ͼ1 .cm-content {margin: 0; flex-grow: 2; flex-shrink: 0; display: block; white-space: pre; word-wrap: normal; box-sizing: border-box; min-height: 100%; padding: 4px 0; outline: none;}
.ͼ1 .cm-lineWrapping {white-space: pre-wrap; white-space: break-spaces; word-break: break-word; overflow-wrap: anywhere; flex-shrink: 1;}
.ͼ2 .cm-content {caret-color: black;}
.ͼ3 .cm-content {caret-color: white;}
.ͼ1 .cm-line {display: block; padding: 0 2px 0 6px;}
.ͼ1 .cm-layer > * {position: absolute;}
.ͼ1 .cm-layer {position: absolute; left: 0; top: 0; contain: size style;}
.ͼ2 .cm-selectionBackground {background: #d9d9d9;}
.ͼ3 .cm-selectionBackground {background: #222;}
.ͼ2.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground {background: #d7d4f0;}
.ͼ3.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground {background: #233;}
.ͼ1 .cm-cursorLayer {pointer-events: none;}
.ͼ1.cm-focused > .cm-scroller > .cm-cursorLayer {animation: steps(1) cm-blink 1.2s infinite;}
@keyframes cm-blink {50% {opacity: 0;}}
@keyframes cm-blink2 {50% {opacity: 0;}}
.ͼ1 .cm-cursor, .ͼ1 .cm-dropCursor {border-left: 1.2px solid black; margin-left: -0.6px; pointer-events: none;}
.ͼ1 .cm-cursor {display: none;}
.ͼ3 .cm-cursor {border-left-color: #444;}
.ͼ1 .cm-dropCursor {position: absolute;}
.ͼ1.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor {display: block;}
.ͼ1 .cm-iso {unicode-bidi: isolate;}
.ͼ1 .cm-announced {position: fixed; top: -10000px;}
@media print {.ͼ1 .cm-announced {display: none;}}
.ͼ2 .cm-activeLine {background-color: #cceeff44;}
.ͼ3 .cm-activeLine {background-color: #99eeff33;}
.ͼ2 .cm-specialChar {color: red;}
.ͼ3 .cm-specialChar {color: #f78;}
.ͼ1 .cm-gutters {flex-shrink: 0; display: flex; height: 100%; box-sizing: border-box; inset-inline-start: 0; z-index: 200;}
.ͼ2 .cm-gutters {background-color: #f5f5f5; color: #6c6c6c; border-right: 1px solid #ddd;}
.ͼ3 .cm-gutters {background-color: #333338; color: #ccc;}
.ͼ1 .cm-gutter {display: flex !important; flex-direction: column; flex-shrink: 0; box-sizing: border-box; min-height: 100%; overflow: hidden;}
.ͼ1 .cm-gutterElement {box-sizing: border-box;}
.ͼ1 .cm-lineNumbers .cm-gutterElement {padding: 0 3px 0 5px; min-width: 20px; text-align: right; white-space: nowrap;}
.ͼ2 .cm-activeLineGutter {background-color: #e2f2ff;}
.ͼ3 .cm-activeLineGutter {background-color: #222227;}
.ͼ1 .cm-panels {box-sizing: border-box; position: sticky; left: 0; right: 0;}
.ͼ2 .cm-panels {background-color: #f5f5f5; color: black;}
.ͼ2 .cm-panels-top {border-bottom: 1px solid #ddd;}
.ͼ2 .cm-panels-bottom {border-top: 1px solid #ddd;}
.ͼ3 .cm-panels {background-color: #333338; color: white;}
.ͼ1 .cm-tab {display: inline-block; overflow: hidden; vertical-align: bottom;}
.ͼ1 .cm-widgetBuffer {vertical-align: text-top; height: 1em; width: 0; display: inline;}
.ͼ1 .cm-placeholder {color: #888; display: inline-block; vertical-align: top;}
.ͼ1 .cm-highlightSpace:before {content: attr(data-display); position: absolute; pointer-events: none; color: #888;}
.ͼ1 .cm-highlightTab {background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>'); background-size: auto 100%; background-position: right 90%; background-repeat: no-repeat;}
.ͼ1 .cm-trailingSpace {background-color: #ff332255;}
.ͼ1 .cm-button {vertical-align: middle; color: inherit; font-size: 70%; padding: .2em 1em; border-radius: 1px;}
.ͼ2 .cm-button:active {background-image: linear-gradient(#b4b4b4, #d0d3d6);}
.ͼ2 .cm-button {background-image: linear-gradient(#eff1f5, #d9d9df); border: 1px solid #888;}
.ͼ3 .cm-button:active {background-image: linear-gradient(#111, #333);}
.ͼ3 .cm-button {background-image: linear-gradient(#393939, #111); border: 1px solid #888;}
.ͼ1 .cm-textfield {vertical-align: middle; color: inherit; font-size: 70%; border: 1px solid silver; padding: .2em .5em;}
.ͼ2 .cm-textfield {background-color: white;}
.ͼ3 .cm-textfield {border: 1px solid #555; background-color: inherit;}
.ͼ1 .cm-foldPlaceholder {background-color: #eee; border: 1px solid #ddd; color: #888; border-radius: .2em; margin: 0 1px; padding: 0 1px; cursor: pointer;}
.ͼ1 .cm-foldGutter span {padding: 0 1px; cursor: pointer;}
/* set the styles */
.password-second-confirm {
font-weight: bold;
}
.password-disclaimer {
font-weight: bold;
}
.settings-auth-related {
border-top: 1px solid var(--background-modifier-border);
padding-top: 18px;
}
.s3-disclaimer {
font-weight: bold;
}
.s3-hide {
display: none;
}
.dropbox-disclaimer {
font-weight: bold;
}
.dropbox-hide {
display: none;
}
.dropbox-auth-button-hide {
display: none;
}
.dropbox-revoke-auth-button-hide {
display: none;
}
.onedrive-disclaimer {
font-weight: bold;
}
.onedrive-hide {
display: none;
}
.onedrive-auth-button-hide {
display: none;
}
.onedrive-revoke-auth-button-hide {
display: none;
}
.webdav-disclaimer {
font-weight: bold;
}
.webdav-hide {
display: none;
}
.qrcode-img {
width: 350px;
height: 350px;
}
.ignorepaths-textarea {
font-family: monospace;
}
.logtohttpserver-warning {
color: red;
font-weight: bolder;
}
.pandoc-plugin-error {
color: red;
}
.zt-format {
border: 1px solid var(--background-modifier-border);
padding: 1rem;
background-color: var(--background-primary);
border-radius: 10px;
margin-bottom: 10px;
}
.zt-format__form {
display: flex;
flex-direction: column;
align-items: stretch;
margin-bottom: 1rem;
max-width: 600px;
}
.zt-format__form:last-child {
margin-bottom: 0;
}
.zt-format__label {
font-size: 0.9em;
font-weight: 600;
margin-bottom: 5px;
}
.is-deprecated .zt-format__label {
color: var(--text-error);
}
.zt-format__input-wrapper {
display: flex;
align-items: center;
}
.zt-format__input-wrapper textarea {
resize: vertical;
}
.zt-format__input-wrapper > *:not(.checkbox-container) {
width: 100% !important;
}
.is-deprecated .zt-format__input-wrapper button {
width: auto !important;
flex-grow: 0;
flex-shrink: 0;
margin-left: 5px;
}
.zt-format__delete-btn {
display: flex;
align-items: center;
justify-content: center;
line-height: 1;
padding: 7px 9px;
margin-left: 10px;
flex-shrink: 0;
flex-grow: 0;
}
.zt-json-viewer {
font-size: 13px;
}
.zt-json-viewer .react-json-view {
padding: 1em;
border-radius: 10px;
margin-top: 1em;
overflow: auto;
font-family: var(--font-monospace) !important;
}
.zt-json-viewer__btns {
display: flex;
align-items: center;
justify-content: flex-start;
}
.zt-json-viewer__btns label {
display: block;
font-weight: bold;
padding-top: 1em;
}
.zt-json-viewer__btns select {
font-size: 1em;
}
.zt-json-viewer__btns button {
font-size: 1em;
margin-right: 5px;
}
.zt-json-viewer__preview,
.zt-json-viewer__data {
border: 1px solid var(--background-modifier-border);
border-radius: 10px;
padding: 1em;
margin-top: 1em;
}
.zt-json-viewer__preview.error {
background-color: #ff000011;
font-family: var(--font-monospace);
}
.zt-json-viewer__preview pre {
overflow: auto;
white-space: pre-wrap;
margin: 0;
}
.zt-json-viewer__preview pre,
.zt-json-viewer__preview code {
font-family: inherit;
}
.zt-json-viewer__preview:not(.error) pre {
font-family: var(--font-text, --font-default, --default-font);
max-height: 70vh;
min-height: 400px;
}
.zt-multiselect {
width: 300px;
text-align: left;
}
.zt-multiselect input {
outline: none !important;
box-shadow: none !important;
}
.zt-format__input-note {
font-style: italic;
font-size: 0.9em;
padding-top: 10px;
margin-bottom: 10px;
}
.zt-setting-item pre,
.zt-format__input-note pre {
display: inline-block;
margin: 0;
padding: 0 6px;
background-color: var(--background-secondary-alt);
border-radius: 4px;
}
.zt-asset-success {
text-align: left;
display: flex;
}
.zt-asset-success__icon {
color: var(--interactive-success);
font-size: 24px;
margin-right: 5px;
}
.zt-asset-success__icon svg {
width: 1em !important;
height: 1em !important;
}
.zt-asset-success__message {
font-size: 0.9em;
}
.zt-suggest-title {
font-size: var(--font-ui-small);
color: var(--text-muted);
display: block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding-top: var(--size-4-1);
}
.zt-suggest-loading-wrapper {
display: flex;
position: relative;
align-items: center;
justify-content: center;
padding: var(--size-4-2) 0;
}
.zt-suggest-loading,
.zt-suggest-loading:before,
.zt-suggest-loading:after {
border-radius: 999px;
width: 1em;
height: 1em;
animation-fill-mode: both;
animation: bblFadInOut 1.6s infinite ease-in-out;
}
.zt-suggest-loading {
display: block;
color: var(--text-muted);
font-size: 7px;
position: relative;
animation-delay: -0.16s;
top: -1em;
}
.zt-suggest-loading:before,
.zt-suggest-loading:after {
content: '';
position: absolute;
}
.zt-suggest-loading:before {
left: -2em;
animation-delay: -0.32s;
}
.zt-suggest-loading:after {
left: 2em;
}
.zt-color-chip {
display: inline-block;
width: 1em;
height: 1em;
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
margin-right: var(--size-4-1);
}
@keyframes bblFadInOut {
0%,
80%,
100% {
box-shadow: 0 1em 0 -1.3em;
}
40% {
box-shadow: 0 1em 0 0;
}
}
undefined
</style>
</head>
<body>
<h1 data-heading="基于Python的fMRI数据分析pipeline" dir="auto">基于Python的fMRI数据分析pipeline</h1>
<p dir="auto">项目成员:朱珊珊(南京师范大学)、王金琪(北京语言大学)、陈婉婷(浙江理工大学)、何丹妮(华东师范大学)、葛铠诚(浙江理工大学)、闫石(北京师范大学)、王文常(安徽医科大学)</p>
<h3 data-heading="需要安装以下工具/软件包" dir="auto">需要安装以下工具/软件包</h3>
<ul>
<li dir="auto">命令行 shell:Bash</li>
<li dir="auto">版本控制系统:Git</li>
<li dir="auto">支持远程控制的文本编辑器:VSCode</li>
<li dir="auto">通过 Miniconda 使用 Python 3</li>
<li dir="auto">虚拟化系统:Docker</li>
<li dir="auto">一个 GitHub 帐户</li>
</ul>
<h1 data-heading="0.怎么建立运行环境" dir="auto">0.怎么建立运行环境</h1>
<h2 data-heading="为什么要选择使用docker镜像?" dir="auto">为什么要选择使用docker镜像?</h2>
<ul>
<li dir="auto">Docker允许你创建一个隔离的环境,其中预先安装了所有必要的依赖项。可以通过编写Dockerfile来创建包含所需工具和库的镜像。</li>
</ul>
<h2 data-heading="环境设置:" dir="auto">环境设置:</h2>
<ul>
<li dir="auto">以fmriprep为例,可以在终端输入命令行:</li>
</ul>
<pre><code>python -m pip install --user --upgrade fmriprep-docker
</code><button class="copy-code-button">复制</button></pre>
<h1 data-heading="1.数据转换" dir="auto">1.数据转换</h1>
<h2 data-heading="HeuDiconv (推荐用这个)" dir="auto">HeuDiconv (推荐用这个)</h2>
<ul>
<li dir="auto">理由:用于将DICOM文件转换为BIDS格式。它包装了dcm2niix工具,使其使用更加便捷</li>
<li dir="auto">操作指南:<a rel="noopener" class="external-link" href="https://heudiconv.readthedocs.io/en/latest/" target="_blank">https://heudiconv.readthedocs.io/en/latest/</a></li>
</ul>
<h1 data-heading="2.质量控制" dir="auto">2.质量控制</h1>
<h2 data-heading="MRIQC package" dir="auto">MRIQC package</h2>
<ul>
<li dir="auto">(使用最广泛<a rel="noopener" class="external-link" href="https://mriqc.readthedocs.io/en/latest/" target="_blank">https://mriqc.readthedocs.io/en/latest/</a>)</li>
<li dir="auto">理由:MRIQC是一个无需参考图像即可从结构性(T1w和 T2w)和功能性MRI数据中提取图像质量指标(IQMs)的工具。MRIQC是Nipype生态系统的一部分,并依赖于其他工具如ANTs和AFNI。</li>
</ul>
<h2 data-heading="工作流程设计(Workflow Design)" dir="auto">工作流程设计(Workflow Design)</h2>
<ul>
<li dir="auto">目的:
<ul>
<li dir="auto">提取图像质量指标(IQMs)。</li>
</ul>
</li>
<li dir="auto">原则:
<ol>
<li dir="auto">快速预处理。</li>
<li dir="auto">易于在桌面和高性能计算中使用。</li>
<li dir="auto">生成详细报告。</li>
</ol>
</li>
<li dir="auto">实施:
<ul>
<li dir="auto">使用FSL、ANTs和AFNI等工具,使用nipype框架进行处理。</li>
<li dir="auto">遵循BIDS-Apps标准,并持续测试。</li>
<li dir="auto">输出: 包括输入图像(64个T1w,31个fMRI)的IQMs和视觉报告。</li>
</ul>
<img src="https://s21.ax1x.com/2024/08/31/pAEyVTx.png" alt="pAEyVTx.png" border="0" style=" height: 400px;">
</li>
</ul>
<h1 data-heading="3.预处理" dir="auto">3.预处理</h1>
<h2 data-heading="推荐使用:" dir="auto">推荐使用:</h2>
<p dir="auto">fMRIPrep package(示例代码,具体命令行的参数、github链接)</p>
<p dir="auto">参考论文:<br>
<a data-tooltip-position="top" aria-label="https://www.nature.com/articles/s41592-018-0235-4#tdsub" rel="noopener" class="external-link" href="https://www.nature.com/articles/s41592-018-0235-4#tdsub" target="_blank">fMRIPrep: a robust preprocessing pipeline for functional MRI | Nature Methods</a></p>
<img src="https://s21.ax1x.com/2024/08/31/pAEyek6.png" alt="pAEyek6.png" border="0" style=" height: 400px;">
<img src="https://s21.ax1x.com/2024/08/31/pAEyPl4.png" alt="pAEyPl4.png" border="0" style=" height: 400px;">
<p dir="auto"><em>MRIPrep</em>输出符合BIDS Derivatives 规范(参见<a data-tooltip-position="top" aria-label="https://bids-specification.readthedocs.io/en/stable/05-derivatives/01-introduction.html#tdsub" rel="noopener" class="external-link" href="https://bids-specification.readthedocs.io/en/stable/05-derivatives/01-introduction.html#tdsub" target="_blank">BIDS Derivatives</a>以及即将推出的<a data-tooltip-position="top" aria-label="https://bids-specification.readthedocs.io/en/bep011/05-derivatives/04-structural-derivatives.html#tdsub" rel="noopener" class="external-link" href="https://bids-specification.readthedocs.io/en/bep011/05-derivatives/04-structural-derivatives.html#tdsub" target="_blank">BEP 011</a>和<a data-tooltip-position="top" aria-label="https://bids-specification.readthedocs.io/en/bep012/05-derivatives/05-functional-derivatives.html#tdsub" rel="noopener" class="external-link" href="https://bids-specification.readthedocs.io/en/bep012/05-derivatives/05-functional-derivatives.html#tdsub" target="_blank">BEP 012</a>)。fMRIPrep<em>产生</em>三类结果:</p>
<ul>
<li dir="auto">可视化 QA**(质量评估)报告:每个主题一个HTML,允许用户对处理质量进行全面的可视化评估,并确保<em>fMRIPrep</em>操作的透明度。</li>
<li dir="auto">预处理数据: 输入的 fMRI 数据已准备好进行分析,即在应用了各种准备程序之后。例如,经过INU校正的 T1 加权图像版本(每个受试者)、经过头部运动校正、切片时间校正并对齐到同一受试者的 T1w 空间或某个标准空间后的BOLD图像。</li>
<li dir="auto">Confounds: this is a special family of derivatives that can be utilized to inform subsequent denoising steps.</li>
</ul>
<img src="https://s21.ax1x.com/2024/08/31/pAEyCpF.png" alt="pAEyCpF.png" border="0" style=" height: 400px;">
<img src="https://s21.ax1x.com/2024/08/31/pAEypfU.png" alt="pAEypfU.png" border="0" style=" height: 400px;">
<p dir="auto">可以参考的代码脚本:<br>
<a rel="noopener" class="external-link" href="https://github.com/nipreps/fmriprep/blob/master/docs/workflows.rst" target="_blank">https://github.com/nipreps/fmriprep/blob/master/docs/workflows.rst</a></p>
<img src="https://s21.ax1x.com/2024/08/31/pAEyE01.png" alt="pAEyE01.png" border="0" style=" height: 400px;">
<p dir="auto"><strong>结构像预处理</strong>:</p>
<h2 data-heading="1.INU校正 (INU correction): 校正不均匀性 (Inhomogeneity) 引起的信号强度变化。" dir="auto">1.INU校正 (INU correction): 校正不均匀性 (Inhomogeneity) 引起的信号强度变化。</h2>
<ul>
<li dir="auto">
<p>目的:<strong>提高图像质量</strong>:去除由于磁场不均匀性引起的伪影,如图像中的条纹或斑块。<strong>增强分析准确性</strong>:在进行统计分析或机器学习算法之前,校正INU可以减少由于强度变化引起的假阳性或假阴性结果,从而提高研究结果的准确性。</p>
</li>
<li dir="auto">
<p>问题特征:不均匀的信号强度、条纹伪影、模糊、噪声、边缘模糊、对比度不足、伪影、失真、不完整的覆盖范围、色彩偏差、分辨率不足、动态范围有限、伪影的模式。</p>
</li>
<li dir="auto">
<p>工具:SPM&(<a rel="noopener" class="external-link" href="https://www.fil.ion.ucl.ac.uk/spm/" target="_blank">https://www.fil.ion.ucl.ac.uk/spm/</a>)FSL(<a data-tooltip-position="top" aria-label="https://fsl.fmrib.ox.ac.uk/#tdsub" rel="noopener" class="external-link" href="https://fsl.fmrib.ox.ac.uk/#tdsub" target="_blank">https://fsl.fmrib.ox.ac.uk</a>),fMRIPrep 会自动调用 FSL 的'fsl_biascorrect'函数来执行 INU 校正。</p>
</li>
<li dir="auto">
<p>优点:正确执行INU校正对于提高后续图像分析步骤的准确性至关重要,因为它能够显著改善图像质量,减少由于磁场不均匀性引起的伪影。这些伪影如果不被校正,可能会被误认为是真实的生物学信号,从而影响后续分析的准确性。所以INU校正通常放在图像预处理较靠前的位置。</p>
</li>
<li dir="auto">
<p>Note:首先应该评估之前的处理是否到位,校正前可以先进行视觉检查,如果说原本有较大的头动就应先解决由于运动引起的问题,应适度进行校正,并在必要时进行手动检查。校正后,应通过视觉检查和/或使用质量控制工具来验证校正的效果。比较校正前后的图像,确保校正后的图像质量得到改善。</p>
</li>
</ul>
<h2 data-heading="2.融合和一致性 (Fuse and Conform): 使数据在空间和分辨率上与模板相匹配。" dir="auto">2.融合和一致性 (Fuse and Conform): 使数据在空间和分辨率上与模板相匹配。</h2>
<ul>
<li dir="auto">
<p>Fuse:对齐,然后进行融合(即对齐后平均)以生成一个单一的平均图像。目的是为了减少随机噪声,提高图像的平均来提高信噪比,以便用于后续的空间归一化和配准等步骤。</p>
</li>
<li dir="auto">
<p>Conform:在这个步骤中,fMRIPrep会将图像调整为一致的方向(通常是右-前-上的方向)和体素大小。目的是为了保证图像的空间属性一致,使得后续的处理步骤(如配准到标准空间)在相同的空间框架下进行,减少由于方向或体素大小不一致而导致的误差。</p>
</li>
<li dir="auto">
<p>Note:fMRIPrep中会根据输入的数据和元数据自动决定是否执行这些操作,并且自动完成所需处理任务。fMRIPrep会检测每张图像的分辨率、方向和体素大小。</p>
</li>
<li dir="auto">
<p>注意点:尽可能使用相同扫描序列生成的T1w图像,以减少在Conform步骤中进行大幅调整。</p>
</li>
</ul>
<h2 data-heading="3.头颅去除 (Skull-stripping): 去除非脑组织部分,只保留脑组织。" dir="auto">3.头颅去除 (Skull-stripping): 去除非脑组织部分,只保留脑组织。</h2>
<ul>
<li dir="auto">
<p>目的:从脑部影像数据中去除非脑组织(如头骨、头皮和其他非脑组织),以便专注于大脑组织的分析。</p>
</li>
<li dir="auto">
<p>优点:减少噪声和伪影,优化图像配准,改善脑组织分割以及提高绩效效率。</p>
</li>
<li dir="auto">
<p>默认处理(fMRIprep):antsBrainExtraction.sh</p>
</li>
<li dir="auto">
<p>处理顺序:Skull-stripping 在 T1 加权图像预处理中通常放在靠前的步骤,通常在图像重采样和对比度增强之后,但在后续的图像配准、分割和其他分析步骤之前进行。</p>
</li>
</ul>
<p dir="auto">原因:减少对配准算法的干扰,优化配准结果;保证在segment中只对脑组织进行,减少伪影和噪声对分割结果的影响,提高分析精准性。</p>
<ul>
<li dir="auto">Note:skull-stripping之后,需要检查数据结果是否会出现</li>
</ul>
<p dir="auto">(1)over-stripping;(2)under-stripping</p>
<p dir="auto">问题可能来源:不同扫描仪不同分辨率的数据,脑内肿瘤等。</p>
<p dir="auto">可应对策略:<strong>多算法结合</strong>:结合多种 Skull-stripping 方法或使用集成算法,以提高准确性和鲁棒性。<strong>手动校正</strong>:在自动化处理后进行必要的人工校正,确保去骨效果。<strong>数据预处理</strong>:提升原始图像质量,如去噪、校正运动伪影等,以辅助 Skull-stripping 的准确性</p>
<h2 data-heading="4.空间归一化 (Spatial normalization): 将个体大脑映射到标准空间(如MNI空间)。" dir="auto">4.空间归一化 (Spatial normalization): 将个体大脑映射到标准空间(如MNI空间)。</h2>
<ul>
<li dir="auto">
<p>目的:使多个个体的大脑更像;为后续的跨受试者比较、群体分析等提供了一个统一的坐标框架。</p>
</li>
<li dir="auto">
<p>使用的工具:ANTs’ <strong><code>antsRegistration</code></strong></p>
</li>
</ul>
<p dir="auto">fmriPrep中脚本设置:</p>
<pre><code>fmriprep /path/to/BIDS_dataset /path/to/output_dir participant --participant-label sub-01 --fs-license-file /path/to/license.txt --output-spaces MNI152NLin2009cAsym
</code><button class="copy-code-button">复制</button></pre>
<p dir="auto"><code>/path/to/BIDS_dataset</code>: 你的数据集所在的目录,遵循 BIDS 格式。<code>/path/to/output_dir</code>: 输出目录,用于存放处理后的数据。<br>
<code>participant</code>: 指定处理级别(在个体层面进行处理);该参数为默认值,可省略;<br>
<code>--participant-label sub-01</code>: 指定处理的受试者编号,例如 sub-01。<br>
<code>--fs-license-file /path/to/license.txt</code>: FreeSurfer 许可文件的路径。<br>
<code>--output-spaces MNI152NLin2009cAsym</code>: 指定空间归一化的目标空间,这里选择了 MNI152 非线性标准空间(2009c非对称版)。</p>
<p dir="auto">fmriPrep中空间归一化的 <code>--output-spaces</code> 对齐空间的参数调节:</p>
<p dir="auto">可使用':'对模板进行调节,如'MNI152NLin6Asym:res-2'表明基于resolution 2x2x2mm的标准模板MNI152NLin6Asym进行配准;'fsaverage:den-10k'表明基于网格密度为1w个顶点的 FreeSurfer 的 fsaverage 表面空间进行配准。</p>
<p dir="auto"><strong>MNI空间</strong>:</p>
<ul>
<li dir="auto">MNI152NLin2009cAsym (非线性)</li>
<li dir="auto">MNI152NLin6Asym</li>
<li dir="auto">MNI152Lin (线性)</li>
</ul>
<p dir="auto"><strong>个体空间</strong>:</p>
<ul>
<li dir="auto">T1w: 原始 T1 加权图像空间(个体解剖空间);这意味着不执行空间归一化。保留原始解剖图像的空间特征,适用于体素级别的分析。</li>
<li dir="auto">fsnative: FreeSurfer 的个体空间;这个空间与 T1w 空间非常接近,但通常更适合表面和皮层分析。</li>
</ul>
<p dir="auto"><strong>其他标准空间</strong>:</p>
<ul>
<li dir="auto">
<p>例如 fsaverage, fsaverage5, fsaverage6 等 FreeSurfer 的平均模板空间。</p>
</li>
<li dir="auto">
<p>基本原理:结合线性和非线性配准,通过最小化配准误差,将个体的大脑图像精确对齐到标准空间。</p>
</li>
</ul>
<p dir="auto"> 线性配准公式:<img src="https://s21.ax1x.com/2024/08/31/pAEyi6J.png" alt="pAEyi6J.png" border="0" style=" height: 50px;"></p>
<p dir="auto">a. x是原始图像中的坐标,x′是变换后的坐标,A 是 3×3 的变换矩阵,包含旋转、缩放和剪切参数,b 是平移向量。</p>
<p dir="auto">b.一般分为<strong>刚性变换</strong>(rigid transformation) 和 <strong>仿射变换</strong>(affine transformation);刚性变换是一种特殊的仿射变换,区别在于是否限制A矩阵的正交性(只为正交矩阵即为刚性变换);这些变换允许图像在三维空间中进行旋转、平移、缩放和剪切;</p>
<p dir="auto"> 非线性配准公式:<img src="https://s21.ax1x.com/2024/08/31/pAEyFX9.png " alt="pAEyFX9.png" border="0" style=" height: 50px;"></p>
<p dir="auto">c.<strong>Symmetric Normalization (SyN)</strong> 算法(ANTs工具包):以其高精度和对称性著称,能够有效处理复杂的形变。这种算法计算开销较大且处理时间较长;与SPM 使用的非线性配准算法比较,SPM中使用了统一分割与归一化(Unified Segmentation and Normalization)配准算法,结合了解剖先验和灰度信息,特别适合脑解剖结构的标准化;处理时间较短,对极端个体差异的处理可能不够灵活;</p>
<p dir="auto">d. 其中,<em>T(Imoving,ϕ)</em>是应用变换 <em>ϕ</em> 后的移动图像,<em>Ifixed</em>是固定图像,<em>Metric</em> 是评估配准质量的度量函数(例如互信息、相关系数)</p>
<p dir="auto">e. 通过更复杂的变形场来捕捉个体脑部解剖结构与标准模板之间的细微差异。基于对称性和正则化的非线性配准算法,其核心思想是通过最小化目标图像和参考图像之间的某种相似性度量来找到最佳的非线性变换;</p>
<ul>
<li dir="auto"><strong>注意事项:</strong>在fmriPrep中无法自选配准方式,为默认的<code>-t s</code>(仿射 + SyN非线性);如需要自定义,可直接使用ANTs包;</li>
<li dir="auto"><strong>处理后问题处理:</strong></li>
</ul>
<p dir="auto">a. 检查*T1w_preproc.nii.gz</p>
<p dir="auto">i.是否有非脑组织的残留/是否有部分大脑结构丢失----确认*T1w_brainmask.nii.gz图像中脑部遮盖是否准确覆盖了大脑结构而不包含非脑组织,若有影响需要手动调整或重新生成脑部遮盖(brain mask)。</p>
<p dir="auto">ii.伪影----确认输入数据是否存在质量问题,如运动伪影或信号不均匀。</p>
<p dir="auto">b. 检查*T1w2MNI.svg</p>
<p dir="auto">i.是否有异常的拉伸或压缩现象----需要检查配准参数,重新确定适当的变换模型</p>
<h2 data-heading="5.脑组织分割 (Brain tissue segmentation): 将大脑分割成灰质、白质和脑脊液等区域。" dir="auto">5.脑组织分割 (Brain tissue segmentation): 将大脑分割成灰质、白质和脑脊液等区域。</h2>
<p dir="auto">目的:将结构像配到功能像里,就需要进行结构像分割,一般分为灰质、白质、脑脊液。</p>
<h2 data-heading="6.皮层重建 (Surface reconstruction): 使用FreeSurfer或其他工具生成脑皮层的表面模型。" dir="auto">6.皮层重建 (Surface reconstruction): 使用FreeSurfer或其他工具生成脑皮层的表面模型。</h2>
<ul>
<li dir="auto">根据volume结构像,结合灰质-白质、灰质-脑脊液分割结果,确定灰质的内表面和外表面,建模出皮层的三维网格模型;</li>
<li dir="auto">皮层重建通常放在结构像预处理的最后一步,因为首先,皮层重建需要精细的结构数据重建出的三角面片模型才能用,而结构像的诸多指标,比如说皮层厚度、曲率、皮层面积等指标是可以直接用于最后的分析的,所以这个步骤是最好需要最后来做,以保证结构指标的准确;第二,如果研究人员真的只分析volume的功能像,也不在意功能配准到结构像的准确度的话,皮层重建可能并不像颅骨分割一样,是必须要做的。</li>
</ul>
<h2 data-heading="皮层重建的输入:" dir="auto">皮层重建的输入:</h2>
<ul>
<li dir="auto">经过去噪、颅骨剥离、空间归一化等操作之后的T1结构像(6个月之前的婴儿是t2),这是皮层重建的主要输入;</li>
<li dir="auto">上一步的分割结果,即灰质白质,灰质脑脊液的mask;</li>
<li dir="auto">如果需要的话,可以把功能像数据放进去,进行功能像的surface映射。</li>
</ul>
<h2 data-heading="皮层重建的输出:" dir="auto">皮层重建的输出:</h2>
<ul>
<li dir="auto">灰质内表面(灰质与白质的交界面)、外表面(灰质与脑脊液)的交界面和中表面(内外表面的平均面);</li>
<li dir="auto">皮层厚度、曲率等结构指标;</li>
<li dir="auto">如果输入有功能像的话,还包括功能像的surface数据;</li>
<li dir="auto">皮层表面与标准空间(如fsaverage32k)的映射关系。</li>
</ul>
<h2 data-heading="皮层重建的工具:" dir="auto">皮层重建的工具:</h2>
<ul>
<li dir="auto">
<p>freesurfer优点是成熟、输出的数据很全面(皮层厚度、表面模型、曲率map),但是对计算资源的要求比较高;由于功能丰富所以学习很困难;fmriprep用的就是freesurfer的recon-all,这个组件负责从去头骨、分割、皮层重建、皮层厚度测量等功能;</p>
</li>
<li dir="auto">
<p>civet对皮层厚度的测量很准确,常用于疾病的研究,处理速度比较快;但是功能比较单一,不能在输入中加入功能像进行volume->surface的映射;</p>
</li>
<li dir="auto">
<p>fsl的fast(用于分割)和first(用于皮层结构的分析);不推荐</p>
</li>
<li dir="auto">
<p>ants:</p>
</li>
<li dir="auto">
<p>hcp pipeline:自动化,高效处理大规模数据,劣势也是不太适合小规模数据,配置配置文件比较复杂;</p>
</li>
<li dir="auto">
<p>brainsuite:简单,自动化,快速;社区支持少,用户少</p>
</li>
</ul>
<p dir="auto"><img alt="descript" src="app://6873c0db35ab5680801c88141c366137467d/C:/Users/DuanYun/AppData/Local/Packages/oice_16_974fa576_32c1d314_b1e/AC/Temp/msohtmlclip1/01/clip_image020.gif" referrerpolicy="no-referrer"></p>
<p dir="auto"><strong>功能像预处理:</strong></p>
<p dir="auto">在完成结构像的预处理后,接下来的步骤是将功能像与结构像对齐。</p>
<ol>
<li dir="auto">头动校正</li>
</ol>
<p dir="auto"><strong>Note</strong>:功能像是4D的图像,运动校正可以消除假阴性和假阳性,尤其是散乱的、集中在边缘的激活很有可能是伪影;运动校正参数输出:相对运动和绝对运动,较大的跳跃比较慢的漂移更严重,尤其是在相对运动图中。</p>
<ol start="2">
<li dir="auto">
<p>层级时间校正</p>
</li>
<li dir="auto">
<p>失真(B0场)校正</p>
</li>
<li dir="auto">
<p>对齐至T1w参考图像</p>
</li>
</ol>
<h1 data-heading="4.功能磁共振分析方法汇总" dir="auto">4.功能磁共振分析方法汇总</h1>
<p dir="auto">整理不同包可以做的分析,然后横向对比,各自的优势、局限</p>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>分析方法</td>
<td>python包</td>
<td>适用的数据类型</td>
<td>备注</td>
</tr>
<tr>
<td>GLM</td>
<td>Nilearn, Nipype, fMRIflows</td>
<td>任务态</td>
<td></td>
</tr>
<tr>
<td>RSA</td>
<td>NeuroRA, PyMVPA,<br><br>Nilearn, brainspace</td>
<td>任务态</td>
<td></td>
</tr>
<tr>
<td>IS-RSA</td>
<td>Nilearn, Brainiak, Pyrsa, PyMVPA, Nipype</td>
<td>任务态</td>
<td></td>
</tr>
<tr>
<td>FC</td>
<td>Nilearn, Nipype, fMRIflows</td>
<td>任务态、静息态</td>
<td></td>
</tr>
<tr>
<td>ISC</td>
<td>brainiak</td>
<td>任务态</td>
<td></td>
</tr>
<tr>
<td>ISFC</td>
<td>brainiak</td>
<td>任务态</td>
<td></td>
</tr>
<tr>
<td>PPI/gPPI</td>
<td>PyPPI</td>
<td>任务态</td>
<td></td>
</tr>
<tr>
<td>GCA</td>
<td>PyGranger, MNE-Python</td>
<td>任务态</td>
<td></td>
</tr>
<tr>
<td>MVPA</td>
<td>nilearn, PyMVPA,brainiak,nipype+sklearn</td>
<td>任务态</td>
<td></td>
</tr>
<tr>
<td>Gradient</td>
<td>brainspace, sklearn</td>
<td>静息态</td>
<td></td>
</tr>
</tbody>
</table>
<p dir="auto"><strong>注:</strong></p>
<p dir="auto">1. generalized form of context dependent psychophysiological interaction method (gPPI)<br>
2. Granger causality analysis(GCA)<br>
3. RSA (Representational Similarity Analysis)被试内<br>
4. IS-RSA (Inter-subject Representational Similarity Analysis)被试间<br>
5. ISC (Inter-subject correlation)<br>
6. ISFC (Inter-subject functional connectivity)<br>
7. MVPA (multi-voxel pattern analysis)</p>
<p dir="auto"><strong>Note.</strong></p>
<p dir="auto">可视化:nilearn、pysurfer、MRICron、MRICronGL<br>
Spm、fsl(常用于glm分析)<br>
Ica分析 ( (Group ICA of fMRI Toolbox,gift)<br>
Freesurfer<br>
弥散图像 dsistudio mrtrixv<br>
弥散图像 (Diffusion Imaging in Python, Dipy)<br>
amico (Accelerated Microstructure Imaging via Convex Optimization)<br>
机器学习ski-learn<br>
Dpabi</p>
</body>
</html>