このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
selectBlockLocations
ブロック化されたイメージからのブロックの選択
説明
例
ブロック化されたイメージを作成します。
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

ブロック化されたイメージを作成します。
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

ブロック化されたイメージを作成します。
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

ブロック化されたイメージを作成します。
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");

入力引数
ブロック化されたイメージ。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 の長さは、ブロック化された入力イメージの次元数以下でなければなりません。最初の 2 つの要素は (行、列) の順でオフセットを指定します。
既定値は BlockSize に等しくなります。結果として、ブロックがオーバーラップしなくなり、イメージが完全にサンプリングされます。ブロックをオーバーラップするには、より小さい値を指定します。ブロック間のギャップを追加するには、より大きい値を指定します。ブロック化された入力イメージよりも低い次元のブロック オフセットを指定すると、関数 selectBlockLocations は残りの次元のイメージ サイズに等しい、その次元のブロック オフセットを設定します。
例: BlockOffsets=[100 200] は、垂直方向に 100 ピクセル、水平方向に 200 ピクセルのブロック オフセットを指定します。
ブロック サイズ (ピクセル単位)。正の整数のベクトルとして指定します。BlockSize の長さは、ブロック化された入力イメージの次元数以下でなければなりません。
BlockSize 引数を指定しない場合、既定値は bims 内で最初のブロック化されたイメージの最も細かい解像度レベルにおける BlockSize プロパティに等しくなります。より低い次元のブロック サイズを指定すると、関数 selectBlockLocations は残りの次元のイメージ サイズに等しい、その次元のブロック サイズを設定します。
例: BlockSize=[1024 512] は高さ 1024 ピクセル、幅は 512 ピクセルのブロックを指定します。
BlockSize より小さい不完全なブロックの除外。数値か logical 0 (false) または 1 (true) として指定します。
マスク ブロックの包含しきい値。範囲 [0, 1] の値をもつ数値スカラーまたは b 要素数値ベクトルとして指定します。引数 InclusionThreshold は、要素の数が引数 Masks と同じでなければなりません。関数 selectBlockLocations は、対応するマスク ブロックの前景に、InclusionThreshold で指定された値以上の割合がオーバーラップするブロックを選択します。
包含しきい値が
0の場合、対応するマスク ブロック内の少なくとも 1 つのピクセルが非ゼロのときに関数selectBlockLocationsはブロックを選択します。包含しきい値が
1の場合、マスク ブロック内のすべてのピクセルが非ゼロのときのみに関数selectBlockLocationsはブロックを選択します。
bims 内のそれぞれのブロック化されたイメージに含まれるブロックの解像度レベル。正の整数または正の整数の b 要素ベクトルとして指定します。スカラー値を指定した場合、関数 selectBlockLocations はすべてのブロック化されたイメージから同じ解像度レベルでブロックを選択します。既定値は 1 の b 要素ベクトルで、この場合は bims 内の各イメージの最も細かい解像度レベルからブロックを選択します。
データ型: double
マスク イメージ。bims と同じサイズの配列として指定します。マスク イメージの基となるデータ型は logical です。関数 selectBlockLocations は、対応するマスク ブロックの前景に InclusionThreshold で指定された量だけオーバーラップするブロックを選択します。マスクは、配列 bims 内の対応する blockedImage と同じワールド座標系になければなりません。
マスク ブロックの評価における並列処理の使用。数値か logical 0 (false) または 1 (true) として指定します。マスクがメモリに収まらない場合は、マスクの並列評価が役立ちます。
並列処理を使用するには Parallel Computing Toolbox™ が必要です。関数 selectBlockLocations は、既存のワーカーの並列プールを使用するか、アクティブな並列プールがない場合は新規プールを開きます。bims 内のそれぞれのブロック化されたイメージの Source プロパティは、すべての並列ワーカーに対して有効なパスでなければなりません。
出力引数
ブロック位置。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 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)