Main Content

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

getFullLevel

(削除予定) 1 つのレベルの bigimage オブジェクトに含まれるすべてのデータの取得

R2019b 以降

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

説明

I = getFullLevel(bigimg) は、最も粗い解像度レベルで bigimg 内の大きなイメージ データを読み取り、単一解像度のイメージ I を返します。

I = getFullLevel(bigimg,level) は、指定された解像度レベルで bigimg 内の大きなイメージ データを読み取り、単一解像度のイメージ I を返します。

すべて折りたたむ

サンプル イメージ tumor_091R.tif から、ブロック化されたイメージを作成します。このサンプル イメージは、CAMELYON16 データ セットの腫瘍組織が含まれるリンパ節の学習イメージです。このイメージは、3 つの粗い解像度レベルが含まれ、縦横比が一定に維持され、各レベルで特徴がレジストレーションされるように調整されています。

bim = blockedImage("tumor_091R.tif");

最も細かい解像度レベルでブロック化されたイメージ全体を、ブロック境界のグリッドと共に表示します。

bshow = bigimageshow(bim,ResolutionLevel="fine", ...
    GridVisible="on",GridLevel=1);

最も粗い解像度レベルでマスクを作成します。

まず、最も粗い解像度レベルの単一解像度イメージを作成します。関数 gather は既定で最も粗い解像度レベルからデータを取得します。

imcoarse = gather(bim);

粗いイメージをグレースケールに変換します。

graycoarse = im2gray(imcoarse);

グレースケール イメージを 2 値化します。2 値化したイメージでは、対象オブジェクトは黒に、背景は白になります。

bwcoarse = imbinarize(graycoarse);

2 値化したイメージの補数を取ります。結果のマスクは、対象オブジェクトは白になり、背景は黒になる規則に従います。

mask = imcomplement(bwcoarse);

マスクを含むブロック化されたイメージを作成します。

元のブロック化されたイメージと同じ空間参照を使用します。最も粗い解像度レベルを決定し、そのレベルの最初の 2 つの次元におけるブロック化されたイメージの空間参照情報を取得します。

coarsestLevel = bim.NumLevels;
originalWorldStartCoarsest = bim.WorldStart(coarsestLevel,1:2);
originalWorldEndCoarsest = bim.WorldEnd(coarsestLevel,1:2);

ブロック化されたイメージをマスク用に作成します。

bmask = blockedImage(mask,WorldStart=originalWorldStartCoarsest, ...
   WorldEnd=originalWorldEndCoarsest);

マスク イメージを表示します。

figure
bigimageshow(bmask)

関数 showmask を使用し、元のブロック化されたイメージの表示にマスクを重ね合わせます。非ゼロ マスク ピクセルを少なくとも 1 つ含むすべてのブロックを強調表示するために、包含しきい値として 0 を指定します。

showmask(bshow,bmask,InclusionThreshold=0)

入力引数

すべて折りたたむ

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

解像度レベル。bigimg の解像度レベル値以下の正の整数として指定します。既定のレベルは最も粗い解像度レベル bigimg.CoarsestResolutionLevel です。

出力引数

すべて折りたたむ

単一解像度のイメージ。数値配列として返されます。

ヒント

  • 大きな入力イメージ bigimgLevelSizes プロパティをチェックして、指定されたレベルのイメージ データのサイズが十分に小さく、メモリに収まることを確認します。

バージョン履歴

R2019b で導入

すべて展開する

R2023b: getFullLevel は削除予定

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

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

  • 関数名 getFullLevel のインスタンスを関数 gather に置き換えます。

  • 最初の入力引数を blockedImage オブジェクトに置き換えます。

  • 異なる解像度レベルでブロックを取得するには、名前と値の引数 Level を使用してそのレベルを指定します。

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

この例では、関数 getFullLevelbigimage オブジェクトと共に使用して、最も粗い解像度レベルでイメージを返します。

filename = "tumor_091R.tif";
bim = bigimage(filename);
img = getFullLevel(bim);

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

filename = "tumor_091R.tif";
blockedIm = blockedImage(filename);
img = gather(blockedIm);

この例では、解像度レベル 2 で操作を繰り返します。

lvl = 2;
img = getFullLevel(bim,lvl);

この例では、名前と値の引数 Level を指定して、解像度レベル 2 で操作を繰り返します。

lvl = 2;
img = gather(blockedIm,Level=lvl);