Main Content

getFullLevel

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

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 = rgb2gray(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 で導入

すべて展開する