Main Content

hdfdfr8

HDF 8 ビット ラスター イメージ (DFR8) インターフェイスへのゲートウェイ

構文

[out1,...,outN] = hdfdfr8(funcstr,input1,...,inputN)

説明

hdfdfr8 は HDF 8 ビット ラスター イメージ (DFR8) インターフェイスへの MATLAB® ゲートウェイです。

[out1,...,outN] = hdfdfr8(funcstr,input1,...,inputN) は、functstr で指定された HDF ライブラリの DFR8 関数に対応する 1 つ以上の出力値を返します。

HDF ライブラリの DFR8 関数と funcstr の有効値の間には 1 対 1 の対応があります。たとえば、hdfdfr8('setpalette',map) はC ライブラリの呼び出し DFR8setpalette(map) に相当します。

書き込み関数

書き込み関数はラスター イメージ セットを作成して、新規ファイルに格納するか、既存ファイルに追加します。

funcstr の値関数構文説明
'writeref'status = hdfdfr8('writeref',filename,ref)指定された参照番号を使用してラスター イメージを格納します。
'setpalette'status = hdfdfr8('setpalette',colormap)複数の 8 ビット ラスター イメージにパレットを設定します。
'addimage'status = hdfdfr8('addimage',filename,X,compress)ファイルに 8 ビット ラスター イメージを追加します。compress は、'none''rle''jpeg''imcomp' のいずれかです。
'putimage'status = hdfdfr8('putimage',filename,X,compress)既存のファイルに 8 ビット ラスター イメージを書き込むか、ファイルを作成します。compress は、'none''rle''jpeg''imcomp' のいずれかです。
'setcompress'status = hdfdfr8('setcompress',compress_type,...)圧縮タイプを設定します。compress_type は、'none''rle''jpeg''imcomp' のいずれかです。compress_type'jpeg' である場合、2 つの追加パラメーターを渡さなければなりません。quality (0 ~ 100 のスカラー) と force_baseline (0 または 1) です。その他の圧縮タイプには追加パラメーターは必要ありません。

読み取り関数

読み取り関数は、イメージ セットの次元とパレットの割り当ての判定、実際のイメージ データの読み取り、ラスター イメージ セットへのシーケンシャルまたはランダムの読み取りアクセスの提供を行います。

funcstr の値関数構文説明
'getdims'[width,height,hasmap,status] = hdfdfr8('getdims',filename)8 ビット ラスター イメージの次元を取得します。
'getimage'[X,map,status] = hdfdfr8('getimage',filename)8 ビット ラスター イメージとそのパレットを取得します。
'readref'status = hdfdfr8('readref',filename,ref)指定された参照番号を使用して次のラスター イメージを取得します。
'restart'status = hdfdfr8('restart')最後にアクセスされたファイルに関する情報を無視して、最初から再起動します。
'nimages'num_images = hdfdfr8('nimages',filename)ファイル内のラスター イメージの数を返します。
'lastref'ref = hdfdfr8('lastref')最後にアクセスされた要素の参照番号を返します。

入力引数と出力引数

status または識別子出力が -1 の場合は、操作が失敗したことを示します。

HDF では C スタイルの要素の順序を使用するため、最後の次元に沿った要素が一番速く変化します。MATLAB では FORTRAN スタイルの要素の順序を使用するため、最初の次元に沿った要素が一番速く変化します。hdfdfr8 は C スタイルの順序から MATLAB スタイルの順序への自動変換を行いません。そのため、hdfdfr8 を使用して HDF ファイルでの読み取りや書き込みを行う際に、MATLAB イメージとカラーマップ行列を転置しなければなりません。

パレット情報の読み取りや書き込みを行う hdfdfr8 の関数では [0,255] の範囲にある uint8 データを使用する必要がありますが、MATLAB カラーマップは [0,1] の範囲の倍精度値で構成されます。このため、HDF パレットは double に変換して、MATLAB カラーマップとして使用できるようにスケーリングしなければなりません。

バージョン履歴

R2006a より前に導入