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));

入力引数
出力引数
ピクセル データ。大きなイメージ と同じデータ型の数値配列として返されます。bigimg.ClassUnderlying
バージョン履歴
R2019b で導入getBlock 関数は、将来のリリースで削除されるという警告を発行します。
bigimage オブジェクトとこの関数は将来のリリースで削除される予定です。代わりに、blockedImage オブジェクトの関数 getBlock を使用してください。
コードを更新するには、まず、イメージ データを読み取るための blockedImage オブジェクトを作成します。次に、以下の手順に従います。
2 つの要素の順序を入れ替えて、(x, y) ワールド座標を (行, 列) ワールド座標に変換します。
関数
world2subを使用して、ワールド座標をピクセルの添字に変換します。レベル 1 以外の解像度レベルでブロックを取得するには、名前と値の引数Levelを使用してそのレベルを指定します。関数
sub2blocksubを使用して、ピクセルの添字をブロックの添字に変換します。レベル 1 以外の解像度レベルでブロックを取得するには、名前と値の引数Levelを使用してそのレベルを指定します。ブロック化されたイメージの次元が 2 より大きい場合、未指定の各次元について、ピクセルの添字のベクトルの長さを 1 つ増やす必要があることに注意してください。それらの追加要素に対し、値
1を指定することができます。たとえば、2 次元カラー イメージは、カラー チャネルがあるため、次元が 3 になります。関数sub2blocksubの呼び出し時に、ピクセルの添字のベクトルに要素を 1 つ追加しなければなりません。ブロック化されたイメージおよびブロックの添字を関数
getBlockに渡します。レベル 1 以外の解像度レベルでブロックを取得するには、名前と値の引数Levelを使用してそのレベルを指定します。
| 非推奨の使用方法 | 推奨される代替案 |
|---|---|
この例では、関数
filename = "tumor_091R.tif";
bim = bigimage(filename);
coordWorld = [1000 2500];
blk = getBlock(bim,1,coordWorld); | 以下は、 filename = "tumor_091R.tif";
blockedIm = blockedImage(filename);
coordWorld = [1000 2500];
coordRC = flip(coordWorld);
subPixel = world2sub(blockedIm,coordRC);
subBlock = sub2blocksub(blockedIm,[subPixel 1]);
blk = getBlock(blockedIm,subBlock); |
この例では、解像度レベル 2 で操作を繰り返します。 lvl = 2; blk = getBlock(bim,lvl,coordWorld); | この例では、名前と値の引数 lvl = 2; subPixel = world2sub(blockedIm,coordRC,Level=lvl); subBlock = sub2blocksub(blockedIm,[subPixel 1],Level=lvl); blk = getBlock(blockedIm,subBlock,Level=lvl); |
bigimage オブジェクトの関数 getBlock は推奨されません。代わりに、blockedImage オブジェクトの関数 getBlock を使用してください。blockedImage オブジェクトには、N 次元の処理に拡張できる、インターフェイスがシンプルである、非標準イメージ形式の読み書きをカスタムでサポートしている、といったいくつかの利点があります。
参考
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)