このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
bigimageshow
2 次元 blockedImage オブジェクトの表示
説明
メモ
imageshow は、パフォーマンスが速く、レンダリング品質が向上し、インターフェイスがシンプルなため、bigimageshow よりも推奨されます。 (R2024b 以降)
bigimageshow オブジェクトは blockedImage オブジェクトのデータを表示します。bigimageshow オブジェクトは、イメージの範囲と画面解像度に基づいてイメージ データを連続的に読み込みます。
作成
説明
bigimageshow( は、ブロック化された 2 次元イメージ bim)bim を表示します。
categorical データの場合、bigimageshow は軸のカラーマップを parula に設定します。数値データの場合、既定のカラーマップは gray です。
b = bigimageshow(___) は bigimageshow オブジェクト b を返します。ブロック化されたイメージを表示した後、b を使用して表示設定を変更します。
入力引数
ブロック化されたイメージ。blockedImage オブジェクトとして指定します。
bigimageshow オブジェクトの親の座標軸。axes オブジェクトとして指定します。
プロパティ
bigimageshow オブジェクトの親の座標軸。axes オブジェクトとして指定します。親を指定しない場合、bigimageshow は現在の Figure のハンドル gca を使用します。Figure が存在しない場合、bigimageshow は新しい Figure を作成します。
表示する 2 次元 blockedImage オブジェクト。blockedImage オブジェクトとして指定します。
カラー データのマッピング方法。"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プロパティには色の範囲が含まれています。
透明度データ。次のいずれかの形式で指定します。
数値スカラー — イメージ全体で一貫した透明度を使用します。
2 次元
blockedImageオブジェクト — 透明度データの行数と列数は、CDataの 2 次元blockedImageオブジェクトと同じでなければなりません。ブロック化されたイメージには複数の解像度レベルを指定できます。その場合、bigimageshowは、現在のResolutionLevelに最も近いレベルを表示用に選択します。
AlphaDataMapping プロパティは、MATLAB® がアルファ データの透明度値をどのように解釈するかを制御します。
例: 0.5
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
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 番目の要素にマッピングされます。
表示する 2 次元 blockedImage オブジェクトの解像度レベル。CData プロパティの 2 次元 blockedImage オブジェクトの解像度レベルを指定する正の整数として指定します。解像度レベルは、解像度レベルの 2 つの範囲に対応した "fine" または "coarse" として指定することもできます。既定値は、利用可能な画面スペースと解像度に基づいて計算されます。
解像度レベルの選択モード。次のいずれかの値を指定します。
"auto"— 親の座標軸と使用可能な画面サイズに基づいて自動的に解像度レベルを選択します。"manual"—ResolutionLevelプロパティを設定することにより、手動で解像度レベルを指定します。
グリッドの可視性。"off" または "on" として指定します。bigimageshow は、現在の GridResolutionLevel において、CData.BlockSize で指定された数のピクセルが含まれるように、グリッドの間隔をワールド単位で設定します。
グリッドを表示するブロック化されたイメージの解像度レベル。次のいずれかの値として指定します。
正の整数 —
CDataプロパティの 2 次元blockedImageオブジェクトの解像度レベルを指定する数値スカラーとして指定されたグリッドを表示します。最小値は 1 です。最大値は、bigimageshowCDataプロパティに含まれるブロック化されたイメージのNumLevelsプロパティの値です。"fine"— 最も細かい解像度レベルでグリッドを表示します。"coarse"— 最も粗い解像度レベルでグリッドを表示します。
既定では、GridLevel は ResolutionLevel プロパティと同じ値です。
グリッド レベルの選択モード。次のいずれかの値として指定します。
"auto"— イメージ データの解像度レベルResolutionLevelと一致するようにグリッドの解像度レベルを選択します。"manual"—GridLevelプロパティを設定することにより、手動でグリッドの解像度レベルを指定します。
グリッド ラインの色。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"
グリッド ラインの透明度。[0, 1] の範囲の数値として指定します。1 の値は完全な不透明を意味し、0 の値は完全な透明を意味します。グリッド ラインを表示するには、GridVisible プロパティを "on" に設定します。
グリッド ラインの幅。ポイント単位で測定された正の数値として指定します。グリッド ラインを表示するには、GridVisible プロパティを "on" に設定します。
グリッド ラインのスタイル。次の表のいずれかのライン スタイルを指定します。
| ライン スタイル | 説明 | 結果として得られるライン |
|---|---|---|
"-" | 実線 |
|
"--" | 破線 |
|
":" | 点線 |
|
"-." | 一点鎖線 |
|
グリッド ラインを表示するには、GridVisible プロパティを "on" に設定します。
ピクセルのリサンプルに使用する内挿法。双一次内挿では "linear"、最近傍内挿では "nearest" を指定します。
categorical データの場合、bigimageshow は最近傍内挿のみをサポートしています。logical データの場合、既定値は "nearest" です。
Windows システムで OpenGL のソフトウェア バージョンを使用する場合、サポートされる内挿オプションは "nearest" のみです。
イメージの可視性の制御。次のいずれかの値として指定します。
"on"—bigimageshowオブジェクトを表示します。"off"— オブジェクトを削除せずに非表示にします。ただし、非表示のオブジェクトのプロパティにアクセスすることはできます。
オブジェクト関数
showmask | 指定した包含しきい値でのマスク オーバーレイの表示 |
hidemask | bigimageshow オブジェクトのマスク オーバーレイの非表示 |
showlabels | Display label overlay on bigimageshow object |
hidelabels | Hide label overlay on bigimageshow object |
例
この例では、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]);
%

サンプル イメージ 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 で導入関数 bigimageshow は、DataReadStarted イベントおよび DataReadFinished イベントをサポートするようになりました。
関数 bigimageshow は表示用の入力として blockedImage オブジェクトを受け入れるようになりました。
参考
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)








![Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue](colororder1.png)
![Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange](colororder2.png)
![Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow](colororder3.png)
![Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple](colororder4.png)
![Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green](colororder5.png)
![Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue](colororder6.png)
![Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red](colororder7.png)



