7T coil comparison: processing of phantom data#

Setup environment#

# Imports
from datetime import datetime, timedelta
import os
import json
import glob
import matplotlib.pyplot as plt
import numpy as np
import nibabel as nib
import pandas as pd
from scipy.stats import iqr
import shutil
import zipfile
from scipy.interpolate import interp1d
from scipy.ndimage import uniform_filter1d
from pathlib import Path

# Define constants
GAMMA = 2.675e8;  # [rad / (s T)]

%matplotlib inline

start_time = datetime.now()
# Download data from OpenNeuro ⏳

!openneuro-py download --dataset ds005090 --target-dir data-phantom/
👋 Hello! This is openneuro-py 2024.2.0. Great to see you! 🤗

   👉 Please report problems 🤯 and bugs 🪲 at
      https://github.com/hoechenberger/openneuro-py/issues

🌍 Preparing to download ds005090 …
📁 Traversing directories for ds005090 : 0 entities [00:00, ? entities/s]
📁 Traversing directories for ds005090 : 5 entities [00:00, 37.02 entities/s]
📁 Traversing directories for ds005090 : 23 entities [00:00, 79.63 entities/s]
📁 Traversing directories for ds005090 : 45 entities [00:00, 68.03 entities/s]
📁 Traversing directories for ds005090 : 87 entities [00:00, 115.31 entities/s]
📁 Traversing directories for ds005090 : 105 entities [00:01, 104.12 entities/s]
📁 Traversing directories for ds005090 : 169 entities [00:01, 148.04 entities/s]
📁 Traversing directories for ds005090 : 241 entities [00:01, 181.56 entities/s]
📁 Traversing directories for ds005090 : 307 entities [00:01, 230.71 entities/s]
📁 Traversing directories for ds005090 : 379 entities [00:02, 278.68 entities/s]
📁 Traversing directories for ds005090 : 418 entities [00:02, 201.27 entities/s]
📥 Retrieving up to 418 files (5 concurrent downloads). 
participants.tsv:   0%|                               | 0.00/313 [00:00<?, ?B/s]
                                                                                
dataset_description.json:   0%|                       | 0.00/314 [00:00<?, ?B/s]
                                                                                
CHANGES:   0%|                                       | 0.00/91.0 [00:00<?, ?B/s]
                                                                                
.bidsignore:   0%|                                   | 0.00/92.0 [00:00<?, ?B/s]
                                                                                
sub-CRMBM_T2starw.json:   0%|                       | 0.00/2.42k [00:00<?, ?B/s]
                                                                                
sub-CRMBM_T2starw.nii.gz:   0%|                      | 0.00/864k [00:00<?, ?B/s]
sub-CRMBM_rec-uncombined1_T2starw.nii.gz:   0%|      | 0.00/676k [00:00<?, ?B/s]


sub-CRMBM_rec-uncombined1_T2starw.json:   0%|       | 0.00/2.43k [00:00<?, ?B/s]


                                                                                
sub-CRMBM_rec-uncombined2_T2starw.json:   0%|       | 0.00/2.43k [00:00<?, ?B/s]


                                                                                
sub-CRMBM_T2starw.nii.gz:  10%|█▎            | 83.6k/864k [00:00<00:01, 613kB/s]

sub-CRMBM_rec-uncombined1_T2starw.nii.gz:  12%| | 83.6k/676k [00:00<00:00, 612kB
sub-CRMBM_rec-uncombined2_T2starw.nii.gz:   0%|      | 0.00/737k [00:00<?, ?B/s]
sub-CRMBM_T2starw.nii.gz:  41%|█████▊        | 356k/864k [00:00<00:00, 1.43MB/s]

sub-CRMBM_rec-uncombined1_T2starw.nii.gz:  45%|▍| 305k/676k [00:00<00:00, 1.20MB
sub-CRMBM_rec-uncombined3_T2starw.json:   0%|       | 0.00/2.43k [00:00<?, ?B/s]



                                                                                
                                                                                
sub-CRMBM_rec-uncombined2_T2starw.nii.gz:   9%| | 66.6k/737k [00:00<00:01, 452kB

                                                                                
sub-CRMBM_rec-uncombined3_T2starw.nii.gz:   0%|      | 0.00/799k [00:00<?, ?B/s]

sub-CRMBM_rec-uncombined2_T2starw.nii.gz:  37%|▎| 271k/737k [00:00<00:00, 1.10MB
sub-CRMBM_rec-uncombined3_T2starw.nii.gz:  10%| | 83.6k/799k [00:00<00:01, 677kB


                                                                                
sub-CRMBM_rec-uncombined4_T2starw.json:   0%|       | 0.00/2.43k [00:00<?, ?B/s]

                                                                                
sub-CRMBM_rec-uncombined5_T2starw.json:   0%|       | 0.00/2.43k [00:00<?, ?B/s]

                                                                                

sub-CRMBM_rec-uncombined4_T2starw.nii.gz:   0%|      | 0.00/700k [00:00<?, ?B/s]
sub-CRMBM_rec-uncombined3_T2starw.nii.gz:  38%|▍| 305k/799k [00:00<00:00, 1.26MB
                                                                                
sub-CRMBM_rec-uncombined4_T2starw.nii.gz:  12%| | 85.2k/700k [00:00<00:00, 723kB
sub-CRMBM_rec-uncombined6_T2starw.json:   0%|       | 0.00/2.43k [00:00<?, ?B/s]
                                                                                
sub-CRMBM_rec-uncombined4_T2starw.nii.gz:  29%|▎| 204k/700k [00:00<00:00, 991kB/
sub-CRMBM_rec-uncombined5_T2starw.nii.gz:   0%|      | 0.00/707k [00:00<?, ?B/s]
sub-CRMBM_rec-uncombined4_T2starw.nii.gz:  85%|▊| 596k/700k [00:00<00:00, 2.20MB

                                                                                

sub-CRMBM_rec-uncombined6_T2starw.nii.gz:   0%|      | 0.00/677k [00:00<?, ?B/s]
sub-CRMBM_rec-uncombined7_T2starw.json:   0%|       | 0.00/2.43k [00:00<?, ?B/s]


                                                                                
sub-CRMBM_rec-uncombined5_T2starw.nii.gz:  12%| | 85.2k/707k [00:00<00:01, 617kB
sub-CRMBM_rec-uncombined6_T2starw.nii.gz:  13%|▏| 85.2k/677k [00:00<00:00, 646kB
sub-CRMBM_rec-uncombined7_T2starw.nii.gz:   0%|      | 0.00/606k [00:00<?, ?B/s]
sub-CRMBM_rec-uncombined5_T2starw.nii.gz:  43%|▍| 306k/707k [00:00<00:00, 1.22MB
sub-CRMBM_rec-uncombined6_T2starw.nii.gz:  45%|▍| 306k/677k [00:00<00:00, 1.23MB
                                                                                
sub-CRMBM_rec-uncombined8_T2starw.nii.gz:   0%|      | 0.00/639k [00:00<?, ?B/s]



sub-CRMBM_rec-uncombined8_T2starw.json:   0%|       | 0.00/2.43k [00:00<?, ?B/s]



                                                                                


sub-CRMBM_rec-uncombined7_T2starw.nii.gz:  14%|▏| 83.5k/606k [00:00<00:00, 586kB

                                                                                
sub-CRMBM_rec-uncombined8_T2starw.nii.gz:  13%|▏| 83.6k/639k [00:00<00:00, 616kB
sub-CRMBM_rec-uncombined7_T2starw.nii.gz:  67%|▋| 407k/606k [00:00<00:00, 1.65MB


                                                                                
sub-CRMBM_acq-anat_TB1TFL.json:   0%|               | 0.00/2.66k [00:00<?, ?B/s]

                                                                                
sub-CRMBM_rec-uncombined8_T2starw.nii.gz:  45%|▍| 288k/639k [00:00<00:00, 1.14MB
sub-CRMBM_acq-coilQaSagLarge_SNR.json:   0%|        | 0.00/2.18k [00:00<?, ?B/s]

                                                                                

sub-CRMBM_acq-anat_TB1TFL.nii.gz:   0%|              | 0.00/833k [00:00<?, ?B/s]
                                                                                
sub-CRMBM_acq-anat_TB1TFL.nii.gz:  10%|▌     | 83.6k/833k [00:00<00:01, 654kB/s]
sub-CRMBM_acq-coilQaSagLarge_SNR.nii.gz:   0%|      | 0.00/3.88M [00:00<?, ?B/s]


sub-CRMBM_acq-coilQaSagSmall_GFactor.json:   0%|    | 0.00/2.18k [00:00<?, ?B/s]


                                                                                
sub-CRMBM_acq-anat_TB1TFL.nii.gz:  37%|██▏   | 305k/833k [00:00<00:00, 1.42MB/s]
sub-CRMBM_acq-coilQaSagSmall_GFactor.nii.gz:   0%|  | 0.00/2.65M [00:00<?, ?B/s]
sub-CRMBM_acq-coilQaSagLarge_SNR.nii.gz:   2%| | 83.6k/3.88M [00:00<00:06, 616kB



sub-CRMBM_acq-coilQaTra_GFactor.json:   0%|         | 0.00/2.07k [00:00<?, ?B/s]



                                                                                
sub-CRMBM_acq-anat_TB1TFL.nii.gz:  79%|████▊ | 662k/833k [00:00<00:00, 2.15MB/s]

                                                                                
sub-CRMBM_acq-coilQaSagSmall_GFactor.nii.gz:   3%| | 85.2k/2.65M [00:00<00:04, 6
sub-CRMBM_acq-coilQaSagLarge_SNR.nii.gz:   9%| | 373k/3.88M [00:00<00:02, 1.51MB
sub-CRMBM_acq-coilQaSagSmall_GFactor.nii.gz:  11%| | 306k/2.65M [00:00<00:02, 1.

sub-CRMBM_acq-coilQaTra_GFactor.nii.gz:   0%|       | 0.00/11.7M [00:00<?, ?B/s]
sub-CRMBM_acq-coilQaSagLarge_SNR.nii.gz:  38%|▍| 1.49M/3.88M [00:00<00:00, 4.70M
sub-CRMBM_acq-famp-0.66_TB1DREAM.json:   0%|        | 0.00/2.15k [00:00<?, ?B/s]



                                                                                
sub-CRMBM_acq-coilQaSagSmall_GFactor.nii.gz:  41%|▍| 1.10M/2.65M [00:00<00:00, 3



sub-CRMBM_acq-famp-0.66_TB1DREAM.nii.gz:   0%|      | 0.00/90.7k [00:00<?, ?B/s]
                                                                                
sub-CRMBM_acq-coilQaTra_GFactor.nii.gz:   1%| | 83.5k/11.7M [00:00<00:19, 615kB/
sub-CRMBM_acq-coilQaSagSmall_GFactor.nii.gz:  95%|▉| 2.51M/2.65M [00:00<00:00, 7


                                                                                
sub-CRMBM_acq-famp-0.66_TB1DREAM.nii.gz:  94%|▉| 85.2k/90.7k [00:00<00:00, 628kB



                                                                                
sub-CRMBM_acq-coilQaTra_GFactor.nii.gz:   3%| | 322k/11.7M [00:00<00:09, 1.28MB/
sub-CRMBM_acq-famp_TB1DREAM.json:   0%|             | 0.00/2.13k [00:00<?, ?B/s]
                                                                                
sub-CRMBM_acq-famp-1.5_TB1DREAM.json:   0%|         | 0.00/2.14k [00:00<?, ?B/s]
                                                                                
sub-CRMBM_acq-coilQaTra_GFactor.nii.gz:  11%| | 1.29M/11.7M [00:00<00:02, 3.96MB
sub-CRMBM_acq-coilQaTra_GFactor.nii.gz:  40%|▍| 4.66M/11.7M [00:00<00:00, 13.8MB
sub-CRMBM_acq-famp-1.5_TB1DREAM.nii.gz:   0%|       | 0.00/91.4k [00:00<?, ?B/s]
sub-CRMBM_acq-famp_TB1DREAM.nii.gz:   0%|           | 0.00/90.9k [00:00<?, ?B/s]



sub-CRMBM_acq-famp_TB1TFL.json:   0%|               | 0.00/2.69k [00:00<?, ?B/s]



                                                                                
sub-CRMBM_acq-coilQaTra_GFactor.nii.gz:  68%|▋| 8.04M/11.7M [00:00<00:00, 19.4MB
sub-CRMBM_acq-famp-1.5_TB1DREAM.nii.gz:  91%|▉| 83.6k/91.4k [00:00<00:00, 611kB/
                                                                                



sub-CRMBM_acq-famp_TB1DREAM.nii.gz:  94%|██▊| 85.2k/90.9k [00:00<00:00, 622kB/s]


                                                                                
sub-CRMBM_acq-coilQaTra_GFactor.nii.gz:  90%|▉| 10.6M/11.7M [00:00<00:00, 21.5MB
sub-CRMBM_acq-famp_TB1TFL.nii.gz:   0%|              | 0.00/919k [00:00<?, ?B/s]

                                                                                
sub-CRMBM_acq-famp_TB1TFL.nii.gz:   9%|▌     | 83.6k/919k [00:00<00:01, 677kB/s]
sub-CRMBM_acq-refv-0.66_TB1DREAM.nii.gz:   0%|      | 0.00/78.5k [00:00<?, ?B/s]


sub-CRMBM_acq-refv-0.66_TB1DREAM.json:   0%|        | 0.00/2.16k [00:00<?, ?B/s]


                                                                                
sub-CRMBM_acq-famp_TB1TFL.nii.gz:  33%|█▉    | 305k/919k [00:00<00:00, 1.26MB/s]
sub-CRMBM_acq-refv-1.5_TB1DREAM.json:   0%|         | 0.00/2.16k [00:00<?, ?B/s]


                                                                                
sub-CRMBM_acq-refv-1.5_TB1DREAM.nii.gz:   0%|       | 0.00/85.8k [00:00<?, ?B/s]

sub-CRMBM_acq-refv-0.66_TB1DREAM.nii.gz: 100%|█| 78.5k/78.5k [00:00<00:00, 576kB

                                                                                
                                                                                
sub-CRMBM_acq-refv-1.5_TB1DREAM.nii.gz:  97%|▉| 83.6k/85.8k [00:00<00:00, 714kB/


                                                                                
sub-CRMBM_acq-refv_TB1DREAM.json:   0%|             | 0.00/2.14k [00:00<?, ?B/s]
                                                                                
sub-CRMBM_acq-refv_TB1DREAM.nii.gz:   0%|           | 0.00/82.4k [00:00<?, ?B/s]
sub-MGH_T2starw.json:   0%|                         | 0.00/2.43k [00:00<?, ?B/s]

                                                                                

sub-MGH_T2starw.nii.gz:   0%|                       | 0.00/1.14M [00:00<?, ?B/s]
sub-CRMBM_acq-refv_TB1DREAM.nii.gz: 100%|███| 82.4k/82.4k [00:00<00:00, 601kB/s]
                                                                                

sub-MGH_rec-uncombined01_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]


sub-MGH_rec-uncombined01_T2starw.nii.gz:   0%|       | 0.00/804k [00:00<?, ?B/s]
                                                                                
sub-MGH_T2starw.nii.gz:   4%|▋              | 49.5k/1.14M [00:00<00:02, 463kB/s]
sub-MGH_rec-uncombined01_T2starw.nii.gz:  10%| | 83.5k/804k [00:00<00:01, 672kB/

sub-MGH_T2starw.nii.gz:  20%|███            | 237k/1.14M [00:00<00:00, 1.20MB/s]
sub-MGH_rec-uncombined02_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]
                                                                                
sub-MGH_T2starw.nii.gz:  54%|████████       | 629k/1.14M [00:00<00:00, 2.22MB/s]


sub-MGH_rec-uncombined01_T2starw.nii.gz:  51%|▌| 407k/804k [00:00<00:00, 1.70MB/
sub-MGH_rec-uncombined03_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]
                                                                                


                                                                                
sub-MGH_rec-uncombined02_T2starw.nii.gz:   0%|       | 0.00/717k [00:00<?, ?B/s]
                                                                                
sub-MGH_rec-uncombined02_T2starw.nii.gz:  12%| | 83.5k/717k [00:00<00:01, 619kB/
sub-MGH_rec-uncombined03_T2starw.nii.gz:   0%|       | 0.00/718k [00:00<?, ?B/s]
sub-MGH_rec-uncombined04_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]


                                                                                
sub-MGH_rec-uncombined02_T2starw.nii.gz:  57%|▌| 407k/717k [00:00<00:00, 1.66MB/
                                                                                
sub-MGH_rec-uncombined05_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]
                                                                                


sub-MGH_rec-uncombined03_T2starw.nii.gz:  12%| | 83.6k/718k [00:00<00:01, 528kB/
sub-MGH_rec-uncombined04_T2starw.nii.gz:   0%|       | 0.00/725k [00:00<?, ?B/s]
sub-MGH_rec-uncombined03_T2starw.nii.gz:  42%|▍| 305k/718k [00:00<00:00, 1.23MB/
sub-MGH_rec-uncombined04_T2starw.nii.gz:  12%| | 83.5k/725k [00:00<00:01, 610kB/

                                                                                
sub-MGH_rec-uncombined06_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]

                                                                                
sub-MGH_rec-uncombined05_T2starw.nii.gz:   0%|       | 0.00/798k [00:00<?, ?B/s]
sub-MGH_rec-uncombined06_T2starw.nii.gz:   0%|       | 0.00/794k [00:00<?, ?B/s]
sub-MGH_rec-uncombined04_T2starw.nii.gz:  54%|▌| 390k/725k [00:00<00:00, 1.56MB/
                                                                                
sub-MGH_rec-uncombined05_T2starw.nii.gz:  11%| | 85.2k/798k [00:00<00:01, 622kB/


sub-MGH_rec-uncombined06_T2starw.nii.gz:  11%| | 85.2k/794k [00:00<00:01, 619kB/
sub-MGH_rec-uncombined07_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]
                                                                                
sub-MGH_rec-uncombined05_T2starw.nii.gz:  51%|▌| 408k/798k [00:00<00:00, 1.64MB/


sub-MGH_rec-uncombined06_T2starw.nii.gz:  34%|▎| 272k/794k [00:00<00:00, 1.05MB/

                                                                                
sub-MGH_rec-uncombined07_T2starw.nii.gz:   0%|       | 0.00/773k [00:00<?, ?B/s]
                                                                                

sub-MGH_rec-uncombined08_T2starw.nii.gz:   0%|       | 0.00/853k [00:00<?, ?B/s]
sub-MGH_rec-uncombined07_T2starw.nii.gz:  11%| | 83.5k/773k [00:00<00:01, 642kB/
sub-MGH_rec-uncombined08_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]


                                                                                
sub-MGH_rec-uncombined08_T2starw.nii.gz:  10%| | 83.6k/853k [00:00<00:01, 692kB/
sub-MGH_rec-uncombined10_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]


                                                                                
sub-MGH_rec-uncombined07_T2starw.nii.gz:  42%|▍| 322k/773k [00:00<00:00, 1.25MB/
sub-MGH_rec-uncombined08_T2starw.nii.gz:  32%|▎| 271k/853k [00:00<00:00, 1.27MB/


sub-MGH_rec-uncombined09_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]


                                                                                
                                                                                
sub-MGH_rec-uncombined08_T2starw.nii.gz:  68%|▋| 577k/853k [00:00<00:00, 2.05MB/

                                                                                
sub-MGH_rec-uncombined09_T2starw.nii.gz:   0%|       | 0.00/805k [00:00<?, ?B/s]
sub-MGH_rec-uncombined11_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]

                                                                                
sub-MGH_rec-uncombined10_T2starw.nii.gz:   0%|       | 0.00/838k [00:00<?, ?B/s]
sub-MGH_rec-uncombined09_T2starw.nii.gz:  10%| | 83.6k/805k [00:00<00:01, 617kB/
sub-MGH_rec-uncombined12_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]


                                                                                


sub-MGH_rec-uncombined12_T2starw.nii.gz:   0%|       | 0.00/861k [00:00<?, ?B/s]
sub-MGH_rec-uncombined09_T2starw.nii.gz:  38%|▍| 305k/805k [00:00<00:00, 1.37MB/
sub-MGH_rec-uncombined10_T2starw.nii.gz:  10%| | 85.2k/838k [00:00<00:01, 630kB/
sub-MGH_rec-uncombined12_T2starw.nii.gz:  10%| | 85.2k/861k [00:00<00:01, 630kB/
sub-MGH_rec-uncombined09_T2starw.nii.gz:  89%|▉| 714k/805k [00:00<00:00, 2.52MB/
                                                                                
sub-MGH_rec-uncombined10_T2starw.nii.gz:  37%|▎| 306k/838k [00:00<00:00, 1.22MB/
sub-MGH_rec-uncombined11_T2starw.nii.gz:   0%|       | 0.00/857k [00:00<?, ?B/s]


sub-MGH_rec-uncombined12_T2starw.nii.gz:  38%|▍| 323k/861k [00:00<00:00, 1.29MB/

                                                                                
sub-MGH_rec-uncombined13_T2starw.nii.gz:   0%|       | 0.00/770k [00:00<?, ?B/s]


                                                                                
sub-MGH_rec-uncombined11_T2starw.nii.gz:  10%| | 83.6k/857k [00:00<00:01, 610kB/


sub-MGH_rec-uncombined13_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]


                                                                                
sub-MGH_rec-uncombined13_T2starw.nii.gz:  11%| | 83.6k/770k [00:00<00:01, 614kB/
sub-MGH_rec-uncombined11_T2starw.nii.gz:  36%|▎| 305k/857k [00:00<00:00, 1.20MB/
sub-MGH_rec-uncombined14_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]


                                                                                
sub-MGH_rec-uncombined13_T2starw.nii.gz:  37%|▎| 288k/770k [00:00<00:00, 1.13MB/
                                                                                
sub-MGH_rec-uncombined14_T2starw.nii.gz:   0%|       | 0.00/812k [00:00<?, ?B/s]

                                                                                
sub-MGH_rec-uncombined15_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]

                                                                                
sub-MGH_rec-uncombined14_T2starw.nii.gz:   6%| | 50.5k/812k [00:00<00:02, 371kB/
sub-MGH_rec-uncombined16_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]


sub-MGH_rec-uncombined15_T2starw.nii.gz:   0%|       | 0.00/743k [00:00<?, ?B/s]

                                                                                
sub-MGH_rec-uncombined14_T2starw.nii.gz:  33%|▎| 271k/812k [00:00<00:00, 1.10MB/
sub-MGH_rec-uncombined17_T2starw.nii.gz:   0%|       | 0.00/829k [00:00<?, ?B/s]


sub-MGH_rec-uncombined15_T2starw.nii.gz:  11%| | 83.5k/743k [00:00<00:01, 614kB/
                                                                                
sub-MGH_rec-uncombined16_T2starw.nii.gz:   0%|       | 0.00/785k [00:00<?, ?B/s]
sub-MGH_rec-uncombined17_T2starw.nii.gz:  10%| | 83.5k/829k [00:00<00:01, 614kB/


sub-MGH_rec-uncombined15_T2starw.nii.gz:  50%|▌| 373k/743k [00:00<00:00, 1.50MB/
sub-MGH_rec-uncombined16_T2starw.nii.gz:  11%| | 85.2k/785k [00:00<00:00, 759kB/



sub-MGH_rec-uncombined17_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]



                                                                                
                                                                                
sub-MGH_rec-uncombined17_T2starw.nii.gz:  49%|▍| 407k/829k [00:00<00:00, 1.64MB/


sub-MGH_rec-uncombined18_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]


                                                                                
sub-MGH_rec-uncombined16_T2starw.nii.gz:  39%|▍| 306k/785k [00:00<00:00, 1.30MB/
                                                                                
                                                                                
sub-MGH_rec-uncombined18_T2starw.nii.gz:   0%|       | 0.00/739k [00:00<?, ?B/s]
sub-MGH_rec-uncombined20_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]

                                                                                
sub-MGH_rec-uncombined18_T2starw.nii.gz:  11%| | 83.6k/739k [00:00<00:01, 617kB/

sub-MGH_rec-uncombined19_T2starw.nii.gz:   0%|       | 0.00/684k [00:00<?, ?B/s]
sub-MGH_rec-uncombined19_T2starw.json:   0%|        | 0.00/2.44k [00:00<?, ?B/s]


                                                                                
sub-MGH_acq-anat_TB1TFL.json:   0%|                 | 0.00/2.62k [00:00<?, ?B/s]


                                                                                
sub-MGH_rec-uncombined18_T2starw.nii.gz:  41%|▍| 305k/739k [00:00<00:00, 1.19MB/

sub-MGH_rec-uncombined19_T2starw.nii.gz:  11%| | 76.5k/684k [00:00<00:01, 564kB/
                                                                                
sub-MGH_rec-uncombined19_T2starw.nii.gz:  44%|▍| 297k/684k [00:00<00:00, 1.19MB/
sub-MGH_rec-uncombined20_T2starw.nii.gz:   0%|       | 0.00/795k [00:00<?, ?B/s]
                                                                                
sub-MGH_acq-anat_TB1TFL.nii.gz:   0%|                | 0.00/939k [00:00<?, ?B/s]
sub-MGH_rec-uncombined20_T2starw.nii.gz:  11%| | 85.2k/795k [00:00<00:01, 624kB/


sub-MGH_acq-coilQaSagLarge_SNR.json:   0%|          | 0.00/2.17k [00:00<?, ?B/s]


                                                                                
sub-MGH_acq-anat_TB1TFL.nii.gz:   9%|▋       | 83.6k/939k [00:00<00:01, 708kB/s]
sub-MGH_rec-uncombined20_T2starw.nii.gz:  37%|▎| 290k/795k [00:00<00:00, 1.30MB/
sub-MGH_acq-anat_TB1TFL.nii.gz:  31%|██▍     | 288k/939k [00:00<00:00, 1.37MB/s]
sub-MGH_acq-coilQaSagLarge_SNR.nii.gz:   0%|        | 0.00/3.81M [00:00<?, ?B/s]
sub-MGH_rec-uncombined20_T2starw.nii.gz:  81%|▊| 646k/795k [00:00<00:00, 2.25MB/
                                                                                
sub-MGH_acq-anat_TB1TFL.nii.gz:  71%|█████▋  | 663k/939k [00:00<00:00, 2.41MB/s]
sub-MGH_acq-coilQaSagSmall_GFactor.json:   0%|      | 0.00/2.18k [00:00<?, ?B/s]



sub-MGH_acq-coilQaSagSmall_GFactor.nii.gz:   0%|    | 0.00/3.60M [00:00<?, ?B/s]
                                                                                


                                                                                
sub-MGH_acq-coilQaSagLarge_SNR.nii.gz:   2%| | 85.2k/3.81M [00:00<00:06, 618kB/s
sub-MGH_acq-coilQaSagSmall_GFactor.nii.gz:   2%| | 83.6k/3.60M [00:00<00:05, 622
sub-MGH_acq-coilQaSagLarge_SNR.nii.gz:   8%| | 306k/3.81M [00:00<00:03, 1.22MB/s
sub-MGH_acq-coilQaTra_GFactor.json:   0%|           | 0.00/2.08k [00:00<?, ?B/s]
                                                                                




sub-MGH_acq-coilQaSagSmall_GFactor.nii.gz:   7%| | 254k/3.60M [00:00<00:03, 992k


sub-MGH_acq-coilQaSagLarge_SNR.nii.gz:  22%|▏| 867k/3.81M [00:00<00:01, 2.92MB/s
sub-MGH_acq-famp-0.66_TB1DREAM.json:   0%|          | 0.00/2.14k [00:00<?, ?B/s]
                                                                                



sub-MGH_acq-coilQaSagLarge_SNR.nii.gz:  45%|▍| 1.73M/3.81M [00:00<00:00, 5.11MB/



sub-MGH_acq-coilQaSagSmall_GFactor.nii.gz:  23%|▏| 833k/3.60M [00:00<00:01, 2.69
sub-MGH_acq-coilQaTra_GFactor.nii.gz:   0%|         | 0.00/16.0M [00:00<?, ?B/s]
sub-MGH_acq-coilQaSagLarge_SNR.nii.gz:  98%|▉| 3.74M/3.81M [00:00<00:00, 10.4MB/



sub-MGH_acq-coilQaSagSmall_GFactor.nii.gz:  54%|▌| 1.96M/3.60M [00:00<00:00, 5.8


                                                                                
sub-MGH_acq-coilQaTra_GFactor.nii.gz:   1%| | 83.6k/16.0M [00:00<00:24, 667kB/s]



                                                                                
sub-MGH_acq-famp_TB1DREAM.json:   0%|               | 0.00/2.13k [00:00<?, ?B/s]

                                                                                
sub-MGH_acq-coilQaTra_GFactor.nii.gz:   2%| | 305k/16.0M [00:00<00:13, 1.25MB/s]
sub-MGH_acq-famp-0.66_TB1DREAM.nii.gz:   0%|        | 0.00/85.7k [00:00<?, ?B/s]
sub-MGH_acq-coilQaTra_GFactor.nii.gz:   8%| | 1.24M/16.0M [00:00<00:03, 3.91MB/s
sub-MGH_acq-famp_TB1TFL.json:   0%|                 | 0.00/2.66k [00:00<?, ?B/s]


                                                                                


sub-MGH_acq-famp_TB1DREAM.nii.gz:   0%|             | 0.00/86.2k [00:00<?, ?B/s]

sub-MGH_acq-famp-0.66_TB1DREAM.nii.gz:  99%|▉| 85.2k/85.7k [00:00<00:00, 603kB/s

                                                                                
sub-MGH_acq-coilQaTra_GFactor.nii.gz:  23%|▏| 3.63M/16.0M [00:00<00:01, 10.6MB/s
sub-MGH_acq-famp_TB1TFL.nii.gz:   0%|                | 0.00/933k [00:00<?, ?B/s]
sub-MGH_acq-famp_TB1DREAM.nii.gz:  77%|███▊ | 66.5k/86.2k [00:00<00:00, 560kB/s]


                                                                                
sub-MGH_acq-coilQaTra_GFactor.nii.gz:  42%|▍| 6.73M/16.0M [00:00<00:00, 17.5MB/s
sub-MGH_acq-famp_TB1TFL.nii.gz:   9%|▋       | 83.6k/933k [00:00<00:01, 615kB/s]
sub-MGH_acq-coilQaTra_GFactor.nii.gz:  72%|▋| 11.4M/16.0M [00:00<00:00, 27.2MB/s


sub-MGH_acq-refv-0.66_TB1DREAM.json:   0%|          | 0.00/2.16k [00:00<?, ?B/s]


                                                                                
sub-MGH_acq-refv-0.66_TB1DREAM.nii.gz:   0%|        | 0.00/87.1k [00:00<?, ?B/s]
sub-MGH_acq-coilQaTra_GFactor.nii.gz:  95%|▉| 15.1M/16.0M [00:00<00:00, 30.7MB/s
sub-MGH_acq-famp_TB1TFL.nii.gz:  38%|███     | 356k/933k [00:00<00:00, 1.42MB/s]
                                                                                
                                                                                
sub-MGH_acq-refv-0.66_TB1DREAM.nii.gz:  96%|▉| 83.5k/87.1k [00:00<00:00, 571kB/s


                                                                                
sub-MGH_acq-refv_TB1DREAM.nii.gz:   0%|             | 0.00/91.4k [00:00<?, ?B/s]
sub-MGH_acq-refv_TB1DREAM.json:   0%|               | 0.00/2.14k [00:00<?, ?B/s]

                                                                                
sub-MGH_acq-refv_TB1DREAM.nii.gz:  93%|████▋| 85.2k/91.4k [00:00<00:00, 630kB/s]
                                                                                
sub-MNI_T2starw.json:   0%|                         | 0.00/2.41k [00:00<?, ?B/s]
                                                                                
sub-MNI_rec-uncombined01_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]
                                                                                

sub-MNI_T2starw.nii.gz:   0%|                       | 0.00/1.14M [00:00<?, ?B/s]
sub-MNI_rec-uncombined02_T2starw.nii.gz:   0%|       | 0.00/742k [00:00<?, ?B/s]
sub-MNI_T2starw.nii.gz:   6%|▊              | 66.6k/1.14M [00:00<00:02, 486kB/s]
sub-MNI_rec-uncombined02_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]


                                                                                


sub-MNI_rec-uncombined01_T2starw.nii.gz:   0%|       | 0.00/734k [00:00<?, ?B/s]

sub-MNI_rec-uncombined02_T2starw.nii.gz:  11%| | 83.6k/742k [00:00<00:01, 544kB/
sub-MNI_T2starw.nii.gz:  23%|███▍           | 271k/1.14M [00:00<00:00, 1.15MB/s]
sub-MNI_rec-uncombined01_T2starw.nii.gz:  12%| | 85.2k/734k [00:00<00:00, 744kB/



sub-MNI_rec-uncombined03_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]



                                                                                

sub-MNI_rec-uncombined02_T2starw.nii.gz:  43%|▍| 322k/742k [00:00<00:00, 1.32MB/
sub-MNI_T2starw.nii.gz:  52%|███████▊       | 611k/1.14M [00:00<00:00, 2.06MB/s]
                                                                                
sub-MNI_rec-uncombined01_T2starw.nii.gz:  35%|▎| 256k/734k [00:00<00:00, 1.30MB/

sub-MNI_rec-uncombined02_T2starw.nii.gz:  98%|▉| 731k/742k [00:00<00:00, 2.42MB/

                                                                                
sub-MNI_rec-uncombined03_T2starw.nii.gz:   0%|       | 0.00/835k [00:00<?, ?B/s]
sub-MNI_rec-uncombined01_T2starw.nii.gz:  86%|▊| 629k/734k [00:00<00:00, 2.32MB/


                                                                                
sub-MNI_rec-uncombined04_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]

                                                                                
sub-MNI_rec-uncombined03_T2starw.nii.gz:  10%| | 83.6k/835k [00:00<00:01, 614kB/
sub-MNI_rec-uncombined05_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]

                                                                                
sub-MNI_rec-uncombined04_T2starw.nii.gz:   0%|       | 0.00/792k [00:00<?, ?B/s]
sub-MNI_rec-uncombined03_T2starw.nii.gz:  39%|▍| 322k/835k [00:00<00:00, 1.28MB/
sub-MNI_rec-uncombined06_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]


                                                                                
                                                                                
sub-MNI_rec-uncombined04_T2starw.nii.gz:  11%| | 83.6k/792k [00:00<00:01, 616kB/
sub-MNI_rec-uncombined05_T2starw.nii.gz:   0%|       | 0.00/792k [00:00<?, ?B/s]
sub-MNI_rec-uncombined06_T2starw.nii.gz:   0%|       | 0.00/801k [00:00<?, ?B/s]
sub-MNI_rec-uncombined04_T2starw.nii.gz:  36%|▎| 288k/792k [00:00<00:00, 1.13MB/
sub-MNI_rec-uncombined05_T2starw.nii.gz:  11%| | 83.6k/792k [00:00<00:01, 607kB/
sub-MNI_rec-uncombined07_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]



                                                                                
                                                                                


sub-MNI_rec-uncombined06_T2starw.nii.gz:  10%| | 83.6k/801k [00:00<00:01, 557kB/
sub-MNI_rec-uncombined07_T2starw.nii.gz:   0%|       | 0.00/817k [00:00<?, ?B/s]
sub-MNI_rec-uncombined05_T2starw.nii.gz:  38%|▍| 305k/792k [00:00<00:00, 1.19MB/
                                                                                



sub-MNI_rec-uncombined06_T2starw.nii.gz:  38%|▍| 305k/801k [00:00<00:00, 1.18MB/

sub-MNI_rec-uncombined07_T2starw.nii.gz:  10%| | 85.2k/817k [00:00<00:01, 659kB/
                                                                                
sub-MNI_rec-uncombined08_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]
                                                                                
sub-MNI_rec-uncombined08_T2starw.nii.gz:   0%|       | 0.00/804k [00:00<?, ?B/s]

sub-MNI_rec-uncombined07_T2starw.nii.gz:  50%|▍| 408k/817k [00:00<00:00, 1.74MB/

                                                                                
sub-MNI_rec-uncombined08_T2starw.nii.gz:  10%| | 83.6k/804k [00:00<00:01, 620kB/

sub-MNI_rec-uncombined10_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]

                                                                                
sub-MNI_rec-uncombined09_T2starw.nii.gz:   0%|       | 0.00/798k [00:00<?, ?B/s]
sub-MNI_rec-uncombined08_T2starw.nii.gz:  44%|▍| 356k/804k [00:00<00:00, 1.43MB/
sub-MNI_rec-uncombined09_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]


                                                                                


sub-MNI_rec-uncombined11_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]


                                                                                
                                                                                
sub-MNI_rec-uncombined09_T2starw.nii.gz:  10%| | 83.6k/798k [00:00<00:01, 613kB/
sub-MNI_rec-uncombined10_T2starw.nii.gz:   0%|       | 0.00/816k [00:00<?, ?B/s]
sub-MNI_rec-uncombined09_T2starw.nii.gz:  36%|▎| 288k/798k [00:00<00:00, 1.13MB/
sub-MNI_rec-uncombined11_T2starw.nii.gz:   0%|       | 0.00/857k [00:00<?, ?B/s]

                                                                                
sub-MNI_rec-uncombined10_T2starw.nii.gz:  10%| | 83.6k/816k [00:00<00:01, 536kB/

sub-MNI_rec-uncombined12_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]

                                                                                
sub-MNI_rec-uncombined12_T2starw.nii.gz:   0%|       | 0.00/846k [00:00<?, ?B/s]
sub-MNI_rec-uncombined11_T2starw.nii.gz:  10%| | 83.5k/857k [00:00<00:01, 613kB/
sub-MNI_rec-uncombined10_T2starw.nii.gz:  37%|▎| 305k/816k [00:00<00:00, 1.23MB/
sub-MNI_rec-uncombined12_T2starw.nii.gz:  10%| | 84.1k/846k [00:00<00:01, 612kB/
                                                                                



sub-MNI_rec-uncombined11_T2starw.nii.gz:  47%|▍| 407k/857k [00:00<00:00, 1.64MB/
sub-MNI_rec-uncombined13_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]
                                                                                
sub-MNI_rec-uncombined13_T2starw.nii.gz:   0%|       | 0.00/765k [00:00<?, ?B/s]


                                                                                

sub-MNI_rec-uncombined12_T2starw.nii.gz:  48%|▍| 407k/846k [00:00<00:00, 1.52MB/
                                                                                
sub-MNI_rec-uncombined13_T2starw.nii.gz:  11%| | 85.2k/765k [00:00<00:01, 675kB/
sub-MNI_rec-uncombined14_T2starw.nii.gz:   0%|       | 0.00/803k [00:00<?, ?B/s]
sub-MNI_rec-uncombined14_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]


                                                                                
sub-MNI_rec-uncombined13_T2starw.nii.gz:  53%|▌| 408k/765k [00:00<00:00, 1.58MB/
                                                                                

sub-MNI_rec-uncombined15_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]
                                                                                
sub-MNI_rec-uncombined14_T2starw.nii.gz:  10%| | 83.5k/803k [00:00<00:01, 611kB/
sub-MNI_rec-uncombined15_T2starw.nii.gz:   0%|       | 0.00/737k [00:00<?, ?B/s]
sub-MNI_rec-uncombined14_T2starw.nii.gz:  51%|▌| 407k/803k [00:00<00:00, 1.64MB/

                                                                                
sub-MNI_rec-uncombined16_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]

                                                                                
sub-MNI_rec-uncombined15_T2starw.nii.gz:  11%| | 83.5k/737k [00:00<00:01, 576kB/
sub-MNI_rec-uncombined17_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]

                                                                                

sub-MNI_rec-uncombined17_T2starw.nii.gz:   0%|       | 0.00/762k [00:00<?, ?B/s]
sub-MNI_rec-uncombined15_T2starw.nii.gz:  55%|▌| 407k/737k [00:00<00:00, 1.65MB/
                                                                                
sub-MNI_rec-uncombined17_T2starw.nii.gz:  11%| | 85.2k/762k [00:00<00:01, 618kB/
sub-MNI_rec-uncombined18_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]
                                                                                

sub-MNI_rec-uncombined18_T2starw.nii.gz:   0%|       | 0.00/757k [00:00<?, ?B/s]


sub-MNI_rec-uncombined16_T2starw.nii.gz:   0%|       | 0.00/728k [00:00<?, ?B/s]

sub-MNI_rec-uncombined17_T2starw.nii.gz:  38%|▍| 289k/762k [00:00<00:00, 1.11MB/
                                                                                
sub-MNI_rec-uncombined19_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]

                                                                                
sub-MNI_rec-uncombined18_T2starw.nii.gz:  11%| | 83.6k/757k [00:00<00:01, 677kB/


sub-MNI_rec-uncombined16_T2starw.nii.gz:  11%| | 83.5k/728k [00:00<00:00, 677kB/
sub-MNI_rec-uncombined18_T2starw.nii.gz:  40%|▍| 305k/757k [00:00<00:00, 1.27MB/


sub-MNI_rec-uncombined16_T2starw.nii.gz:  56%|▌| 407k/728k [00:00<00:00, 1.72MB/
                                                                                

sub-MNI_rec-uncombined19_T2starw.nii.gz:   0%|       | 0.00/635k [00:00<?, ?B/s]
                                                                                

sub-MNI_acq-anat_TB1TFL.json:   0%|                 | 0.00/2.59k [00:00<?, ?B/s]
                                                                                

sub-MNI_rec-uncombined20_T2starw.json:   0%|        | 0.00/2.42k [00:00<?, ?B/s]
                                                                                
sub-MNI_rec-uncombined19_T2starw.nii.gz:   5%| | 32.6k/635k [00:00<00:01, 313kB/
sub-MNI_rec-uncombined19_T2starw.nii.gz:  21%|▏| 136k/635k [00:00<00:00, 725kB/s
sub-MNI_acq-coilQaSagLarge_SNR.json:   0%|          | 0.00/2.18k [00:00<?, ?B/s]
                                                                                


sub-MNI_rec-uncombined19_T2starw.nii.gz:  75%|▋| 476k/635k [00:00<00:00, 1.95MB/
sub-MNI_rec-uncombined20_T2starw.nii.gz:   0%|       | 0.00/752k [00:00<?, ?B/s]

                                                                                
sub-MNI_acq-anat_TB1TFL.nii.gz:   0%|                | 0.00/942k [00:00<?, ?B/s]
sub-MNI_rec-uncombined20_T2starw.nii.gz:  11%| | 83.6k/752k [00:00<00:01, 616kB/


sub-MNI_acq-coilQaSagLarge_SNR.nii.gz:   0%|        | 0.00/3.86M [00:00<?, ?B/s]
sub-MNI_acq-coilQaSagSmall_GFactor.json:   0%|      | 0.00/2.16k [00:00<?, ?B/s]



                                                                                
sub-MNI_acq-anat_TB1TFL.nii.gz:   9%|▋       | 83.6k/942k [00:00<00:01, 544kB/s]
sub-MNI_rec-uncombined20_T2starw.nii.gz:  38%|▍| 288k/752k [00:00<00:00, 1.13MB/
sub-MNI_acq-coilQaSagLarge_SNR.nii.gz:   2%| | 83.5k/3.86M [00:00<00:06, 613kB/s
                                                                                

sub-MNI_acq-coilQaSagSmall_GFactor.nii.gz:   0%|    | 0.00/3.56M [00:00<?, ?B/s]

sub-MNI_acq-anat_TB1TFL.nii.gz:  32%|██▌     | 305k/942k [00:00<00:00, 1.16MB/s]
sub-MNI_acq-coilQaSagLarge_SNR.nii.gz:   7%| | 272k/3.86M [00:00<00:02, 1.28MB/s
                                                                                
sub-MNI_acq-coilQaSagLarge_SNR.nii.gz:  21%|▏| 832k/3.86M [00:00<00:01, 3.03MB/s
sub-MNI_acq-coilQaSagSmall_GFactor.nii.gz:   2%| | 83.6k/3.56M [00:00<00:05, 709

sub-MNI_acq-coilQaTra_GFactor.json:   0%|           | 0.00/2.06k [00:00<?, ?B/s]

                                                                                
sub-MNI_acq-coilQaSagLarge_SNR.nii.gz:  52%|▌| 1.99M/3.86M [00:00<00:00, 6.44MB/
sub-MNI_acq-coilQaSagSmall_GFactor.nii.gz:   8%| | 305k/3.56M [00:00<00:02, 1.28

sub-MNI_acq-famp-0.66_TB1DREAM.json:   0%|          | 0.00/2.12k [00:00<?, ?B/s]

                                                                                
                                                                                
sub-MNI_acq-coilQaSagSmall_GFactor.nii.gz:  35%|▎| 1.24M/3.56M [00:00<00:00, 4.0
sub-MNI_acq-famp-0.66_TB1DREAM.nii.gz:   0%|        | 0.00/88.2k [00:00<?, ?B/s]


sub-MNI_acq-coilQaTra_GFactor.nii.gz:   0%|         | 0.00/15.9M [00:00<?, ?B/s]
                                                                                
sub-MNI_acq-famp-1.5_TB1DREAM.json:   0%|           | 0.00/2.12k [00:00<?, ?B/s]
                                                                                
sub-MNI_acq-famp-0.66_TB1DREAM.nii.gz:  95%|▉| 83.5k/88.2k [00:00<00:00, 621kB/s

                                                                                


sub-MNI_acq-coilQaTra_GFactor.nii.gz:   1%| | 83.6k/15.9M [00:00<00:31, 534kB/s]
sub-MNI_acq-famp-1.5_TB1DREAM.nii.gz:   0%|         | 0.00/84.4k [00:00<?, ?B/s]
sub-MNI_acq-coilQaTra_GFactor.nii.gz:   2%| | 305k/15.9M [00:00<00:13, 1.21MB/s]
sub-MNI_acq-famp-1.5_TB1DREAM.nii.gz: 100%|█| 84.4k/84.4k [00:00<00:00, 625kB/s]
                                                                                
sub-MNI_acq-famp_TB1DREAM.json:   0%|               | 0.00/2.11k [00:00<?, ?B/s]
                                                                                

sub-MNI_acq-famp_TB1DREAM.nii.gz:   0%|             | 0.00/85.9k [00:00<?, ?B/s]


sub-MNI_acq-coilQaTra_GFactor.nii.gz:   8%| | 1.24M/15.9M [00:00<00:03, 3.92MB/s
sub-MNI_acq-famp_TB1TFL.nii.gz:   0%|                | 0.00/938k [00:00<?, ?B/s]
sub-MNI_acq-coilQaTra_GFactor.nii.gz:  24%|▏| 3.88M/15.9M [00:00<00:01, 11.5MB/s
sub-MNI_acq-famp_TB1DREAM.nii.gz:  97%|████▊| 83.5k/85.9k [00:00<00:00, 622kB/s]
                                                                                
sub-MNI_acq-famp_TB1TFL.nii.gz:   9%|▋       | 83.6k/938k [00:00<00:01, 609kB/s]
sub-MNI_acq-famp_TB1TFL.json:   0%|                 | 0.00/2.63k [00:00<?, ?B/s]
                                                                                
sub-MNI_acq-coilQaTra_GFactor.nii.gz:  39%|▍| 6.29M/15.9M [00:00<00:00, 15.5MB/s
sub-MNI_acq-refv-1.5_TB1DREAM.json:   0%|           | 0.00/2.13k [00:00<?, ?B/s]
                                                                                
sub-MNI_acq-famp_TB1TFL.nii.gz:  32%|██▌     | 305k/938k [00:00<00:00, 1.20MB/s]
sub-MNI_acq-coilQaTra_GFactor.nii.gz:  61%|▌| 9.74M/15.9M [00:00<00:00, 21.8MB/s
                                                                                
sub-MNI_acq-coilQaTra_GFactor.nii.gz:  81%|▊| 12.9M/15.9M [00:00<00:00, 25.3MB/s
                                                                                
sub-MNI_acq-refv-0.66_TB1DREAM.json:   0%|          | 0.00/2.13k [00:00<?, ?B/s]
                                                                                
sub-MNI_acq-refv_TB1DREAM.json:   0%|               | 0.00/2.12k [00:00<?, ?B/s]
                                                                                

sub-MNI_acq-refv-0.66_TB1DREAM.nii.gz:   0%|        | 0.00/85.1k [00:00<?, ?B/s]
sub-MNI_acq-refv-0.66_TB1DREAM.nii.gz:  98%|▉| 83.5k/85.1k [00:00<00:00, 613kB/s
                                                                                
sub-MNI_acq-refv-1.5_TB1DREAM.nii.gz:   0%|         | 0.00/91.3k [00:00<?, ?B/s]
sub-MNI_acq-refv_TB1DREAM.nii.gz:   0%|             | 0.00/89.8k [00:00<?, ?B/s]
sub-MPI_T2starw.json:   0%|                         | 0.00/2.42k [00:00<?, ?B/s]


                                                                                
sub-MNI_acq-refv-1.5_TB1DREAM.nii.gz:  92%|▉| 83.6k/91.3k [00:00<00:00, 563kB/s]


sub-MPI_T2starw.nii.gz:   0%|                       | 0.00/1.16M [00:00<?, ?B/s]
                                                                                


sub-MNI_acq-refv_TB1DREAM.nii.gz:  76%|███▊ | 68.2k/89.8k [00:00<00:00, 696kB/s]
                                                                                
sub-MPI_T2starw.nii.gz:   7%|█              | 83.6k/1.16M [00:00<00:01, 746kB/s]
sub-MPI_rec-uncombined10_T2starw.nii.gz:   0%|       | 0.00/923k [00:00<?, ?B/s]
sub-MPI_T2starw.nii.gz:  26%|███▊           | 305k/1.16M [00:00<00:00, 1.30MB/s]

sub-MPI_rec-uncombined10_T2starw.json:   0%|        | 0.00/2.43k [00:00<?, ?B/s]

                                                                                

sub-MPI_rec-uncombined12_T2starw.json:   0%|        | 0.00/2.43k [00:00<?, ?B/s]

                                                                                
sub-MPI_rec-uncombined10_T2starw.nii.gz:   9%| | 83.6k/923k [00:00<00:01, 611kB/


                                                                                
sub-MPI_rec-uncombined11_T2starw.json:   0%|        | 0.00/2.43k [00:00<?, ?B/s]

                                                                                
sub-MPI_rec-uncombined10_T2starw.nii.gz:  31%|▎| 289k/923k [00:00<00:00, 1.31MB/
sub-MPI_rec-uncombined10_T2starw.nii.gz:  70%|▋| 645k/923k [00:00<00:00, 2.27MB/
                                                                                
sub-MPI_rec-uncombined13_T2starw.json:   0%|        | 0.00/2.43k [00:00<?, ?B/s]
                                                                                
sub-MPI_rec-uncombined11_T2starw.nii.gz:   0%|       | 0.00/929k [00:00<?, ?B/s]
sub-MPI_rec-uncombined12_T2starw.nii.gz:   0%|       | 0.00/944k [00:00<?, ?B/s]


sub-MPI_rec-uncombined13_T2starw.nii.gz:   0%|       | 0.00/925k [00:00<?, ?B/s]
sub-MPI_rec-uncombined11_T2starw.nii.gz:   9%| | 83.5k/929k [00:00<00:01, 610kB/
sub-MPI_rec-uncombined14_T2starw.json:   0%|        | 0.00/2.43k [00:00<?, ?B/s]


sub-MPI_rec-uncombined13_T2starw.nii.gz:   7%| | 67.5k/925k [00:00<00:04, 200kB/
sub-MPI_rec-uncombined11_T2starw.nii.gz:  20%|▏| 186k/929k [00:00<00:01, 412kB/s




sub-MPI_rec-uncombined14_T2starw.nii.gz:   0%|       | 0.00/966k [00:00<?, ?B/s]

sub-MPI_rec-uncombined12_T2starw.nii.gz:   9%| | 83.6k/944k [00:00<00:03, 246kB/



                                                                                
                                                                                
sub-MPI_rec-uncombined12_T2starw.nii.gz:  94%|▉| 884k/944k [00:00<00:00, 2.44MB/


sub-MPI_rec-uncombined13_T2starw.nii.gz:  81%|▊| 747k/925k [00:00<00:00, 2.06MB/

                                                                                




sub-MPI_rec-uncombined14_T2starw.nii.gz:  17%|▏| 169k/966k [00:00<00:00, 1.18MB/
                                                                                
sub-MPI_rec-uncombined14_T2starw.nii.gz:  58%|▌| 560k/966k [00:00<00:00, 2.24MB/




                                                                                
sub-MPI_rec-uncombined15_T2starw.nii.gz:   0%|       | 0.00/953k [00:00<?, ?B/s]
sub-MPI_rec-uncombined16_T2starw.json:   0%|        | 0.00/2.43k [00:00<?, ?B/s]

                                                                                

sub-MPI_rec-uncombined15_T2starw.json:   0%|        | 0.00/2.43k [00:00<?, ?B/s]

                                                                                

sub-MPI_rec-uncombined17_T2starw.json:   0%|        | 0.00/2.43k [00:00<?, ?B/s]

                                                                                
sub-MPI_rec-uncombined15_T2starw.nii.gz:   7%| | 66.6k/953k [00:00<00:01, 491kB/
sub-MPI_rec-uncombined15_T2starw.nii.gz:  28%|▎| 271k/953k [00:00<00:00, 1.16MB/
sub-MPI_rec-uncombined16_T2starw.nii.gz:   0%|       | 0.00/987k [00:00<?, ?B/s]
                                                                                

sub-MPI_rec-uncombined17_T2starw.nii.gz:   0%|      | 0.00/0.99M [00:00<?, ?B/s]


sub-MPI_rec-uncombined18_T2starw.json:   0%|        | 0.00/2.43k [00:00<?, ?B/s]


                                                                                
sub-MPI_rec-uncombined16_T2starw.nii.gz:   8%| | 83.6k/987k [00:00<00:01, 618kB/


sub-MPI_rec-uncombined19_T2starw.nii.gz:   0%|      | 0.00/1.01M [00:00<?, ?B/s]
sub-MPI_rec-uncombined17_T2starw.nii.gz:   8%| | 83.6k/0.99M [00:00<00:01, 637kB
sub-MPI_rec-uncombined16_T2starw.nii.gz:  31%|▎| 305k/987k [00:00<00:00, 1.38MB/


sub-MPI_rec-uncombined19_T2starw.nii.gz:   8%| | 83.6k/1.01M [00:00<00:01, 616kB
sub-MPI_rec-uncombined17_T2starw.nii.gz:  30%|▎| 305k/0.99M [00:00<00:00, 1.23MB

sub-MPI_rec-uncombined16_T2starw.nii.gz:  69%|▋| 680k/987k [00:00<00:00, 2.38MB/



sub-MPI_rec-uncombined19_T2starw.json:   0%|        | 0.00/2.43k [00:00<?, ?B/s]



                                                                                


sub-MPI_rec-uncombined19_T2starw.nii.gz:  28%|▎| 288k/1.01M [00:00<00:00, 1.32MB

                                                                                
sub-MPI_rec-uncombined18_T2starw.nii.gz:   0%|      | 0.00/0.99M [00:00<?, ?B/s]
                                                                                
sub-MPI_rec-uncombined19_T2starw.nii.gz:  61%|▌| 628k/1.01M [00:00<00:00, 2.21MB
                                                                                
sub-MPI_rec-uncombined18_T2starw.nii.gz:   8%| | 83.6k/0.99M [00:00<00:01, 654kB
sub-MPI_rec-uncombined1_T2starw.json:   0%|         | 0.00/2.43k [00:00<?, ?B/s]
                                                                                
sub-MPI_rec-uncombined18_T2starw.nii.gz:  30%|▎| 306k/0.99M [00:00<00:00, 1.21MB
sub-MPI_rec-uncombined20_T2starw.nii.gz:   0%|       | 0.00/990k [00:00<?, ?B/s]

                                                                                
sub-MPI_rec-uncombined21_T2starw.json:   0%|        | 0.00/2.43k [00:00<?, ?B/s]


sub-MPI_rec-uncombined1_T2starw.nii.gz:   0%|        | 0.00/967k [00:00<?, ?B/s]

                                                                                
sub-MPI_rec-uncombined20_T2starw.nii.gz:   8%| | 83.6k/990k [00:00<00:01, 621kB/
sub-MPI_rec-uncombined1_T2starw.nii.gz:   9%| | 83.6k/967k [00:00<00:01, 707kB/s
sub-MPI_rec-uncombined20_T2starw.json:   0%|        | 0.00/2.43k [00:00<?, ?B/s]

                                                                                
sub-MPI_rec-uncombined20_T2starw.nii.gz:  38%|▍| 373k/990k [00:00<00:00, 1.51MB/
sub-MPI_rec-uncombined22_T2starw.json:   0%|        | 0.00/2.43k [00:00<?, ?B/s]

                                                                                


sub-MPI_rec-uncombined1_T2starw.nii.gz:  32%|▎| 305k/967k [00:00<00:00, 1.18MB/s
                                                                                
                                                                                
sub-MPI_rec-uncombined21_T2starw.nii.gz:   0%|       | 0.00/989k [00:00<?, ?B/s]
sub-MPI_rec-uncombined21_T2starw.nii.gz:   9%| | 85.2k/989k [00:00<00:01, 681kB/

sub-MPI_rec-uncombined23_T2starw.json:   0%|        | 0.00/2.43k [00:00<?, ?B/s]

                                                                                
sub-MPI_rec-uncombined22_T2starw.nii.gz:   0%|      | 0.00/1.00M [00:00<?, ?B/s]
sub-MPI_rec-uncombined24_T2starw.json:   0%|        | 0.00/2.43k [00:00<?, ?B/s]


                                                                                
sub-MPI_rec-uncombined21_T2starw.nii.gz:  41%|▍| 408k/989k [00:00<00:00, 1.70MB/
sub-MPI_rec-uncombined23_T2starw.nii.gz:   0%|      | 0.00/1.00M [00:00<?, ?B/s]

sub-MPI_rec-uncombined22_T2starw.nii.gz:   8%| | 83.6k/1.00M [00:00<00:01, 705kB
                                                                                
sub-MPI_rec-uncombined23_T2starw.nii.gz:   8%| | 83.5k/1.00M [00:00<00:01, 609kB

sub-MPI_rec-uncombined22_T2starw.nii.gz:  30%|▎| 305k/1.00M [00:00<00:00, 1.27MB
sub-MPI_rec-uncombined2_T2starw.json:   0%|         | 0.00/2.43k [00:00<?, ?B/s]
                                                                                
sub-MPI_rec-uncombined23_T2starw.nii.gz:  25%|▏| 255k/1.00M [00:00<00:00, 1.19MB
sub-MPI_rec-uncombined24_T2starw.nii.gz:   0%|       | 0.00/983k [00:00<?, ?B/s]

                                                                                
sub-MPI_rec-uncombined23_T2starw.nii.gz:  64%|▋| 662k/1.00M [00:00<00:00, 2.34MB


                                                                                
sub-MPI_rec-uncombined24_T2starw.nii.gz:   8%| | 83.6k/983k [00:00<00:01, 598kB/
sub-MPI_rec-uncombined2_T2starw.nii.gz:   0%|        | 0.00/937k [00:00<?, ?B/s]


sub-MPI_rec-uncombined3_T2starw.json:   0%|         | 0.00/2.43k [00:00<?, ?B/s]


                                                                                
sub-MPI_rec-uncombined24_T2starw.nii.gz:  31%|▎| 305k/983k [00:00<00:00, 1.15MB/


sub-MPI_rec-uncombined4_T2starw.json:   0%|         | 0.00/2.43k [00:00<?, ?B/s]


                                                                                
                                                                                


sub-MPI_rec-uncombined2_T2starw.nii.gz:   9%| | 83.6k/937k [00:00<00:01, 622kB/s
sub-MPI_rec-uncombined3_T2starw.nii.gz:   0%|        | 0.00/956k [00:00<?, ?B/s]
sub-MPI_rec-uncombined2_T2starw.nii.gz:  29%|▎| 271k/937k [00:00<00:00, 1.22MB/s
sub-MPI_rec-uncombined5_T2starw.json:   0%|         | 0.00/2.43k [00:00<?, ?B/s]


                                                                                
sub-MPI_rec-uncombined3_T2starw.nii.gz:   9%| | 83.6k/956k [00:00<00:01, 584kB/s

sub-MPI_rec-uncombined2_T2starw.nii.gz:  60%|▌| 560k/937k [00:00<00:00, 1.89MB/s

                                                                                
sub-MPI_rec-uncombined4_T2starw.nii.gz:   0%|        | 0.00/960k [00:00<?, ?B/s]
sub-MPI_rec-uncombined5_T2starw.nii.gz:   0%|        | 0.00/964k [00:00<?, ?B/s]
sub-MPI_rec-uncombined3_T2starw.nii.gz:  32%|▎| 305k/956k [00:00<00:00, 1.22MB/s
sub-MPI_rec-uncombined4_T2starw.nii.gz:   9%| | 83.6k/960k [00:00<00:01, 606kB/s
                                                                                



sub-MPI_rec-uncombined5_T2starw.nii.gz:   9%| | 85.2k/964k [00:00<00:01, 623kB/s
sub-MPI_rec-uncombined6_T2starw.json:   0%|         | 0.00/2.43k [00:00<?, ?B/s]
                                                                                

sub-MPI_rec-uncombined6_T2starw.nii.gz:   0%|        | 0.00/930k [00:00<?, ?B/s]
sub-MPI_rec-uncombined4_T2starw.nii.gz:  37%|▎| 356k/960k [00:00<00:00, 1.42MB/s
sub-MPI_rec-uncombined5_T2starw.nii.gz:  42%|▍| 408k/964k [00:00<00:00, 1.64MB/s
                                                                                
sub-MPI_rec-uncombined6_T2starw.nii.gz:   9%| | 83.6k/930k [00:00<00:01, 607kB/s
                                                                                

sub-MPI_rec-uncombined7_T2starw.json:   0%|         | 0.00/2.43k [00:00<?, ?B/s]

                                                                                
sub-MPI_rec-uncombined6_T2starw.nii.gz:  33%|▎| 305k/930k [00:00<00:00, 1.21MB/s

sub-MPI_rec-uncombined7_T2starw.nii.gz:   0%|        | 0.00/968k [00:00<?, ?B/s]
                                                                                
sub-MPI_rec-uncombined8_T2starw.json:   0%|         | 0.00/2.43k [00:00<?, ?B/s]
                                                                                


sub-MPI_rec-uncombined7_T2starw.nii.gz:   9%| | 85.2k/968k [00:00<00:01, 595kB/s
sub-MPI_rec-uncombined8_T2starw.nii.gz:   0%|        | 0.00/951k [00:00<?, ?B/s]
sub-MPI_rec-uncombined9_T2starw.json:   0%|         | 0.00/2.43k [00:00<?, ?B/s]


                                                                                

sub-MPI_rec-uncombined7_T2starw.nii.gz:  30%|▎| 289k/968k [00:00<00:00, 1.30MB/s
sub-MPI_rec-uncombined8_T2starw.nii.gz:   9%| | 83.6k/951k [00:00<00:01, 604kB/s

sub-MPI_rec-uncombined7_T2starw.nii.gz:  67%|▋| 647k/968k [00:00<00:00, 2.26MB/s
                                                                                

sub-MPI_rec-uncombined9_T2starw.nii.gz:   0%|        | 0.00/925k [00:00<?, ?B/s]
sub-MPI_acq-anat_TB1TFL.json:   0%|                 | 0.00/2.63k [00:00<?, ?B/s]


                                                                                
sub-MPI_rec-uncombined8_T2starw.nii.gz:  27%|▎| 254k/951k [00:00<00:00, 928kB/s]
sub-MPI_rec-uncombined9_T2starw.nii.gz:   9%| | 85.2k/925k [00:00<00:01, 663kB/s
                                                                                
sub-MPI_acq-anat_TB1TFL.nii.gz:   0%|                | 0.00/702k [00:00<?, ?B/s]
sub-MPI_rec-uncombined9_T2starw.nii.gz:  31%|▎| 289k/925k [00:00<00:00, 1.34MB/s
sub-MPI_acq-anat_TB1TFL.nii.gz:  12%|▉       | 83.5k/702k [00:00<00:00, 718kB/s]


sub-MPI_acq-coilQaSagLarge_SNR.json:   0%|          | 0.00/2.16k [00:00<?, ?B/s]


                                                                                
sub-MPI_rec-uncombined9_T2starw.nii.gz:  70%|▋| 646k/925k [00:00<00:00, 2.29MB/s

                                                                                
sub-MPI_acq-anat_TB1TFL.nii.gz:  58%|████▋   | 407k/702k [00:00<00:00, 1.75MB/s]
                                                                                

sub-MPI_acq-coilQaSagSmall_GFactor.json:   0%|      | 0.00/2.16k [00:00<?, ?B/s]
                                                                                
sub-MPI_acq-coilQaSagLarge_SNR.nii.gz:   0%|        | 0.00/3.99M [00:00<?, ?B/s]

sub-MPI_acq-coilQaTra_GFactor.json:   0%|           | 0.00/2.07k [00:00<?, ?B/s]

                                                                                
sub-MPI_acq-coilQaSagSmall_GFactor.nii.gz:   0%|    | 0.00/3.53M [00:00<?, ?B/s]
sub-MPI_acq-coilQaSagLarge_SNR.nii.gz:   2%| | 85.2k/3.99M [00:00<00:06, 629kB/s


sub-MPI_acq-famp-0.66_TB1DREAM.json:   0%|          | 0.00/2.08k [00:00<?, ?B/s]


                                                                                
sub-MPI_acq-coilQaSagSmall_GFactor.nii.gz:   2%| | 83.5k/3.53M [00:00<00:05, 616
sub-MPI_acq-coilQaTra_GFactor.nii.gz:   0%|         | 0.00/15.5M [00:00<?, ?B/s]
sub-MPI_acq-coilQaSagLarge_SNR.nii.gz:   7%| | 289k/3.99M [00:00<00:03, 1.14MB/s
sub-MPI_acq-famp-0.66_TB1DREAM.nii.gz:   0%|        | 0.00/87.4k [00:00<?, ?B/s]

sub-MPI_acq-coilQaSagSmall_GFactor.nii.gz:  11%| | 407k/3.53M [00:00<00:01, 1.65


sub-MPI_acq-coilQaTra_GFactor.nii.gz:   1%| | 83.5k/15.5M [00:00<00:26, 604kB/s]
sub-MPI_acq-coilQaSagLarge_SNR.nii.gz:  28%|▎| 1.13M/3.99M [00:00<00:00, 4.03MB/
sub-MPI_acq-coilQaSagSmall_GFactor.nii.gz:  34%|▎| 1.19M/3.53M [00:00<00:00, 4.1
sub-MPI_acq-famp-1.5_TB1DREAM.nii.gz:   0%|         | 0.00/89.9k [00:00<?, ?B/s]
sub-MPI_acq-coilQaSagLarge_SNR.nii.gz:  57%|▌| 2.28M/3.99M [00:00<00:00, 6.66MB/



sub-MPI_acq-famp-0.66_TB1DREAM.nii.gz:  98%|▉| 85.2k/87.4k [00:00<00:00, 620kB/s



                                                                                


sub-MPI_acq-coilQaTra_GFactor.nii.gz:   3%| | 407k/15.5M [00:00<00:09, 1.61MB/s]
sub-MPI_acq-coilQaSagSmall_GFactor.nii.gz:  64%|▋| 2.27M/3.53M [00:00<00:00, 6.6
sub-MPI_acq-coilQaSagLarge_SNR.nii.gz: 100%|▉| 3.97M/3.99M [00:00<00:00, 10.2MB/
                                                                                



sub-MPI_acq-coilQaTra_GFactor.nii.gz:   6%| | 934k/15.5M [00:00<00:05, 3.01MB/s]




sub-MPI_acq-famp-1.5_TB1DREAM.nii.gz:  93%|▉| 83.6k/89.9k [00:00<00:00, 613kB/s]




                                                                                
                                                                                
sub-MPI_acq-coilQaTra_GFactor.nii.gz:  15%|▏| 2.35M/15.5M [00:00<00:01, 7.17MB/s
sub-MPI_acq-famp-1.5_TB1DREAM.json:   0%|           | 0.00/2.08k [00:00<?, ?B/s]
                                                                                
sub-MPI_acq-coilQaTra_GFactor.nii.gz:  36%|▎| 5.61M/15.5M [00:00<00:00, 16.1MB/s
sub-MPI_acq-famp_TB1DREAM.json:   0%|               | 0.00/2.06k [00:00<?, ?B/s]
                                                                                
sub-MPI_acq-coilQaTra_GFactor.nii.gz:  56%|▌| 8.61M/15.5M [00:00<00:00, 21.0MB/s
sub-MPI_acq-famp_TB1TFL.json:   0%|                 | 0.00/2.66k [00:00<?, ?B/s]
                                                                                
sub-MPI_acq-famp_TB1DREAM.nii.gz:   0%|             | 0.00/87.5k [00:00<?, ?B/s]
sub-MPI_acq-coilQaTra_GFactor.nii.gz:  83%|▊| 12.8M/15.5M [00:00<00:00, 28.1MB/s
sub-MPI_acq-famp_TB1DREAM.nii.gz:  95%|████▊| 83.6k/87.5k [00:00<00:00, 669kB/s]
                                                                                
                                                                                
sub-MPI_acq-famp_TB1TFL.nii.gz:   0%|                | 0.00/933k [00:00<?, ?B/s]
sub-MPI_acq-refv-0.66_TB1DREAM.json:   0%|          | 0.00/2.09k [00:00<?, ?B/s]

                                                                                

sub-MPI_acq-refv-1.5_TB1DREAM.json:   0%|           | 0.00/2.09k [00:00<?, ?B/s]

                                                                                
sub-MPI_acq-famp_TB1TFL.nii.gz:   9%|▋       | 85.2k/933k [00:00<00:01, 657kB/s]
sub-MPI_acq-famp_TB1TFL.nii.gz:  35%|██▊     | 323k/933k [00:00<00:00, 1.30MB/s]

sub-MPI_acq-refv-0.66_TB1DREAM.nii.gz:   0%|        | 0.00/80.7k [00:00<?, ?B/s]


sub-MPI_acq-refv_TB1DREAM.json:   0%|               | 0.00/2.07k [00:00<?, ?B/s]


                                                                                
sub-MPI_acq-refv-1.5_TB1DREAM.nii.gz:   0%|         | 0.00/93.2k [00:00<?, ?B/s]
                                                                                
sub-MPI_acq-refv_TB1DREAM.nii.gz:   0%|             | 0.00/84.7k [00:00<?, ?B/s]
sub-MPI_acq-refv-0.66_TB1DREAM.nii.gz: 100%|█| 80.7k/80.7k [00:00<00:00, 591kB/s

                                                                                
sub-MPI_acq-refv-1.5_TB1DREAM.nii.gz:  90%|▉| 83.6k/93.2k [00:00<00:00, 613kB/s]


                                                                                
sub-MPI_acq-refv_TB1DREAM.nii.gz: 100%|█████| 84.7k/84.7k [00:00<00:00, 628kB/s]
                                                                                
sub-MSSM_T2starw.json:   0%|                        | 0.00/2.53k [00:00<?, ?B/s]
                                                                                
sub-MSSM_T2starw.nii.gz:   0%|                      | 0.00/1.74M [00:00<?, ?B/s]

sub-MSSM_rec-uncombined10_T2starw.json:   0%|       | 0.00/2.36k [00:00<?, ?B/s]

                                                                                
sub-MSSM_rec-uncombined10_T2starw.nii.gz:   0%|      | 0.00/974k [00:00<?, ?B/s]
sub-MSSM_T2starw.nii.gz:   5%|▋             | 85.2k/1.74M [00:00<00:02, 624kB/s]


sub-MSSM_rec-uncombined11_T2starw.json:   0%|       | 0.00/2.36k [00:00<?, ?B/s]


                                                                                
sub-MSSM_rec-uncombined12_T2starw.json:   0%|       | 0.00/2.36k [00:00<?, ?B/s]


                                                                                
sub-MSSM_rec-uncombined10_T2starw.nii.gz:   9%| | 83.6k/974k [00:00<00:01, 614kB
sub-MSSM_T2starw.nii.gz:  17%|██▍           | 306k/1.74M [00:00<00:01, 1.22MB/s]
sub-MSSM_rec-uncombined11_T2starw.nii.gz:   0%|      | 0.00/934k [00:00<?, ?B/s]
sub-MSSM_rec-uncombined10_T2starw.nii.gz:  31%|▎| 305k/974k [00:00<00:00, 1.20MB
sub-MSSM_T2starw.nii.gz:  71%|█████████▎   | 1.25M/1.74M [00:00<00:00, 3.90MB/s]
                                                                                



sub-MSSM_rec-uncombined11_T2starw.nii.gz:   9%| | 83.6k/934k [00:00<00:01, 610kB

                                                                                
sub-MSSM_rec-uncombined12_T2starw.nii.gz:   0%|      | 0.00/826k [00:00<?, ?B/s]

sub-MSSM_rec-uncombined13_T2starw.nii.gz:   0%|     | 0.00/1.12M [00:00<?, ?B/s]
sub-MSSM_rec-uncombined11_T2starw.nii.gz:  33%|▎| 305k/934k [00:00<00:00, 1.21MB
sub-MSSM_rec-uncombined12_T2starw.nii.gz:  10%| | 83.6k/826k [00:00<00:01, 618kB

sub-MSSM_rec-uncombined13_T2starw.nii.gz:   7%| | 83.6k/1.12M [00:00<00:01, 617k
                                                                                


sub-MSSM_rec-uncombined13_T2starw.json:   0%|       | 0.00/2.36k [00:00<?, ?B/s]


                                                                                
sub-MSSM_rec-uncombined12_T2starw.nii.gz:  37%|▎| 305k/826k [00:00<00:00, 1.21MB
sub-MSSM_rec-uncombined13_T2starw.nii.gz:  26%|▎| 305k/1.12M [00:00<00:00, 1.21M


sub-MSSM_rec-uncombined14_T2starw.nii.gz:   0%|      | 0.00/949k [00:00<?, ?B/s]
                                                                                
                                                                                
sub-MSSM_rec-uncombined14_T2starw.nii.gz:   9%| | 85.2k/949k [00:00<00:01, 625kB
sub-MSSM_rec-uncombined14_T2starw.json:   0%|       | 0.00/2.36k [00:00<?, ?B/s]
                                                                                
sub-MSSM_rec-uncombined15_T2starw.json:   0%|       | 0.00/2.36k [00:00<?, ?B/s]
                                                                                
sub-MSSM_rec-uncombined14_T2starw.nii.gz:  43%|▍| 408k/949k [00:00<00:00, 1.62MB
sub-MSSM_rec-uncombined16_T2starw.json:   0%|       | 0.00/2.36k [00:00<?, ?B/s]
                                                                                
                                                                                
sub-MSSM_rec-uncombined15_T2starw.nii.gz:   0%|      | 0.00/934k [00:00<?, ?B/s]
sub-MSSM_rec-uncombined17_T2starw.json:   0%|       | 0.00/2.36k [00:00<?, ?B/s]

                                                                                
sub-MSSM_rec-uncombined15_T2starw.nii.gz:   9%| | 83.6k/934k [00:00<00:01, 689kB
sub-MSSM_rec-uncombined16_T2starw.nii.gz:   0%|     | 0.00/1.06M [00:00<?, ?B/s]
sub-MSSM_rec-uncombined15_T2starw.nii.gz:  33%|▎| 305k/934k [00:00<00:00, 1.25MB


sub-MSSM_rec-uncombined17_T2starw.nii.gz:   0%|      | 0.00/721k [00:00<?, ?B/s]



sub-MSSM_rec-uncombined18_T2starw.json:   0%|       | 0.00/2.36k [00:00<?, ?B/s]



                                                                                
                                                                                


sub-MSSM_rec-uncombined16_T2starw.nii.gz:   8%| | 83.6k/1.06M [00:00<00:01, 539k
sub-MSSM_rec-uncombined17_T2starw.nii.gz:  12%| | 83.6k/721k [00:00<00:01, 616kB
sub-MSSM_rec-uncombined18_T2starw.nii.gz:   0%|      | 0.00/695k [00:00<?, ?B/s]
sub-MSSM_rec-uncombined16_T2starw.nii.gz:  28%|▎| 305k/1.06M [00:00<00:00, 1.25M
sub-MSSM_rec-uncombined17_T2starw.nii.gz:  42%|▍| 305k/721k [00:00<00:00, 1.21MB
sub-MSSM_rec-uncombined18_T2starw.nii.gz:  12%| | 83.6k/695k [00:00<00:01, 610kB



sub-MSSM_rec-uncombined19_T2starw.json:   0%|       | 0.00/2.36k [00:00<?, ?B/s]



                                                                                
sub-MSSM_rec-uncombined16_T2starw.nii.gz:  80%|▊| 866k/1.06M [00:00<00:00, 2.93M

                                                                                


                                                                                
sub-MSSM_rec-uncombined19_T2starw.nii.gz:   0%|      | 0.00/896k [00:00<?, ?B/s]
sub-MSSM_rec-uncombined18_T2starw.nii.gz:  44%|▍| 305k/695k [00:00<00:00, 1.20MB
                                                                                
sub-MSSM_rec-uncombined19_T2starw.nii.gz:   9%| | 83.6k/896k [00:00<00:01, 611kB
sub-MSSM_rec-uncombined1_T2starw.json:   0%|        | 0.00/2.36k [00:00<?, ?B/s]


sub-MSSM_rec-uncombined20_T2starw.json:   0%|       | 0.00/2.36k [00:00<?, ?B/s]
                                                                                



                                                                                
sub-MSSM_rec-uncombined19_T2starw.nii.gz:  32%|▎| 288k/896k [00:00<00:00, 1.04MB
sub-MSSM_rec-uncombined1_T2starw.nii.gz:   0%|       | 0.00/927k [00:00<?, ?B/s]
                                                                                
sub-MSSM_rec-uncombined20_T2starw.nii.gz:   0%|      | 0.00/582k [00:00<?, ?B/s]
sub-MSSM_rec-uncombined1_T2starw.nii.gz:   9%| | 83.6k/927k [00:00<00:01, 611kB/
sub-MSSM_rec-uncombined20_T2starw.nii.gz:  14%|▏| 83.6k/582k [00:00<00:00, 615kB
sub-MSSM_rec-uncombined1_T2starw.nii.gz:  33%|▎| 305k/927k [00:00<00:00, 1.20MB/


sub-MSSM_rec-uncombined21_T2starw.nii.gz:   0%|      | 0.00/831k [00:00<?, ?B/s]



sub-MSSM_rec-uncombined21_T2starw.json:   0%|       | 0.00/2.36k [00:00<?, ?B/s]



                                                                                
                                                                                
sub-MSSM_rec-uncombined22_T2starw.nii.gz:   0%|      | 0.00/833k [00:00<?, ?B/s]

sub-MSSM_rec-uncombined20_T2starw.nii.gz:  61%|▌| 356k/582k [00:00<00:00, 1.58MB

                                                                                
sub-MSSM_rec-uncombined21_T2starw.nii.gz:   8%| | 66.6k/831k [00:00<00:01, 468kB
sub-MSSM_rec-uncombined22_T2starw.nii.gz:  10%| | 83.6k/833k [00:00<00:01, 706kB
sub-MSSM_rec-uncombined21_T2starw.nii.gz:  35%|▎| 288k/831k [00:00<00:00, 1.26MB
                                                                                
sub-MSSM_rec-uncombined22_T2starw.nii.gz:  37%|▎| 305k/833k [00:00<00:00, 1.24MB
sub-MSSM_rec-uncombined22_T2starw.json:   0%|       | 0.00/2.36k [00:00<?, ?B/s]

                                                                                

sub-MSSM_rec-uncombined2_T2starw.json:   0%|        | 0.00/2.36k [00:00<?, ?B/s]

                                                                                
                                                                                

sub-MSSM_rec-uncombined2_T2starw.nii.gz:   0%|       | 0.00/871k [00:00<?, ?B/s]
sub-MSSM_rec-uncombined2_T2starw.nii.gz:  10%| | 85.2k/871k [00:00<00:01, 611kB/

sub-MSSM_rec-uncombined3_T2starw.json:   0%|        | 0.00/2.36k [00:00<?, ?B/s]

                                                                                
sub-MSSM_rec-uncombined4_T2starw.json:   0%|        | 0.00/2.36k [00:00<?, ?B/s]

                                                                                

sub-MSSM_rec-uncombined3_T2starw.nii.gz:   0%|       | 0.00/901k [00:00<?, ?B/s]
sub-MSSM_rec-uncombined2_T2starw.nii.gz:  31%|▎| 272k/871k [00:00<00:00, 1.06MB/


sub-MSSM_rec-uncombined5_T2starw.json:   0%|        | 0.00/2.36k [00:00<?, ?B/s]


                                                                                
                                                                                
sub-MSSM_rec-uncombined3_T2starw.nii.gz:   9%| | 85.2k/901k [00:00<00:01, 617kB/
sub-MSSM_rec-uncombined4_T2starw.nii.gz:   0%|       | 0.00/891k [00:00<?, ?B/s]
sub-MSSM_rec-uncombined5_T2starw.nii.gz:   0%|       | 0.00/980k [00:00<?, ?B/s]

sub-MSSM_rec-uncombined3_T2starw.nii.gz:  34%|▎| 306k/901k [00:00<00:00, 1.18MB/
sub-MSSM_rec-uncombined4_T2starw.nii.gz:   9%| | 83.6k/891k [00:00<00:01, 606kB/
                                                                                

sub-MSSM_rec-uncombined6_T2starw.nii.gz:   0%|      | 0.00/0.98M [00:00<?, ?B/s]



sub-MSSM_rec-uncombined6_T2starw.json:   0%|        | 0.00/2.36k [00:00<?, ?B/s]



                                                                                
sub-MSSM_rec-uncombined5_T2starw.nii.gz:   9%| | 83.6k/980k [00:00<00:01, 603kB/
sub-MSSM_rec-uncombined4_T2starw.nii.gz:  34%|▎| 305k/891k [00:00<00:00, 1.20MB/
sub-MSSM_rec-uncombined6_T2starw.nii.gz:   8%| | 83.5k/0.98M [00:00<00:01, 613kB
sub-MSSM_rec-uncombined5_T2starw.nii.gz:  31%|▎| 305k/980k [00:00<00:00, 1.20MB/
                                                                                
                                                                                
sub-MSSM_rec-uncombined7_T2starw.json:   0%|        | 0.00/2.36k [00:00<?, ?B/s]
                                                                                


sub-MSSM_rec-uncombined6_T2starw.nii.gz:  40%|▍| 407k/0.98M [00:00<00:00, 1.50MB
sub-MSSM_rec-uncombined7_T2starw.nii.gz:   0%|       | 0.00/756k [00:00<?, ?B/s]
                                                                                
sub-MSSM_rec-uncombined7_T2starw.nii.gz:  11%| | 83.6k/756k [00:00<00:01, 645kB/
sub-MSSM_rec-uncombined8_T2starw.json:   0%|        | 0.00/2.36k [00:00<?, ?B/s]

                                                                                
sub-MSSM_rec-uncombined9_T2starw.json:   0%|        | 0.00/2.36k [00:00<?, ?B/s]

                                                                                
sub-MSSM_rec-uncombined7_T2starw.nii.gz:  40%|▍| 305k/756k [00:00<00:00, 1.21MB/

sub-MSSM_rec-uncombined8_T2starw.nii.gz:   0%|       | 0.00/858k [00:00<?, ?B/s]
                                                                                

sub-MSSM_acq-coilQaSagLarge_SNR.json:   0%|         | 0.00/2.10k [00:00<?, ?B/s]
                                                                                
sub-MSSM_rec-uncombined8_T2starw.nii.gz:  10%| | 83.6k/858k [00:00<00:01, 617kB/
sub-MSSM_rec-uncombined9_T2starw.nii.gz:   0%|       | 0.00/949k [00:00<?, ?B/s]
sub-MSSM_rec-uncombined8_T2starw.nii.gz:  35%|▎| 305k/858k [00:00<00:00, 1.21MB/
sub-MSSM_acq-coilQaSagLarge_SNR.nii.gz:   0%|       | 0.00/3.94M [00:00<?, ?B/s]

                                                                                
sub-MSSM_rec-uncombined9_T2starw.nii.gz:   9%| | 83.6k/949k [00:00<00:01, 527kB/

sub-MSSM_acq-coilQaSagSmall_GFactor.json:   0%|     | 0.00/2.14k [00:00<?, ?B/s]

                                                                                
sub-MSSM_acq-coilQaSagSmall_GFactor.nii.gz:   0%|   | 0.00/4.19M [00:00<?, ?B/s]
sub-MSSM_acq-coilQaSagLarge_SNR.nii.gz:   2%| | 83.6k/3.94M [00:00<00:06, 615kB/
sub-MSSM_rec-uncombined9_T2starw.nii.gz:  34%|▎| 322k/949k [00:00<00:00, 1.29MB/
                                                                                


sub-MSSM_acq-coilQaSagSmall_GFactor.nii.gz:   2%| | 83.6k/4.19M [00:00<00:07, 55
sub-MSSM_acq-coilQaTra_GFactor.json:   0%|          | 0.00/2.05k [00:00<?, ?B/s]
                                                                                
sub-MSSM_acq-coilQaSagLarge_SNR.nii.gz:   8%| | 305k/3.94M [00:00<00:03, 1.12MB/
sub-MSSM_acq-coilQaSagSmall_GFactor.nii.gz:   6%| | 271k/4.19M [00:00<00:03, 1.0
sub-MSSM_acq-coilQaTra_GFactor.nii.gz:   0%|        | 0.00/16.8M [00:00<?, ?B/s]


sub-MSSM_acq-coilQaSagLarge_SNR.nii.gz:  32%|▎| 1.24M/3.94M [00:00<00:00, 3.97MB
                                                                                
sub-MSSM_acq-famp-0.66_TB1DREAM.json:   0%|         | 0.00/2.10k [00:00<?, ?B/s]

sub-MSSM_acq-coilQaSagSmall_GFactor.nii.gz:  24%|▏| 0.99M/4.19M [00:00<00:01, 2.


                                                                                
sub-MSSM_acq-coilQaTra_GFactor.nii.gz:   0%| | 83.6k/16.8M [00:00<00:28, 608kB/s
sub-MSSM_acq-famp-0.66_TB1DREAM.nii.gz:   0%|       | 0.00/89.1k [00:00<?, ?B/s]
sub-MSSM_acq-coilQaSagSmall_GFactor.nii.gz:  78%|▊| 3.28M/4.19M [00:00<00:00, 9.
sub-MSSM_acq-coilQaTra_GFactor.nii.gz:   2%| | 271k/16.8M [00:00<00:16, 1.06MB/s

                                                                                
sub-MSSM_acq-famp-0.66_TB1DREAM.nii.gz:  96%|▉| 85.2k/89.1k [00:00<00:00, 632kB/


                                                                                
sub-MSSM_acq-famp-1.5_TB1DREAM.json:   0%|          | 0.00/2.10k [00:00<?, ?B/s]

                                                                                
sub-MSSM_acq-coilQaTra_GFactor.nii.gz:   6%| | 1.06M/16.8M [00:00<00:04, 3.32MB/
sub-MSSM_acq-famp-1.5_TB1DREAM.nii.gz:   0%|        | 0.00/89.9k [00:00<?, ?B/s]
sub-MSSM_acq-coilQaTra_GFactor.nii.gz:  20%|▏| 3.31M/16.8M [00:00<00:01, 9.76MB/
sub-MSSM_acq-famp_TB1DREAM.json:   0%|              | 0.00/2.10k [00:00<?, ?B/s]


                                                                                
sub-MSSM_acq-famp-1.5_TB1DREAM.nii.gz:  93%|▉| 83.6k/89.9k [00:00<00:00, 615kB/s

                                                                                
sub-MSSM_acq-coilQaTra_GFactor.nii.gz:  36%|▎| 6.06M/16.8M [00:00<00:00, 14.9MB/
sub-MSSM_acq-famp_TB1DREAM.nii.gz:   0%|            | 0.00/89.8k [00:00<?, ?B/s]
sub-MSSM_acq-coilQaTra_GFactor.nii.gz:  63%|▋| 10.6M/16.8M [00:00<00:00, 24.6MB/
sub-MSSM_acq-famp_TB1TFL.nii.gz:   0%|               | 0.00/809k [00:00<?, ?B/s]

sub-MSSM_acq-famp_TB1DREAM.nii.gz:  93%|███▋| 83.6k/89.8k [00:00<00:00, 617kB/s]

                                                                                
sub-MSSM_acq-famp_TB1TFL.json:   0%|                | 0.00/2.50k [00:00<?, ?B/s]

                                                                                
sub-MSSM_acq-coilQaTra_GFactor.nii.gz:  78%|▊| 13.2M/16.8M [00:00<00:00, 23.6MB/


sub-MSSM_acq-famp_TB1TFL.nii.gz:  10%|▋      | 83.6k/809k [00:00<00:01, 611kB/s]
                                                                                
sub-MSSM_acq-refv-0.66_TB1DREAM.nii.gz:   0%|       | 0.00/87.2k [00:00<?, ?B/s]
sub-MSSM_acq-famp_TB1TFL.nii.gz:  38%|██▋    | 305k/809k [00:00<00:00, 1.37MB/s]
sub-MSSM_acq-refv-0.66_TB1DREAM.json:   0%|         | 0.00/2.12k [00:00<?, ?B/s]

                                                                                
sub-MSSM_acq-refv-0.66_TB1DREAM.nii.gz:  96%|▉| 83.5k/87.2k [00:00<00:00, 564kB/


sub-MSSM_acq-famp_TB1TFL.nii.gz:  80%|█████▌ | 645k/809k [00:00<00:00, 2.20MB/s]
                                                                                

sub-MSSM_acq-refv-1.5_TB1DREAM.json:   0%|          | 0.00/2.12k [00:00<?, ?B/s]
                                                                                
                                                                                
sub-MSSM_acq-refv_TB1DREAM.json:   0%|              | 0.00/2.12k [00:00<?, ?B/s]
                                                                                
sub-NTNU_T2starw.json:   0%|                        | 0.00/2.47k [00:00<?, ?B/s]
                                                                                

sub-MSSM_acq-refv-1.5_TB1DREAM.nii.gz:   0%|        | 0.00/90.7k [00:00<?, ?B/s]

sub-MSSM_acq-refv_TB1DREAM.nii.gz:   0%|            | 0.00/89.8k [00:00<?, ?B/s]
sub-NTNU_T2starw.nii.gz:   0%|                      | 0.00/1.18M [00:00<?, ?B/s]
sub-NTNU_rec-uncombined01_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]



                                                                                
sub-MSSM_acq-refv-1.5_TB1DREAM.nii.gz:  92%|▉| 83.5k/90.7k [00:00<00:00, 621kB/s
                                                                                
sub-NTNU_T2starw.nii.gz:   4%|▌             | 52.2k/1.18M [00:00<00:02, 513kB/s]

sub-MSSM_acq-refv_TB1DREAM.nii.gz:  93%|███▋| 83.5k/89.8k [00:00<00:00, 540kB/s]

                                                                                
sub-NTNU_T2starw.nii.gz:  13%|█▉             | 153k/1.18M [00:00<00:01, 794kB/s]
sub-NTNU_rec-uncombined01_T2starw.nii.gz:   0%|      | 0.00/981k [00:00<?, ?B/s]
sub-NTNU_T2starw.nii.gz:  55%|███████▋      | 663k/1.18M [00:00<00:00, 2.36MB/s]
                                                                                

sub-NTNU_rec-uncombined03_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]


sub-NTNU_rec-uncombined02_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]

                                                                                


                                                                                
sub-NTNU_rec-uncombined01_T2starw.nii.gz:   9%| | 83.6k/981k [00:00<00:01, 507kB

sub-NTNU_rec-uncombined02_T2starw.nii.gz:   0%|      | 0.00/939k [00:00<?, ?B/s]
sub-NTNU_rec-uncombined01_T2starw.nii.gz:  33%|▎| 322k/981k [00:00<00:00, 1.35MB
sub-NTNU_rec-uncombined02_T2starw.nii.gz:  14%|▏| 136k/939k [00:00<00:00, 841kB/
                                                                                

sub-NTNU_rec-uncombined04_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]
                                                                                
sub-NTNU_rec-uncombined05_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]
                                                                                
sub-NTNU_rec-uncombined02_T2starw.nii.gz:  67%|▋| 628k/939k [00:00<00:00, 2.35MB
sub-NTNU_rec-uncombined03_T2starw.nii.gz:   0%|      | 0.00/988k [00:00<?, ?B/s]

                                                                                
sub-NTNU_rec-uncombined03_T2starw.nii.gz:   8%| | 83.5k/988k [00:00<00:01, 608kB
sub-NTNU_rec-uncombined06_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]

                                                                                
sub-NTNU_rec-uncombined03_T2starw.nii.gz:  36%|▎| 357k/988k [00:00<00:00, 1.63MB

sub-NTNU_rec-uncombined05_T2starw.nii.gz:   0%|      | 0.00/968k [00:00<?, ?B/s]


sub-NTNU_rec-uncombined04_T2starw.nii.gz:   0%|      | 0.00/975k [00:00<?, ?B/s]
sub-NTNU_rec-uncombined06_T2starw.nii.gz:   0%|      | 0.00/961k [00:00<?, ?B/s]
sub-NTNU_rec-uncombined03_T2starw.nii.gz:  84%|▊| 832k/988k [00:00<00:00, 2.92MB
                                                                                


sub-NTNU_rec-uncombined05_T2starw.nii.gz:   9%| | 83.6k/968k [00:00<00:01, 623kB


sub-NTNU_rec-uncombined04_T2starw.nii.gz:   9%| | 83.6k/975k [00:00<00:01, 627kB

sub-NTNU_rec-uncombined06_T2starw.nii.gz:   9%| | 83.6k/961k [00:00<00:01, 623kB
sub-NTNU_rec-uncombined07_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]
                                                                                
sub-NTNU_rec-uncombined05_T2starw.nii.gz:  30%|▎| 288k/968k [00:00<00:00, 1.19MB


sub-NTNU_rec-uncombined04_T2starw.nii.gz:  31%|▎| 305k/975k [00:00<00:00, 1.28MB
sub-NTNU_rec-uncombined06_T2starw.nii.gz:  32%|▎| 305k/961k [00:00<00:00, 1.22MB

                                                                                
sub-NTNU_rec-uncombined04_T2starw.nii.gz:  91%|▉| 883k/975k [00:00<00:00, 3.01MB


                                                                                
sub-NTNU_rec-uncombined08_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]
                                                                                
sub-NTNU_rec-uncombined06_T2starw.nii.gz:  99%|▉| 952k/961k [00:00<00:00, 3.26MB



                                                                                
sub-NTNU_rec-uncombined07_T2starw.nii.gz:   0%|     | 0.00/0.99M [00:00<?, ?B/s]

sub-NTNU_rec-uncombined09_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]

                                                                                
sub-NTNU_rec-uncombined08_T2starw.nii.gz:   0%|      | 0.00/944k [00:00<?, ?B/s]
sub-NTNU_rec-uncombined07_T2starw.nii.gz:   8%| | 83.5k/0.99M [00:00<00:01, 615k
sub-NTNU_rec-uncombined10_T2starw.nii.gz:   0%|      | 0.00/998k [00:00<?, ?B/s]
sub-NTNU_rec-uncombined09_T2starw.nii.gz:   0%|     | 0.00/0.99M [00:00<?, ?B/s]
sub-NTNU_rec-uncombined07_T2starw.nii.gz:  38%|▍| 390k/0.99M [00:00<00:00, 1.81M
sub-NTNU_rec-uncombined08_T2starw.nii.gz:   9%| | 83.6k/944k [00:00<00:01, 617kB


sub-NTNU_rec-uncombined10_T2starw.nii.gz:   8%| | 83.5k/998k [00:00<00:01, 611kB
sub-NTNU_rec-uncombined10_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]




                                                                                
sub-NTNU_rec-uncombined07_T2starw.nii.gz:  80%|▊| 815k/0.99M [00:00<00:00, 2.85M
                                                                                




sub-NTNU_rec-uncombined09_T2starw.nii.gz:   8%| | 83.5k/0.99M [00:00<00:01, 551k


sub-NTNU_rec-uncombined10_T2starw.nii.gz:  39%|▍| 390k/998k [00:00<00:00, 1.88MB
sub-NTNU_rec-uncombined08_T2starw.nii.gz:  32%|▎| 305k/944k [00:00<00:00, 1.21MB
                                                                                
sub-NTNU_rec-uncombined09_T2starw.nii.gz:  32%|▎| 322k/0.99M [00:00<00:00, 1.27M


sub-NTNU_rec-uncombined10_T2starw.nii.gz:  83%|▊| 832k/998k [00:00<00:00, 2.74MB


                                                                                
                                                                                
sub-NTNU_rec-uncombined11_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]
                                                                                
sub-NTNU_rec-uncombined11_T2starw.nii.gz:   0%|     | 0.00/1.01M [00:00<?, ?B/s]
sub-NTNU_rec-uncombined12_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]

                                                                                
sub-NTNU_rec-uncombined12_T2starw.nii.gz:   0%|     | 0.00/1.00M [00:00<?, ?B/s]
sub-NTNU_rec-uncombined11_T2starw.nii.gz:   8%| | 83.6k/1.01M [00:00<00:01, 617k
sub-NTNU_rec-uncombined13_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]


                                                                                
sub-NTNU_rec-uncombined14_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]


                                                                                
sub-NTNU_rec-uncombined11_T2starw.nii.gz:  30%|▎| 305k/1.01M [00:00<00:00, 1.38M

sub-NTNU_rec-uncombined12_T2starw.nii.gz:   8%| | 83.6k/1.00M [00:00<00:01, 623k
sub-NTNU_rec-uncombined11_T2starw.nii.gz:  66%|▋| 680k/1.01M [00:00<00:00, 2.38M
                                                                                
sub-NTNU_rec-uncombined12_T2starw.nii.gz:  26%|▎| 271k/1.00M [00:00<00:00, 1.07M
sub-NTNU_rec-uncombined13_T2starw.nii.gz:   0%|      | 0.00/999k [00:00<?, ?B/s]
sub-NTNU_rec-uncombined15_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]


                                                                                
sub-NTNU_rec-uncombined12_T2starw.nii.gz:  63%|▋| 646k/1.00M [00:00<00:00, 2.12M

                                                                                
sub-NTNU_rec-uncombined14_T2starw.nii.gz:   0%|     | 0.00/1.03M [00:00<?, ?B/s]
sub-NTNU_rec-uncombined13_T2starw.nii.gz:   8%| | 83.6k/999k [00:00<00:01, 591kB
sub-NTNU_rec-uncombined15_T2starw.nii.gz:   0%|     | 0.00/0.99M [00:00<?, ?B/s]

sub-NTNU_rec-uncombined14_T2starw.nii.gz:   8%| | 85.2k/1.03M [00:00<00:01, 676k
sub-NTNU_rec-uncombined13_T2starw.nii.gz:  30%|▎| 305k/999k [00:00<00:00, 1.22MB
                                                                                



sub-NTNU_rec-uncombined15_T2starw.nii.gz:   8%| | 83.5k/0.99M [00:00<00:01, 676k
sub-NTNU_rec-uncombined14_T2starw.nii.gz:  28%|▎| 289k/1.03M [00:00<00:00, 1.17M
sub-NTNU_rec-uncombined16_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]
                                                                                
sub-NTNU_rec-uncombined16_T2starw.nii.gz:   0%|      | 0.00/998k [00:00<?, ?B/s]
                                                                                


sub-NTNU_rec-uncombined15_T2starw.nii.gz:  40%|▍| 407k/0.99M [00:00<00:00, 1.75M
                                                                                
sub-NTNU_rec-uncombined16_T2starw.nii.gz:   8%| | 83.5k/998k [00:00<00:01, 610kB

sub-NTNU_rec-uncombined17_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]

                                                                                
sub-NTNU_rec-uncombined18_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]

                                                                                
sub-NTNU_rec-uncombined16_T2starw.nii.gz:  41%|▍| 407k/998k [00:00<00:00, 1.58MB
                                                                                
sub-NTNU_rec-uncombined17_T2starw.nii.gz:   0%|      | 0.00/932k [00:00<?, ?B/s]
sub-NTNU_rec-uncombined18_T2starw.nii.gz:   0%|      | 0.00/919k [00:00<?, ?B/s]
sub-NTNU_rec-uncombined19_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]


                                                                                
sub-NTNU_rec-uncombined17_T2starw.nii.gz:   9%| | 83.6k/932k [00:00<00:01, 707kB
sub-NTNU_rec-uncombined19_T2starw.nii.gz:   0%|      | 0.00/971k [00:00<?, ?B/s]
sub-NTNU_rec-uncombined18_T2starw.nii.gz:   9%| | 83.5k/919k [00:00<00:01, 619kB



sub-NTNU_rec-uncombined20_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]



                                                                                
sub-NTNU_rec-uncombined17_T2starw.nii.gz:  29%|▎| 271k/932k [00:00<00:00, 1.11MB
sub-NTNU_rec-uncombined19_T2starw.nii.gz:   9%| | 83.5k/971k [00:00<00:01, 615kB
                                                                                


sub-NTNU_rec-uncombined18_T2starw.nii.gz:  44%|▍| 407k/919k [00:00<00:00, 1.50MB
                                                                                


sub-NTNU_rec-uncombined19_T2starw.nii.gz:  42%|▍| 407k/971k [00:00<00:00, 1.63MB
sub-NTNU_rec-uncombined20_T2starw.nii.gz:   0%|      | 0.00/947k [00:00<?, ?B/s]
                                                                                

sub-NTNU_rec-uncombined21_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]

                                                                                
sub-NTNU_rec-uncombined20_T2starw.nii.gz:   9%| | 83.5k/947k [00:00<00:01, 620kB
sub-NTNU_rec-uncombined21_T2starw.nii.gz:   0%|      | 0.00/949k [00:00<?, ?B/s]
sub-NTNU_rec-uncombined22_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]


                                                                                
sub-NTNU_rec-uncombined20_T2starw.nii.gz:  30%|▎| 288k/947k [00:00<00:00, 1.04MB
                                                                                

sub-NTNU_rec-uncombined22_T2starw.nii.gz:   0%|      | 0.00/948k [00:00<?, ?B/s]


sub-NTNU_rec-uncombined23_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]


                                                                                

sub-NTNU_rec-uncombined21_T2starw.nii.gz:   9%| | 83.6k/949k [00:00<00:01, 605kB
sub-NTNU_rec-uncombined22_T2starw.nii.gz:   9%| | 83.6k/948k [00:00<00:01, 665kB

sub-NTNU_rec-uncombined21_T2starw.nii.gz:  32%|▎| 305k/949k [00:00<00:00, 1.16MB
                                                                                
sub-NTNU_rec-uncombined22_T2starw.nii.gz:  32%|▎| 305k/948k [00:00<00:00, 1.25MB
sub-NTNU_rec-uncombined24_T2starw.json:   0%|       | 0.00/2.49k [00:00<?, ?B/s]

                                                                                

sub-NTNU_acq-anat_TB1TFL.json:   0%|                | 0.00/2.71k [00:00<?, ?B/s]

                                                                                
sub-NTNU_rec-uncombined23_T2starw.nii.gz:   0%|      | 0.00/944k [00:00<?, ?B/s]
                                                                                
sub-NTNU_rec-uncombined23_T2starw.nii.gz:   9%| | 85.2k/944k [00:00<00:01, 683kB
sub-NTNU_rec-uncombined24_T2starw.nii.gz:   0%|      | 0.00/951k [00:00<?, ?B/s]
sub-NTNU_acq-coilQaSagLarge_SNR.json:   0%|         | 0.00/2.21k [00:00<?, ?B/s]


                                                                                

sub-NTNU_rec-uncombined23_T2starw.nii.gz:  40%|▍| 374k/944k [00:00<00:00, 1.51MB
sub-NTNU_acq-anat_TB1TFL.nii.gz:   0%|               | 0.00/727k [00:00<?, ?B/s]
                                                                                
sub-NTNU_rec-uncombined24_T2starw.nii.gz:   9%| | 83.6k/951k [00:00<00:01, 570kB

sub-NTNU_acq-coilQaSagLarge_SNR.nii.gz:   0%|       | 0.00/3.93M [00:00<?, ?B/s]
sub-NTNU_acq-anat_TB1TFL.nii.gz:  11%|▊      | 83.6k/727k [00:00<00:01, 656kB/s]
sub-NTNU_rec-uncombined24_T2starw.nii.gz:  32%|▎| 305k/951k [00:00<00:00, 1.21MB

sub-NTNU_acq-coilQaSagLarge_SNR.nii.gz:   2%| | 83.6k/3.93M [00:00<00:06, 610kB/



sub-NTNU_acq-coilQaSagSmall_GFactor.json:   0%|     | 0.00/2.23k [00:00<?, ?B/s]



                                                                                
sub-NTNU_acq-anat_TB1TFL.nii.gz:  42%|██▉    | 305k/727k [00:00<00:00, 1.29MB/s]
                                                                                
                                                                                
sub-NTNU_acq-coilQaSagLarge_SNR.nii.gz:   7%| | 288k/3.93M [00:00<00:03, 1.11MB/
sub-NTNU_acq-coilQaSagSmall_GFactor.nii.gz:   0%|   | 0.00/3.58M [00:00<?, ?B/s]
sub-NTNU_acq-coilQaSagLarge_SNR.nii.gz:  28%|▎| 1.09M/3.93M [00:00<00:00, 3.42MB
sub-NTNU_acq-coilQaTra_GFactor.json:   0%|          | 0.00/2.12k [00:00<?, ?B/s]


                                                                                
sub-NTNU_acq-coilQaSagSmall_GFactor.nii.gz:   2%| | 83.5k/3.58M [00:00<00:05, 62

sub-NTNU_acq-coilQaSagLarge_SNR.nii.gz:  96%|▉| 3.76M/3.93M [00:00<00:00, 11.2MB

                                                                                
sub-NTNU_acq-famp-0.66_TB1DREAM.json:   0%|         | 0.00/2.19k [00:00<?, ?B/s]

                                                                                
sub-NTNU_acq-coilQaTra_GFactor.nii.gz:   0%|        | 0.00/15.5M [00:00<?, ?B/s]
sub-NTNU_acq-coilQaSagSmall_GFactor.nii.gz:  11%| | 407k/3.58M [00:00<00:02, 1.6
sub-NTNU_acq-coilQaTra_GFactor.nii.gz:   1%| | 83.5k/15.5M [00:00<00:26, 616kB/s
sub-NTNU_acq-coilQaSagSmall_GFactor.nii.gz:  45%|▍| 1.61M/3.58M [00:00<00:00, 5.
sub-NTNU_acq-famp-0.66_TB1DREAM.nii.gz:   0%|       | 0.00/87.3k [00:00<?, ?B/s]



sub-NTNU_acq-famp-1.5_TB1DREAM.json:   0%|          | 0.00/2.19k [00:00<?, ?B/s]



                                                                                
sub-NTNU_acq-coilQaSagSmall_GFactor.nii.gz:  83%|▊| 2.99M/3.58M [00:00<00:00, 8.

sub-NTNU_acq-coilQaTra_GFactor.nii.gz:   3%| | 407k/15.5M [00:00<00:09, 1.66MB/s
                                                                                

sub-NTNU_acq-famp-1.5_TB1DREAM.nii.gz:   0%|        | 0.00/89.8k [00:00<?, ?B/s]
sub-NTNU_acq-famp-0.66_TB1DREAM.nii.gz:  96%|▉| 83.5k/87.3k [00:00<00:00, 611kB/


                                                                                
sub-NTNU_acq-coilQaTra_GFactor.nii.gz:   7%| | 1.15M/15.5M [00:00<00:03, 3.99MB/
sub-NTNU_acq-famp-1.5_TB1DREAM.nii.gz:  95%|▉| 85.2k/89.8k [00:00<00:00, 629kB/s
                                                                                
sub-NTNU_acq-coilQaTra_GFactor.nii.gz:  21%|▏| 3.19M/15.5M [00:00<00:01, 10.1MB/
sub-NTNU_acq-famp_TB1DREAM.json:   0%|              | 0.00/2.18k [00:00<?, ?B/s]
                                                                                


sub-NTNU_acq-coilQaTra_GFactor.nii.gz:  47%|▍| 7.24M/15.5M [00:00<00:00, 19.7MB/
sub-NTNU_acq-famp_TB1DREAM.nii.gz:   0%|            | 0.00/88.2k [00:00<?, ?B/s]
sub-NTNU_acq-famp_TB1TFL.nii.gz:   0%|               | 0.00/910k [00:00<?, ?B/s]

sub-NTNU_acq-coilQaTra_GFactor.nii.gz:  66%|▋| 10.2M/15.5M [00:00<00:00, 23.3MB/
sub-NTNU_acq-famp_TB1TFL.json:   0%|                | 0.00/2.73k [00:00<?, ?B/s]



                                                                                
sub-NTNU_acq-famp_TB1DREAM.nii.gz:  95%|███▊| 83.6k/88.2k [00:00<00:00, 551kB/s]
                                                                                



sub-NTNU_acq-famp_TB1TFL.nii.gz:   7%|▌      | 68.2k/910k [00:00<00:01, 666kB/s]

sub-NTNU_acq-coilQaTra_GFactor.nii.gz:  81%|▊| 12.5M/15.5M [00:00<00:00, 23.5MB/
                                                                                
sub-NTNU_acq-famp_TB1TFL.nii.gz:  15%|█▏      | 136k/910k [00:00<00:01, 668kB/s]
sub-NTNU_acq-refv-0.66_TB1DREAM.json:   0%|         | 0.00/2.20k [00:00<?, ?B/s]
                                                                                
sub-NTNU_acq-refv-1.5_TB1DREAM.json:   0%|          | 0.00/2.20k [00:00<?, ?B/s]
                                                                                
sub-NTNU_acq-famp_TB1TFL.nii.gz:  67%|████▋  | 612k/910k [00:00<00:00, 2.11MB/s]


                                                                                
sub-NTNU_acq-refv-0.66_TB1DREAM.nii.gz:   0%|       | 0.00/81.5k [00:00<?, ?B/s]
sub-NTNU_acq-refv-1.5_TB1DREAM.nii.gz:   0%|        | 0.00/93.4k [00:00<?, ?B/s]


sub-NTNU_acq-refv_TB1DREAM.json:   0%|              | 0.00/2.19k [00:00<?, ?B/s]


                                                                                
sub-NTNU_acq-refv-0.66_TB1DREAM.nii.gz: 100%|█| 81.5k/81.5k [00:00<00:00, 599kB/
                                                                                
sub-NTNU_acq-refv-1.5_TB1DREAM.nii.gz:  89%|▉| 83.5k/93.4k [00:00<00:00, 614kB/s

                                                                                
sub-NTNU_acq-refv_TB1DREAM.nii.gz:   0%|            | 0.00/86.1k [00:00<?, ?B/s]

sub-UCL_T2starw.json:   0%|                         | 0.00/2.45k [00:00<?, ?B/s]

                                                                                
sub-NTNU_acq-refv_TB1DREAM.nii.gz:  97%|███▉| 83.5k/86.1k [00:00<00:00, 681kB/s]
                                                                                
sub-UCL_rec-uncombined1_T2starw.json:   0%|         | 0.00/2.46k [00:00<?, ?B/s]
                                                                                

sub-UCL_T2starw.nii.gz:   0%|                       | 0.00/1.01M [00:00<?, ?B/s]
sub-UCL_rec-uncombined2_T2starw.json:   0%|         | 0.00/2.46k [00:00<?, ?B/s]

                                                                                
sub-UCL_T2starw.nii.gz:   8%|█▏             | 83.6k/1.01M [00:00<00:01, 626kB/s]

sub-UCL_rec-uncombined1_T2starw.nii.gz:   0%|        | 0.00/860k [00:00<?, ?B/s]
sub-UCL_rec-uncombined2_T2starw.nii.gz:   0%|        | 0.00/841k [00:00<?, ?B/s]
sub-UCL_T2starw.nii.gz:  30%|████▍          | 306k/1.01M [00:00<00:00, 1.34MB/s]



sub-UCL_rec-uncombined3_T2starw.json:   0%|         | 0.00/2.46k [00:00<?, ?B/s]



                                                                                
sub-UCL_rec-uncombined1_T2starw.nii.gz:  10%| | 85.2k/860k [00:00<00:01, 600kB/s
                                                                                
sub-UCL_rec-uncombined1_T2starw.nii.gz:  34%|▎| 289k/860k [00:00<00:00, 1.31MB/s


sub-UCL_rec-uncombined2_T2starw.nii.gz:   8%| | 66.5k/841k [00:00<00:01, 483kB/s
sub-UCL_rec-uncombined1_T2starw.nii.gz:  69%|▋| 595k/860k [00:00<00:00, 2.05MB/s

                                                                                
sub-UCL_rec-uncombined3_T2starw.nii.gz:   0%|        | 0.00/813k [00:00<?, ?B/s]
sub-UCL_rec-uncombined4_T2starw.json:   0%|         | 0.00/2.46k [00:00<?, ?B/s]

                                                                                


sub-UCL_rec-uncombined2_T2starw.nii.gz:  32%|▎| 271k/841k [00:00<00:00, 1.06MB/s
                                                                                
sub-UCL_rec-uncombined3_T2starw.nii.gz:  10%| | 85.2k/813k [00:00<00:01, 616kB/s
sub-UCL_rec-uncombined4_T2starw.nii.gz:   0%|        | 0.00/796k [00:00<?, ?B/s]
sub-UCL_rec-uncombined3_T2starw.nii.gz:  38%|▍| 306k/813k [00:00<00:00, 1.23MB/s


sub-UCL_rec-uncombined5_T2starw.json:   0%|         | 0.00/2.46k [00:00<?, ?B/s]


                                                                                

sub-UCL_rec-uncombined4_T2starw.nii.gz:  11%| | 85.2k/796k [00:00<00:01, 628kB/s
                                                                                
sub-UCL_rec-uncombined5_T2starw.nii.gz:   0%|        | 0.00/935k [00:00<?, ?B/s]


sub-UCL_rec-uncombined6_T2starw.json:   0%|         | 0.00/2.46k [00:00<?, ?B/s]


                                                                                
sub-UCL_rec-uncombined4_T2starw.nii.gz:  38%|▍| 306k/796k [00:00<00:00, 1.38MB/s
sub-UCL_rec-uncombined5_T2starw.nii.gz:   9%| | 83.6k/935k [00:00<00:01, 725kB/s
sub-UCL_rec-uncombined4_T2starw.nii.gz:  81%|▊| 647k/796k [00:00<00:00, 2.24MB/s

                                                                                
sub-UCL_rec-uncombined6_T2starw.nii.gz:   0%|        | 0.00/821k [00:00<?, ?B/s]


sub-UCL_rec-uncombined7_T2starw.json:   0%|         | 0.00/2.46k [00:00<?, ?B/s]


                                                                                
sub-UCL_rec-uncombined5_T2starw.nii.gz:  33%|▎| 305k/935k [00:00<00:00, 1.23MB/s
sub-UCL_rec-uncombined7_T2starw.nii.gz:   0%|        | 0.00/788k [00:00<?, ?B/s]
                                                                                
sub-UCL_rec-uncombined6_T2starw.nii.gz:  10%| | 83.6k/821k [00:00<00:01, 547kB/s
sub-UCL_rec-uncombined8_T2starw.json:   0%|         | 0.00/2.46k [00:00<?, ?B/s]
                                                                                
sub-UCL_rec-uncombined7_T2starw.nii.gz:  11%| | 85.2k/788k [00:00<00:01, 546kB/s

sub-UCL_rec-uncombined6_T2starw.nii.gz:  37%|▎| 305k/821k [00:00<00:00, 1.17MB/s
                                                                                
sub-UCL_rec-uncombined8_T2starw.nii.gz:   0%|        | 0.00/782k [00:00<?, ?B/s]
sub-UCL_rec-uncombined7_T2starw.nii.gz:  43%|▍| 340k/788k [00:00<00:00, 1.38MB/s
                                                                                
sub-UCL_acq-anat_TB1TFL.nii.gz:   0%|                | 0.00/847k [00:00<?, ?B/s]
sub-UCL_rec-uncombined8_T2starw.nii.gz:  11%| | 83.5k/782k [00:00<00:01, 651kB/s
sub-UCL_acq-anat_TB1TFL.json:   0%|                 | 0.00/2.68k [00:00<?, ?B/s]


                                                                                
sub-UCL_acq-anat_TB1TFL.nii.gz:  10%|▊       | 83.6k/847k [00:00<00:01, 670kB/s]
sub-UCL_rec-uncombined8_T2starw.nii.gz:  52%|▌| 407k/782k [00:00<00:00, 1.77MB/s
                                                                                

sub-UCL_acq-coilQaSagLarge_SNR.json:   0%|          | 0.00/2.18k [00:00<?, ?B/s]
                                                                                
sub-UCL_acq-anat_TB1TFL.nii.gz:  34%|██▋     | 288k/847k [00:00<00:00, 1.17MB/s]
sub-UCL_acq-coilQaSagLarge_SNR.nii.gz:   0%|        | 0.00/3.76M [00:00<?, ?B/s]
                                                                                

sub-UCL_acq-coilQaSagSmall_GFactor.json:   0%|      | 0.00/2.20k [00:00<?, ?B/s]

                                                                                
sub-UCL_acq-coilQaSagLarge_SNR.nii.gz:   2%| | 83.5k/3.76M [00:00<00:06, 614kB/s

sub-UCL_acq-coilQaTra_GFactor.json:   0%|           | 0.00/2.10k [00:00<?, ?B/s]
                                                                                
sub-UCL_acq-coilQaSagLarge_SNR.nii.gz:   8%| | 322k/3.76M [00:00<00:02, 1.28MB/s
sub-UCL_acq-coilQaSagSmall_GFactor.nii.gz:   0%|    | 0.00/2.64M [00:00<?, ?B/s]
sub-UCL_acq-famp-0.66_TB1DREAM.json:   0%|          | 0.00/2.16k [00:00<?, ?B/s]


                                                                                
sub-UCL_acq-coilQaSagLarge_SNR.nii.gz:  22%|▏| 866k/3.76M [00:00<00:01, 2.87MB/s
sub-UCL_acq-coilQaTra_GFactor.nii.gz:   0%|         | 0.00/11.7M [00:00<?, ?B/s]
sub-UCL_acq-coilQaSagSmall_GFactor.nii.gz:   3%| | 85.2k/2.64M [00:00<00:04, 620
sub-UCL_acq-coilQaSagLarge_SNR.nii.gz:  69%|▋| 2.61M/3.76M [00:00<00:00, 8.07MB/
                                                                                
sub-UCL_acq-coilQaTra_GFactor.nii.gz:   1%| | 83.6k/11.7M [00:00<00:21, 554kB/s]
sub-UCL_acq-famp-0.66_TB1DREAM.nii.gz:   0%|        | 0.00/90.9k [00:00<?, ?B/s]

sub-UCL_acq-coilQaSagSmall_GFactor.nii.gz:  11%| | 289k/2.64M [00:00<00:01, 1.29
sub-UCL_acq-coilQaSagSmall_GFactor.nii.gz:  24%|▏| 646k/2.64M [00:00<00:00, 2.25
sub-UCL_acq-famp-0.66_TB1DREAM.nii.gz:  94%|▉| 85.2k/90.9k [00:00<00:00, 713kB/s
                                                                                



sub-UCL_acq-coilQaTra_GFactor.nii.gz:   3%| | 305k/11.7M [00:00<00:09, 1.22MB/s]
sub-UCL_acq-famp-1.5_TB1DREAM.nii.gz:   0%|         | 0.00/91.5k [00:00<?, ?B/s]
sub-UCL_acq-coilQaSagSmall_GFactor.nii.gz:  68%|▋| 1.79M/2.64M [00:00<00:00, 5.8


sub-UCL_acq-coilQaTra_GFactor.nii.gz:   9%| | 1.08M/11.7M [00:00<00:02, 3.85MB/s
                                                                                
sub-UCL_acq-famp-1.5_TB1DREAM.json:   0%|           | 0.00/2.16k [00:00<?, ?B/s]

                                                                                


sub-UCL_acq-coilQaTra_GFactor.nii.gz:  14%|▏| 1.69M/11.7M [00:00<00:02, 4.71MB/s
sub-UCL_acq-famp-1.5_TB1DREAM.nii.gz:  91%|▉| 83.6k/91.5k [00:00<00:00, 538kB/s]
                                                                                
sub-UCL_acq-coilQaTra_GFactor.nii.gz:  44%|▍| 5.19M/11.7M [00:00<00:00, 15.2MB/s
sub-UCL_acq-famp_TB1DREAM.nii.gz:   0%|             | 0.00/90.7k [00:00<?, ?B/s]
sub-UCL_acq-coilQaTra_GFactor.nii.gz:  84%|▊| 9.82M/11.7M [00:00<00:00, 25.8MB/s
sub-UCL_acq-famp_TB1DREAM.json:   0%|               | 0.00/2.14k [00:00<?, ?B/s]

                                                                                

sub-UCL_acq-famp_TB1TFL.json:   0%|                 | 0.00/2.71k [00:00<?, ?B/s]
sub-UCL_acq-famp_TB1DREAM.nii.gz:  94%|████▋| 85.2k/90.7k [00:00<00:00, 552kB/s]

                                                                                
                                                                                
                                                                                
sub-UCL_acq-famp_TB1TFL.nii.gz:   0%|                | 0.00/921k [00:00<?, ?B/s]
sub-UCL_acq-famp_TB1TFL.nii.gz:   9%|▋       | 83.6k/921k [00:00<00:01, 702kB/s]
sub-UCL_acq-refv-0.66_TB1DREAM.json:   0%|          | 0.00/2.17k [00:00<?, ?B/s]

                                                                                

sub-UCL_acq-refv-0.66_TB1DREAM.nii.gz:   0%|        | 0.00/81.8k [00:00<?, ?B/s]
sub-UCL_acq-famp_TB1TFL.nii.gz:  33%|██▋     | 305k/921k [00:00<00:00, 1.26MB/s]


sub-UCL_acq-refv-1.5_TB1DREAM.json:   0%|           | 0.00/2.17k [00:00<?, ?B/s]


                                                                                
sub-UCL_acq-refv-1.5_TB1DREAM.nii.gz:   0%|         | 0.00/88.7k [00:00<?, ?B/s]
                                                                                
sub-UCL_acq-refv-0.66_TB1DREAM.nii.gz: 100%|█| 81.8k/81.8k [00:00<00:00, 649kB/s

                                                                                
sub-UCL_acq-refv-1.5_TB1DREAM.nii.gz:  94%|▉| 83.6k/88.7k [00:00<00:00, 619kB/s]


                                                                                
sub-UCL_acq-refv_TB1DREAM.json:   0%|               | 0.00/2.16k [00:00<?, ?B/s]
                                                                                
sub-UCL_acq-refv_TB1DREAM.nii.gz:   0%|             | 0.00/86.0k [00:00<?, ?B/s]
sub-UCL_acq-refv_TB1DREAM.nii.gz:  77%|███▊ | 66.5k/86.0k [00:00<00:00, 475kB/s]
                                                                                
✅ Finished downloading ds005090.
 
🧠 Please enjoy your brains.
 
# Define path (needs to be run in the root directory of the project)
path_data = os.path.join(os.getcwd(), "data-phantom/")
print(f"path_data: {path_data}")
path_labels = os.path.join(path_data, "derivatives", "labels")
path_qc = os.path.join(path_data, "qc")
subjects = [os.path.basename(subject_path) for subject_path in sorted(glob.glob(os.path.join(path_data, "sub-*")))]
print(f"subjects: {subjects}")
path_results = os.path.join(path_data, "derivatives", "results")

# Create results directory
os.makedirs(path_results, exist_ok=True)
path_data: /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/
subjects: ['sub-CRMBM', 'sub-MGH', 'sub-MNI', 'sub-MPI', 'sub-MSSM', 'sub-NTNU', 'sub-UCL']

Convert TFL and DREAM flip angle maps to B1+ in units of nT/V#

# Convert the TFL flip angle maps to B1+ efficiency maps [nT/V] (inspired by code from Kyle Gilbert)
# The approach consists in calculating the B1+ efficiency using a 1ms, pi-pulse at the acquisition voltage,
# then scale the efficiency by the ratio of the measured flip angle to the requested flip angle in the pulse sequence.

for subject in subjects:
    os.chdir(os.path.join(path_data, subject, "fmap"))

    # Fetch the reference voltage from the JSON sidecar 
    with open(f"{subject}_acq-famp_TB1TFL.json", "r") as f:
        metadata = json.load(f)
        ref_voltage = metadata.get("TxRefAmp", "N/A")
        if (ref_voltage == "N/A"):
            ref_token = "N/A"
            for token in metadata.get("SeriesDescription", "N/A").split("_"):
                if token.startswith("RefV"): ref_token = token
            ref_voltage = float(ref_token[4:-1])
        
    print(f"ref_voltage [V]: {ref_voltage} ({subject}_acq-famp_TB1TFL)")
                
    # Fetch the flip angle from the JSON sidecar 
    with open(f"{subject}_acq-famp_TB1TFL.json", "r") as f:
        metadata = json.load(f)
        requested_fa = metadata.get("FlipAngle", "N/A")
        print(f"flip angle [degrees]: {requested_fa} ({subject}_acq-famp_TB1TFL)")

    # Open flip angle map with nibabel
    nii = nib.load(f"{subject}_acq-famp_TB1TFL.nii.gz")
    meas_fa = nii.get_fdata()

    # Account for the power loss between the coil and the socket. That number was given by Siemens.
    voltage_at_socket = ref_voltage * 10 ** -0.095

    # Compute B1 map in [T/V]
    # Siemens maps are in units of flip angle * 10 (in degrees)
    b1_map = ((meas_fa / 10) / requested_fa) * (np.pi / (GAMMA * 1e-3 * voltage_at_socket))

    # Convert to [nT/V]
    b1_map = b1_map * 1e9

    # Save B1 map in [T/V] as NIfTI file
    nii_b1 = nib.Nifti1Image(b1_map, nii.affine, nii.header)
    nib.save(nii_b1, f"{subject}_TFLTB1map.nii.gz")
ref_voltage [V]: 224.5 (sub-CRMBM_acq-famp_TB1TFL)
flip angle [degrees]: 90 (sub-CRMBM_acq-famp_TB1TFL)
ref_voltage [V]: 419.5 (sub-MGH_acq-famp_TB1TFL)
flip angle [degrees]: 89.99 (sub-MGH_acq-famp_TB1TFL)
ref_voltage [V]: 464 (sub-MNI_acq-famp_TB1TFL)
flip angle [degrees]: 89.99 (sub-MNI_acq-famp_TB1TFL)
ref_voltage [V]: 408 (sub-MPI_acq-famp_TB1TFL)
flip angle [degrees]: 90 (sub-MPI_acq-famp_TB1TFL)
ref_voltage [V]: 422 (sub-MSSM_acq-famp_TB1TFL)
flip angle [degrees]: 68 (sub-MSSM_acq-famp_TB1TFL)
ref_voltage [V]: 408 (sub-NTNU_acq-famp_TB1TFL)
flip angle [degrees]: 90 (sub-NTNU_acq-famp_TB1TFL)
ref_voltage [V]: 270 (sub-UCL_acq-famp_TB1TFL)
flip angle [degrees]: 90 (sub-UCL_acq-famp_TB1TFL)
# load DREAM FA maps acquired with different reference voltages
# threshold FA maps to 20deg < FA < 50deg
# combine FA maps by averaging non-zero estimates of FA in each pixel

voltages = ["1.5", "0.66"]

for subject in subjects:
    
    b1_maps = []
    os.chdir(os.path.join(path_data, subject, "fmap"))

    # Fetch the reference voltage from the JSON sidecar 
    with open(f"{subject}_acq-famp_TB1DREAM.json", "r") as f:
        metadata = json.load(f)
        ref_voltage = metadata.get("TxRefAmp", "N/A")
        if (ref_voltage == "N/A"):
            ref_token = "N/A"
            for token in metadata.get("SeriesDescription", "N/A").split("_"):
                if token.startswith("RefV"): ref_token = token
            ref_voltage = float(ref_token[4:-1])
    
    # Open refV flip angle map with nibabel
    nii = nib.load(f"{subject}_acq-famp_TB1DREAM.nii.gz")
    meas_fa = nii.get_fdata()
    #thresholding
    meas_fa[meas_fa < 200] = np.nan
    meas_fa[meas_fa > 500] = np.nan

    # Fetch the flip angle from the JSON sidecar 
    with open(f"{subject}_acq-famp_TB1DREAM.json", "r") as f:
        metadata = json.load(f)
        requested_fa = metadata.get("FlipAngle", "N/A")
        #convert measured FA to percent of requested FA (note that measured FA map is in degrees * 10)
        meas_fa = (meas_fa/10) / requested_fa

    # Account for the power loss between the coil and the socket. That number was given by Siemens.
    voltage_at_socket = ref_voltage * 10 ** -0.095
    # Compute B1 map in [T/V]
    b1_map = meas_fa * (np.pi / (GAMMA * 1e-3 * voltage_at_socket))
    # Convert to [nT/V]
    b1_map = b1_map * 1e9
    
    b1_maps.append(b1_map)

    for voltage in voltages:
        
        #check if map exists
        my_file = Path(f"{subject}_acq-famp-{voltage}_TB1DREAM.nii.gz")
        
        if my_file.is_file():
            
            # Fetch the reference voltage from the JSON sidecar 
            with open(f"{subject}_acq-famp-{voltage}_TB1DREAM.json", "r") as f:
                metadata = json.load(f)
                ref_voltage = metadata.get("TxRefAmp", "N/A")
                if (ref_voltage == "N/A"):
                    ref_token = "N/A"
                    for token in metadata.get("SeriesDescription", "N/A").split("_"):
                        if token.startswith("RefV"): ref_token = token
                    ref_voltage = float(ref_token[4:-1])
                
            # Open flip angle map with nibabel
            nii = nib.load(f"{subject}_acq-famp-{voltage}_TB1DREAM.nii.gz")
            meas_fa = nii.get_fdata()
            #thresholding
            meas_fa[meas_fa < 200] = np.nan
            meas_fa[meas_fa > 500] = np.nan
        
            # Fetch the flip angle from the JSON sidecar 
            with open(f"{subject}_acq-famp-{voltage}_TB1DREAM.json", "r") as f:
                metadata = json.load(f)
                requested_fa = metadata.get("FlipAngle", "N/A")
                #convert measured FA to percent of requested FA (note that measured FA map is in degrees * 10)
                meas_fa = (meas_fa/10) / requested_fa
        else:
            meas_fa = np.full((nii.header).get_data_shape(),np.nan)

        # Account for the power loss between the coil and the socket. That number was given by Siemens.
        voltage_at_socket = ref_voltage * 10 ** -0.095
        # Compute B1 map in [T/V]
        # Siemens maps are in units of flip angle * 10 (in degrees)
        b1_map = meas_fa * (np.pi / (GAMMA * 1e-3 * voltage_at_socket))
        # Convert to [nT/V]
        b1_map = b1_map * 1e9
        
        b1_maps.append(b1_map)
 
    # compute mean of non-zero values
    avgB1=np.nanmean(b1_maps,axis=0)
    
    # Save as NIfTI file
    nii_avgB1 = nib.Nifti1Image(avgB1, nii.affine, nii.header)
    nib.save(nii_avgB1, f"{subject}_DREAMTB1avgB1map.nii.gz")
/tmp/ipykernel_15060/3268472193.py:89: RuntimeWarning: Mean of empty slice
  avgB1=np.nanmean(b1_maps,axis=0)
/tmp/ipykernel_15060/3268472193.py:89: RuntimeWarning: Mean of empty slice
  avgB1=np.nanmean(b1_maps,axis=0)
/tmp/ipykernel_15060/3268472193.py:89: RuntimeWarning: Mean of empty slice
  avgB1=np.nanmean(b1_maps,axis=0)
/tmp/ipykernel_15060/3268472193.py:89: RuntimeWarning: Mean of empty slice
  avgB1=np.nanmean(b1_maps,axis=0)
/tmp/ipykernel_15060/3268472193.py:89: RuntimeWarning: Mean of empty slice
  avgB1=np.nanmean(b1_maps,axis=0)
/tmp/ipykernel_15060/3268472193.py:89: RuntimeWarning: Mean of empty slice
  avgB1=np.nanmean(b1_maps,axis=0)
/tmp/ipykernel_15060/3268472193.py:89: RuntimeWarning: Mean of empty slice
  avgB1=np.nanmean(b1_maps,axis=0)
# Split SNR data across multiple volumes. The first volume corresponds to the SoS SNR reconstruction, which is
#  what we will use for SNR comparison.
for subject in subjects:
    os.chdir(os.path.join(path_data, subject, "fmap"))
    !sct_image -i {subject}_acq-coilQaSagLarge_SNR.nii.gz -split t -o {subject}_acq-coilQaSagLarge_SNR.nii.gz
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_image -i sub-CRMBM_acq-coilQaSagLarge_SNR.nii.gz -split t -o sub-CRMBM_acq-coilQaSagLarge_SNR.nii.gz
--
Generate output files...
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_image -i sub-MGH_acq-coilQaSagLarge_SNR.nii.gz -split t -o sub-MGH_acq-coilQaSagLarge_SNR.nii.gz
--
Generate output files...
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_image -i sub-MNI_acq-coilQaSagLarge_SNR.nii.gz -split t -o sub-MNI_acq-coilQaSagLarge_SNR.nii.gz
--
Generate output files...
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_image -i sub-MPI_acq-coilQaSagLarge_SNR.nii.gz -split t -o sub-MPI_acq-coilQaSagLarge_SNR.nii.gz
--
Generate output files...
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_image -i sub-MSSM_acq-coilQaSagLarge_SNR.nii.gz -split t -o sub-MSSM_acq-coilQaSagLarge_SNR.nii.gz
--
Generate output files...
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_image -i sub-NTNU_acq-coilQaSagLarge_SNR.nii.gz -split t -o sub-NTNU_acq-coilQaSagLarge_SNR.nii.gz
--
Generate output files...
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_image -i sub-UCL_acq-coilQaSagLarge_SNR.nii.gz -split t -o sub-UCL_acq-coilQaSagLarge_SNR.nii.gz
--
Generate output files...

Generate approximate mask of spinal cord#

The purpose of this section is to generate an approximate mask of the spinal cord that will be used to quantify B1+ values inside the phantom. To do this, we identified a representative human subject, overlaid it on the anthropomorphic phantom, created a few pointwise labels along the spinal cord, interpolated those points using bsplines, and then created a cylindrical mask of 10mm diameter along the generated centerline.

image

os.chdir(os.path.join(path_data, "sub-CRMBM", "fmap"))

# Create labels on TFL B1+ map along an approximate spinal cord
! sct_label_utils -i "sub-CRMBM_acq-anat_TB1TFL.nii.gz" -create 49,108,23,1:49,99,23,1:49,88,23,1:50,76,23,1:55,63,23,1:62,51,23,1:68,35,23,1:72,26,23,1 -o "label_cord.nii.gz"
# Create spinal cord centerline
! sct_get_centerline -i "label_cord.nii.gz" -method fitseg -o "centerline_spinalcord.nii.gz"
# Create mask of 10mm diameter around centerline
! sct_create_mask -i "sub-CRMBM_acq-anat_TB1TFL.nii.gz" -p centerline,"centerline_spinalcord.nii.gz" -size 10mm -f cylinder -o "sub-CRMBM_TFLTB1map_mask.nii.gz"
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_label_utils -i sub-CRMBM_acq-anat_TB1TFL.nii.gz -create 49,108,23,1:49,99,23,1:49,88,23,1:50,76,23,1:55,63,23,1:62,51,23,1:68,35,23,1:72,26,23,1 -o label_cord.nii.gz
--

Generating output files...
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_get_centerline -i label_cord.nii.gz -method fitseg -o centerline_spinalcord.nii.gz
--
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_create_mask -i sub-CRMBM_acq-anat_TB1TFL.nii.gz -p centerline,centerline_spinalcord.nii.gz -size 10mm -f cylinder -o sub-CRMBM_TFLTB1map_mask.nii.gz
--

  OK: centerline_spinalcord.nii.gz
Creating temporary folder (/tmp/sct_2025-01-15_16-24-24_create-mask_svelobb8)

Orientation:
  AIR

Dimensions:
(56, 88, 144, 1, 2.467333, 2.361111, 2.361111, 1)

Create mask...
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'int64'. Header metadata will be overwritten to use 'int64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'uint8', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-24-24_create-mask_svelobb8

Co-register fmap data#

The purpose of this section if to co-register phantom data across sites, to produce figures showing consistent placement of the phantom across sites, and to be able to use a single mask of the approximate spinal cord for quantitative analysis.

The co-registration uses programatically-created labels that correspond to the posterior tip of the phantom, at the inflexion point:

image

# Create dictionary of labels across sites
labels_phantom_TFL = {
    'sub-CRMBM': '68,88,23',
    'sub-MGH': '61,98,26',
    'sub-MNI': '69,87,26',
    'sub-MPI': '67,95,27',
    'sub-MSSM': '73,65,28',
    'sub-NTNU': '64,96,29',
    'sub-UCL': '68,97,28',
}

# Define reference subject and suffix
subject_ref = 'sub-CRMBM'
suffix_ref = 'TFLTB1map'
suffixes = ["TFLTB1map", "DREAMTB1avgB1map", "acq-coilQaSagLarge_SNR_T0000"]

# Create labels for all suffixes, for all subjects
for subject in subjects:
    print(f"👉 CREATE LABELS FOR: {subject}")
    os.chdir(os.path.join(path_data, subject, "fmap"))
    !sct_label_utils -i {subject}_{suffix_ref}.nii.gz -create {labels_phantom_TFL[subject]},1 -o {subject}_{suffix_ref}_label.nii.gz
    # Register label from TFLTB1map to other metric using the qform matrix (ie: no optimization)
    for suffix in [other_suffixes for other_suffixes in suffixes if other_suffixes != suffix_ref]:
        !sct_register_multimodal -i {subject}_{suffix_ref}_label.nii.gz -d {subject}_{suffix}.nii.gz -identity 1
        !sct_apply_transfo -i {subject}_{suffix_ref}_label.nii.gz -d {subject}_{suffix}.nii.gz -w warp_{subject}_{suffix_ref}_label2{subject}_{suffix}.nii.gz -x label -o {subject}_{suffix}_label.nii.gz

# Register other scans to the reference scan
for subject in subjects:
    print(f"👉 REGISTER: {subject}")
    for suffix in suffixes:
        os.chdir(os.path.join(path_data, subject, "fmap"))
        # Perform registration
        !sct_register_multimodal -i {subject}_{suffix}.nii.gz -ilabel {subject}_{suffix}_label.nii.gz -d {path_data}{subject_ref}/fmap/{subject_ref}_{suffix}.nii.gz -dlabel {path_data}{subject_ref}/fmap/{subject_ref}_{suffix}_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0

# Register TFL B1+ spinal cord mask to DREAM and SNR reference scan
os.chdir(os.path.join(path_data, subject_ref, "fmap"))
for suffix in [other_suffixes for other_suffixes in suffixes if other_suffixes != suffix_ref]:
    !sct_register_multimodal -i {subject_ref}_{suffix_ref}_mask.nii.gz -d {subject_ref}_{suffix}.nii.gz -identity 1 -o {subject_ref}_{suffix}_mask.nii.gz
👉 CREATE LABELS FOR: sub-CRMBM
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_label_utils -i sub-CRMBM_TFLTB1map.nii.gz -create 68,88,23,1 -o sub-CRMBM_TFLTB1map_label.nii.gz
--
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Generating output files...
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-CRMBM_TFLTB1map_label.nii.gz -d sub-CRMBM_DREAMTB1avgB1map.nii.gz -identity 1
--


Input parameters:
  Source .............. sub-CRMBM_TFLTB1map_label.nii.gz (88, 144, 56)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... sub-CRMBM_DREAMTB1avgB1map.nii.gz (80, 80, 11)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-24-26_register-wrapper_qkfinai1)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MI[dest_RPI.nii,src.nii,1,32]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step0,src_regStep0.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-24-26_register-wrapper_qkfinai1

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_0.nii.gz # in /tmp/sct_2025-01-15_16-24-26_register-wrapper_qkfinai1
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii warp_inverse_0.nii.gz # in /tmp/sct_2025-01-15_16-24-26_register-wrapper_qkfinai1

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File created: sub-CRMBM_TFLTB1map_label_reg.nii.gz
mv /tmp/sct_2025-01-15_16-24-26_register-wrapper_qkfinai1/warp_src2dest.nii.gz warp_sub-CRMBM_TFLTB1map_label2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: warp_sub-CRMBM_TFLTB1map_label2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: sub-CRMBM_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-24-26_register-wrapper_qkfinai1/warp_dest2src.nii.gz warp_sub-CRMBM_DREAMTB1avgB1map2sub-CRMBM_TFLTB1map_label.nii.gz
File created: warp_sub-CRMBM_DREAMTB1avgB1map2sub-CRMBM_TFLTB1map_label.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-24-26_register-wrapper_qkfinai1

Finished! Elapsed time: 1s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_apply_transfo -i sub-CRMBM_TFLTB1map_label.nii.gz -d sub-CRMBM_DREAMTB1avgB1map.nii.gz -w warp_sub-CRMBM_TFLTB1map_label2sub-CRMBM_DREAMTB1avgB1map.nii.gz -x label -o sub-CRMBM_DREAMTB1avgB1map_label.nii.gz
--


Parse list of warping fields...

Get dimensions of data...
  88 x 144 x 56 x 1

Apply transformation...

Dilate labels before warping...
Creating temporary folder (/tmp/sct_2025-01-15_16-24-28_apply-transfo-3d-label_2gjc1wlz)

Apply transformation and resample to destination space...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsApplyTransforms -d 3 -i /tmp/sct_2025-01-15_16-24-28_apply-transfo-3d-label_2gjc1wlz/dilated_data.nii -o sub-CRMBM_DREAMTB1avgB1map_label.nii.gz -t warp_sub-CRMBM_TFLTB1map_label2sub-CRMBM_DREAMTB1avgB1map.nii.gz -r sub-CRMBM_DREAMTB1avgB1map.nii.gz -n NearestNeighbor # in /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap
Copy affine matrix from destination space to make sure qform/sform are the same.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

Take the center of mass of each registered dilated labels...
File sub-CRMBM_DREAMTB1avgB1map_label.nii.gz already exists. Will overwrite it.

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-24-28_apply-transfo-3d-label_2gjc1wlz
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-CRMBM_TFLTB1map_label.nii.gz -d sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz -identity 1
--


Input parameters:
  Source .............. sub-CRMBM_TFLTB1map_label.nii.gz (88, 144, 56)
  Destination ......... sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Creating temporary folder (/tmp/sct_2025-01-15_16-24-29_register-wrapper_ze_4uuzu)

Copying input data to tmp folder and convert to nii...

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MI[dest_RPI.nii,src.nii,1,32]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step0,src_regStep0.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-24-29_register-wrapper_ze_4uuzu

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_0.nii.gz # in /tmp/sct_2025-01-15_16-24-29_register-wrapper_ze_4uuzu
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii warp_inverse_0.nii.gz # in /tmp/sct_2025-01-15_16-24-29_register-wrapper_ze_4uuzu

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-CRMBM_TFLTB1map_label_reg.nii.gz already exists. Deleting it..
File created: sub-CRMBM_TFLTB1map_label_reg.nii.gz
mv /tmp/sct_2025-01-15_16-24-29_register-wrapper_ze_4uuzu/warp_src2dest.nii.gz warp_sub-CRMBM_TFLTB1map_label2sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-CRMBM_TFLTB1map_label2sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-24-29_register-wrapper_ze_4uuzu/warp_dest2src.nii.gz warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_TFLTB1map_label.nii.gz
File created: warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_TFLTB1map_label.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-24-29_register-wrapper_ze_4uuzu

Finished! Elapsed time: 4s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_apply_transfo -i sub-CRMBM_TFLTB1map_label.nii.gz -d sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz -w warp_sub-CRMBM_TFLTB1map_label2sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz -x label -o sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_label.nii.gz
--


Parse list of warping fields...

Get dimensions of data...
  88 x 144 x 56 x 1

Apply transformation...

Dilate labels before warping...
Creating temporary folder (/tmp/sct_2025-01-15_16-24-35_apply-transfo-3d-label_9rd82jcz)

Apply transformation and resample to destination space...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsApplyTransforms -d 3 -i /tmp/sct_2025-01-15_16-24-35_apply-transfo-3d-label_9rd82jcz/dilated_data.nii -o sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -t warp_sub-CRMBM_TFLTB1map_label2sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz -r sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz -n NearestNeighbor # in /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap
Copy affine matrix from destination space to make sure qform/sform are the same.

Take the center of mass of each registered dilated labels...
File sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_label.nii.gz already exists. Will overwrite it.

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-24-35_apply-transfo-3d-label_9rd82jcz
👉 CREATE LABELS FOR: sub-MGH
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_label_utils -i sub-MGH_TFLTB1map.nii.gz -create 61,98,26,1 -o sub-MGH_TFLTB1map_label.nii.gz
--

Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Generating output files...
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MGH_TFLTB1map_label.nii.gz -d sub-MGH_DREAMTB1avgB1map.nii.gz -identity 1
--


Input parameters:
  Source .............. sub-MGH_TFLTB1map_label.nii.gz (88, 144, 56)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... sub-MGH_DREAMTB1avgB1map.nii.gz (80, 80, 11)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-24-38_register-wrapper_erzoxez0)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MI[dest_RPI.nii,src.nii,1,32]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step0,src_regStep0.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-24-38_register-wrapper_erzoxez0

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_0.nii.gz # in /tmp/sct_2025-01-15_16-24-38_register-wrapper_erzoxez0
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii warp_inverse_0.nii.gz # in /tmp/sct_2025-01-15_16-24-38_register-wrapper_erzoxez0

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File created: sub-MGH_TFLTB1map_label_reg.nii.gz
mv /tmp/sct_2025-01-15_16-24-38_register-wrapper_erzoxez0/warp_src2dest.nii.gz warp_sub-MGH_TFLTB1map_label2sub-MGH_DREAMTB1avgB1map.nii.gz
File created: warp_sub-MGH_TFLTB1map_label2sub-MGH_DREAMTB1avgB1map.nii.gz
File created: sub-MGH_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-24-38_register-wrapper_erzoxez0/warp_dest2src.nii.gz warp_sub-MGH_DREAMTB1avgB1map2sub-MGH_TFLTB1map_label.nii.gz
File created: warp_sub-MGH_DREAMTB1avgB1map2sub-MGH_TFLTB1map_label.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-24-38_register-wrapper_erzoxez0

Finished! Elapsed time: 1s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_apply_transfo -i sub-MGH_TFLTB1map_label.nii.gz -d sub-MGH_DREAMTB1avgB1map.nii.gz -w warp_sub-MGH_TFLTB1map_label2sub-MGH_DREAMTB1avgB1map.nii.gz -x label -o sub-MGH_DREAMTB1avgB1map_label.nii.gz
--


Parse list of warping fields...

Get dimensions of data...
  88 x 144 x 56 x 1

Apply transformation...

Dilate labels before warping...
Creating temporary folder (/tmp/sct_2025-01-15_16-24-40_apply-transfo-3d-label_jq_w4hjg)

Apply transformation and resample to destination space...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsApplyTransforms -d 3 -i /tmp/sct_2025-01-15_16-24-40_apply-transfo-3d-label_jq_w4hjg/dilated_data.nii -o sub-MGH_DREAMTB1avgB1map_label.nii.gz -t warp_sub-MGH_TFLTB1map_label2sub-MGH_DREAMTB1avgB1map.nii.gz -r sub-MGH_DREAMTB1avgB1map.nii.gz -n NearestNeighbor # in /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MGH/fmap
Copy affine matrix from destination space to make sure qform/sform are the same.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

Take the center of mass of each registered dilated labels...
File sub-MGH_DREAMTB1avgB1map_label.nii.gz already exists. Will overwrite it.

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-24-40_apply-transfo-3d-label_jq_w4hjg
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MGH_TFLTB1map_label.nii.gz -d sub-MGH_acq-coilQaSagLarge_SNR_T0000.nii.gz -identity 1
--


Input parameters:
  Source .............. sub-MGH_TFLTB1map_label.nii.gz (88, 144, 56)
  Destination ......... sub-MGH_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Creating temporary folder (/tmp/sct_2025-01-15_16-24-41_register-wrapper_an6jsfht)

Copying input data to tmp folder and convert to nii...

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MI[dest_RPI.nii,src.nii,1,32]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step0,src_regStep0.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-24-41_register-wrapper_an6jsfht

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_0.nii.gz # in /tmp/sct_2025-01-15_16-24-41_register-wrapper_an6jsfht
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii warp_inverse_0.nii.gz # in /tmp/sct_2025-01-15_16-24-41_register-wrapper_an6jsfht

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-MGH_TFLTB1map_label_reg.nii.gz already exists. Deleting it..
File created: sub-MGH_TFLTB1map_label_reg.nii.gz
mv /tmp/sct_2025-01-15_16-24-41_register-wrapper_an6jsfht/warp_src2dest.nii.gz warp_sub-MGH_TFLTB1map_label2sub-MGH_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-MGH_TFLTB1map_label2sub-MGH_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: sub-MGH_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-24-41_register-wrapper_an6jsfht/warp_dest2src.nii.gz warp_sub-MGH_acq-coilQaSagLarge_SNR_T00002sub-MGH_TFLTB1map_label.nii.gz
File created: warp_sub-MGH_acq-coilQaSagLarge_SNR_T00002sub-MGH_TFLTB1map_label.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-24-41_register-wrapper_an6jsfht

Finished! Elapsed time: 4s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_apply_transfo -i sub-MGH_TFLTB1map_label.nii.gz -d sub-MGH_acq-coilQaSagLarge_SNR_T0000.nii.gz -w warp_sub-MGH_TFLTB1map_label2sub-MGH_acq-coilQaSagLarge_SNR_T0000.nii.gz -x label -o sub-MGH_acq-coilQaSagLarge_SNR_T0000_label.nii.gz
--


Parse list of warping fields...

Get dimensions of data...
  88 x 144 x 56 x 1

Apply transformation...

Dilate labels before warping...
Creating temporary folder (/tmp/sct_2025-01-15_16-24-46_apply-transfo-3d-label_q3uy3lbk)

Apply transformation and resample to destination space...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsApplyTransforms -d 3 -i /tmp/sct_2025-01-15_16-24-46_apply-transfo-3d-label_q3uy3lbk/dilated_data.nii -o sub-MGH_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -t warp_sub-MGH_TFLTB1map_label2sub-MGH_acq-coilQaSagLarge_SNR_T0000.nii.gz -r sub-MGH_acq-coilQaSagLarge_SNR_T0000.nii.gz -n NearestNeighbor # in /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MGH/fmap
Copy affine matrix from destination space to make sure qform/sform are the same.

Take the center of mass of each registered dilated labels...
File sub-MGH_acq-coilQaSagLarge_SNR_T0000_label.nii.gz already exists. Will overwrite it.

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-24-46_apply-transfo-3d-label_q3uy3lbk
👉 CREATE LABELS FOR: sub-MNI
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_label_utils -i sub-MNI_TFLTB1map.nii.gz -create 69,87,26,1 -o sub-MNI_TFLTB1map_label.nii.gz
--

Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Generating output files...
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MNI_TFLTB1map_label.nii.gz -d sub-MNI_DREAMTB1avgB1map.nii.gz -identity 1
--


Input parameters:
  Source .............. sub-MNI_TFLTB1map_label.nii.gz (88, 144, 56)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... sub-MNI_DREAMTB1avgB1map.nii.gz (80, 80, 11)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-24-49_register-wrapper_y04kvgqd)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MI[dest_RPI.nii,src.nii,1,32]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step0,src_regStep0.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-24-49_register-wrapper_y04kvgqd

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_0.nii.gz # in /tmp/sct_2025-01-15_16-24-49_register-wrapper_y04kvgqd
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii warp_inverse_0.nii.gz # in /tmp/sct_2025-01-15_16-24-49_register-wrapper_y04kvgqd

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File created: sub-MNI_TFLTB1map_label_reg.nii.gz
mv /tmp/sct_2025-01-15_16-24-49_register-wrapper_y04kvgqd/warp_src2dest.nii.gz warp_sub-MNI_TFLTB1map_label2sub-MNI_DREAMTB1avgB1map.nii.gz
File created: warp_sub-MNI_TFLTB1map_label2sub-MNI_DREAMTB1avgB1map.nii.gz
File created: sub-MNI_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-24-49_register-wrapper_y04kvgqd/warp_dest2src.nii.gz warp_sub-MNI_DREAMTB1avgB1map2sub-MNI_TFLTB1map_label.nii.gz
File created: warp_sub-MNI_DREAMTB1avgB1map2sub-MNI_TFLTB1map_label.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-24-49_register-wrapper_y04kvgqd

Finished! Elapsed time: 1s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_apply_transfo -i sub-MNI_TFLTB1map_label.nii.gz -d sub-MNI_DREAMTB1avgB1map.nii.gz -w warp_sub-MNI_TFLTB1map_label2sub-MNI_DREAMTB1avgB1map.nii.gz -x label -o sub-MNI_DREAMTB1avgB1map_label.nii.gz
--


Parse list of warping fields...

Get dimensions of data...
  88 x 144 x 56 x 1

Apply transformation...

Dilate labels before warping...
Creating temporary folder (/tmp/sct_2025-01-15_16-24-51_apply-transfo-3d-label_87b3_1pj)

Apply transformation and resample to destination space...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsApplyTransforms -d 3 -i /tmp/sct_2025-01-15_16-24-51_apply-transfo-3d-label_87b3_1pj/dilated_data.nii -o sub-MNI_DREAMTB1avgB1map_label.nii.gz -t warp_sub-MNI_TFLTB1map_label2sub-MNI_DREAMTB1avgB1map.nii.gz -r sub-MNI_DREAMTB1avgB1map.nii.gz -n NearestNeighbor # in /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MNI/fmap
Copy affine matrix from destination space to make sure qform/sform are the same.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

Take the center of mass of each registered dilated labels...
File sub-MNI_DREAMTB1avgB1map_label.nii.gz already exists. Will overwrite it.

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-24-51_apply-transfo-3d-label_87b3_1pj
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MNI_TFLTB1map_label.nii.gz -d sub-MNI_acq-coilQaSagLarge_SNR_T0000.nii.gz -identity 1
--


Input parameters:
  Source .............. sub-MNI_TFLTB1map_label.nii.gz (88, 144, 56)
  Destination ......... sub-MNI_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Creating temporary folder (/tmp/sct_2025-01-15_16-24-52_register-wrapper_xqe28jho)

Copying input data to tmp folder and convert to nii...

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MI[dest_RPI.nii,src.nii,1,32]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step0,src_regStep0.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-24-52_register-wrapper_xqe28jho

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_0.nii.gz # in /tmp/sct_2025-01-15_16-24-52_register-wrapper_xqe28jho
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii warp_inverse_0.nii.gz # in /tmp/sct_2025-01-15_16-24-52_register-wrapper_xqe28jho

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-MNI_TFLTB1map_label_reg.nii.gz already exists. Deleting it..
File created: sub-MNI_TFLTB1map_label_reg.nii.gz
mv /tmp/sct_2025-01-15_16-24-52_register-wrapper_xqe28jho/warp_src2dest.nii.gz warp_sub-MNI_TFLTB1map_label2sub-MNI_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-MNI_TFLTB1map_label2sub-MNI_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: sub-MNI_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-24-52_register-wrapper_xqe28jho/warp_dest2src.nii.gz warp_sub-MNI_acq-coilQaSagLarge_SNR_T00002sub-MNI_TFLTB1map_label.nii.gz
File created: warp_sub-MNI_acq-coilQaSagLarge_SNR_T00002sub-MNI_TFLTB1map_label.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-24-52_register-wrapper_xqe28jho

Finished! Elapsed time: 5s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_apply_transfo -i sub-MNI_TFLTB1map_label.nii.gz -d sub-MNI_acq-coilQaSagLarge_SNR_T0000.nii.gz -w warp_sub-MNI_TFLTB1map_label2sub-MNI_acq-coilQaSagLarge_SNR_T0000.nii.gz -x label -o sub-MNI_acq-coilQaSagLarge_SNR_T0000_label.nii.gz
--


Parse list of warping fields...

Get dimensions of data...
  88 x 144 x 56 x 1

Apply transformation...

Dilate labels before warping...
Creating temporary folder (/tmp/sct_2025-01-15_16-24-58_apply-transfo-3d-label_2mts7067)

Apply transformation and resample to destination space...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsApplyTransforms -d 3 -i /tmp/sct_2025-01-15_16-24-58_apply-transfo-3d-label_2mts7067/dilated_data.nii -o sub-MNI_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -t warp_sub-MNI_TFLTB1map_label2sub-MNI_acq-coilQaSagLarge_SNR_T0000.nii.gz -r sub-MNI_acq-coilQaSagLarge_SNR_T0000.nii.gz -n NearestNeighbor # in /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MNI/fmap
Copy affine matrix from destination space to make sure qform/sform are the same.

Take the center of mass of each registered dilated labels...
File sub-MNI_acq-coilQaSagLarge_SNR_T0000_label.nii.gz already exists. Will overwrite it.

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-24-58_apply-transfo-3d-label_2mts7067
👉 CREATE LABELS FOR: sub-MPI
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_label_utils -i sub-MPI_TFLTB1map.nii.gz -create 67,95,27,1 -o sub-MPI_TFLTB1map_label.nii.gz
--
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Generating output files...
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MPI_TFLTB1map_label.nii.gz -d sub-MPI_DREAMTB1avgB1map.nii.gz -identity 1
--


Input parameters:
  Source .............. sub-MPI_TFLTB1map_label.nii.gz (90, 144, 56)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... sub-MPI_DREAMTB1avgB1map.nii.gz (80, 80, 11)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-25-01_register-wrapper_2q4y5sit)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MI[dest_RPI.nii,src.nii,1,32]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step0,src_regStep0.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-25-01_register-wrapper_2q4y5sit

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_0.nii.gz # in /tmp/sct_2025-01-15_16-25-01_register-wrapper_2q4y5sit
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii warp_inverse_0.nii.gz # in /tmp/sct_2025-01-15_16-25-01_register-wrapper_2q4y5sit

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File created: sub-MPI_TFLTB1map_label_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-01_register-wrapper_2q4y5sit/warp_src2dest.nii.gz warp_sub-MPI_TFLTB1map_label2sub-MPI_DREAMTB1avgB1map.nii.gz
File created: warp_sub-MPI_TFLTB1map_label2sub-MPI_DREAMTB1avgB1map.nii.gz
File created: sub-MPI_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-01_register-wrapper_2q4y5sit/warp_dest2src.nii.gz warp_sub-MPI_DREAMTB1avgB1map2sub-MPI_TFLTB1map_label.nii.gz
File created: warp_sub-MPI_DREAMTB1avgB1map2sub-MPI_TFLTB1map_label.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-01_register-wrapper_2q4y5sit

Finished! Elapsed time: 1s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_apply_transfo -i sub-MPI_TFLTB1map_label.nii.gz -d sub-MPI_DREAMTB1avgB1map.nii.gz -w warp_sub-MPI_TFLTB1map_label2sub-MPI_DREAMTB1avgB1map.nii.gz -x label -o sub-MPI_DREAMTB1avgB1map_label.nii.gz
--


Parse list of warping fields...

Get dimensions of data...
  90 x 144 x 56 x 1

Apply transformation...

Dilate labels before warping...
Creating temporary folder (/tmp/sct_2025-01-15_16-25-03_apply-transfo-3d-label_nu3o1r9y)

Apply transformation and resample to destination space...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsApplyTransforms -d 3 -i /tmp/sct_2025-01-15_16-25-03_apply-transfo-3d-label_nu3o1r9y/dilated_data.nii -o sub-MPI_DREAMTB1avgB1map_label.nii.gz -t warp_sub-MPI_TFLTB1map_label2sub-MPI_DREAMTB1avgB1map.nii.gz -r sub-MPI_DREAMTB1avgB1map.nii.gz -n NearestNeighbor # in /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MPI/fmap
Copy affine matrix from destination space to make sure qform/sform are the same.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

Take the center of mass of each registered dilated labels...
File sub-MPI_DREAMTB1avgB1map_label.nii.gz already exists. Will overwrite it.

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-03_apply-transfo-3d-label_nu3o1r9y
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MPI_TFLTB1map_label.nii.gz -d sub-MPI_acq-coilQaSagLarge_SNR_T0000.nii.gz -identity 1
--


Input parameters:
  Source .............. sub-MPI_TFLTB1map_label.nii.gz (90, 144, 56)
  Destination ......... sub-MPI_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Creating temporary folder (/tmp/sct_2025-01-15_16-25-04_register-wrapper_yx176nih)

Copying input data to tmp folder and convert to nii...

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MI[dest_RPI.nii,src.nii,1,32]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step0,src_regStep0.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-25-04_register-wrapper_yx176nih

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_0.nii.gz # in /tmp/sct_2025-01-15_16-25-04_register-wrapper_yx176nih
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii warp_inverse_0.nii.gz # in /tmp/sct_2025-01-15_16-25-04_register-wrapper_yx176nih

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-MPI_TFLTB1map_label_reg.nii.gz already exists. Deleting it..
File created: sub-MPI_TFLTB1map_label_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-04_register-wrapper_yx176nih/warp_src2dest.nii.gz warp_sub-MPI_TFLTB1map_label2sub-MPI_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-MPI_TFLTB1map_label2sub-MPI_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: sub-MPI_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-04_register-wrapper_yx176nih/warp_dest2src.nii.gz warp_sub-MPI_acq-coilQaSagLarge_SNR_T00002sub-MPI_TFLTB1map_label.nii.gz
File created: warp_sub-MPI_acq-coilQaSagLarge_SNR_T00002sub-MPI_TFLTB1map_label.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-04_register-wrapper_yx176nih

Finished! Elapsed time: 4s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_apply_transfo -i sub-MPI_TFLTB1map_label.nii.gz -d sub-MPI_acq-coilQaSagLarge_SNR_T0000.nii.gz -w warp_sub-MPI_TFLTB1map_label2sub-MPI_acq-coilQaSagLarge_SNR_T0000.nii.gz -x label -o sub-MPI_acq-coilQaSagLarge_SNR_T0000_label.nii.gz
--


Parse list of warping fields...

Get dimensions of data...
  90 x 144 x 56 x 1

Apply transformation...

Dilate labels before warping...
Creating temporary folder (/tmp/sct_2025-01-15_16-25-09_apply-transfo-3d-label_wp57gaci)

Apply transformation and resample to destination space...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsApplyTransforms -d 3 -i /tmp/sct_2025-01-15_16-25-09_apply-transfo-3d-label_wp57gaci/dilated_data.nii -o sub-MPI_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -t warp_sub-MPI_TFLTB1map_label2sub-MPI_acq-coilQaSagLarge_SNR_T0000.nii.gz -r sub-MPI_acq-coilQaSagLarge_SNR_T0000.nii.gz -n NearestNeighbor # in /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MPI/fmap
Copy affine matrix from destination space to make sure qform/sform are the same.

Take the center of mass of each registered dilated labels...
File sub-MPI_acq-coilQaSagLarge_SNR_T0000_label.nii.gz already exists. Will overwrite it.

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-09_apply-transfo-3d-label_wp57gaci
👉 CREATE LABELS FOR: sub-MSSM
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_label_utils -i sub-MSSM_TFLTB1map.nii.gz -create 73,65,28,1 -o sub-MSSM_TFLTB1map_label.nii.gz
--

Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Generating output files...
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MSSM_TFLTB1map_label.nii.gz -d sub-MSSM_DREAMTB1avgB1map.nii.gz -identity 1
--


Input parameters:
  Source .............. sub-MSSM_TFLTB1map_label.nii.gz (88, 128, 56)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... sub-MSSM_DREAMTB1avgB1map.nii.gz (80, 80, 11)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-25-13_register-wrapper_3u4blt2a)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MI[dest_RPI.nii,src.nii,1,32]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step0,src_regStep0.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-25-13_register-wrapper_3u4blt2a

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_0.nii.gz # in /tmp/sct_2025-01-15_16-25-13_register-wrapper_3u4blt2a
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii warp_inverse_0.nii.gz # in /tmp/sct_2025-01-15_16-25-13_register-wrapper_3u4blt2a

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File created: sub-MSSM_TFLTB1map_label_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-13_register-wrapper_3u4blt2a/warp_src2dest.nii.gz warp_sub-MSSM_TFLTB1map_label2sub-MSSM_DREAMTB1avgB1map.nii.gz
File created: warp_sub-MSSM_TFLTB1map_label2sub-MSSM_DREAMTB1avgB1map.nii.gz
File created: sub-MSSM_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-13_register-wrapper_3u4blt2a/warp_dest2src.nii.gz warp_sub-MSSM_DREAMTB1avgB1map2sub-MSSM_TFLTB1map_label.nii.gz
File created: warp_sub-MSSM_DREAMTB1avgB1map2sub-MSSM_TFLTB1map_label.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-13_register-wrapper_3u4blt2a

Finished! Elapsed time: 1s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_apply_transfo -i sub-MSSM_TFLTB1map_label.nii.gz -d sub-MSSM_DREAMTB1avgB1map.nii.gz -w warp_sub-MSSM_TFLTB1map_label2sub-MSSM_DREAMTB1avgB1map.nii.gz -x label -o sub-MSSM_DREAMTB1avgB1map_label.nii.gz
--


Parse list of warping fields...

Get dimensions of data...
  88 x 128 x 56 x 1

Apply transformation...

Dilate labels before warping...
Creating temporary folder (/tmp/sct_2025-01-15_16-25-14_apply-transfo-3d-label_9je_njyr)

Apply transformation and resample to destination space...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsApplyTransforms -d 3 -i /tmp/sct_2025-01-15_16-25-14_apply-transfo-3d-label_9je_njyr/dilated_data.nii -o sub-MSSM_DREAMTB1avgB1map_label.nii.gz -t warp_sub-MSSM_TFLTB1map_label2sub-MSSM_DREAMTB1avgB1map.nii.gz -r sub-MSSM_DREAMTB1avgB1map.nii.gz -n NearestNeighbor # in /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MSSM/fmap
Copy affine matrix from destination space to make sure qform/sform are the same.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

Take the center of mass of each registered dilated labels...
File sub-MSSM_DREAMTB1avgB1map_label.nii.gz already exists. Will overwrite it.

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-14_apply-transfo-3d-label_9je_njyr
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MSSM_TFLTB1map_label.nii.gz -d sub-MSSM_acq-coilQaSagLarge_SNR_T0000.nii.gz -identity 1
--


Input parameters:
  Source .............. sub-MSSM_TFLTB1map_label.nii.gz (88, 128, 56)
  Destination ......... sub-MSSM_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Creating temporary folder (/tmp/sct_2025-01-15_16-25-15_register-wrapper_ih5_g9m0)

Copying input data to tmp folder and convert to nii...

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MI[dest_RPI.nii,src.nii,1,32]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step0,src_regStep0.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-25-15_register-wrapper_ih5_g9m0

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_0.nii.gz # in /tmp/sct_2025-01-15_16-25-15_register-wrapper_ih5_g9m0
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii warp_inverse_0.nii.gz # in /tmp/sct_2025-01-15_16-25-15_register-wrapper_ih5_g9m0

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-MSSM_TFLTB1map_label_reg.nii.gz already exists. Deleting it..
File created: sub-MSSM_TFLTB1map_label_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-15_register-wrapper_ih5_g9m0/warp_src2dest.nii.gz warp_sub-MSSM_TFLTB1map_label2sub-MSSM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-MSSM_TFLTB1map_label2sub-MSSM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: sub-MSSM_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-15_register-wrapper_ih5_g9m0/warp_dest2src.nii.gz warp_sub-MSSM_acq-coilQaSagLarge_SNR_T00002sub-MSSM_TFLTB1map_label.nii.gz
File created: warp_sub-MSSM_acq-coilQaSagLarge_SNR_T00002sub-MSSM_TFLTB1map_label.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-15_register-wrapper_ih5_g9m0

Finished! Elapsed time: 4s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_apply_transfo -i sub-MSSM_TFLTB1map_label.nii.gz -d sub-MSSM_acq-coilQaSagLarge_SNR_T0000.nii.gz -w warp_sub-MSSM_TFLTB1map_label2sub-MSSM_acq-coilQaSagLarge_SNR_T0000.nii.gz -x label -o sub-MSSM_acq-coilQaSagLarge_SNR_T0000_label.nii.gz
--


Parse list of warping fields...

Get dimensions of data...
  88 x 128 x 56 x 1

Apply transformation...

Dilate labels before warping...
Creating temporary folder (/tmp/sct_2025-01-15_16-25-21_apply-transfo-3d-label_l13v2jme)

Apply transformation and resample to destination space...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsApplyTransforms -d 3 -i /tmp/sct_2025-01-15_16-25-21_apply-transfo-3d-label_l13v2jme/dilated_data.nii -o sub-MSSM_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -t warp_sub-MSSM_TFLTB1map_label2sub-MSSM_acq-coilQaSagLarge_SNR_T0000.nii.gz -r sub-MSSM_acq-coilQaSagLarge_SNR_T0000.nii.gz -n NearestNeighbor # in /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MSSM/fmap
Copy affine matrix from destination space to make sure qform/sform are the same.

Take the center of mass of each registered dilated labels...
File sub-MSSM_acq-coilQaSagLarge_SNR_T0000_label.nii.gz already exists. Will overwrite it.

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-21_apply-transfo-3d-label_l13v2jme
👉 CREATE LABELS FOR: sub-NTNU
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_label_utils -i sub-NTNU_TFLTB1map.nii.gz -create 64,96,29,1 -o sub-NTNU_TFLTB1map_label.nii.gz
--

Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Generating output files...
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-NTNU_TFLTB1map_label.nii.gz -d sub-NTNU_DREAMTB1avgB1map.nii.gz -identity 1
--


Input parameters:
  Source .............. sub-NTNU_TFLTB1map_label.nii.gz (88, 144, 56)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... sub-NTNU_DREAMTB1avgB1map.nii.gz (80, 80, 11)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-25-24_register-wrapper_7ttr2yma)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MI[dest_RPI.nii,src.nii,1,32]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step0,src_regStep0.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-25-24_register-wrapper_7ttr2yma

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_0.nii.gz # in /tmp/sct_2025-01-15_16-25-24_register-wrapper_7ttr2yma
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii warp_inverse_0.nii.gz # in /tmp/sct_2025-01-15_16-25-24_register-wrapper_7ttr2yma

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File created: sub-NTNU_TFLTB1map_label_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-24_register-wrapper_7ttr2yma/warp_src2dest.nii.gz warp_sub-NTNU_TFLTB1map_label2sub-NTNU_DREAMTB1avgB1map.nii.gz
File created: warp_sub-NTNU_TFLTB1map_label2sub-NTNU_DREAMTB1avgB1map.nii.gz
File created: sub-NTNU_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-24_register-wrapper_7ttr2yma/warp_dest2src.nii.gz warp_sub-NTNU_DREAMTB1avgB1map2sub-NTNU_TFLTB1map_label.nii.gz
File created: warp_sub-NTNU_DREAMTB1avgB1map2sub-NTNU_TFLTB1map_label.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-24_register-wrapper_7ttr2yma

Finished! Elapsed time: 1s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_apply_transfo -i sub-NTNU_TFLTB1map_label.nii.gz -d sub-NTNU_DREAMTB1avgB1map.nii.gz -w warp_sub-NTNU_TFLTB1map_label2sub-NTNU_DREAMTB1avgB1map.nii.gz -x label -o sub-NTNU_DREAMTB1avgB1map_label.nii.gz
--


Parse list of warping fields...

Get dimensions of data...
  88 x 144 x 56 x 1

Apply transformation...

Dilate labels before warping...
Creating temporary folder (/tmp/sct_2025-01-15_16-25-26_apply-transfo-3d-label_j3vju__n)

Apply transformation and resample to destination space...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsApplyTransforms -d 3 -i /tmp/sct_2025-01-15_16-25-26_apply-transfo-3d-label_j3vju__n/dilated_data.nii -o sub-NTNU_DREAMTB1avgB1map_label.nii.gz -t warp_sub-NTNU_TFLTB1map_label2sub-NTNU_DREAMTB1avgB1map.nii.gz -r sub-NTNU_DREAMTB1avgB1map.nii.gz -n NearestNeighbor # in /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-NTNU/fmap
Copy affine matrix from destination space to make sure qform/sform are the same.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

Take the center of mass of each registered dilated labels...
File sub-NTNU_DREAMTB1avgB1map_label.nii.gz already exists. Will overwrite it.

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-26_apply-transfo-3d-label_j3vju__n
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-NTNU_TFLTB1map_label.nii.gz -d sub-NTNU_acq-coilQaSagLarge_SNR_T0000.nii.gz -identity 1
--


Input parameters:
  Source .............. sub-NTNU_TFLTB1map_label.nii.gz (88, 144, 56)
  Destination ......... sub-NTNU_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Creating temporary folder (/tmp/sct_2025-01-15_16-25-27_register-wrapper_dzc4udq8)

Copying input data to tmp folder and convert to nii...

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MI[dest_RPI.nii,src.nii,1,32]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step0,src_regStep0.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-25-27_register-wrapper_dzc4udq8

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_0.nii.gz # in /tmp/sct_2025-01-15_16-25-27_register-wrapper_dzc4udq8
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii warp_inverse_0.nii.gz # in /tmp/sct_2025-01-15_16-25-27_register-wrapper_dzc4udq8

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-NTNU_TFLTB1map_label_reg.nii.gz already exists. Deleting it..
File created: sub-NTNU_TFLTB1map_label_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-27_register-wrapper_dzc4udq8/warp_src2dest.nii.gz warp_sub-NTNU_TFLTB1map_label2sub-NTNU_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-NTNU_TFLTB1map_label2sub-NTNU_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: sub-NTNU_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-27_register-wrapper_dzc4udq8/warp_dest2src.nii.gz warp_sub-NTNU_acq-coilQaSagLarge_SNR_T00002sub-NTNU_TFLTB1map_label.nii.gz
File created: warp_sub-NTNU_acq-coilQaSagLarge_SNR_T00002sub-NTNU_TFLTB1map_label.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-27_register-wrapper_dzc4udq8

Finished! Elapsed time: 4s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_apply_transfo -i sub-NTNU_TFLTB1map_label.nii.gz -d sub-NTNU_acq-coilQaSagLarge_SNR_T0000.nii.gz -w warp_sub-NTNU_TFLTB1map_label2sub-NTNU_acq-coilQaSagLarge_SNR_T0000.nii.gz -x label -o sub-NTNU_acq-coilQaSagLarge_SNR_T0000_label.nii.gz
--


Parse list of warping fields...

Get dimensions of data...
  88 x 144 x 56 x 1

Apply transformation...

Dilate labels before warping...
Creating temporary folder (/tmp/sct_2025-01-15_16-25-32_apply-transfo-3d-label_tj7gcg04)

Apply transformation and resample to destination space...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsApplyTransforms -d 3 -i /tmp/sct_2025-01-15_16-25-32_apply-transfo-3d-label_tj7gcg04/dilated_data.nii -o sub-NTNU_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -t warp_sub-NTNU_TFLTB1map_label2sub-NTNU_acq-coilQaSagLarge_SNR_T0000.nii.gz -r sub-NTNU_acq-coilQaSagLarge_SNR_T0000.nii.gz -n NearestNeighbor # in /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-NTNU/fmap
Copy affine matrix from destination space to make sure qform/sform are the same.

Take the center of mass of each registered dilated labels...
File sub-NTNU_acq-coilQaSagLarge_SNR_T0000_label.nii.gz already exists. Will overwrite it.

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-32_apply-transfo-3d-label_tj7gcg04
👉 CREATE LABELS FOR: sub-UCL
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_label_utils -i sub-UCL_TFLTB1map.nii.gz -create 68,97,28,1 -o sub-UCL_TFLTB1map_label.nii.gz
--
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Generating output files...
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-UCL_TFLTB1map_label.nii.gz -d sub-UCL_DREAMTB1avgB1map.nii.gz -identity 1
--


Input parameters:
  Source .............. sub-UCL_TFLTB1map_label.nii.gz (88, 144, 56)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... sub-UCL_DREAMTB1avgB1map.nii.gz (80, 80, 11)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-25-35_register-wrapper_ynctrob9)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MI[dest_RPI.nii,src.nii,1,32]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step0,src_regStep0.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-25-35_register-wrapper_ynctrob9

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_0.nii.gz # in /tmp/sct_2025-01-15_16-25-35_register-wrapper_ynctrob9
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii warp_inverse_0.nii.gz # in /tmp/sct_2025-01-15_16-25-35_register-wrapper_ynctrob9

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File created: sub-UCL_TFLTB1map_label_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-35_register-wrapper_ynctrob9/warp_src2dest.nii.gz warp_sub-UCL_TFLTB1map_label2sub-UCL_DREAMTB1avgB1map.nii.gz
File created: warp_sub-UCL_TFLTB1map_label2sub-UCL_DREAMTB1avgB1map.nii.gz
File created: sub-UCL_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-35_register-wrapper_ynctrob9/warp_dest2src.nii.gz warp_sub-UCL_DREAMTB1avgB1map2sub-UCL_TFLTB1map_label.nii.gz
File created: warp_sub-UCL_DREAMTB1avgB1map2sub-UCL_TFLTB1map_label.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-35_register-wrapper_ynctrob9

Finished! Elapsed time: 1s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_apply_transfo -i sub-UCL_TFLTB1map_label.nii.gz -d sub-UCL_DREAMTB1avgB1map.nii.gz -w warp_sub-UCL_TFLTB1map_label2sub-UCL_DREAMTB1avgB1map.nii.gz -x label -o sub-UCL_DREAMTB1avgB1map_label.nii.gz
--


Parse list of warping fields...

Get dimensions of data...
  88 x 144 x 56 x 1

Apply transformation...

Dilate labels before warping...
Creating temporary folder (/tmp/sct_2025-01-15_16-25-37_apply-transfo-3d-label_tf6rzv99)

Apply transformation and resample to destination space...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsApplyTransforms -d 3 -i /tmp/sct_2025-01-15_16-25-37_apply-transfo-3d-label_tf6rzv99/dilated_data.nii -o sub-UCL_DREAMTB1avgB1map_label.nii.gz -t warp_sub-UCL_TFLTB1map_label2sub-UCL_DREAMTB1avgB1map.nii.gz -r sub-UCL_DREAMTB1avgB1map.nii.gz -n NearestNeighbor # in /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-UCL/fmap
Copy affine matrix from destination space to make sure qform/sform are the same.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

Take the center of mass of each registered dilated labels...
File sub-UCL_DREAMTB1avgB1map_label.nii.gz already exists. Will overwrite it.

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-37_apply-transfo-3d-label_tf6rzv99
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-UCL_TFLTB1map_label.nii.gz -d sub-UCL_acq-coilQaSagLarge_SNR_T0000.nii.gz -identity 1
--


Input parameters:
  Source .............. sub-UCL_TFLTB1map_label.nii.gz (88, 144, 56)
  Destination ......... sub-UCL_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Creating temporary folder (/tmp/sct_2025-01-15_16-25-38_register-wrapper_k2l0q367)

Copying input data to tmp folder and convert to nii...

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MI[dest_RPI.nii,src.nii,1,32]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step0,src_regStep0.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-25-38_register-wrapper_k2l0q367

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_0.nii.gz # in /tmp/sct_2025-01-15_16-25-38_register-wrapper_k2l0q367
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii warp_inverse_0.nii.gz # in /tmp/sct_2025-01-15_16-25-38_register-wrapper_k2l0q367

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-UCL_TFLTB1map_label_reg.nii.gz already exists. Deleting it..
File created: sub-UCL_TFLTB1map_label_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-38_register-wrapper_k2l0q367/warp_src2dest.nii.gz warp_sub-UCL_TFLTB1map_label2sub-UCL_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-UCL_TFLTB1map_label2sub-UCL_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: sub-UCL_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-38_register-wrapper_k2l0q367/warp_dest2src.nii.gz warp_sub-UCL_acq-coilQaSagLarge_SNR_T00002sub-UCL_TFLTB1map_label.nii.gz
File created: warp_sub-UCL_acq-coilQaSagLarge_SNR_T00002sub-UCL_TFLTB1map_label.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-38_register-wrapper_k2l0q367

Finished! Elapsed time: 4s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_apply_transfo -i sub-UCL_TFLTB1map_label.nii.gz -d sub-UCL_acq-coilQaSagLarge_SNR_T0000.nii.gz -w warp_sub-UCL_TFLTB1map_label2sub-UCL_acq-coilQaSagLarge_SNR_T0000.nii.gz -x label -o sub-UCL_acq-coilQaSagLarge_SNR_T0000_label.nii.gz
--


Parse list of warping fields...

Get dimensions of data...
  88 x 144 x 56 x 1

Apply transformation...

Dilate labels before warping...
Creating temporary folder (/tmp/sct_2025-01-15_16-25-43_apply-transfo-3d-label_2ha67cu_)

Apply transformation and resample to destination space...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsApplyTransforms -d 3 -i /tmp/sct_2025-01-15_16-25-43_apply-transfo-3d-label_2ha67cu_/dilated_data.nii -o sub-UCL_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -t warp_sub-UCL_TFLTB1map_label2sub-UCL_acq-coilQaSagLarge_SNR_T0000.nii.gz -r sub-UCL_acq-coilQaSagLarge_SNR_T0000.nii.gz -n NearestNeighbor # in /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-UCL/fmap
Copy affine matrix from destination space to make sure qform/sform are the same.

Take the center of mass of each registered dilated labels...
File sub-UCL_acq-coilQaSagLarge_SNR_T0000_label.nii.gz already exists. Will overwrite it.

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-43_apply-transfo-3d-label_2ha67cu_
👉 REGISTER: sub-CRMBM
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-CRMBM_TFLTB1map.nii.gz -ilabel sub-CRMBM_TFLTB1map_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Source .............. sub-CRMBM_TFLTB1map.nii.gz (88, 144, 56)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map.nii.gz (88, 144, 56)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-25-46_register-wrapper_lpxkhe7h)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[-11.087461948394775, 50.14370059967041, -3.270395278930664]]
Labels dest: [[-11.087461948394775, 50.143698930740356, -3.270395278930664]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 45
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.08746195  50.14369893  -3.27039528]
Translation:
 [[0.00000000e+00 1.66893006e-06 0.00000000e+00]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-25-46_register-wrapper_lpxkhe7h

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-25-46_register-wrapper_lpxkhe7h
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-25-46_register-wrapper_lpxkhe7h

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File created: sub-CRMBM_TFLTB1map_src_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-46_register-wrapper_lpxkhe7h/warp_src2dest.nii.gz warp_sub-CRMBM_TFLTB1map2sub-CRMBM_TFLTB1map.nii.gz
File created: warp_sub-CRMBM_TFLTB1map2sub-CRMBM_TFLTB1map.nii.gz
File created: sub-CRMBM_TFLTB1map_dest_reg.nii.gz
File warp_sub-CRMBM_TFLTB1map2sub-CRMBM_TFLTB1map.nii.gz already exists. Deleting it..
mv /tmp/sct_2025-01-15_16-25-46_register-wrapper_lpxkhe7h/warp_dest2src.nii.gz warp_sub-CRMBM_TFLTB1map2sub-CRMBM_TFLTB1map.nii.gz
File created: warp_sub-CRMBM_TFLTB1map2sub-CRMBM_TFLTB1map.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-46_register-wrapper_lpxkhe7h

Finished! Elapsed time: 2s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-CRMBM_DREAMTB1avgB1map.nii.gz -ilabel sub-CRMBM_DREAMTB1avgB1map_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Source .............. sub-CRMBM_DREAMTB1avgB1map.nii.gz (80, 80, 11)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map.nii.gz (80, 80, 11)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-25-49_register-wrapper_tkj4ofj2)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[-11.117250442504883, 50.97703552246094, -3.4092864990234375]]
Labels dest: [[-11.117250442504883, 50.97703552246094, -3.4092864990234375]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 1
         Function evaluations: 22
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.11725044  50.97703552  -3.4092865 ]
Translation:
 [[0. 0. 0.]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-25-49_register-wrapper_tkj4ofj2

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-25-49_register-wrapper_tkj4ofj2
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-25-49_register-wrapper_tkj4ofj2

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File created: sub-CRMBM_DREAMTB1avgB1map_src_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-49_register-wrapper_tkj4ofj2/warp_src2dest.nii.gz warp_sub-CRMBM_DREAMTB1avgB1map2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: warp_sub-CRMBM_DREAMTB1avgB1map2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: sub-CRMBM_DREAMTB1avgB1map_dest_reg.nii.gz
File warp_sub-CRMBM_DREAMTB1avgB1map2sub-CRMBM_DREAMTB1avgB1map.nii.gz already exists. Deleting it..
mv /tmp/sct_2025-01-15_16-25-49_register-wrapper_tkj4ofj2/warp_dest2src.nii.gz warp_sub-CRMBM_DREAMTB1avgB1map2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: warp_sub-CRMBM_DREAMTB1avgB1map2sub-CRMBM_DREAMTB1avgB1map.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-49_register-wrapper_tkj4ofj2

Finished! Elapsed time: 0s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz -ilabel sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
  Source .............. sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Creating temporary folder (/tmp/sct_2025-01-15_16-25-50_register-wrapper_by9qld5h)

Copying input data to tmp folder and convert to nii...

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[-11.117252349853516, 50.47705077917857, -2.909301755652923]]
Labels dest: [[-11.117252349853516, 50.47705077917857, -2.9093017594064463]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 62
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.11725235  50.47705078  -2.90930176]
Translation:
 [[0.00000000e+00 0.00000000e+00 3.75352307e-09]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-25-50_register-wrapper_by9qld5h

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-25-50_register-wrapper_by9qld5h
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-25-50_register-wrapper_by9qld5h

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File created: sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_src_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-50_register-wrapper_by9qld5h/warp_src2dest.nii.gz warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_dest_reg.nii.gz
File warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz already exists. Deleting it..
mv /tmp/sct_2025-01-15_16-25-50_register-wrapper_by9qld5h/warp_dest2src.nii.gz warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-50_register-wrapper_by9qld5h

Finished! Elapsed time: 7s
👉 REGISTER: sub-MGH
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MGH_TFLTB1map.nii.gz -ilabel sub-MGH_TFLTB1map_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Source .............. sub-MGH_TFLTB1map.nii.gz (88, 144, 56)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map.nii.gz (88, 144, 56)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-25-59_register-wrapper_aqro8rg1)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[-1.9035463333129883, 10.127162218093872, 35.712753772735596]]
Labels dest: [[-11.087461948394775, 50.143698930740356, -3.270395278930664]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 50
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.08746195  50.14369893  -3.27039528]
Translation:
 [[  9.18391562 -40.01653671  38.98314905]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-25-59_register-wrapper_aqro8rg1

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-25-59_register-wrapper_aqro8rg1
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-25-59_register-wrapper_aqro8rg1

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File created: sub-MGH_TFLTB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-59_register-wrapper_aqro8rg1/warp_src2dest.nii.gz warp_sub-MGH_TFLTB1map2sub-CRMBM_TFLTB1map.nii.gz
File created: warp_sub-MGH_TFLTB1map2sub-CRMBM_TFLTB1map.nii.gz
File created: sub-CRMBM_TFLTB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-25-59_register-wrapper_aqro8rg1/warp_dest2src.nii.gz warp_sub-CRMBM_TFLTB1map2sub-MGH_TFLTB1map.nii.gz
File created: warp_sub-CRMBM_TFLTB1map2sub-MGH_TFLTB1map.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-25-59_register-wrapper_aqro8rg1

Finished! Elapsed time: 2s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MGH_DREAMTB1avgB1map.nii.gz -ilabel sub-MGH_DREAMTB1avgB1map_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Source .............. sub-MGH_DREAMTB1avgB1map.nii.gz (80, 80, 11)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map.nii.gz (80, 80, 11)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-26-02_register-wrapper_9p02vxuq)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[-2.8459887504577637, 9.98828125, 34.462745666503906]]
Labels dest: [[-11.117250442504883, 50.97703552246094, -3.4092864990234375]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 50
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.11725044  50.97703552  -3.4092865 ]
Translation:
 [[  8.27126169 -40.98875427  37.87203217]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-26-02_register-wrapper_9p02vxuq

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-26-02_register-wrapper_9p02vxuq
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-26-02_register-wrapper_9p02vxuq

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-MGH_DREAMTB1avgB1map_reg.nii.gz already exists. Deleting it..
File created: sub-MGH_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-02_register-wrapper_9p02vxuq/warp_src2dest.nii.gz warp_sub-MGH_DREAMTB1avgB1map2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: warp_sub-MGH_DREAMTB1avgB1map2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: sub-CRMBM_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-02_register-wrapper_9p02vxuq/warp_dest2src.nii.gz warp_sub-CRMBM_DREAMTB1avgB1map2sub-MGH_DREAMTB1avgB1map.nii.gz
File created: warp_sub-CRMBM_DREAMTB1avgB1map2sub-MGH_DREAMTB1avgB1map.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-26-02_register-wrapper_9p02vxuq

Finished! Elapsed time: 0s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MGH_acq-coilQaSagLarge_SNR_T0000.nii.gz -ilabel sub-MGH_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
  Source .............. sub-MGH_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Creating temporary folder (/tmp/sct_2025-01-15_16-26-04_register-wrapper_qkqyroe7)

Copying input data to tmp folder and convert to nii...

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[-2.645986557006836, 10.48828125, 36.462738037109375]]
Labels dest: [[-11.117252349853516, 50.47705077917857, -2.9093017594064463]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 50
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.11725235  50.47705078  -2.90930176]
Translation:
 [[  8.47126579 -39.98876953  39.3720398 ]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-26-04_register-wrapper_qkqyroe7

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-26-04_register-wrapper_qkqyroe7
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-26-04_register-wrapper_qkqyroe7

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-MGH_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz already exists. Deleting it..
File created: sub-MGH_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-04_register-wrapper_qkqyroe7/warp_src2dest.nii.gz warp_sub-MGH_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-MGH_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-04_register-wrapper_qkqyroe7/warp_dest2src.nii.gz warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-MGH_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-MGH_acq-coilQaSagLarge_SNR_T0000.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-26-04_register-wrapper_qkqyroe7

Finished! Elapsed time: 7s
👉 REGISTER: sub-MNI
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MNI_TFLTB1map.nii.gz -ilabel sub-MNI_TFLTB1map_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Source .............. sub-MNI_TFLTB1map.nii.gz (88, 144, 56)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map.nii.gz (88, 144, 56)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-26-12_register-wrapper_hi750xhh)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[-5.0127153396606445, 12.580960512161255, 37.777780294418335]]
Labels dest: [[-11.087461948394775, 50.143698930740356, -3.270395278930664]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 50
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.08746195  50.14369893  -3.27039528]
Translation:
 [[  6.07474661 -37.56273842  41.04817557]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-26-12_register-wrapper_hi750xhh

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-26-12_register-wrapper_hi750xhh
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-26-12_register-wrapper_hi750xhh

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File created: sub-MNI_TFLTB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-12_register-wrapper_hi750xhh/warp_src2dest.nii.gz warp_sub-MNI_TFLTB1map2sub-CRMBM_TFLTB1map.nii.gz
File created: warp_sub-MNI_TFLTB1map2sub-CRMBM_TFLTB1map.nii.gz
File created: sub-CRMBM_TFLTB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-12_register-wrapper_hi750xhh/warp_dest2src.nii.gz warp_sub-CRMBM_TFLTB1map2sub-MNI_TFLTB1map.nii.gz
File created: warp_sub-CRMBM_TFLTB1map2sub-MNI_TFLTB1map.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-26-12_register-wrapper_hi750xhh

Finished! Elapsed time: 2s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MNI_DREAMTB1avgB1map.nii.gz -ilabel sub-MNI_DREAMTB1avgB1map_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Source .............. sub-MNI_DREAMTB1avgB1map.nii.gz (80, 80, 11)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map.nii.gz (80, 80, 11)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-26-15_register-wrapper_tl4ww0zh)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[-4.612692832946777, 12.250770568847656, 38.44549560546875]]
Labels dest: [[-11.117250442504883, 50.97703552246094, -3.4092864990234375]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 50
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.11725044  50.97703552  -3.4092865 ]
Translation:
 [[  6.50455761 -38.72626495  41.8547821 ]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-26-15_register-wrapper_tl4ww0zh

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-26-15_register-wrapper_tl4ww0zh
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-26-15_register-wrapper_tl4ww0zh

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-MNI_DREAMTB1avgB1map_reg.nii.gz already exists. Deleting it..
File created: sub-MNI_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-15_register-wrapper_tl4ww0zh/warp_src2dest.nii.gz warp_sub-MNI_DREAMTB1avgB1map2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: warp_sub-MNI_DREAMTB1avgB1map2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: sub-CRMBM_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-15_register-wrapper_tl4ww0zh/warp_dest2src.nii.gz warp_sub-CRMBM_DREAMTB1avgB1map2sub-MNI_DREAMTB1avgB1map.nii.gz
File created: warp_sub-CRMBM_DREAMTB1avgB1map2sub-MNI_DREAMTB1avgB1map.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-26-15_register-wrapper_tl4ww0zh

Finished! Elapsed time: 0s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MNI_acq-coilQaSagLarge_SNR_T0000.nii.gz -ilabel sub-MNI_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
  Source .............. sub-MNI_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Creating temporary folder (/tmp/sct_2025-01-15_16-26-16_register-wrapper_r61x1x69)

Copying input data to tmp folder and convert to nii...

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[-4.612680435180664, 12.75076293739636, 38.44549560754753]]
Labels dest: [[-11.117252349853516, 50.47705077917857, -2.9093017594064463]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 50
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.11725235  50.47705078  -2.90930176]
Translation:
 [[  6.50457191 -37.72628784  41.35479737]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-26-16_register-wrapper_r61x1x69

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-26-16_register-wrapper_r61x1x69
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-26-16_register-wrapper_r61x1x69

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-MNI_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz already exists. Deleting it..
File created: sub-MNI_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-16_register-wrapper_r61x1x69/warp_src2dest.nii.gz warp_sub-MNI_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-MNI_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-16_register-wrapper_r61x1x69/warp_dest2src.nii.gz warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-MNI_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-MNI_acq-coilQaSagLarge_SNR_T0000.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-26-16_register-wrapper_r61x1x69

Finished! Elapsed time: 7s
👉 REGISTER: sub-MPI
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MPI_TFLTB1map.nii.gz -ilabel sub-MPI_TFLTB1map_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Source .............. sub-MPI_TFLTB1map.nii.gz (90, 144, 56)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map.nii.gz (88, 144, 56)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-26-25_register-wrapper_zs1wycup)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[-8.676316738128662, 5.191625118255615, 34.30185270309448]]
Labels dest: [[-11.087461948394775, 50.143698930740356, -3.270395278930664]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 49
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.08746195  50.14369893  -3.27039528]
Translation:
 [[  2.41114521 -44.95207381  37.57224798]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-26-25_register-wrapper_zs1wycup

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-26-25_register-wrapper_zs1wycup
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-26-25_register-wrapper_zs1wycup

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File created: sub-MPI_TFLTB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-25_register-wrapper_zs1wycup/warp_src2dest.nii.gz warp_sub-MPI_TFLTB1map2sub-CRMBM_TFLTB1map.nii.gz
File created: warp_sub-MPI_TFLTB1map2sub-CRMBM_TFLTB1map.nii.gz
File created: sub-CRMBM_TFLTB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-25_register-wrapper_zs1wycup/warp_dest2src.nii.gz warp_sub-CRMBM_TFLTB1map2sub-MPI_TFLTB1map.nii.gz
File created: warp_sub-CRMBM_TFLTB1map2sub-MPI_TFLTB1map.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-26-25_register-wrapper_zs1wycup

Finished! Elapsed time: 2s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MPI_DREAMTB1avgB1map.nii.gz -ilabel sub-MPI_DREAMTB1avgB1map_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Source .............. sub-MPI_DREAMTB1avgB1map.nii.gz (80, 80, 11)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map.nii.gz (80, 80, 11)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-26-28_register-wrapper_ytm4fz56)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[-9.586259841918945, 5.7471771240234375, 35.135169982910156]]
Labels dest: [[-11.117250442504883, 50.97703552246094, -3.4092864990234375]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 49
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.11725044  50.97703552  -3.4092865 ]
Translation:
 [[  1.5309906  -45.2298584   38.54445648]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-26-28_register-wrapper_ytm4fz56

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-26-28_register-wrapper_ytm4fz56
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-26-28_register-wrapper_ytm4fz56

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-MPI_DREAMTB1avgB1map_reg.nii.gz already exists. Deleting it..
File created: sub-MPI_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-28_register-wrapper_ytm4fz56/warp_src2dest.nii.gz warp_sub-MPI_DREAMTB1avgB1map2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: warp_sub-MPI_DREAMTB1avgB1map2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: sub-CRMBM_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-28_register-wrapper_ytm4fz56/warp_dest2src.nii.gz warp_sub-CRMBM_DREAMTB1avgB1map2sub-MPI_DREAMTB1avgB1map.nii.gz
File created: warp_sub-CRMBM_DREAMTB1avgB1map2sub-MPI_DREAMTB1avgB1map.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-26-28_register-wrapper_ytm4fz56

Finished! Elapsed time: 0s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MPI_acq-coilQaSagLarge_SNR_T0000.nii.gz -ilabel sub-MPI_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
  Source .............. sub-MPI_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Creating temporary folder (/tmp/sct_2025-01-15_16-26-29_register-wrapper_frszmn3d)

Copying input data to tmp folder and convert to nii...

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[-9.486261367797852, 5.7471923828125, 34.635162353515625]]
Labels dest: [[-11.117252349853516, 50.47705077917857, -2.9093017594064463]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 49
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.11725235  50.47705078  -2.90930176]
Translation:
 [[  1.63099098 -44.7298584   37.54446411]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-26-29_register-wrapper_frszmn3d

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-26-29_register-wrapper_frszmn3d
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-26-29_register-wrapper_frszmn3d

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-MPI_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz already exists. Deleting it..
File created: sub-MPI_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-29_register-wrapper_frszmn3d/warp_src2dest.nii.gz warp_sub-MPI_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-MPI_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-29_register-wrapper_frszmn3d/warp_dest2src.nii.gz warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-MPI_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-MPI_acq-coilQaSagLarge_SNR_T0000.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-26-29_register-wrapper_frszmn3d

Finished! Elapsed time: 7s
👉 REGISTER: sub-MSSM
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MSSM_TFLTB1map.nii.gz -ilabel sub-MSSM_TFLTB1map_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Source .............. sub-MSSM_TFLTB1map.nii.gz (88, 128, 56)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map.nii.gz (88, 144, 56)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-26-38_register-wrapper_fah_zbu_)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[2.5, 40.5, 5.0]]
Labels dest: [[-11.087461948394775, 50.143698930740356, -3.270395278930664]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 50
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.08746195  50.14369893  -3.27039528]
Translation:
 [[13.58746195 -9.64369893  8.27039528]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-26-38_register-wrapper_fah_zbu_

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-26-38_register-wrapper_fah_zbu_
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-26-38_register-wrapper_fah_zbu_

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File created: sub-MSSM_TFLTB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-38_register-wrapper_fah_zbu_/warp_src2dest.nii.gz warp_sub-MSSM_TFLTB1map2sub-CRMBM_TFLTB1map.nii.gz
File created: warp_sub-MSSM_TFLTB1map2sub-CRMBM_TFLTB1map.nii.gz
File created: sub-CRMBM_TFLTB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-38_register-wrapper_fah_zbu_/warp_dest2src.nii.gz warp_sub-CRMBM_TFLTB1map2sub-MSSM_TFLTB1map.nii.gz
File created: warp_sub-CRMBM_TFLTB1map2sub-MSSM_TFLTB1map.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-26-38_register-wrapper_fah_zbu_

Finished! Elapsed time: 2s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MSSM_DREAMTB1avgB1map.nii.gz -ilabel sub-MSSM_DREAMTB1avgB1map_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Source .............. sub-MSSM_DREAMTB1avgB1map.nii.gz (80, 80, 11)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map.nii.gz (80, 80, 11)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-26-41_register-wrapper_dhpbax2f)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[3.5, 41.0, 5.0]]
Labels dest: [[-11.117250442504883, 50.97703552246094, -3.4092864990234375]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 50
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.11725044  50.97703552  -3.4092865 ]
Translation:
 [[14.61725044 -9.97703552  8.4092865 ]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-26-41_register-wrapper_dhpbax2f

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-26-41_register-wrapper_dhpbax2f
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-26-41_register-wrapper_dhpbax2f

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-MSSM_DREAMTB1avgB1map_reg.nii.gz already exists. Deleting it..
File created: sub-MSSM_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-41_register-wrapper_dhpbax2f/warp_src2dest.nii.gz warp_sub-MSSM_DREAMTB1avgB1map2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: warp_sub-MSSM_DREAMTB1avgB1map2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: sub-CRMBM_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-41_register-wrapper_dhpbax2f/warp_dest2src.nii.gz warp_sub-CRMBM_DREAMTB1avgB1map2sub-MSSM_DREAMTB1avgB1map.nii.gz
File created: warp_sub-CRMBM_DREAMTB1avgB1map2sub-MSSM_DREAMTB1avgB1map.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-26-41_register-wrapper_dhpbax2f

Finished! Elapsed time: 0s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-MSSM_acq-coilQaSagLarge_SNR_T0000.nii.gz -ilabel sub-MSSM_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
  Source .............. sub-MSSM_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Creating temporary folder (/tmp/sct_2025-01-15_16-26-42_register-wrapper_earuhvqr)

Copying input data to tmp folder and convert to nii...

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[3.5999984741210938, 40.50000007937501, 4.499999908011118]]
Labels dest: [[-11.117252349853516, 50.47705077917857, -2.9093017594064463]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 50
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.11725235  50.47705078  -2.90930176]
Translation:
 [[14.71725082 -9.9770507   7.40930167]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-26-42_register-wrapper_earuhvqr

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-26-42_register-wrapper_earuhvqr
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-26-42_register-wrapper_earuhvqr

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-MSSM_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz already exists. Deleting it..
File created: sub-MSSM_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-42_register-wrapper_earuhvqr/warp_src2dest.nii.gz warp_sub-MSSM_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-MSSM_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-42_register-wrapper_earuhvqr/warp_dest2src.nii.gz warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-MSSM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-MSSM_acq-coilQaSagLarge_SNR_T0000.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-26-42_register-wrapper_earuhvqr

Finished! Elapsed time: 7s
👉 REGISTER: sub-NTNU
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-NTNU_TFLTB1map.nii.gz -ilabel sub-NTNU_TFLTB1map_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Source .............. sub-NTNU_TFLTB1map.nii.gz (88, 144, 56)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map.nii.gz (88, 144, 56)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-26-50_register-wrapper_fzynlkoh)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[3.7121474742889404, 5.1349334716796875, 27.99675750732422]]
Labels dest: [[-11.087461948394775, 50.143698930740356, -3.270395278930664]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 50
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.08746195  50.14369893  -3.27039528]
Translation:
 [[ 14.79960942 -45.00876546  31.26715279]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-26-50_register-wrapper_fzynlkoh

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-26-50_register-wrapper_fzynlkoh
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-26-50_register-wrapper_fzynlkoh

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File created: sub-NTNU_TFLTB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-50_register-wrapper_fzynlkoh/warp_src2dest.nii.gz warp_sub-NTNU_TFLTB1map2sub-CRMBM_TFLTB1map.nii.gz
File created: warp_sub-NTNU_TFLTB1map2sub-CRMBM_TFLTB1map.nii.gz
File created: sub-CRMBM_TFLTB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-50_register-wrapper_fzynlkoh/warp_dest2src.nii.gz warp_sub-CRMBM_TFLTB1map2sub-NTNU_TFLTB1map.nii.gz
File created: warp_sub-CRMBM_TFLTB1map2sub-NTNU_TFLTB1map.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-26-50_register-wrapper_fzynlkoh

Finished! Elapsed time: 2s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-NTNU_DREAMTB1avgB1map.nii.gz -ilabel sub-NTNU_DREAMTB1avgB1map_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Source .............. sub-NTNU_DREAMTB1avgB1map.nii.gz (80, 80, 11)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map.nii.gz (80, 80, 11)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-26-53_register-wrapper_xuzg_npa)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[2.867208480834961, 5.4127197265625, 28.968994140625]]
Labels dest: [[-11.117250442504883, 50.97703552246094, -3.4092864990234375]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 50
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.11725044  50.97703552  -3.4092865 ]
Translation:
 [[ 13.98445892 -45.5643158   32.37828064]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-26-53_register-wrapper_xuzg_npa

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-26-53_register-wrapper_xuzg_npa
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-26-53_register-wrapper_xuzg_npa

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-NTNU_DREAMTB1avgB1map_reg.nii.gz already exists. Deleting it..
File created: sub-NTNU_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-53_register-wrapper_xuzg_npa/warp_src2dest.nii.gz warp_sub-NTNU_DREAMTB1avgB1map2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: warp_sub-NTNU_DREAMTB1avgB1map2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: sub-CRMBM_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-53_register-wrapper_xuzg_npa/warp_dest2src.nii.gz warp_sub-CRMBM_DREAMTB1avgB1map2sub-NTNU_DREAMTB1avgB1map.nii.gz
File created: warp_sub-CRMBM_DREAMTB1avgB1map2sub-NTNU_DREAMTB1avgB1map.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-26-53_register-wrapper_xuzg_npa

Finished! Elapsed time: 0s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-NTNU_acq-coilQaSagLarge_SNR_T0000.nii.gz -ilabel sub-NTNU_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
  Source .............. sub-NTNU_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Creating temporary folder (/tmp/sct_2025-01-15_16-26-55_register-wrapper_06739adb)

Copying input data to tmp folder and convert to nii...

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[2.7672119140625, 4.4127197265625, 27.468994140625]]
Labels dest: [[-11.117252349853516, 50.47705077917857, -2.9093017594064463]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 50
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.11725235  50.47705078  -2.90930176]
Translation:
 [[ 13.88446426 -46.06433105  30.3782959 ]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-26-55_register-wrapper_06739adb

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-26-55_register-wrapper_06739adb
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-26-55_register-wrapper_06739adb

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-NTNU_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz already exists. Deleting it..
File created: sub-NTNU_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-55_register-wrapper_06739adb/warp_src2dest.nii.gz warp_sub-NTNU_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-NTNU_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-26-55_register-wrapper_06739adb/warp_dest2src.nii.gz warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-NTNU_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-NTNU_acq-coilQaSagLarge_SNR_T0000.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-26-55_register-wrapper_06739adb

Finished! Elapsed time: 7s
👉 REGISTER: sub-UCL
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-UCL_TFLTB1map.nii.gz -ilabel sub-UCL_TFLTB1map_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Source .............. sub-UCL_TFLTB1map.nii.gz (88, 144, 56)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_TFLTB1map.nii.gz (88, 144, 56)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-27-03_register-wrapper_zem1s4rg)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[1.2494821548461914, 49.14424228668213, 24.081058740615845]]
Labels dest: [[-11.087461948394775, 50.143698930740356, -3.270395278930664]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 49
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.08746195  50.14369893  -3.27039528]
Translation:
 [[12.3369441  -0.99945664 27.35145402]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-27-03_register-wrapper_zem1s4rg

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-27-03_register-wrapper_zem1s4rg
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-27-03_register-wrapper_zem1s4rg

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File created: sub-UCL_TFLTB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-27-03_register-wrapper_zem1s4rg/warp_src2dest.nii.gz warp_sub-UCL_TFLTB1map2sub-CRMBM_TFLTB1map.nii.gz
File created: warp_sub-UCL_TFLTB1map2sub-CRMBM_TFLTB1map.nii.gz
File created: sub-CRMBM_TFLTB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-27-03_register-wrapper_zem1s4rg/warp_dest2src.nii.gz warp_sub-CRMBM_TFLTB1map2sub-UCL_TFLTB1map.nii.gz
File created: warp_sub-CRMBM_TFLTB1map2sub-UCL_TFLTB1map.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-27-03_register-wrapper_zem1s4rg

Finished! Elapsed time: 2s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-UCL_DREAMTB1avgB1map.nii.gz -ilabel sub-UCL_DREAMTB1avgB1map_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Source .............. sub-UCL_DREAMTB1avgB1map.nii.gz (80, 80, 11)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map.nii.gz (80, 80, 11)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-27-06_register-wrapper_obnk_aaj)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[0.36720848083496094, 49.977577209472656, 25.192169189453125]]
Labels dest: [[-11.117250442504883, 50.97703552246094, -3.4092864990234375]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 49
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.11725044  50.97703552  -3.4092865 ]
Translation:
 [[11.48445892 -0.99945831 28.60145569]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-27-06_register-wrapper_obnk_aaj

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-27-06_register-wrapper_obnk_aaj
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-27-06_register-wrapper_obnk_aaj

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-UCL_DREAMTB1avgB1map_reg.nii.gz already exists. Deleting it..
File created: sub-UCL_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-27-06_register-wrapper_obnk_aaj/warp_src2dest.nii.gz warp_sub-UCL_DREAMTB1avgB1map2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: warp_sub-UCL_DREAMTB1avgB1map2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: sub-CRMBM_DREAMTB1avgB1map_reg.nii.gz
mv /tmp/sct_2025-01-15_16-27-06_register-wrapper_obnk_aaj/warp_dest2src.nii.gz warp_sub-CRMBM_DREAMTB1avgB1map2sub-UCL_DREAMTB1avgB1map.nii.gz
File created: warp_sub-CRMBM_DREAMTB1avgB1map2sub-UCL_DREAMTB1avgB1map.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-27-06_register-wrapper_obnk_aaj

Finished! Elapsed time: 0s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-UCL_acq-coilQaSagLarge_SNR_T0000.nii.gz -ilabel sub-UCL_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -d /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz -dlabel /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_label.nii.gz -param step=0,type=label,dof=Tx_Ty_Tz:step=1,type=im,algo=syn,iter=0
--


Input parameters:
  Source .............. sub-UCL_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Destination ......... /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Init transfo ........ 
  Mask ................ 
  Output name ......... 
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Creating temporary folder (/tmp/sct_2025-01-15_16-27-08_register-wrapper_o2gi_qbs)

Copying input data to tmp folder and convert to nii...

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... label
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz
  smoothWarpXY ... 2
  rot_method ..... pca
Parameter 'algo=syn' has no effect for 'type=label' registration.
Labels src: [[0.36721134185791016, 49.477569580078125, 24.192169189453125]]
Labels dest: [[-11.117252349853516, 50.47705077917857, -2.9093017594064463]]
Degrees of freedom (dof): Tx_Ty_Tz
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 2
         Function evaluations: 49
Matrix:
 [[ 1.  0.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]]
Center:
 [-11.11725235  50.47705078  -2.90930176]
Translation:
 [[11.48446369 -0.9994812  27.10147095]]

--
ESTIMATE TRANSFORMATION FOR STEP #1

Apply transformation from previous step
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MeanSquares
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MeanSquares[dest_RPI.nii,src_reg.nii,1,4]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step1,src_reg_regStep1.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-27-08_register-wrapper_o2gi_qbs

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_1.nii.gz warp_forward_0.txt # in /tmp/sct_2025-01-15_16-27-08_register-wrapper_o2gi_qbs
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii -i warp_forward_0.txt warp_inverse_1.nii.gz # in /tmp/sct_2025-01-15_16-27-08_register-wrapper_o2gi_qbs

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File sub-UCL_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz already exists. Deleting it..
File created: sub-UCL_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-27-08_register-wrapper_o2gi_qbs/warp_src2dest.nii.gz warp_sub-UCL_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-UCL_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz
mv /tmp/sct_2025-01-15_16-27-08_register-wrapper_o2gi_qbs/warp_dest2src.nii.gz warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-UCL_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-UCL_acq-coilQaSagLarge_SNR_T0000.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-27-08_register-wrapper_o2gi_qbs

Finished! Elapsed time: 7s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-CRMBM_TFLTB1map_mask.nii.gz -d sub-CRMBM_DREAMTB1avgB1map.nii.gz -identity 1 -o sub-CRMBM_DREAMTB1avgB1map_mask.nii.gz
--


Input parameters:
  Source .............. sub-CRMBM_TFLTB1map_mask.nii.gz (88, 144, 56)
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
  Destination ......... sub-CRMBM_DREAMTB1avgB1map.nii.gz (80, 80, 11)
  Init transfo ........ 
  Mask ................ 
  Output name ......... sub-CRMBM_DREAMTB1avgB1map_mask.nii.gz
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Creating temporary folder (/tmp/sct_2025-01-15_16-27-16_register-wrapper_39pn1cu3)

Copying input data to tmp folder and convert to nii...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MI[dest_RPI.nii,src.nii,1,32]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step0,src_regStep0.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-27-16_register-wrapper_39pn1cu3

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_0.nii.gz # in /tmp/sct_2025-01-15_16-27-16_register-wrapper_39pn1cu3
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii warp_inverse_0.nii.gz # in /tmp/sct_2025-01-15_16-27-16_register-wrapper_39pn1cu3

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File created: sub-CRMBM_DREAMTB1avgB1map_mask.nii.gz
mv /tmp/sct_2025-01-15_16-27-16_register-wrapper_39pn1cu3/warp_src2dest.nii.gz warp_sub-CRMBM_TFLTB1map_mask2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: warp_sub-CRMBM_TFLTB1map_mask2sub-CRMBM_DREAMTB1avgB1map.nii.gz
File created: sub-CRMBM_DREAMTB1avgB1map_mask_inv.nii.gz
mv /tmp/sct_2025-01-15_16-27-16_register-wrapper_39pn1cu3/warp_dest2src.nii.gz warp_sub-CRMBM_DREAMTB1avgB1map2sub-CRMBM_TFLTB1map_mask.nii.gz
File created: warp_sub-CRMBM_DREAMTB1avgB1map2sub-CRMBM_TFLTB1map_mask.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-27-16_register-wrapper_39pn1cu3

Finished! Elapsed time: 1s
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_register_multimodal -i sub-CRMBM_TFLTB1map_mask.nii.gz -d sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz -identity 1 -o sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask.nii.gz
--


Input parameters:
  Source .............. sub-CRMBM_TFLTB1map_mask.nii.gz (88, 144, 56)
  Destination ......... sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz (512, 512, 13)
  Init transfo ........ 
  Mask ................ 
  Output name ......... sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask.nii.gz
  Remove temp files ... 1
  Verbose ............. 1

Check if input data are 3D...
Creating temporary folder (/tmp/sct_2025-01-15_16-27-18_register-wrapper_fy2ozs82)

Copying input data to tmp folder and convert to nii...

--
ESTIMATE TRANSFORMATION FOR STEP #0
Registration parameters:
  type ........... im
  algo ........... syn
  slicewise ...... 0
  metric ......... MI
  samplStrategy .. None
  samplPercent ... 0.2
  iter ........... 0
  smooth ......... 0
  laplacian ...... 0
  shrink ......... 1
  gradStep ....... 0.5
  deformation .... 1x1x0
  init ........... 
  poly ........... 5
  filter_size .... 5
  dof ............ Tx_Ty_Tz_Rx_Ry_Rz
  smoothWarpXY ... 2
  rot_method ..... pca

Estimate transformation
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_antsRegistration --dimensionality 3 --transform 'syn[0.5,3,0]' --metric 'MI[dest_RPI.nii,src.nii,1,32]' --convergence 0 --shrink-factors 1 --smoothing-sigmas 0mm --restrict-deformation 1x1x0 --output '[step0,src_regStep0.nii]' --interpolation 'BSpline[3]' --verbose 1 # in /tmp/sct_2025-01-15_16-27-18_register-wrapper_fy2ozs82

Concatenate transformations...
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_src2dest.nii.gz -R dest.nii warp_forward_0.nii.gz # in /tmp/sct_2025-01-15_16-27-18_register-wrapper_fy2ozs82
/home/runner/work/coil-qc-code/coil-qc-code/spinalcordtoolbox/bin/isct_ComposeMultiTransform 3 warp_dest2src.nii.gz -R src.nii warp_inverse_0.nii.gz # in /tmp/sct_2025-01-15_16-27-18_register-wrapper_fy2ozs82

Apply transfo source --> dest...

Apply transfo dest --> source...

Generate output files...
File created: sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask.nii.gz
mv /tmp/sct_2025-01-15_16-27-18_register-wrapper_fy2ozs82/warp_src2dest.nii.gz warp_sub-CRMBM_TFLTB1map_mask2sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: warp_sub-CRMBM_TFLTB1map_mask2sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz
File created: sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask_inv.nii.gz
mv /tmp/sct_2025-01-15_16-27-18_register-wrapper_fy2ozs82/warp_dest2src.nii.gz warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_TFLTB1map_mask.nii.gz
File created: warp_sub-CRMBM_acq-coilQaSagLarge_SNR_T00002sub-CRMBM_TFLTB1map_mask.nii.gz

Remove temporary files...
rm -rf /tmp/sct_2025-01-15_16-27-18_register-wrapper_fy2ozs82

Finished! Elapsed time: 4s
# Generate syntax to open registered data in FSLeyes. This should be run from within the `data-phantom/` folder.
for suffix in suffixes:
    print(f"\n👉 CHECKING REGISTRATION FOR: {suffix}\n")
    cmd = f"fsleyes sub-CRMBM/fmap/sub-CRMBM_{suffix}.nii.gz"
    for subject in [other_subjects for other_subjects in subjects if other_subjects != subject_ref]:
        file_reg = os.path.join(path_data, subject, "fmap", f"{subject}_{suffix}_reg.nii.gz")
        cmd = f"{cmd} {file_reg}"
    # Add mask with color and opacity
    cmd = f"{cmd} sub-CRMBM/fmap/sub-CRMBM_{suffix}_mask.nii.gz --cmap yellow -a 30"
    print(cmd+" &")

# TODO: undisplay all scans but the first
👉 CHECKING REGISTRATION FOR: TFLTB1map

fsleyes sub-CRMBM/fmap/sub-CRMBM_TFLTB1map.nii.gz /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MGH/fmap/sub-MGH_TFLTB1map_reg.nii.gz /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MNI/fmap/sub-MNI_TFLTB1map_reg.nii.gz /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MPI/fmap/sub-MPI_TFLTB1map_reg.nii.gz /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MSSM/fmap/sub-MSSM_TFLTB1map_reg.nii.gz /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-NTNU/fmap/sub-NTNU_TFLTB1map_reg.nii.gz /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-UCL/fmap/sub-UCL_TFLTB1map_reg.nii.gz sub-CRMBM/fmap/sub-CRMBM_TFLTB1map_mask.nii.gz --cmap yellow -a 30 &

👉 CHECKING REGISTRATION FOR: DREAMTB1avgB1map

fsleyes sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map.nii.gz /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MGH/fmap/sub-MGH_DREAMTB1avgB1map_reg.nii.gz /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MNI/fmap/sub-MNI_DREAMTB1avgB1map_reg.nii.gz /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MPI/fmap/sub-MPI_DREAMTB1avgB1map_reg.nii.gz /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MSSM/fmap/sub-MSSM_DREAMTB1avgB1map_reg.nii.gz /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-NTNU/fmap/sub-NTNU_DREAMTB1avgB1map_reg.nii.gz /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-UCL/fmap/sub-UCL_DREAMTB1avgB1map_reg.nii.gz sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map_mask.nii.gz --cmap yellow -a 30 &

👉 CHECKING REGISTRATION FOR: acq-coilQaSagLarge_SNR_T0000

fsleyes sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MGH/fmap/sub-MGH_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MNI/fmap/sub-MNI_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MPI/fmap/sub-MPI_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-MSSM/fmap/sub-MSSM_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-NTNU/fmap/sub-NTNU_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/sub-UCL/fmap/sub-UCL_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask.nii.gz --cmap yellow -a 30 &

Extract values in mask and generate figures#

# Extract B1+ and SNR along the spinal cord mask and save data to CSV files

for subject in subjects:
    os.chdir(os.path.join(path_data, subject, "fmap"))
    
    fname_result_TFLb1plus = os.path.join(path_results, f"{subject}_TFLTB1map.csv")
    fname_result_DREAMb1plus = os.path.join(path_results, f"{subject}_DREAMTB1avgB1map.csv")
    fname_result_SNR = os.path.join(path_results, f"{subject}_acq-coilQaSagLarge_SNR_T0000.csv")

    # For sites other than sub-CRMBM, use the registered qMRI map for metrics extraction
    if subject=='sub-CRMBM':
        file_suffix = ''
    else:
        file_suffix = '_reg'
        
    # Extract metrics within mask defined in the sub-CRMBM space
    !sct_extract_metric -i {subject}_TFLTB1map{file_suffix}.nii.gz -f ../../{subject_ref}/fmap/{subject_ref}_TFLTB1map_mask.nii.gz -method wa -z 19:127 -perslice 1 -o "{fname_result_TFLb1plus}"
    !sct_extract_metric -i {subject}_DREAMTB1avgB1map{file_suffix}.nii.gz -f ../../{subject_ref}/fmap/{subject_ref}_DREAMTB1avgB1map_mask.nii.gz -method wa -z 14:62 -perslice 1 -o "{fname_result_DREAMb1plus}"
    !sct_extract_metric -i {subject}_acq-coilQaSagLarge_SNR_T0000{file_suffix}.nii.gz -f ../../{subject_ref}/fmap/{subject_ref}_acq-coilQaSagLarge_SNR_T0000_mask.nii.gz -method wa -z 151:368 -perslice 1 -o "{fname_result_SNR}"
--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-CRMBM_TFLTB1map.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_TFLTB1map_mask.nii.gz -method wa -z 19:127 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-CRMBM_TFLTB1map.csv
--


Load metric image...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Estimation for label: sub-CRMBM_TFLTB1map_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-CRMBM_TFLTB1map.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-CRMBM_DREAMTB1avgB1map.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map_mask.nii.gz -method wa -z 14:62 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-CRMBM_DREAMTB1avgB1map.csv
--


Load metric image...
Image header specifies datatype 'int16', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Estimation for label: sub-CRMBM_DREAMTB1avgB1map_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-CRMBM_DREAMTB1avgB1map.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask.nii.gz -method wa -z 151:368 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.csv
--


Load metric image...
Estimation for label: sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-MGH_TFLTB1map_reg.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_TFLTB1map_mask.nii.gz -method wa -z 19:127 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MGH_TFLTB1map.csv
--


Load metric image...
Estimation for label: sub-CRMBM_TFLTB1map_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MGH_TFLTB1map.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-MGH_DREAMTB1avgB1map_reg.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map_mask.nii.gz -method wa -z 14:62 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MGH_DREAMTB1avgB1map.csv
--


Load metric image...
Estimation for label: sub-CRMBM_DREAMTB1avgB1map_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MGH_DREAMTB1avgB1map.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-MGH_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask.nii.gz -method wa -z 151:368 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MGH_acq-coilQaSagLarge_SNR_T0000.csv
--


Load metric image...
Estimation for label: sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MGH_acq-coilQaSagLarge_SNR_T0000.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-MNI_TFLTB1map_reg.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_TFLTB1map_mask.nii.gz -method wa -z 19:127 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MNI_TFLTB1map.csv
--


Load metric image...
Estimation for label: sub-CRMBM_TFLTB1map_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MNI_TFLTB1map.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-MNI_DREAMTB1avgB1map_reg.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map_mask.nii.gz -method wa -z 14:62 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MNI_DREAMTB1avgB1map.csv
--

Load metric image...
Estimation for label: sub-CRMBM_DREAMTB1avgB1map_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MNI_DREAMTB1avgB1map.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-MNI_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask.nii.gz -method wa -z 151:368 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MNI_acq-coilQaSagLarge_SNR_T0000.csv
--


Load metric image...
Estimation for label: sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MNI_acq-coilQaSagLarge_SNR_T0000.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-MPI_TFLTB1map_reg.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_TFLTB1map_mask.nii.gz -method wa -z 19:127 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MPI_TFLTB1map.csv
--


Load metric image...
Estimation for label: sub-CRMBM_TFLTB1map_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MPI_TFLTB1map.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-MPI_DREAMTB1avgB1map_reg.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map_mask.nii.gz -method wa -z 14:62 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MPI_DREAMTB1avgB1map.csv
--

Load metric image...
Estimation for label: sub-CRMBM_DREAMTB1avgB1map_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MPI_DREAMTB1avgB1map.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-MPI_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask.nii.gz -method wa -z 151:368 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MPI_acq-coilQaSagLarge_SNR_T0000.csv
--


Load metric image...
Estimation for label: sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MPI_acq-coilQaSagLarge_SNR_T0000.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-MSSM_TFLTB1map_reg.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_TFLTB1map_mask.nii.gz -method wa -z 19:127 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MSSM_TFLTB1map.csv
--


Load metric image...
Estimation for label: sub-CRMBM_TFLTB1map_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MSSM_TFLTB1map.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-MSSM_DREAMTB1avgB1map_reg.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map_mask.nii.gz -method wa -z 14:62 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MSSM_DREAMTB1avgB1map.csv
--


Load metric image...
Estimation for label: sub-CRMBM_DREAMTB1avgB1map_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MSSM_DREAMTB1avgB1map.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-MSSM_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask.nii.gz -method wa -z 151:368 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MSSM_acq-coilQaSagLarge_SNR_T0000.csv
--


Load metric image...
Estimation for label: sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-MSSM_acq-coilQaSagLarge_SNR_T0000.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-NTNU_TFLTB1map_reg.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_TFLTB1map_mask.nii.gz -method wa -z 19:127 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-NTNU_TFLTB1map.csv
--


Load metric image...
Estimation for label: sub-CRMBM_TFLTB1map_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-NTNU_TFLTB1map.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-NTNU_DREAMTB1avgB1map_reg.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map_mask.nii.gz -method wa -z 14:62 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-NTNU_DREAMTB1avgB1map.csv
--


Load metric image...
Estimation for label: sub-CRMBM_DREAMTB1avgB1map_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-NTNU_DREAMTB1avgB1map.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-NTNU_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask.nii.gz -method wa -z 151:368 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-NTNU_acq-coilQaSagLarge_SNR_T0000.csv
--


Load metric image...
Estimation for label: sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-NTNU_acq-coilQaSagLarge_SNR_T0000.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-UCL_TFLTB1map_reg.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_TFLTB1map_mask.nii.gz -method wa -z 19:127 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-UCL_TFLTB1map.csv
--


Load metric image...
Estimation for label: sub-CRMBM_TFLTB1map_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-UCL_TFLTB1map.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-UCL_DREAMTB1avgB1map_reg.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map_mask.nii.gz -method wa -z 14:62 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-UCL_DREAMTB1avgB1map.csv
--


Load metric image...
Estimation for label: sub-CRMBM_DREAMTB1avgB1map_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-UCL_DREAMTB1avgB1map.csv

--
Spinal Cord Toolbox (git-master-e293dca0512d7972fd1598a7c454aceeb0f40f74)

sct_extract_metric -i sub-UCL_acq-coilQaSagLarge_SNR_T0000_reg.nii.gz -f ../../sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask.nii.gz -method wa -z 151:368 -perslice 1 -o /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-UCL_acq-coilQaSagLarge_SNR_T0000.csv
--


Load metric image...
Estimation for label: sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask

Done! To view results, type:
xdg-open /home/runner/work/coil-qc-code/coil-qc-code/data-phantom/derivatives/results/sub-UCL_acq-coilQaSagLarge_SNR_T0000.csv

Correct SNR using B1+ values#

SNR depends on the effective flip angle at each voxel, which is influenced by the B1+ efficiency and the transmit homogeneity. Therefore, if we want to report SNR values independently of the actual flip angle played out, we need to correct the SNR maps. To do so, we divide the reconstructed SNR maps by \(\sin(\text{FA}_{\text{gre, meas}})\), where \(\text{FA}_{\text{gre, meas}}\) is the actual flip angle map for the GRE SNR scan. By normalizing, we extrapolate to the SNR value that we would achieve with \( \text{FA} = 90^\circ \):

\[\text{SNR}_{90} = \frac{\text{SNR}_{\text{meas}}}{\sin(\text{FA}_{\text{gre, meas}})}\]

\(\text{FA}_{\text{gre, meas}}\) is computed from the TFL B1+ scan as follows:

\[\text{FA}_{\text{gre, meas}} = \text{FA}_{\text{gre, requested}} \times \left( \frac{\text{FA}_{\text{TFL, meas}}}{\text{FA}_{\text{TFL, requested}}} \right)\]

The ratio \(\frac{\text{FA}_{\text{TFL, meas}}}{\text{FA}_{\text{TFL, requested}}}\) is obtained from the TFL B1+ efficiency values, which were previously extracted slicewise and saved as a CSV file.

Before doing this correction, given that the B1+ and SNR maps don’t have the same spatial resolution, we need to interpolate the B1+ array to match its length with that of the SNR array.

Reference: https://onlinelibrary.wiley.com/doi/full/10.1002/mrm.27695

for subject in subjects:
    
    fname_result_TFLb1plus = os.path.join(path_results, f"{subject}_TFLTB1map.csv")
    fname_result_SNR = os.path.join(path_results, f"{subject}_acq-coilQaSagLarge_SNR_T0000.csv")
    fname_result_SNR_corrected = os.path.join(path_results, f"{subject}_acq-coilQaSagLarge_SNR_T0000_corrected.csv")

    # INTERPOLATE B1+ MAP TO MATCH THE LENGTH OF THE SNR DATA
    # =======================================================
    # Read B1 values
    df_b1 = pd.read_csv(fname_result_TFLb1plus)
    b1_map = df_b1["WA()"].values
    # Read SNR values
    df_snr = pd.read_csv(fname_result_SNR)
    snr = df_snr["WA()"].values
    # Create interpolation function based on the length of snr
    x = np.linspace(0, len(b1_map) - 1, len(b1_map))  # x values for original data points
    f = interp1d(x, b1_map, kind='linear')
    # Generate new x values to match the length of the `snr` array
    x_new = np.linspace(0, len(b1_map) - 1, len(snr))
    # Interpolate to get the new y values with the length of `snr`
    b1_map_interp = f(x_new)

    # CORRECT SNR VALUES FOR B1+ INHOMOGENEITY
    # ========================================
    # Fetch the reference voltage for the TFL scan
    # TODO: create a function for this
    with open(os.path.join(path_data, subject, "fmap", f"{subject}_acq-famp_TB1TFL.json"), "r") as f:
        metadata = json.load(f)
        ref_voltage = metadata.get("TxRefAmp", "N/A")
        if (ref_voltage == "N/A"):
            ref_token = "N/A"
            for token in metadata.get("SeriesDescription", "N/A").split("_"):
                if token.startswith("RefV"): ref_token = token
            ref_voltage = float(ref_token[4:-1])
    # Fetch the flip angle for the TFL scan
    with open(os.path.join(path_data, subject, "fmap", f"{subject}_acq-famp_TB1TFL.json"), "r") as f:
        metadata = json.load(f)
        requested_fa_tfl = metadata.get("FlipAngle", "N/A")
    # Account for the power loss between the coil and the socket. That number was given by Siemens.
    voltage_at_socket = ref_voltage * 10 ** -0.095
    # measured-to-requested flip angle using B1 values (in nT/V)
    meas_to_requested_fa = 10 * b1_map_interp * GAMMA * 1e-3 * voltage_at_socket / (np.pi * 1e9)
    # Fetch the requested flip angle for the SNR GRE scan
    with open(os.path.join(path_data, subject, "fmap", f"{subject}_acq-coilQaSagLarge_SNR.json"), "r") as f:
        metadata = json.load(f)
        requested_fa_gre = metadata.get("FlipAngle", "N/A")
    # Correct the SNR values for B1+ inhomogeneity
    snr_corrected = snr / np.sin(np.deg2rad(requested_fa_gre * meas_to_requested_fa))
    # Save corrected SNR values to CSV
    df_snr_corrected = pd.DataFrame(snr_corrected)
    # Insert 'WA()' as the first value in the DataFrame
    df_snr_corrected.loc[-1] = ['WA()'] + [None] * (df_snr_corrected.shape[1] - 1)  # Prepend 'WA()' to the first column
    df_snr_corrected.index = df_snr_corrected.index + 1  # Shift index
    df_snr_corrected = df_snr_corrected.sort_index()  # Sort index to move the new row to the top
    # Save corrected SNR values to CSV
    df_snr_corrected.to_csv(fname_result_SNR_corrected, index=False, header=False)

Generate figures#

g-factor maps#

# Compute the average and maximum 1/g factor in a central ROI
# Display 1/g factor maps and T2w (coil-combined) maps for each site (MSSM excluded, see: https://github.com/spinal-cord-7t/coil-qc-code/issues/61)

sites = ["CRMBM", "MNI", "MPI", "UCL", "MGH", "NTNU"] # MSSM excluded, see: https://github.com/spinal-cord-7t/coil-qc-code/issues/61
site_colors = ['cornflowerblue', 'firebrick', 'limegreen', 'royalblue', 'darkred', 'green']

# map types
map_types = ["acq-coilQaSagSmall_GFactor", "acq-coilQaTra_GFactor", "T2starw"]
# legend types
legend_types = ["[1/g]", "[1/g]", "[a.u.]"]

mean_gfac = {}

for map_type, legend_type in zip(map_types,legend_types):
    
    # Create a figure with multiple subplots
    fig, axes = plt.subplots(2, 3, figsize=(10, 8))
    font_size = 12
    axes=axes.flatten() 
        
    for i,site in enumerate(sites):
        # T2starw
        if map_type=="T2starw":
            os.chdir(os.path.join(path_data, f"sub-{site}", "anat"))
            map=nib.load(f"sub-{site}_{map_type}.nii.gz")
            data=map.get_fdata()[:,:,round(map.get_fdata().shape[2]/2)]
        # g-factor maps
        else:
            os.chdir(os.path.join(path_data, f"sub-{site}", "fmap"))
            map=nib.load(f"sub-{site}_{map_type}.nii.gz")
            if map_type=="acq-coilQaSagSmall_GFactor":   
                data=(map.get_fdata()[64:191,64:191,round(map.get_fdata().shape[2]/2),5])/1000
                gfac_data=(map.get_fdata()[round(map.get_fdata().shape[0]/2)-10:round(map.get_fdata().shape[0]/2)+10,round(map.get_fdata().shape[1]/2)-10:round(map.get_fdata().shape[1]/2)+10,round(map.get_fdata().shape[2]/2),5])
            else:
                data=(map.get_fdata()[192:574,192:574,round(map.get_fdata().shape[2]/2),0])/1000
                gfac_data=(map.get_fdata()[round(map.get_fdata().shape[0]/2)-30:round(map.get_fdata().shape[0]/2)+30,round(map.get_fdata().shape[1]/2)-30:round(map.get_fdata().shape[1]/2)+30,round(map.get_fdata().shape[2]/2),5])
            
            mean_gfac[site]=np.nanmean(gfac_data)/1000
        
        # Plot    
        splot=axes[i]
        dynmin = 0
        if map_type=="T2starw":
            dynmax = 2100
            axes[-1].axis('off')
        else:
            dynmax = 1
            axes[-1].axis('off')
            splot.text(0, 3, r'mean 1/g = '+str(round(mean_gfac[site],3)), size=14)
            
            if map_type=="acq-coilQaSagSmall_GFactor": 
                x = [data.shape[0]/2-10, data.shape[1]/2-10] 
                y = [data.shape[0]/2-10, data.shape[1]/2+10] 
                splot.plot(x, y, color="black", linewidth=2) 
                
                x = [data.shape[0]/2-10, data.shape[1]/2+10] 
                y = [data.shape[0]/2+10, data.shape[1]/2+10] 
                splot.plot(x, y, color="black", linewidth=2) 
    
                x = [data.shape[0]/2+10, data.shape[1]/2+10] 
                y = [data.shape[0]/2+10, data.shape[1]/2-10] 
                splot.plot(x, y, color="black", linewidth=2)
    
                x = [data.shape[0]/2+10, data.shape[1]/2-10] 
                y = [data.shape[0]/2-10, data.shape[1]/2-10] 
                splot.plot(x, y, color="black", linewidth=2) 
            else:
                x = [data.shape[0]/2-30, data.shape[1]/2-30] 
                y = [data.shape[0]/2-30, data.shape[1]/2+30] 
                splot.plot(x, y, color="black", linewidth=2) 
                
                x = [data.shape[0]/2-30, data.shape[1]/2+30] 
                y = [data.shape[0]/2+30, data.shape[1]/2+30] 
                splot.plot(x, y, color="black", linewidth=2) 
    
                x = [data.shape[0]/2+30, data.shape[1]/2+30] 
                y = [data.shape[0]/2+30, data.shape[1]/2-30] 
                splot.plot(x, y, color="black", linewidth=2)
    
                x = [data.shape[0]/2+30, data.shape[1]/2-30] 
                y = [data.shape[0]/2-30, data.shape[1]/2-30] 
                splot.plot(x, y, color="black", linewidth=2) 
        
        im = splot.imshow((data.T), cmap='viridis', origin='lower',vmin=dynmin,vmax=dynmax) 
        splot.set_title(site, size=font_size, color=site_colors[i])
        splot.axis('off')

    plt.tight_layout()

    # Colorbar
    # Assume that the colorbar should start at the bottom of the lower row of subplots and
    # extend to the top of the upper row of subplots
    cbar_bottom = 0.2  # This might need adjustment
    cbar_height = 0.6  # This represents the total height of both rows of subplots
    cbar_dist = 1.01
    cbar_ax = fig.add_axes([cbar_dist, cbar_bottom, 0.03, cbar_height])
    cbar = plt.colorbar(im, cax=cbar_ax)

    cbar_ax.set_title(legend_type, size=12)
    plt.show()
_images/bc917aab09895c5487a816f8d71d8a1741bf48f13145c8a98e6f3c44b481a285.png _images/d4d64262c6cdc84aba5eb281da78474f657db9b826f42bfdaeab853f2709a6c2.png _images/23aaae7449d6516566c20064e2da3229dda4330be94e1538eb7f89e4884e0c61.png

B1+ and SNR maps#

sites = ["CRMBM", "UCL", "MNI", "MGH", "MPI", "NTNU", "MSSM"]
colors = ['cornflowerblue', 'royalblue', 'firebrick', 'darkred', 'limegreen', 'green', 'mediumpurple']

# map types
map_types = ["TFLTB1map", "DREAMTB1avgB1map", "acq-coilQaSagLarge_SNR_T0000"]

# Define the dictionary with ranges for each map type
# NIfTI voxel location: (xmin, xmax, ymin, ymax, zdata, zmask)
range_dict = {
    "TFLTB1map": (19, 83, 21, 122, 23, 23),
    "DREAMTB1avgB1map": (18, 79, 14, 62, 5, 5),
    "acq-coilQaSagLarge_SNR_T0000": (217, 317, 176, 335, 6, 6),
}

# legend types
legend_types = ["B1+ [nT/V]", "B1+ [nT/V]", "SNR [a.u.]"]

for map_type, legend_type in zip(map_types,legend_types):
    
    # Create a figure with multiple subplots
    fig, axes = plt.subplots(2, 4, figsize=(10, 8))
    font_size = 12
    axes=axes.flatten() 
        
    for i,site in enumerate(sites):
        # Load data
        os.chdir(os.path.join(path_data, f"sub-{site}", "fmap"))
        if site=='CRMBM':
            map=nib.load(f"sub-{site}_{map_type}.nii.gz")
            if map_type=="TFLTB1map":
                mask=nib.load(f"sub-CRMBM_TFLTB1map_mask.nii.gz")
            elif map_type=="DREAMTB1avgB1map":
                mask=nib.load(f"sub-CRMBM_DREAMTB1avgB1map_mask.nii.gz")
            else: 
                mask=nib.load(f"sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask.nii.gz")
        else:
            map=nib.load(f"sub-{site}_{map_type}_reg.nii.gz")
            if map_type=="TFLTB1map":
                mask=nib.load(f"../../sub-CRMBM/fmap/sub-CRMBM_TFLTB1map_mask.nii.gz")
            elif map_type=="DREAMTB1avgB1map":
                mask=nib.load(f"../../sub-CRMBM/fmap/sub-CRMBM_DREAMTB1avgB1map_mask.nii.gz")
            else: 
                mask=nib.load(f"../../sub-CRMBM/fmap/sub-CRMBM_acq-coilQaSagLarge_SNR_T0000_mask.nii.gz")

        # Crop data for display
        data = map.get_fdata()[
            range_dict[map_type][0]:range_dict[map_type][1],
            range_dict[map_type][2]:range_dict[map_type][3],
            range_dict[map_type][4]]
        mask_data = mask.get_fdata()[
            range_dict[map_type][0]:range_dict[map_type][1],
            range_dict[map_type][2]:range_dict[map_type][3],
            range_dict[map_type][5]]

        # Binarize mask for display purpose
        mask_data = (mask_data > 0.5).astype(int)
        
        # Plot
        dynmin = 0 
        if map_type=="acq-coilQaSagLarge_SNR_T0000":
            dynmax = 310
        else:
            dynmax = 75    
            
        splot=axes[i]
        im1 = splot.imshow((data.T), cmap='viridis', origin='lower',vmin=dynmin,vmax=dynmax)
        # im2 = splot.imshow((mask_data.T), 'gray', origin='lower', alpha=0.2)
        splot.contour(mask_data.T, levels=[0.5], colors='white', linewidths=0.5)
        splot.set_title(site, size=font_size,c=colors[i])
        splot.axis('off')    
    
    # Display mean signal within mask for each site in an additional sub-plot
    for site,color in zip(sites,colors):
        # Read CSV file
        if map_type == "acq-coilQaSagLarge_SNR_T0000":
            file_csv = os.path.join(path_results, f"sub-{site}_{map_type}_corrected.csv")
        else:
            file_csv = os.path.join(path_results, f"sub-{site}_{map_type}.csv")
        df = pd.read_csv(file_csv)
        data = df['WA()'].dropna()
        # Smooth data
        data = uniform_filter1d(data, 10, mode='nearest')
        # Display plot
        axes[-1].plot(data, label=site, c=color)
        axes[-1].legend(fontsize=10, loc='center left', bbox_to_anchor=(1.2, 0.5))
        axes[-1].yaxis.set_label_position("right")
        axes[-1].yaxis.tick_right()
        axes[-1].set_xticks([])  # Remove x-axis ticks
        axes[-1].set_xlabel("← superior    inferior →", fontsize=12, loc='center')
        # axes[-1].set_yticks([])  # Remove y-axis ticks
        axes[-1].invert_xaxis()  # Reverse the x-axis
        axes[-1].yaxis.grid(True, color='grey', linestyle='-', linewidth=0.5)

    # Reduce the space between the rows of subplots
    fig.subplots_adjust(hspace=-0.2)  # Adjust this value as needed to reduce spacing

    # Adjust figure subplots
    plt.tight_layout()
    box = axes[-1].get_position()
    new_height = box.height * 0.76  # Reduce the height of the second subplot by 50%
    axes[-1].set_position([box.x0, box.y0 + 0.068, box.width, new_height])

    # Colorbar
    cbar_bottom = 0.545  # This might need adjustment
    cbar_height = 0.37  # This represents the total height of both rows of subplots
    if (map_type == "TFLTB1map" or map_type == "DREAMTB1avgB1map" or map_type == "acq-coilQaSagLarge_SNR_T0000"):
        cbar_dist = -0.1
    else:
        cbar_dist = 1.01
    cbar_ax = fig.add_axes([0.9, cbar_bottom, 0.02, cbar_height])
    cbar = plt.colorbar(im1, cax=cbar_ax)
    cbar_ax.set_title(legend_type, size=10)
    
    plt.show()
_images/c92160ca999010f012956a995fccae109e615f74b372f3ef1f243e70db7f508d.png _images/8de5051aa38c5a44a5d365c91962f98f91883a9c6fcfdec0da69122b1be7c7ee.png _images/134ec5d1248288282c42b29b4ec02b2402dc0794e4ed6447f9bd54ea9818bf9b.png

Individual coil channels#

sites = ["CRMBM", "UCL", "MNI", "MGH", "MPI", "NTNU", "MSSM"]
        
for i,site in enumerate(sites):

    gre_files=sorted(glob.glob(os.path.join(path_data, f"sub-{site}", "anat", '*uncombined*.nii.gz')))
        
    #Tiled figure in a five-row layout
    rows=int(np.ceil(len(gre_files)/4))
    cols=int(np.ceil(len(gre_files)/rows))

    fig=plt.figure(figsize=(15, 20))
    
    ax = fig.subplots(rows,cols,squeeze=True)
    
    for row in range(rows):
        for col in range(cols):

            i = row*cols+col

            if i < len(gre_files):
            
                #read in files
                data_to_plot=(nib.load(gre_files[i])).get_fdata() #load in nifti object, get only image data
                data_to_plot=np.rot90(data_to_plot[:,:,int(np.floor(data_to_plot.shape[2]/2))]) #central slice
           
                ax[row,col].imshow(data_to_plot,cmap=plt.cm.gray,clim=[0, 300])
                ax[row,col].text(0.5, 0.05, 'Rx channel : ' + str(i+1),horizontalalignment='center', transform=ax[row,col].transAxes,color='white',fontsize=17)
                ax[row,col].axis('off')

    plt.axis('off')
    plt.subplots_adjust(hspace=0,wspace=0)
    fig.suptitle(site, fontsize=20, y=0.9)
_images/a8587cf8c316977fcaa356825f7a7da0875ef79fc85869cd5a65faf73adc082d.png _images/cdb1bd9bed6689bd62e06d7dabf898d6e43abe3cdf7fba40a7ae0cbcb0a35848.png _images/ad6726c60720450d22aa75f7a46546c2ddbbe384a2b3fc98303283f743f24996.png _images/4b2a0cd8fccde203858379d5c68e3cd64023571a58ed59e893874191c03e4e01.png _images/3503f2b38a725e91ac9c1b7bf280615466f5d4d2bb805be98418ee4a7b44929a.png _images/5897d881e3ec139b4c800b20c74f6b523951ed7036ec681ddcb5a7e39c507b5e.png _images/3212f12b6d8a6302f89fc46d0c59ccb0e5005e02d69c1d2db87d0185de35f187.png

Finished#

# Indicate duration of data processing

end_time = datetime.now()
total_time = (end_time - start_time).total_seconds()

# Convert seconds to a timedelta object
total_time_delta = timedelta(seconds=total_time)

# Format the timedelta object to a string
formatted_time = str(total_time_delta)

# Pad the string representation if less than an hour
formatted_time = formatted_time.rjust(8, '0')

print(f"Total Runtime [hour:min:sec]: {formatted_time}")
Total Runtime [hour:min:sec]: 0:04:48.582419