第三章 系統分析
3.1 需求分析
3.1.1 果蠅腦之老年痴呆情形分析-需求分析
如 2.1 節所述,在參考文獻[1]中,用來找出果蠅腦之三維影像當中所有的腦 室(vacuoles)之位置以及體積計算的步驟如下:
1. Gaussian Matched Filter 於各張果蠅腦影像進行圓形特徵的搜尋。
2. 完成 Matched Filter 以後,對影像進行二分法,得出亮的部分即可能 為 vacuoles 所在位置。
3. 接著,對這些亮的區塊以 Delaunay Triangulation 找出某個特定參數 的 alpha-shape。完成之後會得到一組 contours(輪廓資料),將這些
contours 進行 snake (active contour)演算法,以確認果蠅腦各層影像 之 vacuoles 的位置與確切形狀。
4. 輸出各 contour 之資訊,並以人工方式刪除電腦誤判的 contours,再 重新計算 vacuoles 的總體積。
根據上述研究步驟,我們在以下的敘述當中,決定本系統之應用需求:
1. 本系統為視窗式使用者介面。
2. 本系統專為此應用需求:果蠅腦之老年痴呆情形分析所設計,使 得果蠅腦影像能夠依照上述之流程找出所有的 vacuoles 與體積計 算之功能。
3. 本系統執行以後,使用者能夠依照視窗介面的提示,讀取一組由 共軛焦顯微鏡取得的果蠅腦影像(特定格式之三維影像資料)。 4. 完成影像的讀取之後,使用者能夠便利地瀏覽各層影像資料。
5. 完成影像的讀取之後,使用者能夠依照視窗介面的提示,對所讀 進的影像資料進行 Gaussian Matched Filter 演算法,在執行之前,
使用者能夠設定 matched filter 的參數例如半徑,或是採用系統預 設值。
6. 完成 Gaussian Matched Filter 之後,使用者能夠觀察處理過後的 影像資料,並能切換至原先影像以比對處理前後之結果。
7. 完成 Gaussian Matched Filter 之後,方能讓使用者對於處理過後 的 影 像 進 行 vacuoles 之 搜 尋 動 作 。 此 部 分 之 演 算 法 包 含 alpha-shape 搜尋與 snake ,因此使用者在執行之前能夠設定 alpha-shape (最小半徑)與 snake (執行次數)之參數。
8. 使用者能夠將影像當中的 vacuoles (contours)資訊輸出至純文字 格式檔案。
9. 由於上述演算法(Matched Filter 與 Contour Finding)可能會需要較 長的執行時間(約數分鐘),故執行時系統須提供使用者目前執
行進度提示,並提供取消指令供使用者取消執行程序。
10. 完成所有的執行程序之後,使用者可從影像當中點選其中找出的 vacuoles,並將不滿意的 vacuoles 排除體積的計算。使用者亦能 反悔,將排除的 vacuoles 復原並列入計算。
11. 第 10 項需求當中,每當排除/復原動作之後,系統應更新並提 示使用者目前所有 vacuoles 之總體積。第 10、11 項需求之使用 範例可參見圖 2-1 之(c)與(d),紅色的輪廓為找到的 vacuoles。
12. 若對執行結果不滿意,使用者能夠清除所有的執行結果,並重新 以不同的參數對影像資料執行所有功能。若清除原始影像,則會 連同執行結果一併清除。
我們將於 3.2.1 節介紹本系統之系統分析,下圖為 Use Case Diagram
圖 3.1 Use Case Diagram of AlzheimerFly’s UI 3.1.2 半自動果蠅腦神經追蹤工具-需求分析
我們由共軛焦顯微鏡取得果蠅腦神經影像,每隔某段間距取一張,形成 三維的影像資料。果蠅腦神經影像以線狀為主,如圖 3.2 所顯示,影像 為從頂端觀望所有切面之正交投影結果。
圖 3.2 果蠅腦神經組織影像範例
上圖為果蠅腦神經組織影像範例,從中可見神經組織以線狀結構為主,
在此應用需求當中,需要盡可能將所有的神經線找出並標示出來,以便 利神經結構重建、比對之應用。果蠅的大腦甚小,而共軛焦顯微鏡取像 之垂直方向係機械微調方式移動取像位置,使得垂直方向之解析度受 限。因此,儘管目前已有學者研究如何自動化的將這些神經線找出,在 z-sampling 解析度不足的情況之下,仍需要半自動的方法來完成此項工 作。因此,我們需要設計一個便利的使用者介面程式,使得 Neuron Tracing 的工作能夠經由以下步驟完成:
Step 1: 輸入果蠅腦神經影像,為一組 Volume Data
Step 2: 計算此 Volume Data 之 3D-GVF,以[6]所提之演算法。
Step 3: 完成之後,以手動方式編輯神經線資料。
Step 4: 將編輯之後的神經線以 snake 演算法配合 3D-GVF 資料將神經 線微調至完全附著於影像中的邊線上。
根據以上的研究步驟,我們在下段的敘述當中,決定該系統之應用需求:
計算出 volume 的 gvf,並能以切換的方式觀看 gvf 和原始影像 1. 本系統為視窗式使用者介面。
2. 本系統專為此應用需求:半自動果蠅腦神經追蹤所設計,使得果蠅 腦影像能夠依照上述之流程以半自動的方式標示出位於影像中的 神經組織。
3. 本系統執行以後,使用者能夠依照視窗介面的提示,讀取一組由共 軛焦顯微鏡取得的果蠅腦影像(特定格式之三維影像資料)。 4. 完成影像的讀取之後,使用者能夠便利地瀏覽各層影像資料。
5. 由於上述演算法(Matched Filter 與 Contour Finding)可能會需要較長 的執行時間(約數分鐘),故執行時系統須提供使用者目前執行進 度提示,並提供取消指令供使用者取消執行程序。
6. 完成 GVF 的計算之後,使用者可以以點選的方式標示出一個 neuron 的 initial path
7. 若已經有多個 neuron 呈現於螢幕,使用者可點選任意的 neuron,
若與滑鼠座標最接近的 neuron (點到所有線段的距離的最小值)則 被選取。
8. 若其中一個 neuron 已被選取,使用者能夠對其執行 snake 的演算法 (可決定是否使用 gvf)
9. snake 可以儲存到檔案當中,可供事後讀取之用。
10. 讀取 snake 檔案是從已經開啟的 volume data 輸入;該 snake 的所屬 的 volume 資訊(width/height/nSlices)應該與原 volume 相同。因此該 snake 的檔案當中應該具有所屬 volume 的資訊(屬性)。
11. 若對執行結果不滿意,使用者能夠清除所有的執行結果,並重新以 不同的參數對影像資料執行所有功能。若清除原始影像,則會連同 執行結果一併清除。
我們將於 3.2.2 節介紹本系統之系統分析,下圖為 Use Case Diagram
圖 3.3 Use Case Diagram of Neuron Tracing UI