2013年4月25日 星期四

[Arduino] IR XCANNER - 紅外線偽X光機



在醫院裡 x 光掃描是一種廣泛使用的檢測技術,
但它卻有使用技術門檻高、放射線對人體有危害等缺點。
這個實驗利用人體肌肉組織與骨頭對於紅外線的通透性不同的特性,來達成 x 光機的效果。

這個想法來自於紅外線脈搏計,
既然紅外線可以穿透肌肉組織而被骨頭反射,
這不就正好與X光攝影的原理相似嗎?
所以可以用紅外線來完成X光的工作嗎?

上Google找了找好像並沒有人做過類似的東西,
那就自己來實驗看看囉。




最初的想法是利用與紅外線光電晶體直徑相同的圓點來顯示所接收到的光能量,
實際運作時一根手指頭的寬度上大概只取出三個點的數值,
雖然解析度相當差(只有16*20點),但也真的印證了這個想法是可行的,
一根手指寬度上的三個點顯示出「亮、暗、亮」的分佈,
即中間較暗的地方為骨頭所在的位置。

第二台機器把掃描步距縮短,一個手掌的寬度走了320步,
分析手掌四指部份的面積解析度來到16*320點。
此外,也把掃描平台架上壓克力板,
避免掃描時手掌晃動,造成畫面不佳。




此時已經大致可以顯示出骨頭的形狀,
甚至是關節位置也可以看見了。




相機的感光元件可以接收到紅外線,
但這張照片給了我個想法:
是不是用亮度夠高的可見光也可以達成相同的效果呢?




上方的紅外線光源:紅外線發光二極體(Infrared LED)




下方則是感光元件:紅外線光電晶體(Infrared Phototransistor)




LED的驅動電路,同時使用了42顆LED,
為了讓LED能夠操作在所能承受的最大亮度,
需要一個相當穩定的電流源,要不一個不小心就燒光光了。

取出原始資料後就可以來變花樣了




處理原始的資料,分成四種模式。




未經過處理的原始圖




單獨取出肌肉組織的位置




單取骨頭的形狀




肌肉與骨頭的比較圖




這是第一張原始圖由低角度的方向觀看螢幕的結果,
這是最清楚的觀察方式。
(明明就是Coding功力還不到家)




加上外殼之後,
看起來就像是個會把手掌吃掉的機器哈哈。




展覽時所製作的海報

靠這種手工土砲方式要再提昇解析度就是把光電晶體改成SMD元件了。
或者利用紅外線攝影來拍攝,會是什麼結果呢?


作者:王騰毅、陳彥儒、傅泓榤


紅外線LED---2元/顆
紅外線光電晶體---2元/顆
Arduino Mega 2560
3.2吋 LCD
LM317 (LED Driver)---40元/顆
L298  Motor Driver
廢棄DVD播放機、光碟機