このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
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 要素ベクトルとして指定します。
名前と値の引数
例: 'BlockSize',[224 224]
はブロック サイズを 224 x 224 ピクセルに設定します。
オプションの引数 Name,Value
のコンマ区切りペアを指定します。Name
は引数名で、Value
は対応する値です。Name
は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN
のように、複数の名前と値のペアの引数を、任意の順番で指定できます。
BlockOffsets
— 隣接するブロックのオフセット
正の整数の 2 要素の行ベクトル
隣接するブロックのオフセット。[rows columns] の形式の正の整数の 2 要素行ベクトルとして指定します。
既定値は BlockSize
に等しくなります。結果として、ブロックはオーバーラップしません。ブロックをオーバーラップするには、より小さい値を指定します。ブロック間のギャップを追加するには、より大きい値を指定します。
BlockSize
— ブロック サイズ
正の整数の 2 要素の行ベクトル
ブロック サイズ。[rows columns] の形式の正の整数の 2 要素行ベクトルとして指定します。既定値は、bims
の最初のブロック化されたイメージの最も細かい解像度レベルにおける BlockSize
プロパティに等しくなります。
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
内のそれぞれのブロック化されたイメージに含まれるブロックの解像度レベル。正の整数のスカラー、または bims
と同じサイズの配列として指定します。スカラー値を指定した場合、関数 selectBlockLocations
はすべてのブロック化されたイメージから同じ解像度レベルでブロックを選択します。既定値は、ブロック化されたイメージの配列 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.
バージョン履歴
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)