Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

write

(削除予定) 新しいファイルへの bigimage オブジェクトの内容の書き込み

R2019b 以降

bigimage オブジェクトの関数 write は将来のリリースで削除される予定です。代わりに、blockedImage オブジェクトに関連付けられた関数 write を使用してください。詳細については、互換性の考慮事項を参照してください。

説明

write(bigimg,filename) は、大きなイメージ bigimg の書式化されたバージョンを filename という名前の TIFF ファイルに書き込みます。この構文は、大きなイメージの空間参照情報を保持しません。

write(bigimg,filename,'TIFFCompression',compression) は、大きなイメージ bigimg の書式化されたバージョンを filename という名前の TIFF ファイルに書き込むための圧縮方式も指定します。この構文は、大きなイメージの空間参照情報を保持しません。

write(bigimg,dirname) は、大きなイメージ bigimg の書式化されたバージョンを dirname という名前のディレクトリに書き込みます。この構文は、大きなイメージの空間参照情報を保持します。

write(___,Name,Value) は、名前と値のペアの引数を使用して、categorical データを書き込む場合の追加オプションを指定します。

すべて折りたたむ

CAMELYON16 データセットのイメージ "tumor_091.tif" の変更したバージョンを使用して bigimage を作成します。元のイメージは、腫瘍組織が含まれるリンパ節の学習イメージです。元のイメージには 8 つの解像度レベルがあり、最も細かいレベルの解像度は 53760 x 61440 です。変更したイメージには、3 つの粗い解像度レベルのみが含まれています。変更したイメージの空間参照は、縦横比が一定に維持され、各レベルで特徴がレジストレーションされるように調整されています。

bim = bigimage("tumor_091R.tif");

最も粗い解像度レベル 3 のマスク イメージを作成します。マスクは、グレースケール値が 100 未満のピクセルの場合に 1 (true) になります。

mask = apply(bim,3,@(im)im2gray(im)<100);

"maskDir" という名前のディレクトリにマスク イメージを書き込みます。ディレクトリは事前に存在していてはなりません。マスク イメージを書き込む前に、ディレクトリが既に存在するかどうかをチェックし、存在する場合は削除します。

imageDir = "maskDir";
if exist(imageDir,"dir")
    rmdir maskDir s;
end
write(mask,imageDir);

マスク ディレクトリ内のデータから新しい bigimage を作成して、ワークスペースにマスク イメージを再度読み込みます。マスクの空間参照情報は保持されます。

mask1 = bigimage("maskDir");

元のイメージを表示します。

figure
bigimageshow(bim);

マスク イメージを表示します。空間参照は元のイメージ bim と一致します。

figure
bigimageshow(mask1);

入力引数

すべて折りたたむ

大きなイメージ。bigimage オブジェクトとして指定します。

書き込まれる大きなイメージ データのファイル名。string または文字ベクトルとして指定します。サポートされているファイル拡張子は '.tif''.tiff' です。

データ型: string

書き込まれる大きなイメージ データのディレクトリ名。string または文字ベクトルとして指定します。

データ型: string

TIFF 圧縮方式。次のいずれかを指定します。

圧縮方式説明
"LZW"Lempel-Ziv-Welch 可逆圧縮
"PackBits"PackBits 可逆圧縮
"Deflate"Adobe DEFLATE 可逆圧縮
"JPEG"JPEG ベース非可逆圧縮
"None"圧縮しない

データ型: string

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: write(bigimg,filename,Classes=["sky" "vegetation" "building"],PixelLabelIDs=[1 2 3]) は、3 つのクラスを使用して categorical の bigimage を書き込みます。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: write(bigimg,filename,'Classes',["sky" "vegetation" "building"],'PixelLabelIDs',[1 2 3]) は、3 つのクラスを使用して categorical の bigimage を書き込みます。

categorical データのクラス名。string 配列、または文字ベクトルの cell 配列として指定します。既定値は、大きなイメージ bigimgClasses プロパティの値です。

クラスに PixelLabelIDs のピクセル値が複数ある場合、write は最初のピクセル値を使用して、そのクラスのすべてのインスタンスに書き込みます。

データ型: char | string

ピクセル ラベルの値を categorical クラス名にマッピングするためのピクセル ラベル ID。次のいずれかとして指定します。

  • d 要素の数値ベクトル (d はクラスの数)

  • データ型 uint8 の d 行 3 列の数値配列。各行には、各クラス名と関連付ける RGB ピクセル値を表す 3 要素ベクトルが含まれます。この形式は、ピクセル ラベル データが RGB イメージとして格納されている場合に使用します。

書き込まれるピクセルのデータ型は、PixelLabelIDs のデータ型と一致します。既定値は、大きなイメージ bigimgPixelLabelIDs プロパティの値です。

クラスに PixelLabelIDs のピクセル値が複数ある場合、write は最初のピクセル値を使用して、そのクラスのすべてのインスタンスに書き込みます。

<undefined> categorical クラスと PixelLabelIDs に存在しないピクセル値のピクセル ラベルの値。数値スカラー、または 1 行 3 列の数値ベクトルとして指定します。この値には、PixelLabelIDs に含まれる値を指定しないでください。既定値は、大きなイメージ bigimgUndefinedID プロパティの値です。

バージョン履歴

R2019b で導入

すべて展開する

R2023b: write は削除予定

bigimage オブジェクトとこの関数は将来のリリースで削除される予定です。代わりに、blockedImage オブジェクトの関数 write を使用してください。

コードを更新するには、まず、イメージ データを読み取るための blockedImage オブジェクトを作成します。次に、以下の手順に従います。

  • TIFF 圧縮を適用する場合、TIFF アダプターを作成し、ドット表記を使用してアダプターの Compression プロパティを設定します。categorical データを書き込む場合は、代わりに MATBlocks アダプターを使用します。

  • 関数 write の最初の入力引数を blockedImage オブジェクトに置き換えます。名前と値の引数 Adapter を使用して、オプションのアダプターを指定します。

非推奨の使用方法推奨される代替案

この例では、関数 writebigimage オブジェクトと共に使用して、イメージ データをファイルに書き込みます。

filename = "tumor_091R.tif";
bigIm = bigimage(filename);
newFilename = "tumor_091R_copy.tif";
write(bigIm,newFilename);

以下は、blockedImage オブジェクトを使用する等価なコードです。

filename = "tumor_091R.tif";
blockedIm = blockedImage(filename);
newFilename = "tumor_091R_copy.tif";
write(blockedIm,newFilename);

この例では、TIFF 圧縮を使用してファイルを書き込みます。

write(bigIm,newFilename,"TIFFCompression","None");

以下は、blockedImage オブジェクトを使用する等価なコードです。

adaptor = images.blocked.TIFF;
adaptor.Compression = Tiff.Compression.None;
write(blockedIm,newFilename,Adapter=adapter);