2018年12月24日

使用imagej的plugin TrackMate追蹤細胞

最近一個網友來信問用imagej追蹤細胞的問題,他的材料是一群T cell。在fiji的plugin中,有數個做tracking的plugin,設定最簡單的應該是MTrack 2,不過我一直沒有用這個東西做成功,而且MTrack2的網路資料也好少,很難找到參考文章。

所以後來我用一個設定很複雜的plugin,叫做TrackMate。雖然設定很複雜,但是還好有夠多的文章可以看怎麼做。例如這個 Getting started with TrackMate

做細胞或是物體追蹤的流程,大致上是這樣,要先偵測追蹤的物體在哪,然後把不同frame的同一物體辨識出來成為一個track。

其中還會遇到一些問題,比方說有些物體在某些frame會消失或是快速移動,想像一下拍攝車輛的影片,可能車輛會突然加速或被遮擋。或是某些物體會在途中突然變成兩個,例如細胞分裂的時候,從一個細胞變成兩個細胞。上述這些問題在TrackMate中,都有解決的方式,不過以下的教學影片就沒講到這個東西,反正還沒遇到。


在影片中會提到偵測物體的演算法,有幾個如下。不同的方法偵測的物體,各有所長,也些適合偵測大的,像是The Downsample LoG detector,而DoG detector就適合偵測小的。

  1. DoG detector:對於小尺寸(5 pixels)的追蹤很快
  2. LoG detector:5~20 pixels
  3. The Downsample LoG detector:大於20 pixels
詳細的處理就請看影片

小魚尾鰭血流觀察,印出尾鰭畫流向。

這幾年做小魚尾鰭血流觀察活動所建立的課程流程,我覺得還不錯。

  1. 讓學生拿手撈網在校園水池中自己撈小魚
  2. 小魚放在封口袋中保定
  3. 自製的倒立顯微鏡讓學生用iPad觀察與錄影紀錄血液流動
  4. 小魚放回水池後,再利用錄影放大與回放的功能,進一步看仔細血液流動

今年再多做一件事,讓學生把影片放大截圖印出來,然後對照影片,直接在印出的紙上標記血流的方向和位置。其實這是有點難度的喔,學生在這個活動中得要很用心才能找到目標的血管,並且透過回放檢視來看仔細這些細微構造,對於培養學生的專心與耐心是很有幫助的呢。










用3D列印模型學習心臟結構

在學習心臟構造的時候,學生有一個學習困難點就是看不懂圖。雖然課本上的圖畫得很詳細,但就是因為太詳細才會看不懂。

這張圖是以前我用inkscape畫的,已經懂心臟構造的人看這圖片當然看得懂,但是對於學習的新手而言有一定的理解困難之處,我認為其中一個原因是「立體結構變成平面」所造成。

克服這樣的困難點也不是沒辦法,我的話就會先從心臟的簡圖開始教起(一個愛心切成四個房間...),有興趣的可以看我給學生看的這個教學影片

heartDraw


認得心臟結構,然後呢?以往我可能就會帶學生示範解剖豬心或雞心
豬心解剖 http://youtu.be/O2ZZC3xuvn8 12:45
雞心解剖 http://youtu.be/Xuv_KQoql44 06:25
解剖熟豬心的切法 https://youtu.be/0qTGV5GSAdw 03:36

但是後來我總覺得在學習心臟結構之後,應該還可以有個什麼動手的活動,讓學生能知道心臟到底內部是怎樣的,畢竟實際內臟還是有點不是那麼容易懂。

這樣的想法在心裡頭留著,可是還是沒有具體想法,所幸在thingiverse這個蒐羅了許多3D模型檔案的網站上看到了這個 Anatomical Heart,作者說這是透過MRI實際掃瞄出的影像建出的模型,然後有經過清理和簡化的。我印了一組,沒想到花了超多時間。這個心臟共切三塊,每一塊就花了我六七個小時,所以一顆心臟印下來得花上兩天的時間。印了這個多,就知道花了數週的時間了。



那麼這些心臟怎麼在教學上使用呢?我是讓學生拿著電線或迴紋針,讓他們從靜脈穿入心臟後,看看線可以穿到心房然後到心室,再從動脈出來。

不過一開始要教學,當然還是要個別化教學囉




學生就拿著iPad播放我的影片,然後一邊看一邊學。他們要準備貼紙寫上左心房、左心室...等,然後先認識心臟的腔室後,貼上貼紙,再用線穿來穿去,找到動脈、靜脈...。附帶一提的是,線材建議用的是多芯線,這種才夠軟,可以在腔室裡轉來轉去。








學生看完影片,插完心臟也不是沒事,他們得再用iPad錄製一段解說影片才行。目的很簡單,看是一回事,但是要能講才是真的學會。




他們的影片再一起用同一帳號上傳到youtube
這就是成果的播放清單了





2018年11月27日

用imagej的z project分析小魚尾鰭血液流動影片,...

數週前第一次用imagej的Z project的standard deviation模式做影片疊圖,覺得在處理影片上能夠看到很特別的資訊。(那次的經驗是處理小p的影片,請見此文章

這個standard deviation的特色是讓影片變動的部份變得明顯,而不變的部份則不明顯。

最近讓學生拍小魚尾鰭的血液流動影片時,突然想起可以用imagej來分析看看,也許可以血管抓出來?不過這次分析的影片是用一年前拍攝的孔雀魚尾鰭血液流動,可見微血管


流程就如上次做《用Imagej疊圖看水波干涉的腹線(antinodal line)》那樣,到最後一步選的是standard deviation。

影片長度很長,代表影格也很多,不過並不是每個影格都適合拿來做處理,因為我需要的穩定拍攝的畫面,也就是魚鰭不動,純粹只有血液流動的畫面。

以下分別是取出100張、500張、1000張、2000張影格疊出的畫面。從100張影格疊出的畫面,的確很容易就看到近乎平行的數條血管,而且也能夠看出橫向的微血管。隨著疊加的影格越多,我發現血管之外的好幾個圓圈圈也越來越明顯,意味著在長時間的變化下(約1分鐘),那個圓圈圈是會變動的!


100 frames

500 frames

1000 frames

2000 frames


欸?引發我的好奇心,那到底是什麼?回去影片仔細觀察,原來是魚鰭上的色素細胞。在觀察血液的時候,根本就沒有留意到這個構造是會改變形狀的。當我再仔細觀察影片,才發現它們可真的會變大變小的,而且有件事讓我疑惑,本來我以為所有的色素細胞改變會是一致的,不過仔細去看才發現是有的會變大,有的會變小,看來有些事情可以拿來研究研究了。

2018年11月21日

用OpenSCAD設計聽診器的耳塞頭

也不知道是什麼神秘力量,是學生的耳朵裡長牙齒嗎?聽診器插入耳朵的部分居然會爆裂?
一時也沒想到去哪買這個頭?我想是可以去買耳機的耳機套來替換啦,不過短期之間就先用3D印表機來印一個吧。


使用OpenSCAD來寫程式生成模型吧



OpenSCAD的Code如下,放入OpenSCAD之後再存出stl檔就可以拿去印了。用pla印出的東西好不好塞入耳呢?坦白說印出來的東西硬硬的,短暫使用算是可以,但是耳朵會有點不舒服,也許改用軟料列印會好一點。



difference(){
    translate([0,0,0.5])
    rotate_extrude(covexity= 10,$fn=100){
        translate([1,0.5])
        minkowski(){
        polygon(points=[[0,0], [2,0],[4,2],[2,11],[0,11]]);
        circle(r=1);   
        }
    }
    cylinder($fn = 100,h=14,r1=2.5,r2=2.5);
}

你可能對這有興趣

Related Posts Plugin for WordPress, Blogger...