このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
selectBlockLocations
説明
例
オーバーラップのないブロックを使用した blockedImageDatastore の作成
ブロック化されたイメージを作成します。
bim = blockedImage('tumor_091R.tif');
不完全なブロックを除くブロック位置のセットを作成します。
bls = selectBlockLocations(bim,'ExcludeIncompleteBlocks',true);
このブロックのセットから blockedImageDatastore
を作成します。
bimds = blockedImageDatastore(bim,'BlockLocationSet', bls);
ブロック化された位置を可視化します。
bigimageshow(bim)
ブロック サイズは、行、列 (高さ、幅) の順に並んでいます。
blockedWH = fliplr(bls.BlockSize(1,1:2)); for ind = 1:size(bls.BlockOrigin,1) % BlockOrigin is already in x,y order. drawrectangle('Position', [bls.BlockOrigin(ind,1:2),blockedWH]); end
オーバーラップするブロックを使用した blockedImageDatastore の作成
ブロック化されたイメージを作成します。
bim = blockedImage('tumor_091R.tif');
blockLocationSet
オブジェクトを作成します。
blockSize = [2048 3072]; overlapPct = 0.5; blockOffsets = round(blockSize.*overlapPct); bls = selectBlockLocations(bim,... 'BlockSize', blockSize,... 'BlockOffSets', blockOffsets,... 'ExcludeIncompleteBlocks', true);
このブロックのセットから blockedImageDatastore
を作成します。
bimds = blockedImageDatastore(bim, 'BlockLocationSet', bls);
ブロック化された位置を可視化します。
bigimageshow(bim)
ブロック サイズは、行、列 (高さ、幅) の順に並んでいます。
blockedWH = fliplr(bls.BlockSize(1,1:2)); colors = prism(size(bls.BlockOrigin,1)); for ind = 1:size(bls.BlockOrigin,1) blockedColor = colors(ind,:); % BlockOrigin is already in x-y order drawrectangle('Position', [bls.BlockOrigin(ind,1:2), blockedWH],'Color', blockedColor); end
スパース ブロックを使用した blockedImageDatastore の作成
ブロック化されたイメージを作成します。
bim = blockedImage('tumor_091R.tif');
blockLocationSet
オブジェクトを作成します。
blockedSize = [1024 512]; spacePct = 0.5; blockedOffsets = blockedSize + blockedSize.*spacePct; bls = selectBlockLocations(bim,... 'BlockSize', blockedSize,... 'BlockOffSets', blockedOffsets,... 'ExcludeIncompleteBlocks', true);
このブロックのセットから blockedImageDatastore
オブジェクトを作成します。
bimds = blockedImageDatastore(bim, 'BlockLocationSet', bls);
ブロックの位置を可視化します。
bigimageshow(bim) % Block size is in row-col (height-width) order blockedWH = fliplr(bls.BlockSize(1,1:2)); for ind = 1:size(bls.BlockOrigin,1) % BlockOrigin is already in x-y order drawrectangle('Position', [bls.BlockOrigin(ind,1:2), blockedWH]); end
粗いレベルのマスクを使用した blockedImageDatastore の作成
ブロック化されたイメージを作成します。
bim = blockedImage("tumor_091R.tif");
ブロック化されたイメージを表示します。
h = bigimageshow(bim);
最も粗いレベルでマスクを作成します。
clevel = bim.NumLevels;
bmask = apply(bim,@(b)~imbinarize(im2gray(b.Data)),"Level",clevel);
showMask
を使用して InclusionThreshold
の値を推定します。
showmask(h,bmask,"BlockSize",[256 256],"InclusionThreshold",0.9)
マスクで定義された染色領域において 90% 以上のピクセルが true
であるブロックについて、blockedImagedatastore
を作成します。
mbls = selectBlockLocations(bim, ... "Levels",1, ... "Masks",bmask,"InclusionThreshold",0.90, ... "BlockSize",[256 256]);
このブロックのセットから blockedImageDatastore
を作成します。
bimds = blockedImageDatastore(bim,"BlockLocationSet",mbls);
検証を行います。
bimds.ReadSize = 10; blocks = read(bimds); figure montage(blocks,"BorderSize",5,"BackgroundColor","b");
入力引数
bims
— ブロック化されたイメージ
blockedImage
オブジェクト | blockedImage
オブジェクトの b 要素ベクトル
ブロック化されたイメージ。blockedImage
オブジェクト、または blockedImage
オブジェクトの b 要素ベクトルとして指定します。すべてのブロック化されたイメージの次元数が、ブロックの選択元の解像度レベルで同じでなければなりません。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: bls = selectBlockLocations(bim,BlockSize=[224 224])
はサイズが 224 x 224 ピクセルのブロックを選択します。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name
を引用符で囲みます。
例: bls = selectBlockLocations(bim,"BlockSize",[224 224])
はサイズが 224 x 224 ピクセルのブロックを選択します。
BlockOffsets
— 隣接するブロックのオフセット
正の整数のベクトル
隣接するブロックのオフセット (ピクセル単位)。正の整数のベクトルとして指定します。BlockOffsets
の長さは、ブロック化された入力イメージの次元数以下でなければなりません。最初の 2 つの要素は (行、列) の順でオフセットを指定します。
既定値は BlockSize
に等しくなります。結果として、ブロックがオーバーラップしなくなり、イメージが完全にサンプリングされます。ブロックをオーバーラップするには、より小さい値を指定します。ブロック間のギャップを追加するには、より大きい値を指定します。ブロック化された入力イメージよりも低い次元のブロック オフセットを指定すると、関数 selectBlockLocations
は残りの次元のイメージ サイズに等しい、その次元のブロック オフセットを設定します。
例: BlockOffsets=[100 200]
は、垂直方向に 100 ピクセル、水平方向に 200 ピクセルのブロック オフセットを指定します。
BlockSize
— ブロック サイズ
正の整数のベクトル
ブロック サイズ (ピクセル単位)。正の整数のベクトルとして指定します。BlockSize
の長さは、ブロック化された入力イメージの次元数以下でなければなりません。
BlockSize
引数を指定しない場合、既定値は bims
内で最初のブロック化されたイメージの最も細かい解像度レベルにおける BlockSize
プロパティに等しくなります。より低い次元のブロック サイズを指定すると、関数 selectBlockLocations
は残りの次元のイメージ サイズに等しい、その次元のブロック サイズを設定します。
例: BlockSize=[1024 512]
は高さ 1024 ピクセル、幅は 512 ピクセルのブロックを指定します。
ExcludeIncompleteBlocks
— 不完全なブロックの除外
false
または 0
(既定値) | true
または 1
BlockSize
より小さい不完全なブロックの除外。数値か logical 0
(false
) または 1
(true
) として指定します。
InclusionThreshold
— マスク ブロックの包含しきい値
0.5
(既定値) | 数値スカラー | b 要素の数値ベクトル
マスク ブロックの包含しきい値。範囲 [0, 1] の値をもつ数値スカラーまたは b 要素数値ベクトルとして指定します。引数 InclusionThreshold
は、要素の数が引数 Masks
と同じでなければなりません。関数 selectBlockLocations
は、対応するマスク ブロックの前景に、InclusionThreshold
で指定された値以上の割合がオーバーラップするブロックを選択します。
包含しきい値が
0
の場合、対応するマスク ブロック内の少なくとも 1 つのピクセルが非ゼロのときに関数selectBlockLocations
はブロックを選択します。包含しきい値が
1
の場合、マスク ブロック内のすべてのピクセルが非ゼロのときのみに関数selectBlockLocations
はブロックを選択します。
Levels
— 解像度レベル
正の整数 | 正の整数の b 要素ベクトル
bims
内のそれぞれのブロック化されたイメージに含まれるブロックの解像度レベル。正の整数または正の整数の b 要素ベクトルとして指定します。スカラー値を指定した場合、関数 selectBlockLocations
はすべてのブロック化されたイメージから同じ解像度レベルでブロックを選択します。既定値は 1
の b 要素ベクトルで、この場合は bims
内の各イメージの最も細かい解像度レベルからブロックを選択します。
データ型: double
Masks
— マスク イメージ
blockedImage
オブジェクト | blockedImage
オブジェクトの配列
マスク イメージ。bims
と同じサイズの配列として指定します。マスク イメージの基となるデータ型は logical
です。関数 selectBlockLocations
は、対応するマスク ブロックの前景に InclusionThreshold
で指定された量だけオーバーラップするブロックを選択します。マスクは、配列 bims
内の対応する blockedImage
と同じワールド座標系になければなりません。
UseParallel
— 並列処理の使用
false
または 0
(既定値) | true
または 1
マスク ブロックの評価における並列処理の使用。数値か logical 0
(false
) または 1
(true
) として指定します。マスクがメモリに収まらない場合は、マスクの並列評価が役立ちます。
並列処理を使用するには Parallel Computing Toolbox™ が必要です。関数 selectBlockLocations
は、既存のワーカーの並列プールを使用するか、アクティブな並列プールがない場合は新規プールを開きます。bims
内のそれぞれのブロック化されたイメージの Source
プロパティは、すべての並列ワーカーに対して有効なパスでなければなりません。
出力引数
blset
— ブロック位置
blockLocationSet
オブジェクト
ブロック位置。blockLocationSet
オブジェクトとして返されます。
参照
[1] Bejnordi, Babak Ehteshami, Mitko Veta, Paul Johannes van Diest, Bram van Ginneken, Nico Karssemeijer, Geert Litjens, Jeroen A. W. M. van der Laak, et al. “Diagnostic Assessment of Deep Learning Algorithms for Detection of Lymph Node Metastases in Women With Breast Cancer.” JAMA 318, no. 22 (December 12, 2017): 2199–2210. https://doi.org/10.1001/jama.2017.14585.
バージョン履歴
R2020b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)