leoliuf / MRiLab

A Numerical Magnetic Resonance Imaging (MRI) Simulation Platform
https://leoliuf.github.io/MRiLab/
BSD 2-Clause "Simplified" License
204 stars 63 forks source link

MR image simulation of a digital phantom using MRI-Lab #22

Closed harshank001 closed 5 years ago

harshank001 commented 5 years ago

Pre requisites: The digital phantom was constructed by attaching a digital breast phantom to a computational mesh-grid model of the upper body. The digital breast phantoms were derived from realistic CT breast volumes for different patients. The digital phantom was voxelized into 512 x 512 x100 voxels with XY resolution as 1.0mm and slice thickness equal to 2.2mm. Each voxel was represented by a label or integer which represented a particular tissue or organ (for ex. 1=Fat, 7=Lungs, etc.)

Pre-processing: Using the voxelized digital phantom, we created a virtual phantom with properties required by MriLab to acquire the MR signal. A new virtual object was created in MATLAB as a structured array of 3D matrices. Each of these matrices was identical in dimension to the original digital phantom and the voxel indices were replaced with corresponding tissue properties such as T1, T2, T2*, proton density, mass density and electrical conductivity. Each of these properties were required by the MriLab package to successfully acquire the MR signal. The resultant virtual object consisted of all the mentioned matrices and some other phantom properties such as Gyromagnetic ratio, number of voxels in X-Y-Z dimension and X-Y-Z voxel size. The virtual object could now be loaded into the MriLab GUI.

Simulation: Upon successful loading of the digital phantom, other MR k-space acquisition and subsequent reconstruction parameters were fed to the GUI which were: pulse sequence (MriLab has a variety of in-built pulse sequences including general gradient echo, spoiled gradient echo, spin echo, STIR, etc.), T_E,T_R, FOV_freq,FOV_phase, slice thickness, receiver bandwidth, primary magnetic field strength, scan plane, flip angle, number of voxels in the frequency and phase encode direction. MriLab features a lot of other user dependent parameters which were not necessary to get started and the default value for such parameters was suffice.

Attempts at obtaining images- The following image was obtained using general gradient echo pulse (T_E=100ms & T_R=1000ms) sequence and smaller number of voxels (100X120) in the frequency and phase encode direction which led to the poor resolution. Also, there was a mistake in specifying the T2 value for blood which made the heart appear unusually bright. The receiver bandwidth was specified as 80kHz. The slice thickness & X-Y voxel dimensions were specified identical to the digital phantom parameters mentioned earlier. The FOV in the frequency and phase encode direction is specified using the MriLab GUI which shows a preview of the loaded digital phantom. The FOV values are taken such that the green box (see Fig. 1) sufficiently encloses the image in the preview (the preview is just a mapping of the T1/T2 values as given in the loaded digital phantom).

image image Figure 1: left - generated image; right - describing the FOV in the MriLab GUI

The resolution of the image can be improved by increasing the number of voxels in the freq. and phase encode direction being used to obtain the k-space data. After correcting the T2 value for blood, the following image was obtained.

image Figure 2: 256*256 resolution.

Up until now T_E=100ms & T_R=1000ms were being used but for our purpose we needed images acquired using much smaller T_E=2.4ms & T_R=5.5ms. After some searching, spoiled gradient echo pulse sequence was identified as suitable for this purpose. However, the generated image had artifacts (see Fig. 3) which were removed after increasing the value of the receiver bandwidth from 80kHz to 640 kHz.

imageimage Figure 3: left – image with artifacts; right – image after increasing receiver bandwidth

The images obtained till this point were not fat suppressed and hence they do not resemble real breast fat suppressed images. Subsequently, STIR pulse sequence was tried for generating fat suppressed images (Fig. 4) but that pulse sequence requires very large T_E & T_R for generation of good fat suppressed images. In order to obtain realistic fat suppressed images with small echo and repetition times, a pulse sequence needs to be used which has a preparation segment of short T1 inversion before each imaging segment. Although MriLab does not have such an in-built pulse sequence but it allows the users to design their own pulse.

imageimage Figure 4: left – fat suppressed image generated using STIR; right – same image with different intensity scale to highlight breast tissue contrast (notice the brighter glandular tissue compared to fat)

At this point we realized that there was a mistake in the manually assigned tissue parameters for fat tissue. The relative proton density that had been assigned while creating the virtual object was too low. After correction of the PD values for fat and glandular tissue, the following images (Fig. 5) were obtained which correctly depicted fat with the brightest intensity in the T1 weighted image.

imageimage Figure 5: left – spoiled gradient echo image; right – same slice with fat suppression using STIR pulse.

Problem: It was mentioned earlier that a fat suppressed image generated using spoiled gradient echo pulse sequence would be ideal for our purpose. This is possible if a inversion preparation pulse targeting the fat tissue is added before the imaging segment. MriLab has provision for pulse design where I added a 180^o inversion segment (Fig. 6(a)) before each k-space acquisition imaging segment (Fig. 6(b)) such that the inversion segment and the imaging segment were separated by TI=ln2*T1_fat. However, this method does not generate the fat suppressed spoiled gradient echo image that we want. Instead, it gives an image that is almost identical to normal spoiled gradient echo image.

image

  Figure 6 (a): Inversion prep segment shown with time in x-axis in milliseconds.

image

 Figure 6(b): Imaging segment starting at TI=ln2*T1_fat=243ms; MriLab features Ext macros which act as spoilers by dephasing X-Y magnetization after each imaging segment.

Solution: It turned out that the problem was not only in the pulse sequence but also a lack of compatibility of our digital phantom to incorporate fat chemical shift. However, MRI lab had provision for using a digital phantom with multiple spin species i.e. fat and water such that a chemical shift between the 2 spin species can be utilized for imaging. This chemical shift was introduced in the digital phantom by extending the aforementioned 3D matrices PD, T1, T2 & T2Star along a 4th dimension so as to have 2 elements in the 4th dimension, one for each spin species. After modifying our phantom, the preparatory RF pulse of the pulse sequence was adjusted to have a central frequency at fat proton’s resonant frequency and a smaller bandwidth such that the prep pulse does not excite the water protons.

Upon successful implementation of these changes, we were able to simulate images using a SPIR pulse sequence where a prep pulse is used to selectively invert only the fat signal and the imaging sequence starts at TI=ln2*T1_fat. The pulse sequence being used had a prep pulse before each line of k-space imaging segment (Fig. 7).

image

Figure 7: Fat suppressed image acquired using SPIR pulse sequence with T_E=2.4ms & T_R=5.5ms. Notice that there is kind of an abrupt boundary between the suppressed fat part and glandular part in the breast; compare this with the non-uniform brightness of the dense tissue in Fig. 5b where the fat-dense tissue boundary is not very well defined.

Current challenge: To achieve realistic images of glandular tissues post fat suppression using SPIR sequence, we aim to get images which have non uniform brightness of the dense tissue (similar to that in Fig. 5b). This non-uniformity arises due to the fact that our digital phantom has 5 different types of voxels which are: 100% dense tissue; 75-25% dense-fat tissue; 50-50% dense-fat tissue; 25-75% dense-fat tissue; and 100% fat tissue. The mentioned ratios have been derived from CT numbers of different voxels. However, this non-uniformity is absent from the image (Fig. 7) acquired using SPIR sequence since the inverting pulse only acts on the voxel labeled as 100% fat. In the current framework of MRI lab, we can mark one voxel as having only one type of spin species. Therefore, a particular voxel either gets fully suppressed or not suppressed at all. Currently we are looking for ways to partially suppress the signal originating from voxels labeled as having 25-75%; 50-50% or 75-25% of fat-dense tissue composition.

Solution: The mentioned challenge was overcome by dividing each voxel into 8 equal and smaller voxels and then labelling them with the required tissues. This made the digital phantom size very big and the simulating such a large phantom caused the simulation to crash frequently. However, by decreasing the FOV for the acquisition process the simulation was made to work. The FOV was centered around the glandular tissue area of the breast and the contrast achieved among different types of glandular tissues was pretty good.

imageimage Figure 8: Images acquired with voxelized phantom using the SPIR pulse sequence.