メインコンテンツ

viewer3d

3 次元イメージ表示用ビューアーの作成

R2022b 以降

    説明

    viewer = viewer3d は、3 次元イメージ表示用に構成された新しい Figure ウィンドウに Viewer オブジェクトを作成します。Viewer オブジェクトを作成した後は、viewer を使用して、このオブジェクトのプロパティをクエリおよび変更します。プロパティの一覧については、Viewer Properties を参照してください。

    viewer = viewer3d(parent) は、指定された親コンテナーに Viewer オブジェクトを作成します。

    viewer = viewer3d(___,Name=Value) は、Viewer オブジェクトを作成し、前の構文の入力引数に加えて、1 つ以上の名前と値の引数を使用してオブジェクトのプロパティを設定します。

    たとえば、viewer3d(BackgroundColor="green",BackgroundGradient=false) は、新しい Figure ウィンドウに、背景グラデーションを使用しない緑色の背景で Viewer オブジェクトを作成します。

    すべて折りたたむ

    3 次元ビューアー ウィンドウを作成し、名前と値の引数を使用して背景とライティングの表示を指定します。

    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;

    ビューアー ウィンドウ内にタイトルとスケール バーを追加します。

    viewer.Title = "Brain MRI";
    viewer.ScaleBar = "on";

    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"

    Sample of the color red

    "green""g"[0 1 0]"#00FF00"

    Sample of the color green

    "blue""b"[0 0 1]"#0000FF"

    Sample of the color blue

    "cyan" "c"[0 1 1]"#00FFFF"

    Sample of the color cyan

    "magenta""m"[1 0 1]"#FF00FF"

    Sample of the color magenta

    "yellow""y"[1 1 0]"#FFFF00"

    Sample of the color yellow

    "black""k"[0 0 0]"#000000"

    Sample of the color black

    "white""w"[1 1 1]"#FFFFFF"

    Sample of the color white

    "none"該当なし該当なし該当なし色なし

    次の表に、ライト テーマとダーク テーマにおけるプロットの既定のカラー パレットを示します。

    パレットパレット カラー

    "gem" — ライト テーマの既定

    R2025a より前: ほとんどのプロットでは既定でこれらの色が使用されます。

    Sample of the "gem" color palette

    "glow" — ダーク テーマの既定

    Sample of the "glow" color palette

    orderedcolors 関数と rgb2hex 関数を使用して、これらのパレットの RGB 3 成分と 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、それを 16 進数カラー コードに変換します。

    RGB = orderedcolors("gem");
    H = rgb2hex(RGB);

    R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して RGB 3 成分を取得します。

    R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して 16 進数カラー コードを取得します。

    例: 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 進数カラー コード、色の名前、または色の省略名として指定します。BackgroundGradienttrue の場合、背景は 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"

    Sample of the color red

    "green""g"[0 1 0]"#00FF00"

    Sample of the color green

    "blue""b"[0 0 1]"#0000FF"

    Sample of the color blue

    "cyan" "c"[0 1 1]"#00FFFF"

    Sample of the color cyan

    "magenta""m"[1 0 1]"#FF00FF"

    Sample of the color magenta

    "yellow""y"[1 1 0]"#FFFF00"

    Sample of the color yellow

    "black""k"[0 0 0]"#000000"

    Sample of the color black

    "white""w"[1 1 1]"#FFFFFF"

    Sample of the color white

    "none"該当なし該当なし該当なし色なし

    次の表に、ライト テーマとダーク テーマにおけるプロットの既定のカラー パレットを示します。

    パレットパレット カラー

    "gem" — ライト テーマの既定

    R2025a より前: ほとんどのプロットでは既定でこれらの色が使用されます。

    Sample of the "gem" color palette

    "glow" — ダーク テーマの既定

    Sample of the "glow" color palette

    orderedcolors 関数と rgb2hex 関数を使用して、これらのパレットの RGB 3 成分と 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、それを 16 進数カラー コードに変換します。

    RGB = orderedcolors("gem");
    H = rgb2hex(RGB);

    R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して RGB 3 成分を取得します。

    R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して 16 進数カラー コードを取得します。

    例: GradientColor="r"

    例: GradientColor="green"

    例: GradientColor=[0 0.4470 0.7410]

    例: GradientColor="#FF8800"

    R2025a 以降

    ビューアーのタイトル。string スカラーまたは文字ベクトルとして指定します。タイトルはビューアー ウィンドウの上部中央に表示されます。

    シーン内の周囲光の強度。範囲 [0, 1] の数値スカラーとして指定します。このプロパティは、シーン内の周囲光の量を指定します。

    拡散光の強度。範囲 [0, 1] の数値スカラーとして指定します。このプロパティは、ViewerLights プロパティの光源によって提供される拡散光の量を指定します。

    シーン内に光源が 1 つしかない場合、またはマルチライト シーン内のすべての光源を同じ値に更新する場合は、名前と値の引数 DiffuseLight を指定します。マルチライト シーン内の個々のライトを調整するには、Lights プロパティで、対応する Light オブジェクトの Intensity プロパティを設定します。

    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 を参照してください。

    詳細

    すべて折りたたむ

    ヒント

    • シーンからすべてのオブジェクトをクリアし、以前に 3 次元ビューアー viewer に追加されたすべてのデータ コンテナーを削除するには、次のコマンドを使用します。

      clear(viewer)

    • シーン内のすべてのオブジェクトと 3 次元ビューアー viewer を削除するには、次のコマンドを使用します。

      delete(viewer)

    バージョン履歴

    R2022b で導入

    すべて展開する