このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
bigimageshow
説明
bigimageshow
オブジェクトは blockedImage
オブジェクトのデータを表示します。bigimageshow
オブジェクトは、イメージの範囲と画面解像度に基づいてイメージ データを連続的に読み込みます。
作成
説明
bigimageshow(
は、ブロック化された 2 次元イメージ bim
)bim
を表示します。
categorical データの場合、bigimageshow
は軸のカラーマップを parula
に設定します。数値データの場合、既定のカラーマップは gray
です。
b = bigimageshow(___)
は bigimageshow
オブジェクト b
を返します。ブロック化されたイメージを表示した後、b
を使用して表示設定を変更します。
入力引数
bim
— ブロック化されたイメージ
blockedImage
オブジェクト
ブロック化されたイメージ。blockedImage
オブジェクトとして指定します。
ax
— 親の座標軸
axes オブジェクト
bigimageshow
オブジェクトの親の座標軸。axes オブジェクトとして指定します。
プロパティ
Parent
— bigimageshow
オブジェクトの親の座標軸
gca
(既定値) | axes
オブジェクト
bigimageshow
オブジェクトの親の座標軸。axes
オブジェクトとして指定します。親を指定しない場合、bigimageshow
は現在の Figure のハンドル gca
を使用します。Figure が存在しない場合、bigimageshow
は新しい Figure を作成します。
CData
— 表示する 2 次元 blockedImage
オブジェクト
blockedImage
オブジェクト
表示する 2 次元 blockedImage
オブジェクト。blockedImage
オブジェクトとして指定します。
CDataMapping
— カラー データのマッピング方法
"direct"
(既定値) | "scaled"
カラー データのマッピング方法。"direct"
または "scaled"
として指定します。このプロパティを使用して、カラーマップへの CData
内のカラー データ値のマッピングを制御します。CData
は、インデックス付きの色を定義するベクトルまたは行列でなければなりません。CData
が RGB カラーを定義する 3 次元配列である場合、このプロパティは効果がありません。
これらの方法には以下の効果があります。
"direct"
— 値を現在のカラーマップのインデックスとして解釈します。小数点以下の部分がある値は、その値より小さく、その値に最も近い整数に調整されます。値が
double
型またはsingle
型の場合、1
以下の値はカラーマップの最初の色にマッピングされます。カラーマップの長さ以上の値は、カラーマップの最後の色にマッピングされます。値が
uint8
型、uint16
型、uint32
型、uint64
型、int8
型、int16
型、int32
型、またはint64
型の場合、0
以下の値はカラーマップの最初の色にマッピングされます。カラーマップの長さ以上の値は、カラーマップの最後の色に (または、その型の範囲限界値まで) マッピングされます。値が
logical
型の場合、値0
はカラーマップの最初の色にマッピングされ、値1
はカラーマップの 2 番目の色にマッピングされます。
"scaled"
— 色の範囲の最小値と最大値の間の範囲になるように値をスケーリングします。座標軸のCLim
プロパティには色の範囲が含まれています。
AlphaData
— 透明度データ
1
(既定値) | 数値スカラー | blockedImage
オブジェクト
透明度データ。次のいずれかの形式で指定します。
数値スカラー — イメージ全体で一貫した透明度を使用します。
2 次元
blockedImage
オブジェクト — 透明度データの行数と列数は、CData
の 2 次元blockedImage
オブジェクトと同じでなければなりません。ブロック化されたイメージには複数の解像度レベルを指定できます。その場合、bigimageshow
は、現在のResolutionLevel
に最も近いレベルを表示用に選択します。
AlphaDataMapping
プロパティは、MATLAB® がアルファ データの透明度値をどのように解釈するかを制御します。
例: 0.5
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
AlphaDataMapping
— AlphaData
値の解釈
"none"
(既定値) | "scaled"
| "direct"
AlphaData
値の解釈。次のいずれかの値を指定します。
"none"
— 値を透明度値として解釈します。1 以上の値は完全に不透明、0 以下の値は完全に透明、0 ~ 1 の間の値は半透明です。"scaled"
— 値を Figure の alphamap にマッピングします。座標軸のアルファ範囲の最小値と最大値によって、alphamap の最初の要素と最後の要素にマッピングされるアルファ データ値がそれぞれ決まります。たとえば、アルファ範囲が[3 5]
の場合、3
以下のアルファ データ値は alphamap の最初の要素にマッピングされます。5
以上のアルファ データ値は alphamap の最後の要素にマッピングされます。座標軸のALim
プロパティにはアルファ範囲が含まれています。Figure のAlphamap
プロパティには alphamap が含まれています。"direct"
— 値を Figure の alphamap のインデックスとして解釈します。小数点以下の部分がある値は、その値より小さく、その値に最も近い整数に調整されます。値が
double
型またはsingle
型の場合、1 以下の値は alphamap の最初の要素にマッピングされます。alphamap の長さ以上の値は、alphamap の最後の要素にマッピングされます。値が整数型の場合、0 以下の値は alphamap の最初の要素にマッピングされます。alphamap の長さ以上の値は、alphamap の最後の要素に (または、その型の範囲限界値まで) マッピングされます。整数型は
uint8
、uint16
、uint32
、uint64
、int8
、int16
、int32
、およびint64
です。値が
logical
型の場合、値0
は alphamap の最初の要素にマッピングされ、値1
は alphamap の 2 番目の要素にマッピングされます。
ResolutionLevel
— 解像度レベル
正の整数 | "fine"
| "coarse"
表示する 2 次元 blockedImage
オブジェクトの解像度レベル。CData
プロパティの 2 次元 blockedImage
オブジェクトの解像度レベルを指定する正の整数として指定します。解像度レベルは、解像度レベルの 2 つの範囲に対応した "fine"
または "coarse"
として指定することもできます。既定値は、利用可能な画面スペースと解像度に基づいて計算されます。
ResolutionLevelMode
— 解像度レベルの選択モード
"auto"
(既定値) | "manual"
解像度レベルの選択モード。次のいずれかの値を指定します。
"auto"
— 親の座標軸と使用可能な画面サイズに基づいて自動的に解像度レベルを選択します。"manual"
—ResolutionLevel
プロパティを設定することにより、手動で解像度レベルを指定します。
GridVisible
— グリッドの可視性
"off"
(既定値) | "on"
グリッドの可視性。"off"
または "on"
として指定します。bigimageshow
は、現在の GridResolutionLevel
において、CData
.BlockSize
で指定された数のピクセルが含まれるように、グリッドの間隔をワールド単位で設定します。
GridLevel
— グリッドを表示するブロック化されたイメージの解像度レベル
正の整数 | "fine"
| "coarse"
グリッドを表示するブロック化されたイメージの解像度レベル。次のいずれかの値として指定します。
正の整数 —
CData
プロパティの 2 次元blockedImage
オブジェクトの解像度レベルを指定する数値スカラーとして指定されたグリッドを表示します。最小値は 1 です。最大値は、bigimageshow
CData
プロパティに含まれるブロック化されたイメージのNumLevels
プロパティの値です。"fine"
— 最も細かい解像度レベルでグリッドを表示します。"coarse"
— 最も粗い解像度レベルでグリッドを表示します。
既定では、GridLevel
は ResolutionLevel
プロパティと同じ値です。
GridLevelMode
— グリッド レベルの選択モード
"auto"
(既定値) | "manual"
グリッド レベルの選択モード。次のいずれかの値として指定します。
"auto"
— イメージ データの解像度レベルResolutionLevel
と一致するようにグリッドの解像度レベルを選択します。"manual"
—GridLevel
プロパティを設定することにより、手動でグリッドの解像度レベルを指定します。
GridColor
— グリッド ラインの色
"blue"
(既定値) | RGB 3 成分 | 16 進数カラー コード | 色の名前 | 色の省略名
グリッド ラインの色。RGB 3 成分、16 進数カラー コード、色の名前、または色の省略名として指定します。グリッド ラインを表示するには、GridVisible
プロパティを "on"
に設定します。
カスタム色の場合、RGB 3 成分または 16 進数カラー コードを指定します。
RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度は範囲
[0,1]
に含まれていなければなりません。たとえば[0.4 0.6 0.7]
のようになります。16 進数カラー コードは、ハッシュ記号 (
#
) で始まり、その後に 16 進数 (0
からF
までの範囲) が 3 桁または 6 桁続く、string スカラーまたは文字ベクトルです。値の大文字と小文字は区別されません。そのため、カラー コード"#FF8800"
、"#ff8800"
、"#F80"
、および"#f80"
は等価です。
あるいは、一部の一般的な色を名前で指定できます。次の表に、名前付きの色のオプション、等価な RGB 3 成分、および 16 進数カラー コードを示します。
色の名前 | 省略名 | RGB 3 成分 | 16 進数カラー コード | 外観 |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" |
以下に、MATLAB がさまざまなタイプのプロットで使用する既定の色の RGB 3 成分と 16 進数カラー コードを示します。
RGB 3 成分 | 16 進数カラー コード | 外観 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
例: GridColor = [1 0 0]
例: GridColor = "r"
例: GridColor = "red"
例: GridColor = "#FF0000"
GridAlpha
— グリッド ラインの透明度
0.8
(既定値) | 範囲 [0, 1] の数値
グリッド ラインの透明度。[0, 1] の範囲の数値として指定します。1
の値は完全な不透明を意味し、0
の値は完全な透明を意味します。グリッド ラインを表示するには、GridVisible
プロパティを "on"
に設定します。
GridLineWidth
— グリッド ラインの幅
1
(既定値) | 正の数値
グリッド ラインの幅。ポイント単位で測定された正の数値として指定します。グリッド ラインを表示するには、GridVisible
プロパティを "on"
に設定します。
GridLineStyle
— グリッド ラインのスタイル
"-"
(既定値) | "--"
| ":"
| "-."
グリッド ラインのスタイル。次の表のいずれかのライン スタイルを指定します。
ライン スタイル | 説明 | 結果として得られるライン |
---|---|---|
"-" | 実線 |
|
"--" | 破線 |
|
":" | 点線 |
|
"-." | 一点鎖線 |
|
グリッド ラインを表示するには、GridVisible
プロパティを "on"
に設定します。
Interpolation
— 内挿法
"linear"
(既定値) | "nearest"
ピクセルのリサンプルに使用する内挿法。双一次内挿では "linear"
、最近傍内挿では "nearest"
を指定します。
categorical データの場合、bigimageshow
は最近傍内挿のみをサポートしています。logical データの場合、既定値は "nearest"
です。
Windows システムで OpenGL のソフトウェア バージョンを使用する場合、サポートされる内挿オプションは "nearest"
のみです。
Visible
— イメージの可視性の制御
"on"
(既定値) | "off"
イメージの可視性の制御。次のいずれかの値として指定します。
"on"
—bigimageshow
オブジェクトを表示します。"off"
— オブジェクトを削除せずに非表示にします。ただし、非表示のオブジェクトのプロパティにアクセスすることはできます。
オブジェクト関数
showmask | 指定した包含しきい値でのマスク オーバーレイの表示 |
hidemask | bigimageshow オブジェクトのマスク オーバーレイの非表示 |
showlabels | Display label overlay on bigimageshow object |
hidelabels | Hide label overlay on bigimageshow object |
例
異なる解像度レベルにおけるブロック化された 2 次元イメージの可視化
この例では、CAMELYON16 データ セットの腫瘍組織が含まれるリンパ節の学習イメージ (tumor_091.tif) を変更したバージョンを使用します。変更されたイメージには 3 つの粗い解像度レベルが含まれています。また、このイメージは、縦横比が一定に維持され、各レベルで特徴がレジストレーションされるように調整されています。
サンプル イメージから、ブロック化されたイメージを作成します。
bim = blockedImage('tumor_091R.tif');
ブロック化されたイメージを表示します。
h = bigimageshow(bim);
イメージ内の領域を拡大します。
xlim([2100, 2600]) ylim([1800 2300])
3 つの解像度レベルでイメージを表示するため、ResolutionLevel
プロパティに新しい値を指定します。各解像度レベルを見ると、軸の範囲は変わりませんが、bigimageshow
によって他のレベルのイメージのサイズが必ず正しく調整されていることがわかります。ResolutionLevel
を設定した場合、ResolutionLevelMode
の値は自動的に 'manual'
に変更されます。
h.ResolutionLevel = 3; pause(1); h.ResolutionLevel = 2; pause(1); h.ResolutionLevel = 1; pause(1);
ブロック化されたイメージとブロックを表すグリッド ラインの可視化
サンプル イメージ tumor_091R.tif
から、ブロック化されたイメージを作成します。このサンプル イメージは、CAMELYON16 データ セットの腫瘍組織が含まれるリンパ節の学習イメージです。このイメージは、3 つの粗い解像度レベルが含まれ、縦横比が一定に維持され、各レベルで特徴がレジストレーションされるように調整されています。
bim = blockedImage('tumor_091R.tif','BlockSize', [128 128]);
bigimageshow
を使用して、ブロック化されたイメージを表示します。最も細かい解像度レベル (レベル 1) でグリッドを表示するように指定します。また、グリッド ラインの色、幅、透明度を指定します。
h = bigimageshow(bim,... 'GridVisible','on','GridLevel',1,... 'GridLineWidth', 2,'GridColor','k','GridAlpha',0.3);
アルファ層を使用したマスクの検証
サンプル イメージ tumor_091R.tif
から、ブロック化されたイメージを作成します。このサンプル イメージは、CAMELYON16 データ セットの腫瘍組織が含まれるリンパ節の学習イメージです。このイメージは、3 つの粗い解像度レベルが含まれ、縦横比が一定に維持され、各レベルで特徴がレジストレーションされるように調整されています。
bim = blockedImage('tumor_091R.tif');
blockedImage
のオブジェクト関数 apply
を使用して、粗いマスクを作成します。
bmask = apply(bim, @(bs)im2gray(bs.Data)<120, "Level", 3);
アルファ層としてマスクを重ね合わせます。
ha1 = subplot(1,2,1); h = bigimageshow(bim); h.AlphaData = bmask; h.AlphaDataMapping = 'direct'; alphamap([0.4 1]) h.Parent.Color = 'r';
マスクを単独で可視化します。
ha2 = subplot(1,2,2);
bigimageshow(bmask);
linkaxes([ha1, ha2]);
%
InclusionThreshold と BlockSize を使用したマスク作成の改善
サンプル イメージ tumor_091R.tif
から、ブロック化されたイメージを作成します。このサンプル イメージは、CAMELYON16 データ セットの腫瘍組織が含まれるリンパ節の学習イメージです。このイメージは、3 つの粗い解像度レベルが含まれ、縦横比が一定に維持され、各レベルで特徴がレジストレーションされるように調整されています。
bim = blockedImage("tumor_091R.tif");
最も粗い解像度レベルのブロック化されたイメージを使用してマスクを作成します。
bmask = apply(bim,@(im)im2gray(im.Data)<120,Level=3);
ブロック化されたイメージをマスクと共に表示します。
h = bigimageshow(bim); showmask(h,bmask);
異なる包含しきい値を使用して実験を行い、染色された領域に最も良く当てはまるマスクを取得します。既定では、包含しきい値は 0.5 です。
showmask(h,bmask,InclusionThreshold=0.2); showmask(h,bmask,InclusionThreshold=0); showmask(h,bmask,InclusionThreshold=0.06);
異なるブロック サイズと異なる包含しきい値を組み合わせて実験を行い、染色された領域に最も良く当てはまるマスクを取得します。既定では、最も粗い解像度レベルのブロック サイズは 625 x 670 です。
showmask(h,bmask,InclusionThreshold=0.06,BlockSize=[256 256]); showmask(h,bmask,InclusionThreshold=0.14,BlockSize=[256 256]);
マスクが満足のいく状態になったら、そのマスクを使用してリンパ節をセグメント化します。
bls = selectBlockLocations(bim,BlockSize=[256 256], ... Mask=bmask,InclusionThreshold=0.14); bregion = apply(bim, @(bs)bs.Data,BlockLocationSet=bls); figure bigimageshow(bregion); %
ラベルを重ね合わせた状態でのブロック化されたイメージの表示
サンプル イメージ tumor_091R.tif
から、ブロック化されたイメージを作成します。このサンプル イメージは、CAMELYON16 データ セットの腫瘍組織が含まれるリンパ節の学習イメージです。このイメージは、3 つの粗い解像度レベルが含まれ、縦横比が一定に維持され、各レベルで特徴がレジストレーションされるように調整されています。
bim = blockedImage("tumor_091R.tif");
粗い解像度レベルでラベル イメージを作成します。
まず、単一解像度イメージを取得します。gather
は既定で最も粗い解像度レベルからデータを取得します。
cim = gather(bim);
イメージをグレースケールに変換します。multithresh
を使用して 3 つのしきい値を計算し、イメージを 4 レベル イメージに変換します。
cgim = im2gray(cim); numClasses = 4; thresh = multithresh(cgim,numClasses-1);
multithresh
から返されたしきい値レベルを指定し、imquantize
を使用してイメージを 4 つの領域にセグメント化します。
labels = imquantize(cgim,thresh); imagesc(labels) axis square title("Coarse Label Image")
最も粗い解像度レベルの元のイメージと同じ空間参照を使用して、labels
イメージを blockedImage
オブジェクトに逆変換します。
blabels = blockedImage(labels,WorldStart=bim.WorldStart(3,1:2),...
WorldEnd=bim.WorldEnd(3,1:2));
元のブロック化されたイメージを表示します。
figure hB = bigimageshow(bim);
labels
イメージを元のブロック化されたイメージに重ね合わせます。
showlabels(hB,blabels)
詳細
イベント
特定のイベントが発生したときに bigimageshow
オブジェクトから通知を受け取るには、これらのイベントに対する "リスナー" を設定します。これらのイベントのいずれかが発生したときに実行するコールバック関数を指定できます。bigimageshow
オブジェクトがリスナーを通じてアプリケーションに通知するとき、イベントに固有のデータを返します。特定のイベントのイベント クラスを確認して何が返されたかを調べます。
イベント名 | トリガー | イベント データ | イベント属性 |
---|---|---|---|
DataReadStarted (R2023a 以降) |
| event.EventData |
|
DataReadFinished (R2023a 以降) |
| event.EventData |
|
たとえば、このコードは親の Figure のタイトルを変更するリスナーを追加します。ズーム操作の間、タイトルには "Reading image data"
が表示されます。ズーム操作が完了すると、タイトルには現在の解像度レベルと共に "Resolution level: "
が表示されます。
bim = blockedImage("tumor_091R.tif"); h = bigimageshow(bim); listenerStarted = addlistener(h,"DataReadStarted", ... @(h,~)title("Reading image data",Parent=h.Parent)); listenerFinished = addlistener(h,"DataReadFinished", ... @(h,~)title("Resolution level: "+num2str(h.ResolutionLevel),Parent=h.Parent));
参照
[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.
[2] Grand Challenge. https://camelyon17.grand-challenge.org/Data/.
バージョン履歴
R2019b で導入R2023a: イベントのサポート
関数 bigimageshow
は、DataReadStarted
イベントおよび DataReadFinished
イベントをサポートするようになりました。
R2021a: ブロック化されたイメージのサポート
関数 bigimageshow
は表示用の入力として blockedImage
オブジェクトを受け入れるようになりました。
参考
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)