複製鏈接
請複製以下鏈接發送給好友

HDF

鎖定
Hierarchical Data Format,可以存儲不同類型的圖像和數碼數據的文件格式,並且可以在不同類型的機器上傳輸,同時還有統一處理這種文件格式的函數庫。大多數普通計算機都支持這種文件格式
中文名
HDF
外文名
Hierarchical Data File
簡    介
可以存儲不同類型的圖像
靈活性
允許用户把相關的數據對象組合
自述性
文件裏的每一個數據對象

HDF背景及簡介

文件格式是指計算機存儲和處理數據的方式 。目前常用的圖像文件格式很多, 如 GIF , JPG , PCX ,TIFF 等 。這些格式共同的缺點是結構太簡單 ,不能存放除影像信息外其他的有用數據 ,像遙感影像的座標值、參數等都無法在其中保存 ,而且用不同格式存儲影像數據使得讀取 、傳輸、共享變得複雜, 因此,有必要建立一種標準格式以解決上述問題。
HDF(Hierarchical Data File)是美國國家高級計算應用中心(National Center for Supercomputing Application,NCSA)為了滿足各種領域研究需求而研製的一種能高效存儲和分發科學數據的新型數據格式 。HDF可以表示出科學數據存儲和分佈的許多必要條件。HDF被設計為:
自述性:對於一個HDF文件裏的每一個數據對象,有關於該數據的綜合信息(元數據)。在沒有任何外部信息的情況下,HDF允許應用程序解釋HDF文件的結構和內容。
通用性:許多數據類型都可以被嵌入在一個HDF文件裏。例如,通過使用合適的HDF數據結構,符號、數字和圖形數據可以同時存儲在一個HDF文件裏。
靈活性:HDF允許用户把相關的數據對象組合在一起,放到一個分層結構中,向數據對象添加描述和標籤。它還允許用户把科學數據放到多個HDF文件裏。
擴展性:HDF極易容納將來新增加的數據模式,容易與其他標準格式兼容。
跨平台性:HDF是一個與平台無關的文件格式。HDF文件無需任何轉換就可以在不同平台上使用。
科學家通常在不同的機器上生成和處理數據文件。各式各樣的軟件包被用來多種處理文件,同時也與其他使用不同機器和軟件的人共享數據文件。在一組文件裏,這些文件也許包含不同類型的信息。這些不同類型的信息混合結構在一個文件裏的意義與在另一個文件裏的意義不同。這些文件也許概念上有關但在實質上卻不同。例如,一些數據(符號、數字和圖形)也許在不同文件中被分開,但在程序中卻是在一起。有些數據也許在科學家的概念中是相關的,但實際上並不存在物理聯繫。HDF通過提供一個一般目的的文件結構來表明這些問題:HDF為程序提供一個從數據文件本身獲取數據(數據元)信息的機制,而不是其他來源 [1] 
使用户把不同來源的混合數據存放在一個文件裏,同時也可以把數據和與之相關的信息存放在不同的文件裏,即便是用同一個應用程序也可以處理這些文件。常用的許多類型數據集,如光柵圖像多維數組,對其格式和描述實行標準化。支持使用標準的數據格式,因為所有的機器和程序都會生成一個有明確含義的數據文件。HDF實質上能被用於任何類型的數據 [1] 
HDF 最初產生於 20 世紀 80 年代 , 到現在已經具有兩個不同的產品。從 HDF1 到 HDF4 的各個版本在本質上是一致的 , 因而 HDF4 可以向後兼容早期的版本 。HDF5 推出於 1998 年, 相較於以前的HDF 文件, 可以説是一種全新的文件格式, 它與HDF4 只在概念上一脈相承 ,而在數據結構的組織上卻截然迥異。HDF5 的產生與發展反映了 HDF 在不斷適應現代計算機發展和數據處理日益龐大複雜的要求。HDF5 緊跟時代變化也為其自身注入活力,使它被愈來愈多的領域採納、運用 ,許多遙感影像採取HDF 格式存取, 一些大的圖像處理軟件也開始提供接口讀取 HDF 文件。 HDF 強大的機制適應了遙感影像的特點 ,能夠有條不紊 、完備地保存遙感影像的屬性和空間信息數據 , 同時使查詢和提取相關數據也很方便容易 。

HDF數據類型

HDF提供6種基本數據類型:光柵圖像(RasterImage),調色板(Palette),科學數據集(ScientificDataSet),註解(Annotation),虛擬數據(Vdata)和虛擬組(Vgroup) [1] 
RasterImage數據模型被設計成能為光柵圖像數據的存儲和描述提供一個靈活的方法,包括8比特和24比特光柵圖像。Palette作為顏色查找表提供圖像的色譜。它是一個表格,其表中每列的數字表示特定顏色的數字。ScientificDataSet模型是用來存儲和描述科學數據的多維數組。Vdata模式是用來存儲和描述數據表格的結構。HDF的Annotations是文本字符串,用來描述HDF文件,或HDF文件包含的HDF數據對象。Vgroup結構模型被設計為與相關數據對象有關。一個Vgroup可以包含另一個Vgroup以及數據對象。任何HDF對象都可以包含在一個Vgroup中 [1] 

HDFHDF文件的3層交互

HDF文件可以在幾個交互層次中可視。在最底層,HDF是一個存儲科學數據的物理文件格式。在它的最高層,HDF是集工具和應用於一體的數據文件,可以對HDF文件中的數據進行修改、顯示和分析。在這兩個層次之間,HDF是一個能提供高層和底層編程接口的軟件庫 [1] 
基本接口層,或稱為底層的應用編程接口(API),是為軟件開發者保留的。它是為數據流的直接文件I/O、錯誤處理、內存管理和物理存儲而設計的。它是一個為有經驗的HDF程序員提供的軟件工具。比較目前從高層接口得到的功能,通過使用這些基本接口層,HDF程序員創建HDF文件時能夠做更多的事。底層接口例程只提供C語言 [1] 
HDFAPIs(HDF應用編程接口)分為兩類:多文檔接口(用於新版本)和單文檔接口(用於舊版本)。多文檔接口是提供從一個應用中同時連接幾個HDF文件的接口,這點很重要,但單文檔接口並不支持這點。用户在開發新的接口和界面時,必須提醒他們是在一個改進了的新接口版本下開發的。為了向上兼容,舊版本仍然保留 [1] 
HDFAPIs包含幾個獨立的例程集,每個例程集是專門為簡化一種數據類型的存儲處理而設計的。儘管每個接口都要求程序調用,但所有底層細節都可以忽略。大多數情況下,只須在正確的時間調用正確的函數,剩下的事就由接口程序處理。多數HDF接口例程都有FORTRAN-77和C語言。也有用於Java程序員訪問HDF文件的JavaHDF接口程序 [1] 

HDFHDF4和HDF5

HDF簡述

新一代的HDF5是由NCSA於1998年發佈。NCSA支持HDF4並還將繼續支持幾年(細節如下)。HDF5被設計為改善HDF4的一些侷限性。HDF4的某些侷限性有:
單個文件不能存放多於20000個對象,單個文件大小也不能大於2G字節。
數據模式的兼容性不夠好,有過多的對象類型,數據類型太嚴格。
庫函數過時和過於複雜,不能有效地支持並行口的I/O,很難用於線程應用中。
HDF5包含如下的改進:
被設計為一種新的格式用來改進HDF4.x,特別是每個文件可以存儲更大的文件和更多的對象。
數據模式更簡潔、更全面,它包含兩個基本結構:多維數組記錄結構,和分組結構。
更簡潔、更利於工程庫和應用編程接口,支持並行I/O,線程和其他一些現代系統和應用要求。
雖然HDF5比HDF4有明顯的優勢,但HDF4仍然是在科學界使用得最為廣泛。許多應用軟件都是基於HDF4庫開發的,許多數據產品是按HDF4格式生成的。把這些應用和數據產品從HDF4轉換為HDF5需要花費時間和費用。因此,NCSA仍然支持HDF4並還將持續幾年。

HDFHDF4 與 HDF5 的文件組織與比較

  1. 分層式數據管理結構
    雖然HDF4 和 HDF5 在數據結構上大相徑庭,但它們具有一個共同的特點是分層式數據管理結構。這種結構的特點可被看成一本帶目錄的多章節書,HDF 文件作為“數據書” ,每一章節包含不同類型的數據元素 ,HDF 文件用“數據目錄”列出數據元素。
  2. HDF4 文件格式
    HDF4 的文件格式相對來説比較簡單 ,如圖 1 所示 。HDF4 文件由文件頭、數據描述符塊和數據元素組成 ,後兩者組成數據對象。數據描述符塊由若干描述符組成 , 它們由標識符(tag)、參照數(referencenumber)、數據偏移量(data offset)、數據長度等組成。HDF4 有8 類基本數據類型:SDS(科學數據集),RIS8(8 位柵格影像), RIS24(24 位柵格影像),GR(通用柵格影像), Palette(調色板),Vdata(表格),Annotation(註釋)和Group(組), 如圖 2 所示 。對每種類型HDF 都提供了高級API供用户訪問和處理。
  3. HDF5 文件結構
    隨着計算機軟硬件的不斷髮展, 要處理的數據量和數據類型都變得十分龐大 , 原有的 HDF4 已經無法適應這種要求了。 HDF5 正是在克服 HDF4 缺點基礎上應運而生的。 HDF4 不能存儲多於 2 萬個複雜對象, 文件大小不能超過 2G 字節 ,其數據結構不能完全包含它的內容, 隨着對象的增多,數據類型也受到限制,庫代碼過時 , 過於瑣碎 ,不能有效執行並行 I/O , 難於運用到線程程序中 。HDF5 的產生解決了上述問題, 不但能處理更多的對象 ,存儲更大的文件 ,支持並行 I/O ,線程和具備現代操作系統與應用程序所要求的其他特性, 而且數據模型變得更簡單 ,概括性更強。HDF5 的邏輯格式如圖 3 所示 。HDF5 只有兩種基本結構 :組(group)和數據集(dataset)。組包含 0 個或多個數據集。HDF4 的 8 種數據類型除註釋外都統一為 HDF5 的數據集。在HDF5 中用一個小數據集 Attribute 表示註釋信息。HDF5 的物理結構如圖 4 所示 。
  4. HDF4 與 HDF5 結構的映射關係
    雖然HDF4 與 HDF5 不能兼容 ,在一定程度上還是可以互相轉換 。通過一個例子可以更深刻領會兩者的映射關係, 如圖 5 所示 。
圖1 HDF4文件的結構 圖1 HDF4文件的結構
圖2 HDF4的數據類型 圖2 HDF4的數據類型
圖3 HDF5的邏輯格式 圖3 HDF5的邏輯格式
圖4 HDF5的物理結構 圖4 HDF5的物理結構
圖5 HDF4與HDF5結構的映射關係例子 圖5 HDF4與HDF5結構的映射關係例子

HDF總結

HDF 是一種功能強大 ,廣泛運用於科學領域的文件格式。研究它的組織結構特別是HDF5 的組織結構對於處理和管理地理信息系統的海量圖形數據和屬性數據具有一定的借鑑作用。掌握和運用NCSA提供的API 提取影像數據 ,可以節省時間, 提高程序編寫效率。

HDF二胺

異硫氰酸熒光素 (fluorescein isothiocyanate, FITC) 的衍生物。FITC純品為黃色或橙黃色結晶粉末,易溶於水和酒精溶劑。有兩種異構體,其中異構體Ⅰ型在效率、穩定性與蛋白質結合力等方面都更優良。FITC分子量為389.4,最大吸收光波長為490~495nm,最大發射光波長為520~530nm,呈現明亮的黃綠色熒光。FITC在冷暗地乾燥處可保存多年,是目前應用最廣泛的熒光素。其主要優點是人眼對黃綠色較為敏感,通常切片標本中的綠色熒光少於紅色。
中文名稱:異硫氰酸熒光素
分子式:H21H11NO5S
分子量:389.390
外觀:黃色粉末
含量:≥98%

HDF纖維板

high-density fiberboard,又稱Hardboard。與刨花板不同的是,雖然通常會添加樹脂,木纖維的粘合不需要添加其它材料。且不像刨花板,它不會斷裂和破碎。
加工方式:有幹法和濕法兩種加工方式:濕法一面光滑,幹法兩面光滑。
血液透析模式:血液透析濾過。

HDF縮寫

化工大學附屬中學 化大附(hua da fu)
參考資料