發表文章

pH對氣孔開度的影響

圖片
上週一個畢業生回來學校找老師,順道在操場上攔截了我,問我一個做實驗的問題。他們的實驗是觀察鴨跖草的氣孔,在不同pH值下的變化。他們發現實驗結果有點奇怪,所以這次回來剛好遇到我就順便問了我。

當下其實我也不知道實驗結果應該怎麼樣,不過回到辦公室就上網看看有沒有相關研究。結果在Research gate看到一篇研究就是做這個的

論文連結 Species-dependent changes in stomatal sensitivity to abscisic acid mediated by external pH

我翻閱之後覺得實驗方法和結果都很有意思,所以就整理如下。


這項研究的材料是鴨跖草(Commelina communis L)和阿拉伯芥(Arabidopsis thaliana),採取葉下表皮先放置在蒸餾水中等待移置。實驗分兩階段,先放在pH 5或pH 7的MES/TRIS緩衝液中三小時,讓氣孔開度進入穩定狀態(steady-state aperture value)後,測量氣孔數據後,再個別移置到不同的pH值液體中兩小時,每隔20分鐘測量一次氣孔數據。(也就是原本放在pH 5 三小時的下表皮,會被移到pH 7的溶液中放兩小時。而原本放在pH 7的會改放在pH 5。)

以下是實驗結果

首先是氣孔的寬度和氣孔面積的相關性,氣孔的寬度越大,氣孔的面積就越大






再來看浸泡在不同pH中三小時,氣孔的面積有什麼不同?看鴨跖草的黑色那兩條,泡在pH 5的比泡在pH 7的氣孔要小。而在阿拉伯芥,泡在不同pH的液體中,氣孔面積差異不大。




接下來看看泡了三小時的溶液後,改放在不同的pH中,氣孔面積有什麼變化。從pH 7到 pH 5 ,跟預測的一樣,pH降低氣孔就會關閉。但是pH 5的放到 pH7的卻沒有如預期的會讓氣孔打開,反而也是縮小。而從阿拉伯芥的實驗中,發現不同pH對氣孔的影響和物種也有關係,並非在不同物種間都有一致性的結果。



再來是圖表稍微複雜的實驗,我把兩張圖合併起來一起看。實驗方法是把泡了某pH溶液三個小時的下表皮,改放在(1)相同或不同的pH液體 (2)不同濃度的ABA中。所以每種植物就有8種不同實驗組合了。

從衛星雲圖看塔爾火山(Taal)噴發

圖片
2020年1月12日,位於菲律賓首都馬尼拉南方65公里的塔爾火山(Taal)噴發,這場噴發在衛星雲圖上也看得到。

晚上看到這消息,我立刻用python寫了script抓了氣象局的衛星雲圖來處理,除了可見光圖層沒放進來,其他都放了。(因為可見光圖層在下午四點多就變黑了)。

圖片從下午兩點開始,每個frame間隔10分鐘。
程式碼和圖片都在GitHub
https://github.com/ChihHsiangChien/volcano/

用imagej做曲率分析的原理與實作

圖片
因為有朋友的研究需進行物體的曲率測量,因此周末研究了一下到底怎麼做。
(急著想知道怎麼做的,直接到頁面最底下看。前面一大段都是原理和原理實作)

要描述一個曲線有多彎,會用到一個密切圓的概念,曲線上取三個點,三點可成一個圓(三點都在圓弧上)。三點非常靠近時形成的圓,就是曲線上該點的密切圓。

當曲線越「彎」,密切圓就越小,而曲線越「直」,密切圓就越大。一個超大的圓,大到極大,圓弧看起來就變成直線。就像地球超大,你看海面就是幾乎是水平的。


以下兩張圖,分別可以看出在這個函數的曲線上,不同點的密切圓大小不同。







那麼曲率要怎麼描述呢?可以用1/r來表示,r是密切圓的半徑。下圖的黑線處就是這個sin函數在各點的曲率變化。



上述的過程,可以看這部影片的演示




其實要分析物體的曲率變化,其實就是要用函數圖形去貼合要測量的部分,然後去分析函數的曲率變化。接下來就是函數怎麼找出來。

方法是弄出一些控制點,用這些控制點擬合出一個多項式函數。下面的影片演示的是用ggb的FitPloy來擬合數個點來產生函數,然後再對函數求出一階微分和二階微分,再用那些微分方程式算出曲率。看起來好難,但其實意外的簡單。

這個連結裡有求曲率的公式,也詳細說明了公式怎麼出來的。
如何通俗地理解曲率?


我也繼續以ggb為工具,實際計算出雞蛋的表面曲率



用數個點去找出曲線,不只一種方法。可以用貝茲曲線或是B-spine(B樣條曲線)來做。
貝茲曲線在向量繪圖軟體,如inkscape會用到。我自己以前只是會用,但是實際原理不甚清楚,這次趁著機會也下手實作了解一下。

以下影片是用ggb來實作貝茲曲線


本來也想實作B-spine(B樣條曲線),但是發現有一點複雜,可能以後用python來實作看看吧。樣條曲線的原理說明,這篇應該是最清楚的
簡單粗暴 B樣條曲線入門


寫了一大堆之後,終於要進入用imagej測量曲率的部分了。
這裡需要使用的plugin叫做Kappa,已經有人寫得非常清楚了
ImageJ实用技巧——曲率计算与拟合(插件篇)
kappa 的github https://github.com/brouhardlab/Kappa/tree/master/docs
這裡就放一段實作的教學影片吧





用imagej做熱像影像的衍射映射變形合成

圖片
直接先來看結果吧!
以下這兩張圖,一個是手機相機拍攝的影像,另一張是熱像儀(Seek thermal)拍攝的影像。兩張影像來自不同相機、不同角度、不同焦距。影像大小也不一樣。



熱像影像有物體的溫度分佈,而相機影像有物體的紋理和邊緣,如果想要同時擁有兩者的優點,就像下圖的影像,該怎麼做呢?




我們使用imagej就可以做到了。
以下是影片教學。我也同時以文字紀錄在下


首先將兩張待處理的影像用imagej開啟,在imagej上用multi-point tool在定位點上做標記。我是在拍攝前就先以錢幣定位,分析時就是用錢幣位置來定位。做影像定位的時候,要注意每個點的順序是有意義的,兩張圖的定位點要能互相對應。

定位好了,就選擇Plugin/Transform/Landmark Correspondences,注意Transformation class要選擇affine。

如此就可以將圖片變形一致了,如下圖


下一步,由於希望將兩圖合成時,由手機影像提供物體的邊緣和紋理,所以選擇手機影像檢測邊緣。方法是Process/Find edge
圖片就會成為這樣



接下來關閉其他圖片,只留下變形後的熱像影像和邊緣化的手機影像,然後將兩張圖片疊成一張stack。
方法  Image/stack/Images to stack
選項就用預設值就好

接著就可以做疊合
方法是選擇這個stack之後,選擇Image/stack/Z project
Projection type選擇 Sum slices
這樣就可以做出精確疊合的影像了




用客製化調整的負片後像程式進行探究

圖片
前一篇【python製作的負片後像GIF】,我留下了一個問題:理論上紅色的補色是青色,但是在實際觀察上,看到的卻是淡淡的青色?

為什麼是這樣?我的答案是:背景顏色影響了你!

為了想讓這樣的疑惑成為一個能被探究的問題,我需要把這個負片後像中的許多變因,改變成可以調整的操縱變因,又為了考量到跨平台操作的簡便性,於是我使用HTML5的技術製作了這個程式,電腦或平板電腦上應該都能操作。

https://chihhsiangchien.github.io/afterimage/afterimage.html
你可以線上操作,或是右鍵下載回去,可以離線操作。它就一個檔案而已,沒有其他參照的檔案。其實它也在前一篇的同一個GitHub Repository裡
https://github.com/ChihHsiangChien/afterimage

你可以任意調整背景顏色,或是球的RGB顏色。執行速度也可以調整,不過目前有bug,速度調整後,會有一些球消失。
(以下只是程式截圖,不會真的動)




這個程式可以幫助你探究什麼事呢?
從最簡單的觀察開始,任意一種顏色產生的負片後像顏色,和原有顏色有什麼關係?使用紅色的球,在什麼參數之下可以觀察到與理論相符的青色呢?固定球的顏色之後,改變背景顏色,負片後像會發生什麼變化?你觀察到的變化效果是「線性」的嗎?背景越淺效果就越好,或是其實有一個最佳背景值?不同顏色的球,產生的負片後像顏色所需要的最佳背景值都相同嗎?執行速度會影響觀察的效果嗎?速度和效果的關係是線性的嗎?

python製作的負片後像GIF

圖片
「負片後像」這個觀察,在實驗記錄本上通常都是紅花綠葉啦、或是藍色黃色的色塊等,讓學生盯著看之後,再說出看到了什麼顏色。但其實並不是每個學生都能看到所有顏色。

後來我用了這篇【負片後像新玩法】。用那隻會變色的龍貓,效果是好多了,大概能有七成到八成的學生說看得到負片後像。

但真的想回答到底看到了什麼顏色,其實還是有困難。像實驗記錄本那種圖案,就是有學生會說看不到啊。怎麼辦呢?後來看到有一個GIF檔的效果很好,就是很多顆洋紅色的球再那轉啊轉的,幾乎學生們都看得到那樣的顏色。

這給了我一個想法,不如就來做各種顏色的轉轉轉的GIF圖吧。用上了python 的 matplotlib 的animation,就可以做出各種顏色的圖了。

程式碼和圖片都在GitHub Repository上
https://github.com/ChihHsiangChien/afterimage

用了這些圖之後的學生達成率就變成百分百了,每個學生都能夠看到。我後來上課就把這些圖放到學生的自學網站上,就直接用這來進行實驗寫觀察記錄了。


這也稍微解決了一個錯誤「標準答案」的問題。我很討厭看到測驗題目問「盯著紅花綠葉看一陣子,產生的負片後像會變成什麼顏色」,討厭的原因是那個答案根本就不是正確答案!通常給的答案是什麼?看紅花綠葉的負片後像會變成綠花紅葉。但是啊,沒有人會真的看成綠花紅葉啊,因為這根本就是錯誤答案啊。

理論上的答案應該是紅色變成青色(cyan)、綠色變成洋紅(magenta)。但是實際上看了以下的GIF之後,你就會發現其實是淡淡的青色和淡淡的洋紅(或是說是淡粉紅)。

為什麼實際觀察經驗會跟理論有差距呢?這讓我忍不住繼續動手,不如就來做一個可以客製化調整參數的程式吧。

下篇【用客製化調整的負片後像程式進行探究】

流感疫苗小知識

圖片
有鑑於每年冬天都會被傳染流感,整個人病懨懨快死掉的,今年我總算在11月去打了自費流感疫苗。
打完之後,跟診所要了藥盒和仿單來看看,做個紀錄。








這次打的疫苗名稱叫做伏適流FLUARIX TETRA,是四價的流感疫苗,成份是「去活化裂解病毒粒子」。每劑0.5毫升的疫苗含有四種流感病毒株的血凝素hemagglutinin抗原各15微克。
這裡修正一下,之前以為仿單上的字寫錯了。不過後來有讀者好心來信,其實只是美式英語和英式英語的差異。

單張上寫的haemagglutinin和hemagglutinin只是英式英語和美式英語在併寫上的分別,美式英語中haem-這個prefix會寫成hem

一微克是百萬分之一克,原來只有少少的15微克血凝素,就可以讓身體產生免疫反應,身體實在太精巧了。

血凝素的中文全名叫做血球凝集素,常聽到的H1N1的那個H就是指血凝素。病毒要附著在細胞上,就要靠這種醣蛋白,這也是人體產生中和及保護性抗體反應的關鍵。

在這篇文章《流感病毒的感染以及疫苗設計的關鍵,都在於『醣』的多寡!》提到了一項研究。研究人員把禽流感病毒表面的血球凝集素(HA)醣蛋白上多醣分子修飾成單醣分子後,用來開發出來的疫苗,可以誘發高度的免疫效力。


要挑哪些病毒株來製備疫苗呢?這是由世界衛生組織(WHO)來發布建議的。在這個公告裡頭,就說了2019-2020北半球季節流感病毒株有哪些 https://www.who.int/influenza/vaccines/virus/recommendations/2019_20_north/en/
an A/Brisbane/02/2018 (H1N1)pdm09-like virus;an A/Kansas/14/2017 (H3N2)-like virus; *a B/Colorado/06/2017-like virus (B/Victoria/2/87 lineage); anda B/Phuket/3073/2013-like virus (B/Yamagata/16/88 lineage). It is recommended that the influenza B virus component of trivalent vaccines for use in the 2019-2020 northern hemisphere i…