2014年4月16日

用CT SCAN做自己的3D模型

內弟韓醫生跟我說他們醫院最近進了新的斷層掃描機,正式營運上線要先做一些測試,需要一些自願者進去被掃描一下,聽到這個,當然高舉雙手喊「選我選我」。

喬了幾個時間,終於找到我有空,機器也有空的時間。然後去掃描了幾個部位,分別是腦、心和髖部。

自己想去做斷層掃描,其實不只是為了醫療,心裡頭更想要做的是看能不能做成3D模型,印一個自己的器官。不過該怎麼處理醫學影像呢?我沒這方面的經驗,所以開始在網路上尋找能處理的軟體。

結果意外的發現,原來imagej就可以開啟那些DICOM檔,然後直接做成3D影像了。不過要再安裝3D Viewer這個plugin。把那些掃描出來的DICOM檔,用File/Import/Image sequence..的方式把那些檔案匯入imagej變成一個stack,然後再開啟3D Viewer,就可以變成3D影像了。

例如心臟和下面的腦都是這樣開的。





也許你有注意到,開啟的軟體並不是單純的叫做Imagej,而是叫做「(Fiji Is Just)  Imagej」的軟體,誠如軟體的名字所言,Fiji其實就是imagej,它是把許多生命科學研究相關的plugin預裝好的imagej。裡頭眾多的Plugin,我還沒細看過,但粗略看過的結果,發現一些plugin,可能可以解決過去我的一些分析問題。


imagej的3D Viewer,可以設定看Volume還是Surface,若要匯出成STL檔,則是要選擇檢視surface才可以。不過我發現光是靠Imagej處理表面的多邊形細節來輸出,實在不夠力,所以我繼續尋找可以使用的軟體。


Devide
後來在Youtube上找到這段影片《Extracting STL surface from CT data with DeVIDE》,完全符合我的需求,我只要跟著做就可以了。

使用的軟體有二,一個是Devide,另一個是Meshlab。在Devide裡頭使用的模組包括以下這些:

  • slice3dVWR
  • DICOMRreader
  • doubleThreshold
  • seedConnect
  • closing
  • contour
  • wsMeshSmooth
  • Quickinfo

Meshlab在網路有些教學,例如這篇就教了怎麼減少表面多邊形,不過像我在Devide就已經用wsMeshSmooth處理過了,所以也不一定要進去Meshlab來處理。

做出來的STL檔案,看來還不錯,不過還沒辦法去做成3D模型,因為我還沒搞懂怎麼把內部的細節填滿,還有頂和底的洞到底要怎麼封閉。那些問題搞定之後,才可以送到切片軟體去轉Gcode。





前面用的Devide,門檻有點高,我做了幾次都還是得邊看影片才會邊操作,所以我又在 Youtube找相關的操作影片,又找到一個軟體,名字叫做Invesalius。Invesalius的界面簡單,功能也很強,可以直接用預設值做出骨骼、脂肪、皮膚或肌肉等遮罩。不用多作設定,就可以將原先的橫切圖,直接產生出另外兩個方向的切面。

有中文界面,產出的3D圖,甚至可以把皮膚、肌肉和骨骼設定不同的透明度,然後同時呈現。有興趣看看這個用豬頭做3D模型的影片,就知道它的長處了。

2014年4月12日

Scimage的顯微鏡台

先前因為看到Instructable上有人做了手機變身顯微鏡的台子,自己也仿著弄了一個,也分享給周遭的一些朋友。

本來心想這種裝置應該就是這樣了,要改些什麼大概也不多吧。但是後來看到經營科學影像Scimage的江老師也做了一個(看這手機變身數位顯微鏡),雖然自己已經有一些了,不過心裡就是也想要,於是加入了江老師的科學Maker社團,提出贊助的申請,拿到了第一波的顯微鏡。不用多說什麼,比較精巧那個就是Scimage的顯微鏡台啦。


顯微放大是很簡單的事情,不過就是手機或平板的鏡頭前面加上一個雷射筆的凸透鏡,然而要真的提高易用性,可就不是那麼容易達成的。我用一個作過幾百台的苦力角度來評析推薦Scimage的顯微鏡台。

1.擴充性
整體尺寸小而輕巧,但大的平板如iPad怎麼放呢?Scimage就設計出擴充模組,加上去之後就可以擺放大型平板了。除此之外,還會有偏光模組、單眼模組、金相模組.....。


2.解析度
看到顯微鏡,外行人問的是「放大幾倍」,內行人要問是「解析度是多少」。倍率和解析度差在哪?請問,你用一般相機拍朵路邊小花,然後放大投影到電影銀幕那麼大,這個倍率都上萬倍了,那你覺得銀幕上會看到細胞核嗎?放這麼大會看到病毒嗎?你看到的一定是模糊的影像了,因為解析度不夠嘛。(在這種在手機的顯微鏡台上,倍率要高就用大平板,然後再加上裝置的數位放大就行。)

那解析度呢?江老師說這裝置的解析度理論上是到1µm(印象中新的單眼模組好像是到0.5µm),因為是用鏡頭組取代單鏡片。

有關鏡頭組怎麼增加NA呢,我找了疊合模擬軟體來測試,透過鏡頭組讓物距縮短,而N.A.=n·sinα,疊合可以讓α變大,進而增加N.A。解析度的計算為 r = 0.61λ/N.A. 。NA增大就可以縮小r,亦即提高解析度,讓兩點在更小的距離仍然可被分辨。這樣合成的新透鏡,焦距會縮短,倍率會更大。

幾個參考網址如下
http://arachnoid.com/OpticalRayTracer/index.html


3.光源

LED加上3V鈕扣電池是最容易使用的光源,最簡單的用法是LED直接扣在電池上面,要再穩固一點就用衣夾夾住,而Scimage的這款是設計壓克力底座結合電池和LED,看起來就很有質感。


而用LED照明時,會出現中央過量的亮度不均勻的問題,江老師是透過載物台上黏貼3M無痕膠帶製作的光源擴散片來解決這個問題。



4.穩定性
前面說過,要放大就拿凸透鏡放在手機鏡頭前就好,但光是那樣的設計,實用度不高。所以必須有穩定的平台。

從上而下說起,如果是過去的設計,是在壓克力板上用螺母來穩固螺絲,而這樣就會讓頂板多出螺母的高度,在放置平板或是手機時,就會是個障礙。江老師的設計是壓克力板預攻螺紋,可以讓螺絲鎖上去之後,頂板一片平坦。


載物台的抬升機構,不用原先的蝶帽加上華司,改用一個法蘭螺母跟兩個一般螺母包覆膠帶,再外覆熱縮套。法蘭螺母有邊緣,就可以讓載物台夠穩固。這樣的機構很費工,但是提昇了使用的手感。且螺絲螺母都使用鋼製的,能夠提高耐用性。


載物台和頂板之間則是以泡綿製作載物台的穩定墊,避免載物台在使用時的晃動。底座增加防滑膠墊,增加穩定性。



5.科學普及

大家看到這樣的好東西,第一個想法就是哪裡買?多少錢?不過江老師並非要營利,而是透過分享與推廣讓科學更普及,所以他要大家自己自由贊助金額。

我自己作過類似結構的東西,大概知道材料成本會落在哪個範圍,可是成本不能只有算材料,因為還需考慮撿料和預組裝的人力與時間成本。別問我應該贊助多少,我只能說,那真的非常耗時費力,提醒贊助者應該要連這個部份一起評估進去。


過去想要拍顯微影像,得一定要有顯微鏡才行啊,但這一般家庭不可能有啊,所以顯微攝影因為設備限制,所以這麼有趣的事情被封鎖在學校或是學術圈裡,因為它就是件平常人不能作到的事情。不過當人手都有平板或智慧型手機,再加上這樣的顯微鏡台之後,「顯微攝影」從枷鎖裡釋放出來了,在科學Maker社團裡,每天都會看到有人張貼他們拍攝生活周遭的顯微事物,從細沙、花草到布料,這真實的作到科學普及啊!

觀察社團裡的互動,不禁要深思了,是不是我們的學生在13歲看完蕨類孢子之後,就再也沒有碰過顯微鏡了呢。

綜合以上,這些設計足以給4顆半的星星,另外半顆等我到科學Maker社團裡集點拿到其他模組之後再給。集點?這也是我很佩服江老師的一點。

有了硬體可以拍顯微影像,然後呢?是不是拍了幾張就會把東西收起來了呢?因為江老師會陸續再設計一些模組,然後也希望這些模組能被願意持續使用與分享的人所用,所以就設計了每週主題,讓大家根據主題仔細觀察身邊事物並拍攝下來上傳社團,也就因為這樣,所以才能一直在社團裡看到大家的分享。(我真的覺得國中生物老師要學學這招)



給自己的後記
當初我做了自己那款的顯微鏡之後,我有預留一些要給我學生用來觀察,但是發現收納是個問題,因為體積大,一個紙箱裝不了幾個。後來就想到,未來要再做的話,我就會改成三角或梯形,然後不裝底板,螺絲高度從原先的會改成兩吋或兩吋半,載物台會縮小,不要再作突出的版本,所以頂板和載物台的鑽孔位置也會改。

2014年4月7日

用BKChen+Inkscape+TinkerCad製作化學結構式模型

前幾天做了《以inkscape和freecad製作化學結構式模型》,那時候毅然決然把BKChem這套軟體排除在外,但後來我發現是我沒善用它啊。

畫化學分子當然還是用專用的軟體比較好啊,所以以下第一個影片就是教怎麼畫血清素(Serotonin)的結構式囉,除了自己慢慢把環啊線啊湊在一起之外,還可以用SMILES的方式來畫。



以Serotnin這個化學分子為例,若用SMILES來描述,就只要用下面這行就可以了。
C1=CC2=C(C=C1O)C(=CN2)CCN

其他模型的SMILES描述方式,可以在Chemspider這個網站中查詢到。

不過BKChem這個軟體目前還不能接受太複雜的SMILES的表示法,像我本來想用它來畫催產素,不過就因為這個問題,所以只能認命地慢慢畫啊。

檔案儲存的格式是svg,剛好可以餵給Inkscape用。Inkscape開啟之後,先把圖形取消群組之後,把個別線條都加粗,方法是[物件/填充與邊框],然後刪掉一些不要有的元素符號,做好微調之後,就把這個圖形匯出成png檔,然後再匯回來,用[路徑/描繪點陣圖]製作封閉曲線的圖,弄好之後存檔就可以交給下個軟體了。



下個軟體用的是Tinkercad,是一個免費製作3D模型的網站。這裡會利用它來讓平面的svg變成立體的,然後再加上代表氧和氮的分子,最後再匯出成stl檔案就可以了。










(後記,後來發現這影片有點多餘,其實要把粗線條轉成路徑,只要用Ctrl+Alt+C 物件邊框轉路徑)就可以了!






2014年4月4日

imagej處理大地衛星Landsat的影像

這篇要教的是怎麼用imagej處理Landset的衛星圖像,處理是最簡單的事情,而弄懂衛星在做什麼然後選對資料下載,反而是比較難的事情。

為什麼要用Landset衛星呢?因為它是免費下載的,而且是從1972年衛星噴上去之後的圖像都可以下載。這Landset衛星目前噴上去七顆了,最近噴上去的那顆是Landset8,編號到8,但是只上去7顆是因為6號沒到軌道上,所以就沒算它了。雖說有八顆,不過目前只剩下七號和八號在運作(看這)。




2014年4月3日

用imagej分析海溫,以NASA Earth Observations為例

這篇要教學的是用imagej來測量海水溫度,這很簡單的!就把imagej放進海水就可以了啦。(最好是啦)

如果是想知道台灣的海水溫度,那就中央氣象局的海溫分析就有啦

但如果目標是全球的呢?那就要找NASA的資料了,NASA Earth Observations,簡稱NEO,要教的項目包括:

  • 如何搜尋海溫資料
  • 如何用線上工具分析
  • 如何做校正(Calibrate),製作Calibrate bar
  • 如何在NEO的FTP搜尋資料
  • 將圖片做成堆疊(stacks)的方法
  • 疊圖分析
如果用貼圖一步一步講,教的也很難,學得也困難。所以乾脆用影片來呈現,以下!



**線上工具分析



**製作Calibrate bar



**疊圖分析

你可能對這有興趣

Related Posts Plugin for WordPress, Blogger...