Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

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 で導入