ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

drawcuboid

カスタマイズ可能な直方体 ROI の作成

説明

H = drawcuboid は、現在の座標軸で直方体の関心領域 (ROI) の対話型の配置を開始します。この関数は images.roi.Cuboid オブジェクト H を返します。ROI はマウスを使用して対話的に変更できます。この ROI は、その外観や動作などを制御するコンテキスト メニューもサポートしています。

H = drawcuboid(ax) は、現在の座標軸 (gca) ではなく ax で指定される座標軸に ROI を作成します。

H = drawcuboid(S) は、S で指定される Scatter オブジェクトに ROI を作成します。対話型の配置中に、直方体は、Scatter オブジェクトで定義される最も近い点にスナップされます。

H = drawcuboid(___,Name,Value) は、1 つ以上の名前と値のペアを使用して ROI の外観を変更します。

ROI を対話的に作成するには、ポインターを ROI 上に配置し、ポインターを Figure 内の任意の位置に移動してクリックします。直方体を削除するには、ポインターを ROI 上に配置し、右クリックして表示されたコンテキスト メニューから [直方体を削除] を選択します。キーボード ショートカットを含む対話型動作の詳細については、ヒントを参照してください。

すべて折りたたむ

3 次元散布図を作成し、そのデータ上に直方体 ROI を対話的に定義します。

3 次元散布データのベクトルを定義します。

[x,y,z] = sphere(16);
X = [x(:)*.5 x(:)*.75 x(:)];
Y = [y(:)*.5 y(:)*.75 y(:)];
Z = [z(:)*.5 z(:)*.75 z(:)];

各マーカーのサイズと色を指定します。

S = repmat([1 .75 .5]*10,numel(x),1);
C = repmat([1 2 3],numel(x),1);

3 次元散布図を作成します。view を使用して Figure 内の座標軸の角度を変更します。

figure
hScatter = scatter3(X(:),Y(:),Z(:),S(:),C(:),'filled'); 
view(-60,60);

座標軸への直方体 ROI の配置を開始します。ROI は、散布図で定義される最も近い点にスナップされます。対話型の配置中に、スクロール ホイールを使用して直方体のサイズを調整します。

drawcuboid(hScatter);

入力引数

すべて折りたたむ

ROI の親の座標軸。Axes オブジェクトとして指定します。座標軸を指定しない場合、関数は現在の座標軸を使用します。

散布図。Scatter オブジェクトとして指定します。Scatter オブジェクトの親が ROI の親になります。

名前と値のペアの引数

オプションの引数 Name,Value のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を、任意の順番で指定できます。

例: h = drawcuboid('Color','k','Label','My Cuboid');

ROI の色。'Color' と MATLAB® ColorSpec (Color Specification) 値で構成されるコンマ区切りのペアとして指定します。

例: 'green'

例: 'g'

例: [0 1 0]

コンテキスト メニューを使用して対話的に ROI を削除可能。'Deletable' と logical 値 true または false で構成されるコンマ区切りのペアとして指定します。値が true (既定の設定) の場合、コンテキスト メニューを使用して ROI を削除できます。このコンテキスト メニュー項目を無効にするには、'Deletable'false に設定します。値を false に設定した場合でも、ROI のハンドルを入力として指定して関数 delete を呼び出すことによって、ROI を削除できます。

ROI を対話形式で配置できる座標軸の領域。'DrawingArea' と次の表のいずれかの値で構成されるコンマ区切りのペアとして指定します。

説明
'auto'

描画領域は、現在の座標軸の範囲と ROI を囲む境界ボックスのスーパーセットです (既定の設定)。

'unlimited'描画領域には境界がなく、座標軸の範囲を超えて ROI を描画したりドラッグしたりできます。
[x,y,z,w,h,d]描画領域は、(x,y,z) を基準として幅 w、高さ h、奥行 d を持つ領域に制限されます。

ROI エッジの透明度。'EdgeAlpha' と範囲 [0 1] のスカラーから構成されるコンマ区切りのペアとして指定します。1 に設定すると、ROI エッジは完全に不透明になります。0 に設定すると、ROI エッジは完全に透明になります。

例: drawcuboid('EdgeAlpha',0.2)

ROI 面の透明度。[0 1] の範囲の数値のスカラー値として指定します。値が 1 の場合、ROI 面は完全に不透明になります。値が 0 の場合、ROI 面は完全に透明になります。

マウス ポインターの直下にある ROI 面の透明度。'FaceAlphaOnHover' と範囲 [0 1] のスカラー値から構成されるコンマ区切りのペアとして、または、面の透明度に変更がないことを示す 'none' として指定します。1 に設定すると、マウス ポインターの下にある面は完全に不透明になります。0 に設定すると、面は完全に透明になります。

例: drawcuboid('FaceAlphaOnHover',1)

マウス ポインターの直下にある ROI 面の色。'FaceColorOnHover' と MATLABColorSpec (Color Specification) から構成されるコンマ区切りのペアまたは 'none' として指定します。既定では、カーソルを置いても面の色は変化しません (カーソルを置くとは、直方体 ROI の面上にポインターを配置することを意味します)。ROI の面上にカーソルを置いていない場合、ROI の Color プロパティの値によって面の色が決まります。強度は [0,1] の範囲でなければなりません。

例: drawcuboid('FaceColorOnHover','g')

親の Children プロパティでの ROI ハンドルの可視性。'HandleVisibility' と次の表のいずれかの値で構成されるコンマ区切りのペアとして指定します。

説明
'on'オブジェクト ハンドルは常に参照できます (既定の設定)。
'off'オブジェクト ハンドルは常に参照できません。
'callback'オブジェクト ハンドルはコールバックまたはコールバックによって呼び出された関数内から参照できますが、コマンド ラインから呼び出された関数内からは参照できません。

ROI の対話性。'InteractionsAllowed' と次の表のいずれかの値で構成されるコンマ区切りのペアとして指定します。

説明
'all'ROI は完全に対話形式で操作できます (既定の設定)。
'none'ROI は対話形式で操作できず、ドラッグ ポイントが表示されません。
'translate'ROI は描画領域内で平行移動できますが、形状の変更はできません。

ROI ラベル。'Label' と、文字ベクトルまたは string で構成されるコンマ区切りのペアとして指定します。既定の設定では、このプロパティは空の配列 ('') に設定され、ROI にはラベルがありません。

ROI ラベルの可視性。'LabelVisible' と次のいずれかの値で構成されるコンマ区切りのペアとして指定します。

説明
'on'ROI が表示されていて 'Label' が空でない場合、ラベルは表示されます (既定の設定)。
'hover'マウスのカーソルを ROI 上に置いている場合のみ、ラベルは表示されます。
'off'ラベルは表示されません。

例: drawcuboid('LabelVisible','hover')

ROI のエッジの幅。'LineWidth' とポイント単位の正の数値スカラーで構成されるコンマ区切りのペアとして指定します。既定値はスクリーン ピクセルに対する点の数の 3 倍です。

ROI の親。'Parent'Axes オブジェクトから構成されるコンマ区切りのペアとして指定します。UIAxes を ROI の親にすることはできません。

直方体の位置。'Position' と、[xmin, ymin, zmin, width, height, depth] 形式の 1 行 6 列の配列から構成されるコンマ区切りのペアとして指定します。直方体を描画または移動すると、このプロパティは自動的に更新されます。

直方体の回転可能性。'Rotatable' と次の表のいずれかの値で構成されるコンマ区切りのペアとして指定します。

説明
'all'ROI は完全に回転できます。
'x' ROI は x 軸を中心としてのみ回転できます。
'y'ROI は y 軸を中心としてのみ回転できます。
'z'ROI は z 軸を中心としてのみ回転できます。
'none'ROI は回転できません。

ROI の回転の角度。'RotationAngle' と、度単位で測定した回転角の 1 行 3 列の数値配列から構成されるコンマ区切りのペアとして指定します。回転角の配列は [x_angle y_angle z_angle] の形式であり、それぞれ x 軸、y 軸、z 軸を中心として測定されます。回転は、ROI の重心を中心として z、y、x の順に適用されます。

RotationAngle の値は、Position の値には影響を与えません。Position は回転前の直方体を表します。直方体を回転するときは、Vertices を使用して回転後の ROI の位置を決定します。

スクロール ホイールによる ROI のサイズの調整可能性。'ScrollWheelDuringDraw' と次の表のいずれかの値で構成されるコンマ区切りのペアとして指定します。

説明
'allresize'スクロール ホイールは、ROI のすべての次元に影響を与えます。
'xresize' スクロール ホイールは x 次元にのみ影響を与えます。
'yresize' スクロール ホイールは y 次元にのみ影響を与えます。
'zresize' スクロール ホイールは z 次元にのみ影響を与えます。
'none'スクロール ホイールには効果がありません。

ROI の選択状態。'Selected'true または false から構成されるコンマ区切りのペアとして指定します。この値は対話形式で設定することもできます。たとえば、ROI をクリックすると、それが選択され、この値が true に設定されます。同様に、ROI を Ctrl-click すると、それが選択解除され、この値は false に設定されます。

選択したときの ROI の色。'SelectedColor' と MATLAB ColorSpec (Color Specification) から構成されるコンマ区切りのペアとして指定します。'SelectedColor''none' に設定された場合、Color の値はすべての状態 (選択または未選択) の ROI の色を定義します。

例: 'green'

例: 'g'

例: [0 1 0]

ROI ストライプの色。'StripeColor と MATLAB ColorSpec (Color Specification) 値で構成されるコンマ区切りのペアとして指定します。'StripeColor' を指定した場合、ROI エッジはストライプ状になります。縞模様は、'Color' で指定した値とこの値の組み合わせで構成されます。

例: 'green'

例: 'g'

例: [0 1 0]

ROI に関連付けるタグ。'Tag' と文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。関数 findobj を使用してオブジェクトの階層内の ROI オブジェクトを見つけるには、このタグ値を使用します。

コンテキスト メニュー。'UIContextMenu'uicontextmenu オブジェクトから構成されるコンマ区切りのペアとして指定します。この名前と値のペアを指定すると、ROI を右クリックしたときにカスタム コンテキスト メニューが表示されます。関数 uicontextmenu を使用してコンテキスト メニュー プロパティを設定することによって、カスタム コンテキスト メニューを作成できます。

ROI に関連付けるデータ。'UserData' と任意の MATLAB データから構成されるコンマ区切りのペアとして指定します。たとえば、スカラー、ベクトル、行列、cell 配列、string、文字配列、テーブル、または構造体を指定できます。MATLAB はこのデータを使用しません。

このプロパティは読み取り専用です。

直方体 ROI のコーナーの位置。8 行 3 列の配列として指定します。各行は、直方体 ROI のコーナーの x 座標、y 座標、および z 座標です。

ROI の可視性。'Visible' と次の表のいずれかの値で構成されるコンマ区切りのペアとして指定します。

説明
'on'この値を指定すると ROI が表示されます (既定の設定)。
'off'この値を指定すると ROI は削除されずに非表示になります。ただし、非表示の ROI のプロパティにアクセスすることはできます。

出力引数

すべて折りたたむ

直方体 ROI。images.roi.Cuboid オブジェクトとして返されます。

ヒント

  • ROI は、キーボード ショートカットを含む以下の対話性をサポートします。

    動作キーボード ショートカット
    描画中に ROI のサイズを微調整する。スクロール ホイールを使用して、描画中に ROI のサイズを少し変更します。
    ROI の描画を中断する。Esc キーを押します。関数は Position フィールドが空の有効な ROI オブジェクトを返します。
    ROI をサイズ変更 (形状変更) する。

    ポインターを直方体のいずれかの表示面に配置して、その面をクリック アンド ドラッグします。面を選択するために直方体を回転させなければならない場合があります。

    Shift キーを押したままマウスをドラッグすると、ROI は移動しますが、どの次元も変化しません。

    ROI を移動する。

    ポインターを ROI のいずれかの表示面に配置して、Shift キーを押したままクリック アンド ドラッグします。

    ROI の表示面にポインターを配置し、右クリックして [次元をロック] を選択します。クリック アンド ドラッグして ROI を移動します。

R2019a で導入