Main Content

getBlock

(非推奨) bigimage オブジェクトのブロックの読み取り

bigimage オブジェクトの関数 getBlock は推奨されません。代わりに、blockedImage オブジェクトに関連付けられた関数 getBlock を使用してください。詳細については、互換性の考慮事項を参照してください。

説明

data = getBlock(bigimg,level,locationWorld) は、指定された解像度レベルで bigimg 内の大きなイメージ データを読み取り、座標 locationWorld を含むブロック全体のピクセル データを返します。

すべて折りたたむ

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

bim = bigimage('tumor_091R.tif');

関数 bigimageshow を使用して bigimage を表示します。最も細かい解像度レベルでブロック境界を表示するグリッドを重ね合わせます。

hb = subplot(1,2,1);
bigimageshow(bim,'GridVisible','on','GridLevel',1);

表示するブロックの (x,y) 座標を指定します。この座標を含むブロックを取得します。表示された bigimage の上の指定された座標に Point ROI を追加します。

coord = [2500,2500];
blk = getBlock(bim,1,coord);
hp = drawpoint(hb,'Position',coord);

図の中で、bigimage 全体の横にブロックを表示します。ブロックはメモリに収まり、単一の解像度レベルをもっているので、imshow を使用してブロックを表示できます。

ha = subplot(1,2,2);
imshow(blk,'Parent',ha)

Point ROI にリスナーを追加します。ROI をマウスでドラッグすると、図が更新されて、現在の ROI 座標を含むブロックが表示されます。

title(hb,'Drag Point to Select Block');
addlistener(hp, ...
    'ROIMoved',@(~,~) imshow(getBlock(bim,1,hp.Position),'Parent',ha));

入力引数

すべて折りたたむ

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

解像度レベル。bigimg の解像度レベル値以下の正の整数として指定します。

点の座標。[x y] 形式の 1 行 2 列の数値ベクトルとして指定します。場所はワールド座標、つまり最も高い解像度レベルに対するピクセル位置で指定されます。位置は bigimg 内の有効な位置でなければなりません。

出力引数

すべて折りたたむ

ピクセル データ。大きなイメージ bigimg.ClassUnderlying と同じデータ型の数値配列として返されます。

バージョン履歴

R2019b で導入

すべて展開する