Key words

1 Introduction

Hyperpolarized 13C imaging experiments can yield a wide variety of metabolic, structural, and functional information which is extracted via analysis of time-varying NMR signals. The choice of analysis strategy depends on numerous factors, including the imaging agent, the organ of interest, the acquisition strategy, and imaging parameter being measured. In general, much of the image-formation pipelines are nearly identical to those for 1H MRI; particularly, the steps of Fourier transforming k-space data, reconstructing under-sampled data using parallel imaging afforded by RF coil arrays, etc. are nearly identical and will not be discussed in detail here. Instead, we describe some of the applications more specific to hyperpolarized 13C data analysis, and we guide the reader through details and attempt to point out pitfalls. We select a few applications which will be interesting for researchers studying renal physiology and function in a preclinical setting, and where available, we point to links to source code for image processing pipelines.

Beginning at the steps of image formation, there are some key attributes differentiating hyperpolarized from conventional MRI. One of the primary differences is the constant depolarization of the contrast agent during imaging. Image encoding requires radio frequency (RF) excitation of z polarization that is typically nonrenewable, meaning it does not recover with T1 relaxation. Instead, T1 relaxation imposes an exponential decay envelope which decreases the z polarization over time. In addition to potentially degrading image resolution, this window has the consequence that physiological parameters calculated from the time course of image pixel intensity may be biased, either by RF flip angle (θ) nonuniformity or by influence of relaxation times which are almost never known precisely beforehand in vivo. In some of the subsequent examples of this chapter, this effect is accounted for, or it may be compensated for through the use of acquisition-based signal compensation. However, a thorough error propagation of parameter estimation is extremely difficult as is the estimation of all ancillary parameters influencing the measurements. For instance, although precise flip angle knowledge is key to the estimation of virtually every parameter measured here, θ is typically estimated using an external reference phantom during imaging. Furthermore, it is extremely difficult to map out the transmitter profile due to the low natural 13C abundance in vivo. In general, the nuances of hyperpolarized MRI may complicate image processing and could potentially bias parameters that are calculated from images if not properly taken into account.

This analysis protocol chapter is complemented by two separate chapters describing the basic concept and experimental procedure, which are part of this book.

2 Materials

2.1 Software Analysis Tools

There are numerous publicly shared, open-source MRI processing code written on the MATLAB platform which can be directly ported to the open source platform GNU Octave. Processing requiring nonlinear optimization, signal processing, image manipulations, or DICOM reading/writing will require installation of additional toolboxes. Octave and MATLAB provide excellent prototyping platforms since the file input/output interface for most vendors’ raw data formats can be found on online repositories or via the vendor directly. For example, the files for reading the GE P-file format are distributed with the EPIC software development kit (SDK) software release via the MR collaboration community portal [1]. Within this SDK is the set of MATLAB scripts in the folder read_MR that may be invoked as

[rawdata, header] = read_MR_rawdata(filename)

Where filename is the name of the raw file (P-file), and rawdata and header are the parsed outputs. The variable rawdata is parsed as

rawdata(yres, xres, phases, echoes, slices, receivers)

Note that GE P-files are stored on the scanner directory /usr/g/mrraw. An example 2D Fourier Transform reconstruction of a single slice, single coil image will look like

singleSliceImage = abs(fftnc(rawdata(:, :, 1, 1, sliceIndex, coilIndex)));

Aside from vendor-specific items, the vast majority of publicly shared source code is on a github repository. To interact with this code base, git should be loaded on your localhost. On Mac, this can be done with the MacPorts utility (www.macports.org) via terminal command

sudo port install git

Note that all MacPorts-installed code can be conveniently updated via the single command sudo port selfupdate. The example code-base for this book chapter [2] can be cloned from the github repository by running the following in your terminal:

git clone https://github.com/galenreed/renalC13MRIBook.git

This will clone the repository and create a folder called renalC13MRIBook with subfolders and scripts that can be run and modified locally.

3 Methods

3.1 Quantitative Perfusion Imaging

Noninvasive determination of perfusion has been of significant interest in contrast-enhanced MRI and has numerous applications in oncology and cerebral blood flow mapping. Unlike contrast-enhanced MRI using gadolinium (Gd) based agents, hyperpolarized 13C images contain no background signal contribution and thus have the desirable characteristic that their signal intensity is proportional to the agent concentration. Commonly used hyperpolarized 13C perfusion targets are [13C]urea [3], [13C, 15N]urea [4], bis-1,1-(hydroxymethylcyclopropane-D8) (commonly referred to as HP001) [5], and [13C]tert-butanol [6]. These molecules differ greatly in their tissue permeability [7], biodistribution, and relaxation time-based contrast [4]. Furthermore, the endogenous nature of many hyperpolarized probes makes them highly attractive as a potential agent which may be delivered to patients with impaired renal function. Data for perfusion imaging typically consist of time- and space resolved magnitude images of nonexchanging molecular probes which are acquired with gradient echo (GRE) or steady state free precession (SSFP) pulse sequences. Since the initial tissue uptake is an important piece of the curve for data processing, data acquisition is typically initiated before or at the beginning of contrast agent injection, and temporal resolution should be adequate to encode the uptake and washout curves.

In this section, we walk through the processing script example_perfusion .m that contains the essential processing elements of data from this experiment. The goal this problem is to solve the convolution integral

$$ {C}_{\mathrm{VOI}}(t)=F{\int}_0^{\infty }{C}_{\mathrm{a}}\left(\tau \right)R\left(t-\tau \right)\mathrm{d}\tau $$
(1)

for the product of the residue function R(t) and flow rate F. This model uses the bolus tracking theory which is described in depth in ref. 8. In this approach, the concentration of the tracer in the tissue CVOI(t) is modeled as a convolution integral with the arterial input function Ca(t) and the residue function. Since CVOI(t) and Ca(t) are measured directly off the time course images, the FR(t) can be estimated via deconvolution. The product FR(t) serves as the tissue impulse response in this framework. The essential steps in the processing pipeline are as follows:

  1. 1.

    Delineate the arterial pixels. In the example code, a single coordinate from the center of the artery is stored in the array AIFPixels with a single index per slice. Note that this processing script creates a rectangular ROI centered around the pixel coordinate to reduce noise. The intensity of these pixels is used as the function Ca(t).

  2. 2.

    Create the matrix A which whose columns consist of Ca(t), where each subsequent column is translated one time point (see line 58 in example_perfusion .m and equation 11 in ref. 8). This is for discretizing the convolution integral in order to recast it as a matrix multiplication, which can then be inverted to measure the product FR(t). See refs. 8,9,10 for details

  3. 3.

    Loop through all pixels within the image and create the temporal curve to create CVOI(t)

  4. 4.

    Invert the linear system to estimate FR(t). The code example gives two examples of how to do this: the first uses Tikhonov regularization, the second uses singular value decomposition (SVD)-based thresholding.

  5. 5.

    Compute the maximum of this function to obtain the flow rate, then normalize by Δt to recast the value in standard mL/mL/s units.

A few nuances of the computation are discussed. The tissue residue function R(t) tends to have a monotonically decreasing shape and is often approximated as a single exponential decay in model-dependent deconvolution techniques. By definition, R(0) = 1, since it depends on the cumulative distribution of the tracer transit times in the tissue. Therefore, the flow F can be solved for once R(t) is estimated.

$$ F=\frac{\max \left( FR(t)\right)}{\varDelta t} $$
(2)

Note that the maximum operation is used rather than taking the value R(t = 0) to account for possible imaging/infusion delays. Hyperpolarized 13C images are proportional to the concentration which simplifies the estimation of Cvol(t) and Ca(t) since they can be directly measured from image ROIs. However, the polarization level constantly decreases post injection, so the signal proportionality is not constant over time. To compensate this effect, R(t) has been modelled as a product Rt(t)P(t), where Rt(t) is the true residue function and P(t) is an exponential decay which models the T1 decay and RF depolarization [9]. Alternatively, an acquisition-based compensation using progressively increasing flip angles on subsequent time-points can be used to offset this signal decay over a fixed horizon [10]. As ref. 8 points out, it is highly important to handle noise amplification in this inversion by using techniques such as singular value decomposition- (SVD) based thresholding or regularization. Figure 1 shows the effects of Tikhonov regularization on the calculated flow images and highlights its importance. When no regularization is used, the estimated FR(t) product shows large oscillations over the time course. Adding regularization not only smooths the time-course curve but also yields a residue function closely resembling the expected exponential decay.

Fig. 1
figure 1

Estimating blood flow from dynamic hyperpolarized [13C]urea images of a rat kidney. The top and bottom panels show the problem solved with and without using regularization. The blood flow maps (left) are calculated from solving the deconvolution of the arterial input function (AIF) and the tissue uptake curves (center). Note that there is a dip in the AIF due to a chase infusion of saline. The curves on the right highlight the need for some degree of regularization. The top solution, derived without regularization, shows large-amplitude fluctuations, while the bottom curve, derived with regularization, shows a much cleaner curve more closely resembling an exponential decay. Regularization does slightly decrease curve fit/data consistency; this can be seen on the orange curves in the center plot, where the regularized curve (bottom) deviates slightly more from the nonregularized curves (top). However, it generally produces cleaner images with reduces noise sensitivity

3.2 Relaxation Mapping

Preliminary measurements of NMR relaxation times (T1 and T2) of hyperpolarized 13C contrast agents show interesting in vivo renal tissue contrast. The T2 of [1-13C]lactate after injection of hyperpolarized [1-13C]pyruvate has been shown to increase in tumor regions in preclinical models [11]. The T2 of [13C, 15N]urea has been shown to greatly increase in the rat kidney [4], and this signal change has been linked to the glomerular filtration process [12]. Anatomically, an inward, cortex-to-medulla T2 gradient is observed. This gradient becomes disrupted in diabetic nephropathy [13] as well as in ischemic injury [14]. T2 mapping is performed on magnitude images which are spatially and echo-time-resolved. Acquisitions are based on multiple spin-echo acquisitions that must be specifically tailored to the hyperpolarized experiment. To best utilize the nonrenewable magnetization, acquisitions start with a 90° excitation followed by a train of spin echo RF pulses and encoding gradients. Hyperpolarized 13C T2 values reported in the literature are long compared to those of 1H, ranging from hundreds of milliseconds to several seconds. The effective T2 measured can have some dependence on the inhomogeneity of the transmit field (B1+), but the dependency is not strong unless the deviation from 180° is very large [12].

Modeling multiexponential T2, decay in NMR signals is typically performed by matching the signal to an expression of the form

$$ S={S}_0+\sum \limits_{i=i}^n{a}_i{\mathrm{e}}^{-t/{T}_{2,i}} $$
(3)

where S0 is a bias term, ai is the signal amplitude of the ith T2 component, and T2,i is the decay time constant. Typically, ai and T2,i are all unknown beforehand and must be solved for. If SNR is sufficiently high, the bias term can be ignored. The T2NNLS algorithm [15] casts the estimation of multiple T2 decays as a matrix inversion problem:

$$ \left(\begin{array}{c}S\left({\mathrm{TE}}_1\right)\\ {}\vdots \\ {}S\left({\mathrm{TE}}_n\right)\end{array}\right)=\left(\begin{array}{ccc}{\mathrm{e}}^{-{\mathrm{TE}}_1/{T}_{2,1}}& \cdots & {\mathrm{e}}^{-{\mathrm{TE}}_1/{T}_{2,m}}\\ {}\vdots & \ddots & \vdots \\ {}{\mathrm{e}}^{-{\mathrm{TE}}_n/{T}_{2,1}}& \cdots & {\mathrm{e}}^{-{\mathrm{TE}}_n/{T}_{2,m}}\end{array}\right)\left(\begin{array}{c}{a}_1\\ {}\vdots \\ {}{a}_m\end{array}\right) $$
(4)

Note that this is a standard problem of the form

$$ y=A\;x $$
(5)

where the matrix A is constructed from selecting m logarithmically spaced T2 values from within a defined range, then computing an idealized T2 decay curve sampled at each acquired echo time. These idealized single-exponential decays constitute the columns of the A matrix. The column vector x contains the amplitudes which are solved for, and y contains the measurements. Equation 5 is solved for using regularized, nonnegative least squares.

$$ \genfrac{}{}{0pt}{}{\mathrm{argmin}}{x}\kern0.62em {\left\Vert Ax-y\right\Vert}^2+\lambda {\left\Vert x\right\Vert}^2 $$
(6)

Similar to the perfusion measurement, the use of the L2 norm for the regularization term is required as detecting multiple T2 values that are different but close in value can be exceedingly susceptible to noise amplification.

In the example script example_t2nnls.m, the following steps are used to demonstrate the T2 nonnegative least squares algorithm on rat kidney data:

  1. 1.

    Reconstruct spatially and echo-time-resolved magnitude images.

  2. 2.

    Is spatial resolution is sufficient to resolve respiratory motion, an image alignment via rigid translation may be applied [12].

  3. 3.

    Create a list of echo times (TElist in the script) corresponding to the TE of each image.

  4. 4.

    Create a T2 axis which is a vector of logarithmically spaced T2 values spanning the expected solution range.

  5. 5.

    Create the matrix A from Eqs. 4 and 5 as is performed in the script t2nnls.m (where the matrix is stored as the variable T2DecayMatrix).

  6. 6.

    Extract signal intensity of a single pixel over TEs (S(TE)1…S(TE)n).

  7. 7.

    Compute the best fit solution S(T2). This function can be created at each pixel. Figure 2 shows example S(T2) distributions calculated from a single pixel within the kidney calculated differing values of the regularization parameter.

  8. 8.

    S(T2) can be treated as a spectrum, so the signal intensity within some given T2 bounds may be integrated to find the intensity within that range. Alternatively, the expectation value 〈T2〉 can be calculated by treating S(T2) as a probability distribution function and computing moments. This is demonstrated in Eq. 2, ref. 16 for estimating water content in vivo.

Fig. 2
figure 2

Multiexponential analysis of a hyperpolarized T2 mapping experiment. Left: coronal [13C, 15N]urea image of a rat at the earliest echo time (500 ms). Right, top: T2 decay curve from a single pixel inside the kidney. Right, bottom: multiexponential analysis using the T2NNLS algorithm. Using L2 regularization penalty causes broadened peaks in the T2 spectrum. Note that bias offsets are captured as signal at the high extremum of the T2 domain. Hyperpolarized [13C, 15N]urea images of the rat kidney show two distinct decay modes representing the vascular and renal filtrate pools of the contrast agent

3.3 Glomerular Filtration Rate Estimation

A key component of renal function is the glomerular filtration rate (GFR), and nearly all hyperpolarized 13C probes are sufficiently small to be freely filtered at the glomerulus. Molecules which are metabolically inert, not appreciably reabsorbed in the nephron, and have T1 values sufficiently long to be detected in the renal medulla may be good targets for GFR measurement. Although urea is reabsorbed to some degree, there is a strong appeal of using this molecule as a hyperpolarized GFR marker due to its extremely low toxicity. Data for GFR estimation are spatially and temporally resolved magnitude images with spatial resolution sufficient to resolve the renal cortex from the medulla and temporal resolution sufficient to trace the medullary uptake curve with several data points. Since the current example uses data only from the uptake phase, the effects of transmitter-based depolarization are likely small.

GFR estimation using hyperpolarized 13C imaging has been demonstrated by retrospectively processing datasets using the Baumann–Rudin model [17]. This technique was originally developed for measuring renal clearance of Gd agents in rats [18] and uses the time-varying signals from the renal cortex (Ccortex) and medulla (Cmedulla) to estimate an effective exchange rate.

$$ \frac{\mathrm{d}{C}_{\mathrm{medulla}}}{\mathrm{d}t}=K{C}_{\mathrm{cortex}}(t). $$
(7)

Here the constant K represents the one-way exchange rate from cortex to medulla. Although one-way exchange is an invalid assumption for probes that are reabsorbed, the model is assumed to hold true in the initial uptake phase. Solving Eq. 7 analytically requires initial conditions for the concentration variables which, therefore, requires an additional arterial input model parameter. To avoid this computational complexity, this model can instead be solved algebraically by normalizing the mean slope (dCmedulla/dt) during the uptake phase by the mean cortex signal and scaling by the medullary volume [19]. The script example_GFR .m demonstrates the following steps for calculating GFR from a dynamic set of [13C]urea images

  1. 1.

    Time-dependent, magnitude images are reconstructed.

  2. 2.

    The renal cortical and medullary ROIs are delineated, and a mean taken over these ROIs is used to create Cmedulla(t) and Ccortex(t).

  3. 3.

    The initial uptake period of the time domain is isolated (uptakeInds in the script).

  4. 4.

    A linear fit is performed on Cmedulla(t) to estimate its slope \( \frac{\mathrm{d}{C}_{\mathrm{medulla}}}{\mathrm{d}t} \) during the uptake period. These curves and the slope estimates are shown in Fig. 3.

  5. 5.

    The parameter K from Eq. 7 is estimated via \( K=\frac{\mathrm{d}{C}_{\mathrm{medulla}}}{\mathrm{d}t}/\left\langle {C}_{\mathrm{cortex}}(t)\right\rangle, \) where 〈Ccortex(t)〉 is the mean value of Ccortex(t) during the uptake phase.

  6. 6.

    The GFR can then be estimated as GFR = KVmedulla∙60, where Vmedulla is the medullary volume in mL, making GFR in mL/min.

Fig. 3
figure 3

Estimating glomerular filtration rate from dynamic [13]C urea images of a rat. The top frame shows every other time point of the acquisition, and the bottom plot gives the uptake curves from the renal cortex and medulla. The yellow trace shows the best linear fit of the medulla signal during uptake; the rate from this fit is used for GFR estimation

3.4 Metabolic Rate Constant Estimation

The estimation of the metabolic flux from a hyperpolarized substrate to some metabolic products which are distinguished from the substrate via chemical shift is a topic of paramount interest. The metabolic conversion of hyperpolarized 13C substrates can be an extremely complex process. For instance, the conversion of hyperpolarized [1-13C]pyruvate to hyperpolarized [1-13C]lactate depends on arterial input to the tissue, the monocarboxylate transporter-mediated transport into the cell where the substrate undergoes a Michaelis–Menten exchange with lactate. Therefore, the net conversion of the substrate depends not only on the rate of each transport step but also the availability of the enzyme and cofactor, and the size of the steady-state lactate pool [20]. Using hyperpolarized 13C NMR to capture this effect requires fitting signal amplitudes of data acquired from a spectroscopic readout. The data may be spatially resolved, but frequently a “slice dynamic” acquisition is used which greatly simplifies setting up the acquisition protocol and maximizes the probability of detecting low SNR metabolic products. A typical in vivo experiment will acquire a spectrum over 1–10 kHz sweep width using a slice selective pulse, and this acquisition is repeated until the polarization is presumed to be depleted. This type of acquisition gives data of the form S(f,t), where f is the Fourier transform of the FID domain, and t is a variable proportional to the number of repetitions. The substrate and products have time-dependent signals S(t) and P(t), respectively. The hyperpolarized signals may be matched to functions of the form

$$ \frac{\mathrm{d}S(t)}{\mathrm{d}t}=-\left({k}_{\mathrm{SP}}+\frac{1}{T_{1,S}}\right)S(t)+{k}_{\mathrm{PS}}P(t)+u(t), $$
(8)
$$ \frac{\mathrm{d}P(t)}{\mathrm{d}t}=-\left({k}_{\mathrm{PS}}+\frac{1}{T_{1,P}}\right)P(t)+{k}_{\mathrm{SP}}S\left(\mathrm{t}\right) $$
(9)

where T1,S and T1,P are the spin lattice relaxation times of the substrate and product, respectively, kSP and kPS are the forward and reverse rate constants, and u(t) is a function that models substrate delivery to the tissue. A frequently made simplification made when modeling conversion of [1-13C]pyruvate to [1-13C]lactate is to assume both molecules have nearly identical relaxation times (T1,P = T1,S) and that no significant backward flux occurs during measurement (kPS = 0). This reduces the number of unknowns to be fitted from 4 to 2 and greatly improves the noise conditioning of the problem.

Typical steps in processing 2D, slice-dynamic spectroscopy and estimating metabolic conversion metrics are summarized here:

  1. 1.

    Raw spectra are typically apodized in the spectral domain using a filter matched to the T2* of the compound (on the order of 50–500 ms) to reduce noise.

  2. 2.

    Apodized spectra are Fourier transformed along the FID axis giving spectra of the form S(f,t, coils).

  3. 3.

    If data are displayed in magnitude, then a sum-of-squares over the coil axis may be performed giving |S(f, t)| Phase sensitive detection may be used, but it requires phasing each channel individually before combination. Although phase-sensitive processing adds complexity, it simplifies detection of low-SNR metabolites, and may reduce contamination of large amplitude resonance on neighboring peaks due to apparent line-narrowing.

  4. 4.

    A further de-noising step may be performed on the 2D |S(f, t)| data by using SVD-thresholding [21]. This step can be motivated by subsequent processing steps which can greatly enhance noise if poorly conditioned.

  5. 5.

    The peak amplitudes are then tracked over time to generate 1D curves of substrate S(t) and product P(t). This may be performed by taking the maximum value or integrating over a small frequency band.

  6. 6.

    A flip angle correction may be applied to account for RF-induced depolarization, but this requires accurate knowledge of the flip angle applied at each time point (see ref. 22 for an in-depth treatment of this topic).

  7. 7.

    Estimating the forward rate constant kSP requires fitting the experimental data to the kinetic models such as those given in Eqs. 8 and 9. However, a frequently applied model free analysis of Hill et al. vastly simplifies the analysis of hyperpolarized metabolic kinetic data [23]. The model free approach is based on the fact that integrating S(t) and P(t) over time and taking their ratios gives a value proportional to this rate constant, so no deconvolution or curve fitting is required. This model free approach is simply implemented by taking the area under the curve (AUC) of the product and normalizing this value to the AUC of the substrate (see Fig. 4, right, for example traces of such an experiment).

  8. 8.

    For a more detailed treatment, the readers are referred to the open source hyperpolarized MRI toolbox scripts from UCSF. A review paper covers the topics of kinetic modeling in great detail [22]. This toolbox can be cloned via git clone https://github.com/LarsonLab/hyperpolarized-mri-toolbox.git

  9. 9.

    Within this toolbox, the subfolder kinetic_modeling contains numerous scripts for fitting kinetic curves with a variety of options. See example_exchangeModel.m for a sample invocation of the main wrapper function fit_kPL() in the toolbox.

Fig. 4
figure 4

Left: a typical slab-dynamic spectroscopy acquisition on a 3T scanner captures the conversion of [1-13C]pyruvate (large peak on resonance) to [1-13C]lactate (left, at 390 Hz) and [13C]bicarbonate. Right: the traces of these three metabolites over time generated by integrating over the line width at each point. A simple measure of metabolic flux can be derived from these traces by taking the area under the curve (AUC) of a metabolic product and dividing it by the AUC of the substrate

3.5 Results Validation

Most of the analysis methods outlined here will output values in physical units, so cross referencing measurements with values quoted in the literature is the chief method for validation of results. For instance, renal blood flow measurements in the range 4–10 mL/mL/min have been reported using hyperpolarized contrast agents [17]. Preliminary results show hyperpolarized-MRI-derived GFR measurements in the range of 2–3 mL/min for the rat kidney which are in close agreement with GFR measured with other modalities. A wider variation of relaxation times has been reported. For instance, [13C, 15N]urea T2 values have been reported ranging from 400–800 ms to greater than 4 s [12, 13]. A further study is required to elucidate the influence of acquisition on the variance of findings in the literature.