3D Visualisation of MRI images using MATLAB - CiteSeerX

15 downloads 10995 Views 358KB Size Report
-dimensional reconstruction of human brain MRI images. The programme ... select the ROI (Region of Interest), and to convert the the pixels out of ... mri/aans.html.
JOURNAL OF AUTOMATIC CONTROL, UNIVERSITY OF BELGRADE, VOL. 16:1-3, 2006©

3D Visualisation of MRI images using MATLAB Duška Kleut, Milorad Jovanović and prof. dr Branimir Reljin

Abstract – This paper describes the use of Matlab in three-dimensional reconstruction of human brain MRI images. The programme that was designed enables observing disections of the gained 3D structure along three axes. Index Terms– 3D reconstruction , MATLAB, MRI

I. INTRODUCTION

T

HREE-DIMENSIONAL displaying of parts of human body obtained by modern diagnostic imaging methods is even more customary. This enables observing the layers of the tissue shown in the images on a pixel by pixel level and in the context of the 3D structure of the human body. The goal of our work was to show the possibility of such reconstruction using a wide range programme such as MATLAB. Our solution is displayed through an example which does not allow virtual “entering” into the 3D structure, but enables slicing out desired volume to a size of one pixel of the original images. Tomographic layers at the appropriate depth will be displayed on both sides of chosen parallelopiped. II. PREPARATION FOR RECONSTRUCTION

Sets of images originating from two modalties were placed at our disposal. One modality is situated at the Clinical Center of Serbia in Belgrade, produced by Siemens, using the magnetic flux density of 0.95T. The second one is located at the Institute for Oncology in Sremska Kamenica. Magnetic flux density used was 1.494T. Images used in this project originate from the latter device, having greater resolution. The size of a single image is 512x512 pixels ,with the depth of 12 bit per pixel. The modalty exports data in DICOM [2] (Digital Imaging and Communications in Medicine) standard. The images are grayscale and compressed with jpeg compression. The set consists of 25 images, each representig a 5mm layer, with a gap between layers of 5.5mm. Two sets were used, in both sagital and transversal plain, with the emphasis on the latter one. The basic code incorporated in our program can be found as an example for 3D reconstuction in the Help [1] option of MATLAB 6 and newer.

Manuscript received April,1.,2007. D. K. Author, student, Faculty of electrical engineering, University of Belgrade. M. J. Author, student, Faculty of electrical engineering, University of Belgrade B. R. Mentor, Faculty of electrical engineering, University of Belgrade

III. PROGRAMMING The first step had to be taken was to upload the images into MATLAB workspace, and to store them as .mat file. Then images had to be converted from grayscale to indexed ones. As code has the possibility to operate with 4D matrix, the whole set of 25 images was concatenated one on top of the other into a matix of size 512x512x1x25. With this matrix we get an extra dimension derived from obsolete color maps. It can be eliminated using squeeze function, after which we get a 3D variable used in the rest of the programme. After a few test runs of the code two things were established. Response time for 3D rendering was in the range of 10 minute on a home PC configuration (1.6 GHz, 1GB RAM, GeForce 6500). Also, in a number of transversal images we detected noise which lead to unwanted artefacts in the rendered image. The first problem was solved by cropping obsolete pixels in images, reducing them to 460x432 pixels. This diminished the size of our 3D variable and reduced the response time four times. For eliminating artefacts we designed the function to select the ROI (Region of Interest), and to convert the the pixels out of ROI into the ones with the minimal value.

Figure 1. The contours of a single layer A. Filtration and Reconstruction The function that performs the filtration has been programmed specifically for removing the noise produced by this modalty. The parameters which define the way of filtering are determined by the contrast and the color range of the acquired images.

2

KLEUT D., JOVANOVIĆ M., RELJIN B., 3D VISUALISATION OF MRI IMAGES USING MATLAB The code of the designed function is as follows: function [N]=filt(D); G=D+80; imadjust(G); BW = edge(G,'canny',.3); se = strel('disk',10); closeBW = imclose(BW,se); BW2 = imfill(closeBW,'holes'); [m,n]=size(BW2); M=min(min(D)); for j=1:n for i=1:m if BW2(i,j)== 0 D(i,j)=M; end; end; end; N=D;.

The complete programme code is devided into functions which are responsible for following operations: 1) Uploading variables and displaying images of all layers for visual identificaton of noise; 2) Filtering, displaying one of the filtered images, as well as the contours of that layer which are the basis of 3D reconstruction; 3) Displaying the reconstructed structure and the rendered surface of the face and 4) Cutting out and displying a desired selection.

Figure 2: Tridimensional dislplay of contour slices B. User interface The final step was to design a proper user interface which allows using programme by simple clicking on the buttons. In order to work with the images, one has to enter the path to the directory which holds the initial .mat file with the uploaded variables, and confirn the entrance. When the directory is listed, one should choose the wanted file and go on to the first step in reconstruction.

Figure 3: The apperance of the user interface The panel containes four buttons which initiate separate functions of the programme. Click on the first button will start uploading and concatenating images into a 3D variable. The whole set of images will be displayed in the shape of a MRI film. If the images demand filtering, this process can be initiated by the click on the second button, or this step can be skipped. Button number three will initiate 3D reconstruction by pasting the contor slices one on top of the other, and begin rendering of the outer surface.

Figure 4: Reconstructed head In the end, the user has the option to enter the pixel by pixel coordinates of the planes which should devide the structure along the axes into a desired volume for observation [3]. Matlab editor for displaying 3D images has the ability of rotation and viewing the recostruction from diferent angles. The ilumination of the display is set in such a way to show the best contrast in the most practical angles for viewing images.

JOURNAL OF AUTOMATIC CONTROL, UNIVERSITY OF BELGRADE IV. CONCLUSION The example displayed in this paper shows how a powerful tool like MATLAB can be used for 3D visualisation of 3D tomographic images. With further work on this realisation it could be possible to create the effect of entering the srtucture in such a way to observe inner volumes. MATLAB supports this function, but working with matrixes this large would be very time consuming for home computers. REFERENCES [1] [2] [3]

Matlab, Help, sections: Visualizing MRI data: Volume Visualization Techniques (3-D Visualization); Image Processing Toolbox; Creating Graphical User Interfaces Dave Harvey, Dicom Objects User Manual, Medical Connections , pdf, 2001 3D MRI Reconstruction for Surgical Planning and Guidance; In: Alexander E III (ed) Advanced Navigation in Neurosurgery . Available:http://spl.harvard.edu:8000/pages/papers/shin/3Dmri/aans.html

3

Suggest Documents