MINC/教程/教程01
在本教程結束時,您應該熟練掌握基本 MINC 命令的使用,例如 mincresample、mincreshape 和 mincmath。
您在 MINC 中所做的所有操作都基於 Unix 的思想,即用一系列可以以多種不同方式組合在一起的小程式來解決大型問題。雖然這不是最容易學習的系統,但如果您堅持並花時間學習每個命令的各種用法,您會發現它非常靈活。
一種方法是詳盡地閱讀所有命令的手冊頁。
$ man mincinfo
當然,如果您只是開始使用 MINC,我不建議這樣做,因為在這個階段,您可能更適合透過示例學習。但是,隨著您對命令越來越熟練,您會發現這非常有用,儘管很耗時。您也可以使用 -help 標誌在命令列中快速檢視每個基本命令的幫助資訊摘要。
$ mincinfo -help
這將提供特定命令將接受的所有選項的列表,以及對其用法的簡要說明。您始終可以在手冊頁中找到更多詳細資訊。
雖然 MINC 程式是基於 Unix 哲學構建的,但由於使用 netCDF 作為底層庫,管道不受支援,這與之不同。這意味著您無法使用管道將一系列 MINC 命令的輸出連線在一起。相反,您必須始終將每個命令的結果輸出到檔案。因此,大多數命令都遵循以下約定
$ mincxxx [options] <infile.mnc> <outfile.mnc>
在某些情況下,MINC 命令將接受多個輸入檔案,因此命令將如下所示
$ mincxxx [options] <infile1.mnc> [<infile2.mnc> [...]] <outfile.mnc>
您可以使用 -help 選項確定命令遵循這兩個最常見的變體中的哪一個。使用資訊在幫助的末尾輸出。
$ mincmath -help
在這個階段,您可能想知道 [] 和 <> 括號的意義,這種符號通常用於描述命令列程式的輸入。[] 括號表示可選引數,<> 括號表示必填引數。
許多命令中都有許多通用選項。他們是
-clobber
此選項適用於輸出檔案,如果輸出檔案已存在,並且您希望覆蓋它,則應使用此選項。如果您沒有使用此選項,並且輸出檔案已存在,則會列印錯誤訊息,程式將退出,而不會執行任何操作。
-verbose and -quiet
這些選項會增加或減少命令產生的輸出量。它們不會影響命令的結果,只會影響回顯到螢幕上的資訊量。
-double, -float, -int, -short, -byte
這些選項指定您期望當前命令輸出的精度。MINC 的設計使您不必在任何階段都關心資料的型別和範圍。您的資料被定義為以實數(任何正數或負數)形式存在,並且內部會根據當前資料型別進行對映。
上圖演示瞭如何將具有 0 到 2000 實數(使用者可見)範圍的影像對映到有符號位元組資料型別中。當然,在此轉換期間,資料將被離散化為 256 個精度點。因此,使用者可以選擇每個 MINC 命令的輸出精度,如果他們在任何階段都希望獲得更高的輸出精度,那麼這是有道理的。如果未明確選擇資料型別,MINC 工具將使用第一個輸入檔案的資料型別。
-signed, -unsigned
指定是使用有符號整數型別還是無符號整數型別來儲存資料。請注意,在大多數情況下,除非資料正在準備用於特定目的,否則使用者不必指定這些選項,因為 MINC 檔案將重新調整實數影像範圍以適應無符號或有符號型別,而不會損失或增加效能或精度。當與 -double 或 -float 選項一起使用時,這兩個選項沒有效果。
-copy_header, -nocopy_header
所有 MINC 檔案都具有一個整合的標頭,其中可以包含與檔案關聯的任何數量的元資料。這些選項指定是否將此元資料複製到輸出檔案。通常,預設情況下是將第一個輸入檔案的標頭複製到輸出檔案。但是,在許多情況下,您可能不想這樣做,例如,當您從一系列輸入檔案中建立合成影像(平均值)時。在這種情況下,您可能不希望第一個檔案中的元資料資訊(包括受試者的姓名、出生日期和其他詳細資訊)被複制到您的輸出檔案。