このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
viewer3d
説明
は、3 次元イメージ表示用に構成された新しい Figure ウィンドウに viewer = viewer3dViewer オブジェクトを作成します。Viewer オブジェクトを作成した後は、viewer を使用して、このオブジェクトのプロパティをクエリおよび変更します。プロパティの一覧については、Viewer Properties を参照してください。
は、viewer = viewer3d(___,Name=Value)Viewer オブジェクトを作成し、前の構文の入力引数に加えて、1 つ以上の名前と値の引数を使用してオブジェクトのプロパティを設定します。
たとえば、viewer3d(BackgroundColor="green",BackgroundGradient=false) は、新しい Figure ウィンドウに、背景グラデーションを使用しない緑色の背景で Viewer オブジェクトを作成します。
例
シーンを作成し、名前と値の引数を使用して背景とライティングの表示を指定します。
viewer = viewer3d(BackgroundColor="white", ... GradientColor=[0.5 0.5 0.5],Lighting="on")
viewer =
Viewer with properties:
Parent: [1×1 Figure]
Position: [1 1 560 420]
Children: [0×0 GraphicsPlaceholder]
BackgroundColor: [1 1 1]
BackgroundGradient: on
GradientColor: [0.5000 0.5000 0.5000]
OrientationAxes: on
ClippingPlanes: [0×4 single]
Lighting: on
LightPosition: [0 0 0]
CameraPosition: [1 1 1]
CameraTarget: [0 0 0]
CameraUpVector: [0 0 1]
CameraZoom: 1
Show all properties
シーン内にボリューム イメージを表示します。
load(fullfile(toolboxdir("images"),"imdata", ... "BrainMRILabeled","images","vol_001.mat")); mriVol = volshow(vol,Parent=viewer);
ドット表記を使用してシーンのプロパティを設定し、シーンのカメラ視点を変更します。
viewer.CameraPosition = [120 120 200]; viewer.CameraTarget = [120 120 -10]; viewer.CameraUpVector = [0 1 0]; viewer.CameraZoom = 1.5;

uifigure 関数を使用して作成された Figure を親とするグリッド レイアウト マネージャーを作成します。
fig = uifigure(Name="MRI Volume");
g = uigridlayout(fig,[1 1],Padding=[0 0 0 0]);グリッド レイアウト マネージャーで既定の外観をもつシーンを作成します。
viewer = viewer3d(g);

シーン内にボリューム イメージを表示します。
load(fullfile(toolboxdir("images"),"imdata", ... "BrainMRILabeled","images","vol_001.mat")); mriVol = volshow(vol,Parent=viewer);

入力引数
3 次元ビューアーの親。uifigure 関数を使用して作成された Figure オブジェクトとして指定するか、uifigure 関数を使用して作成された Figure を親とする Panel オブジェクト、GridLayout オブジェクト、または Tab オブジェクトとして指定します。uipanel 関数、uigridlayout 関数、および uitab 関数を使用して、対応するオブジェクトを作成できます。
ヒント
GridLayout オブジェクトは、App Designer でアプリを構築する場合や、3 次元ビューアーを使用して Figure に他の UI コンポーネントを追加して配置する場合に推奨される親です。
親が GridLayout オブジェクトである場合、Layout プロパティを使用して 3 次元ビューアーのレイアウトを調整できます。
例: parent = uifigure; viewer = viewer3d(parent); は、uifigure 関数を使用して親 Figure を作成します。
例: f = uifigure; parent = uipanel(f); viewer = viewer3d(parent); は、uifigure 関数を使用して作成された Figure を親とする親 Panel オブジェクトを作成します。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: viewer3d(BackgroundColor="green",BackgroundGradient=false) は、背景グラデーションを使用しない緑色の背景の新しい Figure で 3-D 表示用の Viewer オブジェクトを作成します。
メモ
ここには一部のプロパティのみを示します。完全なリストについては、Viewer Properties を参照してください。
背景の色。RGB 3 成分、16 進数カラー コード、色の名前、または色の省略名として指定します。MATLAB® でライト モードが選択されている場合、既定の色は [0 0.329 0.529] になります。MATLAB でダーク モードが選択されている場合、既定の色は [0.1 0.1 0.1] になります。
カスタム色の場合、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" |
|
"none" | 該当なし | 該当なし | 該当なし | 色なし |
以下に、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" |
|
例: BackgroundColor="r"
例: BackgroundColor="green"
例: BackgroundColor=[0 0.4470 0.7410]
例: BackgroundColor="#FF8800"
背景グラデーションあり。"on" か "off"、または数値か logical の 1 (true) か 0 (false) として指定します。"on" の値は true と等価であり、"off" は false と等価です。この値は、OnOffSwitchState 型の on/off の logical 値として格納されます。このプロパティは、GradientColor から BackgroundColor へのグラデーションで背景をシェーディングするかどうかを指定します。このプロパティが false の場合、GradientColor プロパティは効果がありません。
背景グラデーション シェーディングの色。RGB 3 成分、16 進数カラー コード、色の名前、または色の省略名として指定します。BackgroundGradient が true の場合、背景は GradientColor から BackgroundColor へのグラデーションとしてシェーディングされます。MATLAB でライト モードが選択されている場合、既定の色は [0.0 0.561 1.0] になります。MATLAB でダーク モードが選択されている場合、既定の色は [0.3 0.3 0.3] になります。
カスタム色の場合、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" |
|
"none" | 該当なし | 該当なし | 該当なし | 色なし |
以下に、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" |
|
例: GradientColor="r"
例: GradientColor="green"
例: GradientColor=[0 0.4470 0.7410]
例: GradientColor="#FF8800"
シーン内の周囲光の強度。範囲 [0, 1] の数値スカラーとして指定します。このプロパティは、シーン内の周囲光の量を指定します。
R2023b 以降
エッジ保存型ノイズ除去の適用。"on" か "off"、または数値か logical の 1 (true) か 0 (false) として指定します。"on" の値は true と等価であり、"off" は false と等価です。この値は、OnOffSwitchState 型の on/off の logical 値として格納されます。
この値が "on" の場合、ビューアーはビューアー内のすべてのオブジェクトに対し、エッジ保存型ノイズ除去を適用します。既定の設定では、値は "off" です。ビューアーにシネマティック レンダリングを使用して表示する Volume オブジェクトが含まれている (つまり、RenderingStyle プロパティの値が "CinematicRendering" である) 場合、Denoising 値は自動的に "on" に変更されます。
出力引数
3 次元ビューアー。3 次元イメージ表示用に構成された Viewer オブジェクトとして返されます。viewer3d 関数を使用して Viewer を作成すると、関数は 3 次元可視化をサポートするために特定のプロパティを設定します。viewer2d ではなく viewer3d によって作成された場合に既定が異なるプロパティの詳細については、Viewer Properties を参照してください。
詳細
特定のイベントが発生したときに Viewer オブジェクトから通知を受け取るには、これらのイベントに対する "リスナー" を設定します。これらのイベントのいずれかが発生したときに実行するコールバック関数を指定できます。Viewer オブジェクトがリスナーを通じてアプリケーションに通知するとき、イベントに固有のデータを返します。特定のイベントのイベント クラスを確認して何が返されたかを調べます。
| イベント名 | トリガー | イベント データ | イベント属性 |
|---|---|---|---|
AnnotationAdded | 点またはラインの注釈がビューアーに対話的に追加された。プログラムによって注釈が追加される場合、このイベントは実行されません。 | images.ui.graphics.events.AnnotationAddedEventData |
|
AnnotationEdited | 点またはラインの注釈のラベルが対話的に編集された。プログラムによって注釈ラベルが編集される場合、このイベントは実行されません。 | images.ui.graphics.events.AnnotationEditedEventData |
|
AnnotationMoved | 点またはラインの注釈がビューアー内で対話的に移動された。プログラムによって注釈が移動される場合、このイベントは実行されません。 | images.ui.graphics.events.AnnotationMovedEventData |
|
AnnotationRemoved | 点またはラインの注釈がビューアーから対話的に削除された。プログラムによって注釈が削除される場合、このイベントは実行されません。 | images.ui.graphics.events.AnnotationRemovedEventData |
|
CameraMoving | カメラが対話的に移動される。プログラムによってカメラが移動される場合、このイベントは実行されません。 | images.ui.graphics.events.CameraMovedEventData |
|
CameraMoved | カメラの対話的な移動が停止する。プログラムによってカメラが移動される場合、このイベントは実行されません。 | images.ui.graphics.events.CameraMovedEventData |
|
ClippingPlanesChanging | グローバル クリッピング平面が対話的に移動される。プログラムによってクリッピング平面が移動される場合、このイベントは実行されません。 | images.ui.graphics.events.ClippingPlanesChangedEventData |
|
ClippingPlanesChanged | グローバル クリッピング平面の対話的な移動が停止する。プログラムによってクリッピング平面が移動される場合、このイベントは実行されません。 | images.ui.graphics.events.ClippingPlanesChangedEventData |
|
CropRegionChanged | トリミング領域の対話的な変更が停止する。プログラムによってトリミング領域が変更される場合、このイベントは実行されません。 | images.ui.graphics.events.CropRegionChangedEventData |
|
ViewerRefreshed | ビューアーが更新された。ビューアーの親を変更するか、親オブジェクトの先祖階層を変更すると、ビューアーが更新されます。ビューアーを更新すると、ビューアーはクリアされ、子オブジェクトが一切含まれなくなります。シーンを再現するには、このイベントをリッスンして、ビューアーの親になったことのあるすべてのオブジェクトを再構築します。 | event.EventData |
|
ヒント
シーンからすべてのオブジェクトをクリアし、以前に 3 次元ビューアー
viewerに追加されたすべてのデータ コンテナーを削除するには、次のコマンドを使用します。clear(viewer)
シーン内のすべてのオブジェクトと 3 次元ビューアー
viewerを削除するには、次のコマンドを使用します。delete(viewer)
バージョン履歴
R2022b で導入関数は
Viewerオブジェクトを返すようになりました。これは、2 次元イメージの表示のサポートを反映してViewer3Dオブジェクトの名前が変更されたためです。Viewerオブジェクトは、Viewer3Dと同じプロパティと既定の動作をもちます。Viewer3Dオブジェクトの既存のインスタンスは引き続き期待どおりに動作し、Viewer3Dに対する参照のサポートを削除する予定はありません。ライト モードで
viewer3dを使用して作成されるビューアーの既定の背景色が[0 0.329 0.529]から[0 0.251 0.451]に変更されました。ライト モードにおける既定の背景グラデーションの色が[0.0 0.561 1.0]から[0.0667 0.4431 0.7451]に変更されました。
以前のリリースでサポートされていた四角形のトリミング領域に加えて、ビューアー内のオブジェクトを球形または円柱形の領域にトリミングします。球形または円柱形のトリミング領域を追加するには、
CropRegionプロパティをそれぞれ 4 要素または 5 要素の行ベクトルとして指定します。ビューアー ウィンドウでトリミング領域を対話的に変更します。新しい
CropModeプロパティを指定して、トリミング領域の内側または外側の領域を表示するかどうかを指定します。
Viewer3D オブジェクトには、ライティングを制御したりシーン内のオブジェクトを削除したりするための新しいプロパティとツールがあります。オブジェクト作成時にこれらのプロパティ値のいずれかを設定するには、それらを名前と値の引数として viewer3d 関数に指定します。
新しい
AmbientLightプロパティとDiffuseLightプロパティをそれぞれ使用して、ビューアー内の周囲光と拡散光の強度を制御します。新しい
Denoisingプロパティを使用して、ビューアー内のオブジェクトにノイズ除去を適用します。新しいDenoisingDegreeOfSmoothingプロパティとDenoisingSigmaプロパティをそれぞれ使用して、ガウス平滑化カーネルの平滑化の量と標準偏差を指定します。トリミング ボックスを使用して、ビューアー内のオブジェクトを四角形の部分領域にトリミングします。トリミング ボックスを対話的に追加するには、
Viewer3D座標軸ツール バーのトリミング ボックス ボタン
をクリックします。表示をトリミングするには、トリミング ボックスの面をドラッグします。トリミング ボックスを移動するには、Ctrl キーを押しながらドラッグします。新しい CropRegionプロパティを設定することで、トリミング領域をプログラムで定義できます。3-D ハサミ ツールを使用して、ビューアーから領域を削除します。ツールを有効にするには、
Viewer3D座標軸ツール バーのハサミ ボタン
をクリックします。削除するオブジェクトを含む 2 次元多角形を描画します。ツールは、描画平面に垂直な軸に沿って多角形を押し出すことによって定義される 3 次元切り取り領域からすべてを削除します。
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)







