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 より前に導入