1 / 40

Biomedical Engineering Coursework Module: (Biomedical) Image Analysis

Discover the importance of automated analysis of biomedical images and learn various methods of image segmentation using Matlab's image processing toolbox. Improve quantitative analysis and refine image segmentation for accurate results. Lab reports due at the end of the day.

malissat
Download Presentation

Biomedical Engineering Coursework Module: (Biomedical) Image Analysis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Biomedical Engineering Coursework Module:(Biomedical) Image Analysis Vicente Grau, Jens Rittscher Institute of Biomedical Engineering

  2. Today’s schedule • 9:45-11 Intro to Biomedical Image Analysis • 11-1 Matlab Practical in IBME-CDT teaching room • 1-2 Lunch break • 2-5 Matlab Practical in IBME-CDT teaching room • Lab reports due by the end of the day • Email reports to vicente.grau@eng.ox.ac.uk

  3. Why automated analysis of biomedical images? Image use is increasing and will continue in the foreseeable future Data volumes associated to individual studies are also increasing fast Quantitative analysis should be the norm Even in visual analysis, discarding non-relevant areas can make a big difference Important for segmentation and registration algorithms

  4. Medical Imaging – the curse of modality: MRI Ultrasound X-ray PET Good spatial resolution High temporal resolution CT dceMRI High spatial resolution Ionising radiation; Projective Functional imaging Specific radioactive tracers E.g. for metabolic function Spatial vs temporal resolution Good spatial resolution Ionising radiation

  5. Image segmentation

  6. Segmentation Assign a label to each pixel (voxel) depending on the anatomical structure it belongs to

  7. Segmentation is one of the core topics in biomedical image analysis, both in clinical and basic science applications Quantitative analysis of the images Three-dimensional visualisation Image-guided surgery Longitudinal studies Building computational models ...

  8. Brain MR images

  9. Cardiac ultrasound

  10. Human follicles (reproductive health)

  11. Images are matrices

  12. Importing images in Matlab imread Be aware of the data type: A=double(A); %convert to double Displaying images in Matlab imshow imagesc impixelinfo Many problems arise from errors in image displaying

  13. Images are matrices A = imread(‘brain2.bmp’); figure(); imagesc(A); B = imread(‘brain3.bmp’); figure(); imagesc(B); diffAB = A – B; figure(); imagesc(diffAB);

  14. Image processing functions in Matlab (Help -> Image Processing Toolbox) iptdemos Image Display and Exploration GUI Tools Spatial Transformation and Image Registration Image Analysis and Statistics Image Arithmetic Image Enhancement and Restoration Linear Filtering and Transforms Morphological Operations Region-Based, Neighborhood, and Block Processing Colormap and Color Space Functions Miscellaneous Functions

  15. Histograms – Image segmentation by thresholding HISTOGRAM PIXEL INTENSITY

  16. PIXEL INTENSITY

  17. PIXEL INTENSITY

  18. PIXEL INTENSITY

  19. Applying a threshold to an image WRONG!! RIGHT im_seg=zeros(sizex, sizey); for i=1:sizex for j=1:sizey if(im_orig( i, j)>Thres) im_seg( i, j ) = 1; else im_seg( i, j ) = 0; end end end im_seg = (im_orig>Thres); im_seg = double(im_seg); Don’t forget the semicolon

  20. Sample result

  21. Separating connected regions (“islands”) im_labeled = bwlabeln ( im_seg ); Use impixelinfo to get the labels assigned to each one of the regions

  22. Removing undesired regions im_labeled (im_labeled ~= 42) = 0;

  23. EROSION Remove external pixels: those where, if we place a certain structuring element, part of it will lie outside of the object. Pixel removed STRUCTURING ELEMENT Pixel maintained

  24. EROSION im_eroded = imerode ( im_labeled, strel ( ‘disk’, 1) );

  25. EROSION im_eroded = imerode ( im_eroded, strel ( ‘disk’, 1) );

  26. EROSION im_eroded = imerode ( im_eroded, strel ( ‘disk’, 1) );

  27. EROSION

  28. DILATION im_dilated = imdilate ( im_labeled, strel ( ‘disk’, 1) );

  29. DILATION im_dilated = imdilate ( im_dilated, strel ( ‘disk’, 1) );

  30. DILATION im_dilated = imdilate ( im_dilated, strel ( ‘disk’, 1) );

  31. Erosion removes bridges, separates islands, reduces overall size Dilation fills holes, joins islands, increases overall size

  32. OPENING: Erosion + dilation Opening removes bridges, separates islands but approximately maintains overall size

  33. CLOSING: Dilation + erosion Closing fills holes, joins islands but approximately maintains overall size

  34. AUTOMATIC THRESHOLDING Histogram minima may correspond to segmentation thresholds Other methods: k-means, Otsu

  35. ADAPTIVE THRESHOLDING Apply local thresholds

  36. REGION GROWING Start from an initial seed

  37. REGION GROWING Iteratively “grow” the segmented region by incorporating adjacent points that meet a certain criterion

  38. REGION GROWING Iteratively “grow” the segmented region by incorporating adjacent points that meet a certain criterion

  39. REGION GROWING The process ends when a certain stopping criterion is met In Matlab it can be implemented using dilations

  40. What you will do in the lab… • Try basic image segmentation methods using matlab’s image processing toolbox: • Image I/O • Image display • Image thresholding for segmentation • Refinement of image segmentation • Write a lab report including screen snapshots • Ready by the end of the day • Enjoy!

More Related