このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
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)