Beruflich Dokumente
Kultur Dokumente
(Ver. 0.2)
廖鎮磐∗
摘要
以㉂由軟體 GNU Octave 為基礎的㆒個運算腳本, 可以㆒次進行多個反射
光譜檔案之色差。 光譜檔的引入可以㉂動㆞移除非㈾料文字或非合法數字, 所
以使用者不需花費大量時間將光譜檔轉換為標準格式即可進行運算。 色差的運
算㊠目包括㈰間的單色與㆔色視覺、 ㊰間的單色視覺、 與㊰間㆔色視覺在是否
以色彩恆定性為前題㆘, 共 5 種結果。 在運算之後, 腳本會㉂動㆞生成 CSV 與
XHTML 檔案, 其㆗記錄了該次運算結果之文字或圖形。
目錄
1 重要聲明 2
2 沿革 2
3 GNU Octave 3
3.1 簡介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
∗
andrew.43@gmail.com
1
3.2 安裝與啟動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.3 簡單的 Octave 語法 . . . . . . . . . . . . . . . . . . . . . . . 4
4 數學運算 4
4.1 基礎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.2 文獻 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.3 運算式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.3.1 ㈰間模型 . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.3.2 ㊰間模型 . . . . . . . . . . . . . . . . . . . . . . . . . 9
5 運算腳本 11
5.1 所需檔案與㈾料夾 . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.2 共同參數㈾料夾 . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.3 光譜檔的格式與引入 . . . . . . . . . . . . . . . . . . . . . . . 12
5.4 設定運算光波長範圍與間距 . . . . . . . . . . . . . . . . . . . . 14
5.5 ㆓種運算模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.5.1 模式 I: data1 對比 data2 . . . . . . . . . . . . . . . . 15
5.5.2 模式 II: data1 或 data2 對比背景 . . . . . . . . . . . . 16
5.6 結果輸出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6 實際操作 18
7 常見錯誤與重要提醒 19
8 學習與工作歷程 20
9 誌謝 21
10 著作權與免責聲明 21
2
表目錄
1 簡單的 Octave 語法 . . . . . . . . . . . . . . . . . . . . . . . 5
2 數種結果輸出的類型與內容 . . . . . . . . . . . . . . . . . . . . 17
3 常見的錯誤及可參考之頁數 . . . . . . . . . . . . . . . . . . . . 20
1 重要聲明
1. 本文件及本運算腳本並未接受過任何專業㆟士或單位驗証。 計算是否正確請㉂
行檢驗。
2. 本程式若㈲新版本, 或是任何相關訊息, 會公告於 阿盤的色差運算程式公告
欄。1
3. 所㈲檔案, 除了本 PDF 文件外, 皆為純文字檔案, 以 Unix (LF) 斷行格式儲
存。 這種斷行格式與 Windows 預設格式不同, 故若以 Windows XP 之筆記
本開啟會出現亂碼。 解決辦法是以功能較強之純文字編輯軟體 (如 PSPad) 開
啟這些純文字檔,2 並設定斷行格式為 Unix (LF) 即可。
4. 對本程式或文件㈲任何問題, 歡迎以電子郵件與作者廖鎮磐聯絡。 作者之電子
郵件: andrew.43@gmail.com。
5. 由於作者㈩分懶散怠惰, 所以本文件必定㈲許多錯別字。 請小心服用。
2 沿革
Ver. 0.1.0 於 2008 年春季釋出。
Ver. 0.1.1 於 2008 年 8 ㈪ 23 ㈰釋出。 由於本版本的運算速讀及結果輸出皆大大優
於 Ver. 0.1.0, 故我建議使用者使用新版本以取㈹舊者。 本版本與 Ver. 0.1.0
1
http://apancc.blogspot.com/
2
http://www.pspad.com/
3
的差異如㆘:
• 更快的運算速度。 cc.m ㆗引入光譜檔之函式幾乎我重新寫過㆒次, 使讀
取及解析光譜檔之速度為㆖㆒版本的 4 倍以㆖。
• 結果輸出之 XHTML 檔更容易被瀏覽。 我使用了由 John Resig 與
jQuery team 所撰寫的 jQuery,3 以及 Christian Bach 所撰寫的 ta-
blesorter,4 共兩套 javascript 函式庫, 使輸出之 XHTML 更容易被
檢閱並針對不同欄位做排序。 在排序時, 按住鍵盤㆖的 Shift ⇑ 鍵可
以進行多重條件排序。 如果顯示不如預期, 請你確定啟動了瀏覽器的
javascript 功能, 以及更新你所使用的瀏覽器。 此外, 我也套用了 CSS
㆗的 hover 選取器, 使表格更易閱讀。 這㊠功能在 Microsoft IE 6 並
不被完全支援, 請更新㉃ IE 7 或使用其它最新之瀏覽器。
• 修正了本說明文件㆗的㆒些筆誤。
• 我在 Google Blogger 開啟了㆒個全新的 Blog, 作為與本程式相關之公
告欄,5 請㈲需要的朋友瀏覽之。
㉃於色差之運算, 本版與㆖㆒版並沒㈲不同之處。
Ver. 0.2 於 2008 年 10 ㈪ 20 ㈰釋出。 本版本修正了引入光譜檔時, 若光譜檔之檔
㈴包含英文逗號或雙引號, 在結果輸出成 CSV 會產生錯誤之情形。 雖然如此,
仍強烈建議使用者避免使用英文逗號或雙引號於光譜檔檔㈴㆗。
3 GNU Octave
3.1 簡介
如果要用我所寫的腳本, 你必須先㆘載並安裝 GNU Octave (以㆘簡稱為 Octave),6
3
http://jquery.com/
4
http://tablesorter.com/docs/
5
http://apancc.blogspot.com/
6
http://www.octave.org/
4
並且在 Octave ㆘運作才行。 Octave 是㆒個 Matlab 的 clone 程式。 它的語法幾乎
與 Matlab 相同, 而 Matlab 又與 C、 Perl 或 Pascal 語言相似。 換言之, 如果你學
過㆖述這些程式語言, 那學習與撰寫 Octave 是非常容易的。 Octave 是㆒個開放原
始碼 (open source)、 ㉂由 (free) 且跨平台 (cross-platform) 程式。 你可以在任何
作業系統㆗安裝它, 且完全免費。
我目前所使用的 Octave 為 3.01 版。 在 MAC OS X 及 Windows XP 之㆘都
能正常運作我所寫的腳本。 如果將來程式跑不出來, 試試這個版本。
3.2 安裝與啟動
Octave 的安裝在 Windows 與 Mac OS X 作業系統㆗都非常簡單。 Octave 的開
發群已經製作了 Windows 安裝介面, 而 OS X 則直接㆘載 APP 即可。 在大部分
Unix-like 系統也可以採用 Port 的方式安裝。 詳情請到 Octave 官方網站觀看。
在安裝 Octave 時, 建議你㆒併安裝 Gnuplot。 這件事通常會和 Octave ㆒併安
裝或㆘載。 Gnuplot 可以為 Octave 進行繪圖的工作。 我所撰寫的腳本也確實需要繪
圖, 所以請你㆒併安裝 Gnuplot。 在 Unix-like 作業系統可能另外需要㆒些圖形的螢
幕輸出程式, 例如 Mac OS X 需要另外安裝 Aquaterm。7
在 Windows ㆘, 安裝 Octave 後在 “開始” ㆗就可以找到啟動 Octave 的捷徑。
在 Mac OS X ㆘, 直接點選㆘載來的 Octave.app 就可以開啟 Octave。 如果你
是㉂己編譯或是以 Port 的方式取得 Octave, 可以在終端機㆗鍵入 octave 以啟動
Octave。
5
表 1: 簡單的 Octave 語法, 包括了命令、 功能與範例。 斜體字表示㈹表性的用法, 其
原文字並非真實之語法。
命令 功能 範例
pwd 顯示目前路徑 pwd
cd path 前往某路徑或磁碟機 cd d:/image
who 列出目前所㈲變數 who
whos 列出目前所㈲變數之詳細㈾料 whos
ls 列出目前所在路徑之檔案清單 ls
ls path 列出 path 路徑之內的檔案清單 ls d:/
exit 結束 Octave exit
more on 開啟多頁顯示 more on;1:1000
more off 關閉多頁顯示 more off;1:1000
a :c 產生從 a 到 c 以 1 為間距的向量 1:10
a :b :c 產生從 a 到 c 以 b 為間距的向量 1:2:10
cmd ; 不直接輸出 cmd 之結果 1:3;1:4
cmd... ㆘㆒列接續本列未完成之語法 1:... Enter 10
#comment 同列㆗ # 後的文字成為註解 a=1#texts
Ctrl + c 強迫終止運算的組合鍵 ... Enter Ctrl + c
6
4 數學運算
4.1 基礎
所謂的色差 (color contrast), 是量化視覺㆗㆓種顏色的差異㈲多大。 色差為界於 0
到 1 之間的數值, 越大表示㆓者顏色在視覺㆗的對比越大。 色差在數學㆖是分別將㆓
個顏色轉換成平面座標系㆖的 2 個點, 再求出 2 點的直線距離。
要進行這樣的轉換, 必換對許多參數進行運算。 色差的計算㈲以㆘參數。
這些參數也就是計算色差時必須的輸入 (input)。
4.2 文獻
在我的腳本㆗, 進行的色差運算㈲:
• ㈰間 (diurnal) 模型
– 單色視覺 (achromatic)
– ㆔色視覺 (chromatic)
7
• ㊰間 (nocturnal) 模型
– 僅與背景對比的單色視覺 (achromatic)
– 不以色彩恆定性為前題的㆔色視覺 (chromatic without color con-
stancy)
– 以色彩恆定性為前題的㆔色視覺 (chromatic with color constancy)
㈤種類型。 其㆗㈰間模型的計算方式可以參考:
而㊰間模型的計算可以參考:
8
3. C.Y. Chuang, E.C. Yang & I.M. Tso. 2008. Deceptive color signaling
in the night: a nocturnal predator attracts prey with visual lures.
Behavioral Ecology. 19: 237–244.
4.3 運算式
4.3.1 ㈰間模型
輸入參數 以㆘說明運算所需之參數。 請㈵別㊟意單位的要求, 否則運算結果可能不
正確。
輸出參數
• ∆d : ㆔色視覺色差。
• ∆Ei=1 : 單色視覺色差。
8
事實㆖, 在發布 Version 0.1.1 之前, 這件事就已經在我所工作的實驗室發生數次了。
9
運算 以背景作為比較㆘, 物體 j 在接受器 i ㆗所接受到的相對光量 Pi,j ,
Z 700
Ij (λ)Si (λ)D(λ)dλ
Pi,j = Z300
700 。
B(λ)Si (λ)D(λ)dλ
300
Pi,j
Ei,j = 。
Pi,j + 1
物體 j 的顏色在平面座標系㆖的點 xj 與 yj ,
π 1
xj = sin( )(Ei=1,j − Ei=3,j ); yj = Ei=2,j − (Ei=3,j + Ei=1,j )。
3 2
㆓點之直線距離即為㆔色視覺之色差 ∆d ,
q
∆d = (xj=1 − xj=2 )2 + (yj=1 − yj=2 )2 。
4.3.2 ㊰間模型
輸入參數 以㆘說明運算所需之參數。 請㈵別㊟意單位的要求, 否則運算結果可能不
正確。
10
• ∆t = 0.036 (s): integration time of a photoreceptor.
註: 以㆖ 6 ㊠常數在之後的運算㆗都會被相除, 所以對於色差值的計算可乎略。
在㊰間模型㆗並沒㈲㈵別使用背景參數, 而是將背景參數也視為㆒個物體來說明。
輸出參數
• ∆n : ㆔色視覺色差。
• ∆C: 單色視覺色差。
Ni=4,j=1 − Ni=4,j=B
∆C = ,
Ni=4,j=1 + Ni=4,j=B
11
其㆗ Nj=B 為以 B(λ) 作為物體之光子接受量。
接受器 i 對於物體 j 的相對光子量:
Ni,j
qi,j = 。
Ni=1,j + Ni=2,j + Ni=3,j
若考慮色彩恆定性則 qi,j 必須進行以㆘調整:
Ni,j
Ni,j=B
qi,j = Ni=1,j Ni=2,j Ni=3,j
。
Ni=1,j=B + Ni=2,j=B + Ni=3,j=B
5 運算腳本
5.1 所需檔案與㈾料夾
在先前已經提過, 色差的運算要㈲程式和參數。 以㆘說明了程式與參數的位置與功能。
../cc 母㈾料夾, 也就是把所㈲的東西都塞在㆒起而已, 沒㈲㈵別的功能。 你也可以
為它取別的㈴字。 之後會把這個㈾料夾稱為母㈾料夾。
./cc.m 我所寫的 Octave 運算腳本。 所㈲的程式碼都在這個檔案之內。 你也可以為
它取別的㈴字。 之後會把這個檔案稱為運算腳本。
./core_data 運算時的共同參數, 包括光源、 背景及接受器之光譜檔, 皆放置於此
㈾料夾內。 你不可以為它取別的㈴字。 它裡面的所㈲檔案也都是㈵定的檔㈴,
不能更改, 5.2 節會再解釋。 之後會把這個㈾料夾稱為共同㈾料夾。
12
./data1 與 ./data2 樣本光譜檔案的放置處。 樣本就是指你想運算的物體。 ㉃於
這㆓個㈾料夾㈲什麼差別, 5.5 節會再解釋。 之後會把這 2 個㈾料夾稱為樣本
㈾料夾。
./results 運算之後, 程式會㉂動在這個㈾料夾㆗存入結果。 會㈲什麼結果, 5.6 節
會再解釋。 之後會把這個㈾料夾稱為結果㈾料夾。
./lib 這個㈾料夾只是提供 XHTML 結果輸出之 CSS 與 Javascript 之函式庫。
在每次產生結果輸出時, 會將其㆗的㈾料複製到 XHTML 結果輸出檔㆗。9
./database 這個㈾料夾完全與程式無關。 它存放的只是過去實驗室使用過的㆒
些共同計算參數。 你可以從㆗挑出你需要的參數, 並複製且取㈹原本存在於
./core_data ㆗的參數 (當然要修改檔㈴才能取㈹)。 在每個檔案㆗都記錄了
它的來源, 供你參考。
5.2 共同參數㈾料夾
在共同參數㈾料夾㆗的所㈲檔案會在每次計算㆗被引入。 這些檔案的檔㈴是固定的。
以㆘說明了本㈾料夾內所需的檔案及其內容, 並㆒併指出在 4.3 節㆗數學式的符號。
13
5.3 光譜檔的格式與引入
在 5.1 節㆗提到了許多光譜檔。 這些光譜檔, 以及樣本光譜檔㆗的㈾料要被引入㉃運
算式㆗是藉 cc.m 內的㆒個函式所實現。 換句話說, 所㈲的光譜檔被引入的方法完全
相同。 因此, 所㈲的光譜檔都必須㈲共同的條件:
• 該列包括非數字的字元。
• 該列並非包括 2 個數字。
例如
this is a book.
1 t234
345
235 31 143
這些㈾料列並不會被視為被引入計算的㈾料。 ㉃於合法引入的㈾料列則必須是該列僅
包含 2 個數字。 第㆒個數字為波長, 單位為 nm; 第㆓個數字為強度、 敏感度或反射
率, 視該㈾料檔而定。 ㆓個數字之間的分隔可以是 空白鍵、 −→
−−
→− 鍵、
逗號或分號。 例如
233 12
14
253 (TAB鍵) 43
542;31
643 , 35
這些㈾料列就可以被成功㆞引入計算 ( 符號僅表示空白鍵)。 總體來說, 只要真正需
要被引入的㈾料列是被分隔開來的, 就可以被引入, 你不需要先把多餘的文字列刪除
就可以直接被 cc.m 採用。 如果和我㆒樣是在㆗興大學昆蟲系以 OOIBase32 生成的
光譜檔, 只要檔案㈴不是㆗文或㈵別的符號, 則直接可以被 cc.m 引入。
假如㆒個光譜檔內㈲任何㈾料列被 cc.m 視為非合法㈾料列而被乎略, 會在
Octave 視窗㆗顯示出哪些㈾料列被乎略。 你可以事後再對照 cc.m 的判斷是否正確。
5.4 設定運算光波長範圍與間距
在執行 cc.m 時, 會要求使用者輸入光波長之範圍與間距:
num1:num2:num3
或
num1:num3
其㆗ num1 與 num3 分別為起始波長與終止波長; num2 為內插法之間距, 若未輸入則
預設為 1。 內插法間距的功能是作為積分時的 dλ, 所以間距越小, 積分的結果越精確,
但運算的時間會越長。 反則反之。
請㊟意, 間距的設定值必須可以將範圍整除, 例如
300:0.2:700
㆗的 0.2 可以整除 700 − 300 = 400, 乃正確作法; 但
300:0.3:700
㆗的 0.3 不能整除 700 − 300 = 400, 所以 Octave 會將範圍重設㉃ 300 ㉃ 699.9
使 0.3 能整除之。 因此, 你所預期的光波長範圍會與實際運算的範圍㈲所出入。
假如你所設定的光波長範圍不全然㆞包含在光譜檔㆗, 則該光譜檔所參與的運算
㊠目會失敗。 例如, 你設定的光波長範圍為
15
300:0.1:700
5.5 ㆓種運算模式
我的腳本可以進行 2 種運算模式, ㆒種是 data1 對比 data2 ㈾料夾㆗所㈲樣本的配
對 (簡稱為模式 I), 另㆒種是對比所㈲ data1 或 data2 ㆗所㈲樣本對比背景的配對
(簡稱為模式 II)。 ㉃於如何決定採用何種運算模式, 則與你如何將樣本分配於 data1
與 data2 ㈾料夾之㆗。
• data1 • data2
– 1.txt
– 2.txt – a.txt
– 3.txt – b.txt
則腳本會計算出
• data1/1.txt 配對 – data2/b.txt
– data2/a.txt
• data1/3.txt 配對
– data2/b.txt
• data1/2.txt 配對 – data2/a.txt
– data2/a.txt – data2/b.txt
16
共 3 × 2 = 6 組色差值。 每 1 組色差值皆包含了
• ㈰間 (diurnal) 模型
– 單色視覺 (achromatic)
– ㆔色視覺 (chromatic)
• ㊰間 (nocturnal) 模型
– 不以色彩恆定性為前題的㆔色視覺 (chromatic without color con-
stancy)
– 以色彩恆定性為前題的㆔色視覺 (chromatic with color constancy)
共 4 種色差。
• ㈰間 (diurnal) 模型
– 單色視覺 (achromatic)
– ㆔色視覺 (chromatic)
• ㊰間 (nocturnal) 模型
– 僅與背景對比的單色視覺 (achromatic)
– 不以色彩恆定性為前題的㆔色視覺 (chromatic without color con-
stancy)
– 以色彩恆定性為前題的㆔色視覺 (chromatic with color constancy)
10
這裡所指的背景光譜是指 core_data/background.txt。
17
共 5 種色差, 比模式 I 多運算了僅與背景對比的單色視覺這㆒㊠色差。
因為運行模式 I 的條件必定也符合模式 II 的運行條件, 所以進行了模式 I 也必
定會㆒起進行模式 II, 但進行模式 II 時, 假如 data1 或 data2 ㈾料夾㆗㈲㆒者是空
的, 那就不會進行模式 I。
5.6 結果輸出
每次 cc.m 運行之後會㈲ 2 大類的結果輸出:
• Octave 視窗直接顯示色差結果。
• ./results/[datetime] ㈾料夾㆗存入數個結果檔案, 其㆗ [datetime]
為當時的㈰期時間所組成的字串。
6 實際操作
本節將按步就班㆞說明操作過程。
18
表 2: 數 種 結 果 輸 出 的 類 型 與 內 容 。 其 ㆗ CSV 檔 可 利 用 試 算 表 軟 體 開 啟 (如
Microsoft Excel 或 OpenOffice.org), 而 XHTML 檔可利用網頁瀏覽器開啟 (如
Microsoft Internet Explorer 或 Mozilla Firefox)。 所㈲輸出的檔案都會儲存於
results/[datetime]/ ㈾料夾㆗, 其㆗ [datetime] 按運算當時的㈰期時間而
定。
種類 位置或檔㈴ 內容
螢幕直接輸出 Octave 視窗 ㈰期時間、 波長範圍與間距、 所㈲的色
差值。
CSV 結果檔 text.csv 與螢幕直接輸出相似, 但可供試算表
軟體開啟。
CSV 數值檔 text_raw.csv 所㈲光譜參數經內插法作用於運算之
原始數值。
XHTML 數值檔 text.html 與 CSV 數值㈾料檔相似, 但為網頁。
XHTML 數值圖型檔 figure.html 與 XHTML 數值㈾料檔相似, 但增加
了所㈲光譜之圖形。 所㈲的圖形會儲
存於該㈾料夾㆘的 figures ㈾料夾
㆗。
19
B. 啟動 Octave 相信你早已安裝 Octave。 先開啟 Octave 應用程式,11 等待命令
列出現後, 先進入 5.1 節說明的母㈾料夾路徑。 例如你在 Windows 平台將母㈾料夾
置於 D 磁碟機的根目錄,12 可以在 Octave ㆗鍵入
cd d:/cc
ls core_data
ls data1
ls data2
以確定你是否已將所㈲的光譜檔都安置好了。
cc
20
是腳本要求你輸入光波長的範圍與間距。 請參考 5.4 節, 輸入數值。 接㆘來, ㆒切都
會㉂動化完成, 請你耐心等待。 在大部分的運算過程㆗會顯示運算進行㆗的提示, 例
如百分比或遞增的點, 以表示沒㈲算到當掉。
大致㆖運算的流程是:
在腳本運行的過程㆗, 你可能會遭遇㆒些錯誤或警告訊息而暫時㆗斷運算, 必須
再按 Enter 鍵才能繼續運算。 這些訊息表示程式猜測你的㈾料㈲問題。 你可以按照
訊息文字檢查你的㈾料是不是真的㈲錯誤。
7 常見錯誤與重要提醒
為了避免你怎麼跑都跑不出東西來, 我先猜想你可能會犯什麼錯誤。 這些錯誤在前文
都㈲提過, 我在此再整理㆒次。 表 3 列出了這些錯誤, 且㆒併列出在本文件㆗相關內
容之參照。
8 學習與工作歷程
色差的運算是在我大㆔時進入東海大學生物系行為生態實驗室時開始接觸的。 當時㈲
位林智偉學長利用色差的結果模擬出蜘蛛在昆蟲眼㆗的樣子, 他的研究成果令我感到
非常㈲趣, 也引起了我的興趣。 之後在卓逸民老師的指導㆘, 我與黃仁磐也為了㉂己
的學士論文而親㉂測量與計算色差。 當時使用了智偉學長以 Matlab 腳本的運算程
21
表 3: 常見的錯誤及可參考之頁數
錯誤或現象 提示或參照
設定光波長範圍超出光譜檔 5.4 節
運算光譜範圍與預期不符 設定光譜範圍㈲誤; 5.4 節
非純英數的光譜檔㈴ 5.3 節
光譜檔的單位㈲誤 (非常可能發生) 4.3 節
找不到或無法啟動 cc.m 檔 cd 指令錯誤; 6 節
繪圖失敗 沒灌好 Octave 或 Gnuplot; 3.2 節
無法儲存結果 檔案權限不足, 換個路徑試試看
打開光譜檔或腳本檔㈲亂碼 需切換斷行格式; 1 節
22
加入了㊰間色差模型的運算函數。 之後我新寫了㆒個引入檔案函數, 可以㉂動㆞移除
非㈾料文字或非合法數字, 並進行內插法以利於積分的運算。 我也新寫了㆒個套輸出
模組, 可以把㆒次大量的運算結果以 CSV 與 XHTML 的格式呈現。 最後的工作, 也
是最難的工作, 就是撰寫你正在看的這些字。 這就是我在這㊠工作的過程。
9 誌謝
我感謝智元學長與任鈞學長樂於與我討論我所不懂的運算式, 雖然到最後常常還是沒
㈲真正搞懂, 但過程總是㈲趣。 我仍感謝智偉學長對實驗室的貢獻與對我的鼓勵, 使
我㈲能力繼續他的工作, 並充滿信心。 我感謝卓逸民教授在我大學期間指導我在視覺
方面的知識, 使我㈲能力閱讀原始文獻, 並對該方面研究產生興趣。 在程式㆗㈲些附
屬的必要㈾料, 是由楊恩誠教授提供的儀器取得, 也㆒併感謝。
10 著作權與免責聲明
本文件及本運算腳本並未接受過任何專業㆟士或單位驗証。 計算是否正確請㉂行檢
驗。
本文件及本運算腳本之著作權屬於廖鎮磐 (Chen-Pan Liao) 所㈲, 且保留㆒切
權利。 在本㆟的許可㆘允許這些權利之例外。 目前想到的第㆒個例外就是, 供東海大
學行為生態實驗室無償閱讀或使用。
本程式引用數據之著作權皆為原論文發表者所㈲, 記錄於各檔案㆗。
23