MATLAB Progamming for
Medical Image Processing and 3D Modeling (Undergraduate)

Compulsory Course for the Undergraduate Students
Lecturer: Chia-Feng Lu (alvin4016@nycu.edu.tw)
Matlab程式設計-醫學影像處理 (醫放一/碩博班)
授課教師: 盧家鋒

教學目標 Objective

This course will use MATLAB programming language as the platform to focus on medical image processing combined with the application of 3D modeling. Multimodal contents of this course, including real-world MRI/CT images, hands-on practice, and online learning videos, can enhance students' motivation and engagement for active learning. 

The intended learning outcomes include: 1) Understand common usages of MATLAB functions. 2) Demonstrate communication and collaboration skills within your study group to analyze images. 3) Apply acquired skills for medical image processing to solve clinical issues.

本課程將以MATLAB程式語言為工具,以醫學影像分析為實例,將活體醫學影像,經由基礎程式設計實現醫學影像處理步驟,並據此建構人體3D模型。本課程將透過課堂講授與實作交流,輔以線上自主學習影片,期望透過任務導向型的學習課程,讓學生深刻了解醫學影像分析的重要性。

作業評分清單 Homework Assessment

作業評分清單: 點我進入作業評分清單

老師或助教連絡方式 Contact

1. 盧家鋒老師, 分機67308, email: alvin4016@nycu.edu.tw
2. 助教代表-郭姵萱, 分機65564, email: qwer860108@gmail.com
實驗室: 實驗大樓四樓A329室。

資料科學與智慧儀控學分學程

申請表與抵免書下載

課程回饋單Feedback

點我進入填寫頁面 (待課程結束後開啟)

授課內容Content

Week 1: Course introduction and MATLAB environment
課程簡介與MATLAB程式環境介紹
內容與目標:說明課程目標、誘發學習動機,第一次動手使用MATLAB

[課程講義]Lesson1_slides.pdf
[Matlab安裝說明]說明文件
請下載最新版本,如硬碟空間足夠請安裝完整toolbox
如硬碟空間有限,請至少安裝表列toolbox
[EMI課程影片]
請調整為1080p解析度觀看
(1) Course introduction (52:25)

[課程影片]
請調整為1080p解析度觀看
(1) 課程介紹 (1:13:02)

Week 2: Basic language usage - medical image import
MATLAB基礎語法-醫學影像存取
內容與目標:認識MATLAB基本語法,實作讀取DICOM醫學影像專用格式
[課程講義]
Lesson2_slides.pdf
[課程資料]Materials_L2.zip
[EMI課程影片]請調整為1080p解析度觀看
(1) MATLAB Basic Language (56:18)
(2) DICOM Image Import (20:21)
[課程影片]
請調整為1080p解析度觀看
(1)
基礎語法 (1:01:00)
(2) DICOM醫學影像讀取 (34:43)

Week 3: Matrix operation and computation - image size and resolution adjustment
矩陣取值、運算-影像局部處理與解析度調整
內容與目標:影像處理第一步-學會醫學影像局部取值與運算
[課程講義]
Lesson3_slides.pdf
[課程資料]Materials_L3.zip
[EMI課程影片]請調整為1080p解析度觀看
(1) MATLAB Matrix Operation (58:17)
(2) Local Image Process & Resolution Adjustment (27:37)
[課程影片]
請調整為1080p解析度觀看
(1) 矩陣取值與運算 (1:07:02)
(2) 影像局部處理與解析度調整 (23:50)

Week 4: Function - image smoothing and edge detection
函式建立與應用-影像平滑化與邊緣偵測

內容與目標:透過運用函式與矩陣運算概念,學會影像降噪與邊緣偵測
[課程講義]
Lesson4_slides.pdf
[課程資料]Materials_L4.zip
[EMI課程影片]請調整為1080p解析度觀看
(1) MATLAB Function (51:10)
(2) Image Smoothing and Edge Detection (35:34)
[課程影片]
請調整為1080p解析度觀看
(1) 函式建立與使用 (49:44)
(2) 影像濾波:平滑化與邊緣偵測 (36:15)

Week 5: Structure array - DICOM metadata and contrast adjustment
結構矩陣-DICOM資訊與影像對比調整

內容與目標:認識結構矩陣,學會使用DICOM資訊與調整影像對比
[課程講義]
Lesson5_slides.pdf
[課程資料]Materials_L5.zip
[EMI課程影片]請調整為1080p解析度觀看
(1) MATLAB structure array (1:04:49)
(2) DICOM information and Contrast adjustment (34:03)
[課程影片]
請調整為1080p解析度觀看
(1) 結構矩陣 (53:54)
(2) DICOM資訊與影像對比 (36:21)

Week 6: Cell array - read and write Excel file
異質矩陣-Excel資料讀寫
內容與目標:認識異質矩陣,習得整理複雜醫學資料的技巧
[課程講義]
Lesson6_slides.pdf
[課程資料]Materials_L6.zip
[EMI課程影片]請調整為1080p解析度觀看
(1) MATLAB cell array (43:03)
(2) Excel Read/Write (41:12)
[課程影片]
請調整為1080p解析度觀看
(1) 異質矩陣 (53:54)
(2) Excel讀寫 (36:21)

Week 7: Flow control, for-loop and while-loop - import and calculation of 3-dimensional images
流程控制for-loop與while-loop-三維影像存取與運算

內容與目標:透過迴圈控制,事半功倍完成龐大且具重覆性的三維影像處理
[課程講義]
Lesson7_slides.pdf
[課程資料]Materials_L7.zip
[EMI課程影片]請調整為1080p解析度觀看
(1) MATLAB for-loop (1:13:21)
(2) Import and process of 3D images (24:26)
[課程影片]
請調整為1080p解析度觀看
(1) 迴圈控制 (1:10:49)
(2) 三維影像讀取與運算 (28:53)

Week 8: Flow control, if-else and switch-case - region of interest and thresholding
流程控制if-else與switch-case-影像閾值運算

內容與目標:透過條件判斷,區分不同影像成分
[課程講義]
Lesson8_slides.pdf
[課程資料]Materials_L8.zip
[EMI課程影片]請調整為1080p解析度觀看
(1) MATLAB if-else (44:28)
(2) Region of interest and thresholding (39:55)
[課程影片]
請調整為1080p解析度觀看
(1) 條件敘述 (1:03:01)
(2) 區域圈選與閾值運算 (36:25)

Week 9: Midterm computer test
期中考-醫學影像處理上機實測

內容與目標:透過實際情境挑戰,確認學生基本程式與影像處理能力
[11201 Materials]Materials_Midterm.zip
[11201 Question sheet]Link
[11201 Score] Link
[11201 Miro board] Link

考古題:
[11101期中考資料]Materials_Midterm.zip
[11101期中考題]期中考題

[11001期中考資料]Materials_Midterm.zip
[11001期中考題]期中考題

[10901期中考資料]Materials_Midterm.zip
[10901期中考題]期中考題

[10801期中考資料]Materials_Midterm.zip
[10801期中考題]期中考題

[10701期中考資料]Materials_Midterm.zip
[10701期中考題]期中考題, English

 

Week 10: Midterm discussion and orientation of final team project
期中考檢討、
3D列印專題分組與期末目標說明
內容與目標:說明下半學期專題目標,使用醫學影像完成第一次3D列印
[課程講義]Lesson10_slides.pdf
[分組登錄]登錄網址
[分組名單]查看網址
[影像資料]
請按右鍵另存目標為檔案
1. Brain MRI
2. Dental CT
3. Heart (Cardiac) CT
4. Lower Extremety CT
5. L-spine CT
6. Pelvis CT
7. Rat Skull microCT
8. Skull
CT
9. T-spine+Ribs (Chest) CT
10. Upper Extremety CT
11. Whole Body CT

Week 11: Graphic structure - data and image display
圖形架構與資料繪製-資料曲線與影像繪製

內容與目標:學會將數據資料,以曲線或影像繪製方式進行呈現
[課程講義]
Lesson11-1_slides.pdf
[課程資料]Materials_L11_1.zip
[課程講義]Lesson11-2_slides.pdf
[課程資料]Materials_L11_2.zip
[EMI課程影片]請調整為1080p解析度觀看
(1) Graphics structure & data display (1:03:11)
(2) Image display and colormap (37:51)
[課程影片]
請調整為1080p解析度觀看
(1) 圖形架構與曲線繪製 (1:01:31)
(2) 影像色階度調整 (31:52)

Week 12: 3D object rendering - surface and volume rendering
3D立體影像繪製與建模-表面與體積描繪

內容與目標:學會將三維影像繪製成具有光影效果的3D物件
[課程講義]
Lesson12_slides.pdf
[課程資料]Materials_L12.zip
[EMI課程影片]請調整為1080p解析度觀看
(1) Surface Rendering (1:00:19)
(2) Post-processing of 3D Surface (28:23)
[課程影片]
請調整為1080p解析度觀看
(1) 3D表面繪製 (1:12:11)
(2) 表面後處理 (31:24)

Week 13: Introduction of 3D printing and STL file output
3D列印原理與檔案輸出-產生STL檔
內容與目標:以醫學影像建置之3D物件模型,輸出為3D列印所需之STL格式
[課程講義]
Lesson13_slides.pdf
[課程資料]Materials_L13.zip
[課程影片]請調整為1080p解析度觀看
(1) 產生STL檔 (1:00:59)
(2) 以CURA產生G-CODE檔 (34:51)

Week 14: Operation of 3D printer and G-code file
3D列印機操作說明與列印示範

內容與目標:以實際列印進行說明,了解3D列印操作流程,並認識陽明交大創客空間
[課程講義]
Lesson14_slides.pdf
[課程影片]請調整為1080p解析度觀看
(1) 期末專題說明 (28:15)
(2) 3D列印操作注意事項 (49:17)

Week 15: 3D printing hands-on at NYCU Maker Space
創客空間Maker Space-3D列印實作

內容與目標:將經過影像處理與輸出的模型,進行3D列印製作成品

Week 16:Final team competition
內容與目標:分享與討論 影像處理與3F列印的成果、困難與解決方式
[11201 Score] Link
[11201 Miro board] Link

[11101期末報告]Padlet Link

Week 17: Introduction of graphic user interface I-GUIDE
內容與目標:使用者作介面介紹,讓零散的程式碼整合為圖形介面
[課程講義]Lesson15_slides.pdf
[課程資料]Materials_L15.zip

Week 18: Introduction of graphic user interface II-App designer
內容與目標:使用者作介面介紹,讓零散的程式碼整合為圖形介面

 

課程參考資料 Textbooks/References

教科書名:MATLAB程式設計入門篇(第四版)
作  者:張智星
出版社:碁峰資訊出版

教科書名:3D列印實務
作  者:郭璟塘
出版社:Gitbook, https://findergithub.gitbooks.io/3d-printer/content/

完整播放清單 Playlist

連結至YouTube