Relaxometry

Relaxometry is the measurement of the longitudinal and transverse relaxation times T<sub>1</sub> and T<sub>2</sub>. There are a multitude of different techniques for measuring both. The main focus of QUIT has been on the Driven-Equilibrium Single-Pulse Observation of T<sub>1</sub> (DESPOT1) family of techniques, but the classic multi-echo T<sub>2</sub> method and the more recent MP2RAGE T<sub>1</sub> measurement method are also implemented, along with the AFI and DREAM B1 mapping methods.

The following programs are available:

qidespot1

This program implements the classic Driven Equilibrium Single-Pulse Observation of T1 (DESPOT1) algorithm, also known as the Variable Flip-Angle (VFA) method in the literature. This is a fast way to measure longitudinal relaxation using a spoiled steady-state sequence, which is know by a different name by every scanner manufacturer just to be helpful. On GE, it’s SPoiled Gradient Recalled echo (SPGR), on Siemens it’s Fast Low-Angle SHot (FLASH) and on Phillips the sequence is Fast Field Echo (FFE).

A T1 map

Example Command Line

qidespot1 input_file.nii.gz --mask=mask_file.nii.gz --B1=b1_file.nii.gz < input.json

Example Command Line

{
    "SPGR": {
        "TR": 0.01,
        "FA": [3, 18]
    }
}

Outputs

  • D1_T1.nii.gz - The T1 map. Units are the same as those used for TR in the input.
  • D1_PD.nii.gz - The apparent Proton Density map. No units.

Important Options

  • --B1, -b

    Specify an effective flip-angle or B1 map. This must be expressed as a fraction, e.g. a value of 1 in a voxel implies the nominal flip-angle was achieved.

  • --algo, -a

    This specifies which precise algorithm to use. There are 3 choices, classic linear least-squares (l), weighted linear least-squares (w), and non-linear least-squares (n). If you only have 2 flip-angles then LLS is the only meaningful choice. The other 2 choices should produce better (less noisy, more accurate) T1 maps when you have more input flip-angles. WLLS is faster than NLLS for the same number of iterations. However, modern processors are sufficiently powerful that the difference is bearable. Hence NLLS is recommended for the highest possible quality.

References

qidespot1hifi

This is an extension of DESPOT1 to fit a map simultaneously using an MP-RAGE / IR-SPGR type sequence. Although DESPOT1-HIFI can produce a rough estimate of B1, it often fails to produce reasonable values in the ventricles, and the fact that the MP-RAGE image is often acquired at lower resolution than the SPGR/FLASH data can also cause problems. Hence you should either smooth the B1 map produced as output, or fit it with a polynomial (Utilities), then recalculate T1 using the qidespot1 program. Note that if your MP-RAGE image is not acquired at the same resolution as your SPGR data, it must be resampled to the same spacing before processing (and it should also be registered to your SPGR data).

Example Command Line

qidespot1hifi spgr_file.nii.gz irspgr_file.nii.gz --mask=mask_file.nii.gz < input.json

Example Command Line

{
    "SPGR": {
        "TR": 0.01,
        "FA": [3, 18]
    },
    "MPRAGE": {
        "FA": 5,
        "TR": 0.01,
        "TI": 0.45,
        "TD": 0,
        "eta": 1,
        "ETL": 64,
        "k0": 0
    }
}

For the MPRAGE sequence, the TR is the spacing between readouts/echoes, not the overall segment TR. TI is the Inversion Time, and TD is the Delay Time after the echo-train (often 0). Eta is the Inversion Efficiency, which should be set to 1. ETL is the Echo-Train Length - usually the number of phase encode steps in one segment. k0 defines the position in the echo-train that the center line of k-space is acquired. This is 0 for centric acquisition and ETL/2 for linear.

Outputs

  • HIFI_T1.nii.gz - The T1 map. Units are the same as those used for TR in the input.
  • HIFI_PD.nii.gz - The apparent Proton Density map. No units.
  • HIFI_B1.nii.gz - The relative flip-angle map.

References

qidespot2

DESPOT2 uses SSFP data and a separate T1 map to calculate T2, using the same maths as DESPOT1. It does not account for the banding artefacts present in SSFP data at field-strengths of 3T and above. See qidespot2fm for a method that does account for them, or if you have at least 4 phase-increments and complex data then see SSFP for a way to remove them before using this program.

A T2 map

Example Command Line

qidespot2 t1_map.nii.gz input_file.nii.gz --mask=mask_file.nii.gz --B1=b1_file.nii.gz < input.json

Example Command Line

{
    "SSFP": {
        "TR": 0.005,
        "PhaseInc": [180],
        "FA": [12, 60]
    }
}

Both PhaseInc and FA are measured in degrees. If the ellipse option is specified, then the sequence type must be SSFPGS, which does not require a PhaseInc. The units of TR must match the input T1 map.

Outputs

  • D2_T2.nii.gz - The T2 map. Units are the same as those used for TR in the input.
  • D2_PD.nii.gz - The apparent Proton Density map. No units. Will be corrected for T2 decay at the echo time.

Important Options

  • --B1, -b

    Specify an effective flip-angle or B1 map. This must be expressed as a fraction, e.g. a value of 1 in a voxel implies the nominal flip-angle was achieved.

  • --algo, -a

    This specifies which precise algorithm to use. There are 3 choices, classic linear least-squares (l), weighted linear least-squares (w), and non-linear least-squares (n). If you only have 2 flip-angles then LLS is the only meaningful choice. The other 2 choices should produce better (less noisy, more accurate) T1 maps when you have more input flip-angles. WLLS is faster than NLLS for the same number of iterations. However, modern processors are sufficiently powerful that the difference is bearable. Hence NLLS is recommended for the highest possible quality.

  • --ellipse, -e

    This specifies that the input data is the SSFP Ellipse Geometric Solution, i.e. that multiple phase-increment data has already been combined to produce band free images.

References

qidespot2fm

DESPOT2-FM uses SSFP data with mulitple phase-increments (also called phase-cycles or phase-cycling patterns) to produce T2 maps without banding artefacts.

Example Command Line

qidespot2fm t1_map.nii.gz input_file.nii.gz --mask=mask_file.nii.gz --B1=b1_file.nii.gz < input.json

The input file should contain all SSFP images concatenated together as a 4D file. The preferred ordering is flip-angle, then phase-increment (i.e. all flip-angles at one phase-increment, then all flip-angles at the next phase-increment).

Example Command Line

{
    "SSFP": {
        "TR": 0.005,
        "PhaseInc": [180, 180, 0, 0],
        "FA": [12, 60, 12, 60]
    }
}

Both PhaseInc and FA are measured in degrees. The length of PhaseInc and FA must match.

Outputs

  • FM_T2.nii.gz - The T2 map. Units are the same as those used for TR in the input.
  • FM_PD.nii.gz - The apparent Proton Density map. No units. Will be corrected for T2 decay at the echo time.

Important Options

  • --B1, -b

    Specify an effective flip-angle or B1 map. This must be expressed as a fraction, e.g. a value of 1 in a voxel implies the nominal flip-angle was achieved.

  • --asym, -A

    With the commonly used phase-increments of 180 and 0 degrees, due to symmetries in the SSFP magnitude profile, it is not possible to distinguish positive and negative off-resonance. Hence by default qidespot2fm only tries to fit for positive off-resonance frequences. If you acquire most phase-increments, e.g. 180, 0, 90 & 270, then add this switch to fit both negative and positive off-resonance frequencies.

References

qimcdespot

Multi-component DESPOT aims to separate SPGR and SSFP signals into multiple discrete pools with different T<sub>1</sub> and T<sub>2</sub>. In the brain, the pool with shorter values is attributed to myelin water, while pools with longer values can be either intra/extra-cellular water or CSF.

It is recommended to have an off-resonance map to stabilise the fitting. This can be generated by using qidespot1 and then qidespot2fm above. A B1 map is also essential for good results.

Processed mcDESPOT Images

Example Command Line

qimcdespot spgr_file.nii.gz ssfp_file.nii.gz --mask=mask_file.nii.gz --B1=b1_file.nii.gz --f0=f0_file.nii.gz --scale < input.json

The SSFP input file should contain all SSFP images concatenated together as a 4D file (see qidespot2fm above).

Example Command Line

{
    "Sequences": [
        {
            "SPGR": {
                "TR": 0.01,
                "FA": [3,4,5,7,9,12,15,18]
            }
        },
        {
            "SSFP": {
                "TR": 0.05,
                "FA": [12,16,20,24,30,40,50,60,12,16,20,24,30,40,50,60],
                "PhaseInc": [180,180,180,180,180,180,180,180,0,0,0,0,0,0,0,0]
            }
        }
    ]
}

The order that the sequences are listed must match the order the input files are specified on the command-line.

Outputs

Note - the output prefix will change depending on the model selected (see below). The outputs listed here are for the 3 component model.

  • 3C_T1_m.nii.gz - T1 of myelin water
  • 3C_T2_m.nii.gz - T2 of myelin water
  • 3C_T1_ie.nii.gz - T1 of intra/extra-cellular water
  • 3C_T2_ie.nii.gz - T2 of intra/extra-cellular water
  • 3C_T1_csf.nii.gz - T1 of CSF
  • 3C_T2_csf.nii.gz - T2 of CSF
  • 3C_tau_m.nii.gz - The residence time of myelin water (reciprocal of forward exchange rate)
  • 3C_f_m.nii.gz - The Myelin Water Fraction (MWF)
  • 3C_f_csf.nii.gz - The CSF Fraction
  • 3C_f0.nii.gz - The off-resonance frequency. If this was specified on the command line, it will be a copy of that file
  • 3C_B1.nii.gz - The relative flip-angle map. If this was specified on the command line, it will be a copy of that file

The intra/extra-cellular water fraction is not output, as it is not a free parameter (only 2 of the 3 pool fractions are required for the calculations). It is easy to calculate this post-hoc by subtracting the MWF and CSFF from 1.

Important Options

  • --algo, -a

    • S - Stochastic Region Contraction
    • G - Gaussian Region Contraction

    Gaussian is recommended.

  • --tesla, -t

    Specify the field-strength so sensible fitting ranges can be used. Currently only ranges for (3) and (7)T are defined. If you wish to specify your own ranges, set this option as (u) and then the ranges will be read from your input file.

  • --model, -m
    • 1 - 1 component model (no fractions, just a single T1/T2)
    • 2 - 2 component model. Myelin and intra/extra-cellular water
    • 2nex - 2 component model without exchange
    • 3 - 3 component model. Myelin water, IE water & CSF
    • 3nex - 3 component model without exchange
    • 3f0 - 3 component model, allow an additional off-resonance offset between myelin and IE water pools

References

qimp2rage

MP2RAGE adds a second inversion time to the standard T1w MPRAGE sequence. Combining the (complex) images with the expression \(S_1 S_2^*/(|S_1^2 + S_2^2|)\) produces a real-valued image that is corrected for receive coil (B1-) inhomogeneity. In addition, if the two inversion times are carefully selected, a one-to-one mapping exists between the values in that image and T1, which is also robust to transmit (B1+) inhomogeneity. Finally, as the two images are implicitly registered, this method has several advantages over DESPOT1.

Example Command Line

qimp2rage input_file.nii.gz --mask=mask_file.nii.gz < input.json

The input file must be complex-valued.

Example Command Line

{
    "MP2RAGE" : {
        "TR" : 0.006,
        "TRPrep" : 5,
        "TI" : [0.9, 2],
        "SegLength" : 128,
        "k0" : 64,
        "FA": [6, 8]
    }
}

TR is the readout or acquisition repetition time, while TRPrep is time between preparations/inversion pulses. SegLength is the number of readouts in one segment, and k0 is the index within the segment when the center line of k-space is read. This is 0 for centric order, or \(SegLength / 2\) for linear (default Siemens) order. There should be two values of TI and FA.

Outputs

  • {input}_contrast.nii.gz - The MP2 contrast image. The range of this image is -0.5 to 0.5.
  • {input}_T1.nii.gz - The T1 map. Units are the same as TR and SegTR.

Important Options

  • --beta, -b

    Regularisation factor for robust contrast calculation (see references). It is recommended to experiment with this parameter to manually find an optimum value, which should then be kept constant for an entire dataset.

References

qimultiecho

Classic monoexponential decay fitting. Can be used to fit either T2 or T2*.

Example Command Line

qimultiecho input_file.nii.gz --algo=a < input.json

Example Command Line

For regularly spaced echoes:

{
    "MultiEcho" : {
        "TR" : 2.5,
        "TE1" : 0.005,
        "ESP" : 0.005,
        "ETL" : 16
    }
}

TE1 is the first echo-time, ESP is the subsequent echo-spacing, ETL is the echo-train length.

For irregularly spaced echoes:

{
    "MultiEchoFlex" : {
        "TR" : 2.5,
        "TE" : [0.005, 0.01, 0.03, 0.05]
    }
}

Note

The current implementation of the ARLO method will only work with regularly spaced echoes

Outputs

  • ME_T2.nii.gz - The T2 map. Units are the same as TE1 and ESP.
  • ME_PD.nii.gz - The apparent proton-density map (intercept of the decay curve at TE=0)

Important Options

  • --algo, -a

    • l - Standard log-linear fitting
    • a - ARLO (see reference below)
    • n - Non-linear fitting

References

qiafi

Calculates a relative flip-angle (B1) map using the Actual Flip-angle Imaging method.

Example Command Line

qiafi input_file.nii.gz

Does not read any input from stdin. The input file should contain two volumes, corresponding to TR1 and TR2.

Outputs

  • AFI_B1.nii.gz - The relative flip-angle map.

Important Options

  • --flip, -f

    The nominal flip-angle that should have been achieved, default 55 degrees.

  • --ratio, -r

    The ratio of TR2 to TR1, default 5.

  • --save, -s

    Output AFI_angle.nii.gz, the actual achieved angle in each voxel.

References

qidream

Calculates a relative flip-angle (B1) map using the DREAM method.

Example Command Line

qidream input_file.nii.gz

Does not read any input from stdin. The input file should contain two volumes, the FID and stimulated echo (STE).

Outputs

  • DREAM_B1.nii.gz - The relative flip-angle map.
  • DREAM_angle.nii.gz - The actual achieved angle in each voxel.

Important Options

  • --alpha, -a

    The nominal flip-angle that should have been achieved, default 55 degrees.

  • --order, -O

    • f - FID is the first volume, STE is second
    • s - STE is the first volume, FID is second
    • v - VST (Virtual Stimulated Echo) is the first volume, FID is second

References