ドキュメンテーション

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

images.roi.Freehand クラス

パッケージ: images.roi

フリーハンドの関心領域

説明

images.roi.Freehand クラスはフリーハンドの関心領域 (ROI) オブジェクトを作成します。オブジェクトの draw メソッドを呼び出し、マウスを使用して ROI の対話型の描画を開始します。

フリーハンド ROI を対話的に作成するには、ポインターを座標軸に配置し、クリック アンド ドラッグして ROI の形状を描画します。形状を閉じるには、ポインターを離します。フリーハンド ROI を削除するには、ポインターを ROI 上に配置し、右クリックして表示されたコンテキスト メニューから [フリーハンドの削除] を選択します。キーボード ショートカットを含む対話型動作の詳細については、ヒントを参照してください。

images.roi.Freehand クラスは handle クラスです。

作成

説明

h = images.roi.Freehand は、既定のプロパティを使用して images.roi.Freehand クラスのインスタンスを作成します。

h = images.roi.Freehand(ax) は、ax で指定される座標軸に ROI を作成します。

h = images.roi.Freehand(___,Name,Value) は、1 つ以上の名前と値のペアを使用してプロパティを指定し、ROI の外観や動作を変更します。プロパティは、名前と値のペアを使用して設定できます。ax は指定してもしなくてもかまいません。

入力引数

すべて展開する

ROI の親。Axes オブジェクトとして指定します。

プロパティ

すべて展開する

パブリック プロパティ

フリーハンド ROI を閉じる。論理値 true または false を指定します。true (既定の設定) の場合、images.roi.Freehand は、描画された最後の点を描画された最初の点と結ぶことによって ROI を閉じます。

ROI の色。MATLAB® ColorSpec (Color Specification) として指定します。

例: 'green'

例: 'g'

例: [0 1 0]

コンテキスト メニューを使用して対話的に ROI を削除可能。true または false を指定します。値が true (既定の設定) の場合、コンテキスト メニューを使用して ROI を削除できます。このコンテキスト メニュー項目を無効にするには、このプロパティを false に設定します。値を false に設定した場合でも、ROI のハンドルを入力として指定して関数 delete を呼び出すことによって、ROI を削除できます。

ROI を対話形式で配置できる座標軸の領域。次の表のいずれかの値で指定します。

説明
'auto'描画領域は現在の座標軸の範囲です (既定の設定)。
'unlimited'描画領域には境界がなく、座標軸の範囲を超えて ROI を描画したりドラッグしたりできます。
[x,y,w,h]描画領域は、(x,y) を基準として幅 w と高さ h まで広がる四角形の領域に制限されます。

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

ROI 面でクリックをキャプチャ可能。true または false を指定します。true (既定の設定) の場合、ROI 面でマウス クリックをキャプチャします。false (既定の設定) の場合、ROI 面でマウス クリックをキャプチャしません。

親の Children プロパティでの ROI ハンドルの可視性。次の表のいずれかの値として指定します。

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

ROI の対話性。次の表のいずれかの値で指定します。

説明
'all'ROI は完全に対話形式で操作できます (既定の設定)。
'none'ROI は対話形式で操作できず、ドラッグ ポイントが表示されません。
'translate'ROI は描画領域内で平行移動できますが、形状の変更はできません。images.roi.Point オブジェクトでは、この値を使用できません。
'reshape'ROI は形状の変更はできますが、平行移動はできません。images.roi.Point オブジェクトまたは images.roi.Rectangle オブジェクトでは、この値を使用できません。

ROI ラベル。文字ベクトルまたは string として指定します。既定では、ROI にラベルはありません ('')。

ROI のエッジの幅。ポイント単位の正の数値スカラーを指定します。既定値はスクリーン ピクセルに対する点の数の 3 倍です。

対話型の配置中のフリーハンド描画スタイルの制御。論理値 true または false を指定します。値が false (既定の設定) の場合、クリック アンド ドラッグのジェスチャ 1 回でフリーハンド ROI が完成します。値が true の場合、複数回のクリック アンド ドラッグのジェスチャと直線のエッジと組み合わせて、より複雑なフリーハンド ROI 形状を作成することができます。

ROI の親。Axes オブジェクトとして指定します。UIAxes を ROI の親にすることはできません。

ROI の位置。[x1 y1;...;xn yn] 形式の n 行 2 列の数値配列として指定します。n は点の数です。各行は ROI を定義する点の位置を指定します。

ROI の選択状態。論理値 true または false を指定します。このプロパティは対話形式で設定することもできます。たとえば、ROI をクリックすると、その ROI が選択され、このプロパティが true に設定されます。同様に、Ctrl キーを押したまま ROI をクリックすると、ROI は選択解除され、このプロパティの値が false に設定されます。

選択したときの ROI の色。MATLAB ColorSpec (Color Specification) として指定します。強度は [0,1] の範囲でなければなりません。'SelectedColor''none' に設定された場合、Color の値はすべての状態 (選択または未選択) の ROI の色を定義します。

例: 'green'

例: 'g'

例: [0 1 0]

対話型の配置中の ROI の平滑化。正の数値スカラーを指定します。対話型の配置後の ROI の x 座標と y 座標を Smoothing で指定された標準偏差のガウス平滑化カーネルでフィルター処理します。フィルター サイズは 2*ceil(2*Smoothing) + 1 です。

ROI ストライプの色。MATLAB ColorSpec (Color Specification) 値を指定します。既定の設定では、ROI のエッジは単色で塗りつぶされます。StripeColor を指定した場合、ROI エッジはストライプ状になります。縞模様は、'Color' で指定した値とこの値の組み合わせで構成されます。

例: 'green'

例: 'g'

例: [0 1 0]

ROI に関連付けるタグ。string または文字ベクトルとして指定します。関数 findobj を使用してオブジェクトの階層内の ROI オブジェクトを見つけるには、このタグ値を使用します。

コンテキスト メニュー。ContextMenu オブジェクトとして指定します。このプロパティを使用すると、ROI を右クリックしたときにカスタム コンテキスト メニューが表示されます。関数 uicontextmenu を使用してコンテキスト メニュー プロパティを設定することによって、カスタム コンテキスト メニューを作成できます。

ROI に関連付けるデータ。任意の MATLAB データとして指定します。たとえば、スカラー、ベクトル、行列、cell 配列、string、文字配列、テーブル、または構造体を指定できます。MATLAB はこのデータを使用しません。

ROI の可視性。次の表のいずれかの値で指定します。

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

ROI の形状を変更するために使用されるコントロール ポイント。n 行 1 列の配列として指定します。この配列内で値が true の行は ROI エッジ上の位置が中間点であることを示します。配列 Waypoints の長さと Position プロパティの行数は一致しなければなりません。中間点をドラッグすると、指定した中間点と隣接する中間点の間のフリーハンドで描画した領域が変更されます。空 (既定の設定) の場合、images.roi.Freehand は曲率が増加する位置に中間点を自動的に生成します。

メソッド

すべて展開する

イベント

イベント名トリガーイベント データイベント属性
DeletingROIROI が対話的に削除されようとしている。event.EventData

NotifyAccess: private

ListenAccess: public

DrawingStartedROI が対話的に描画されようとしている。event.EventData

NotifyAccess: private

ListenAccess: public

DrawingFinishedROI が対話的に描画された。event.EventData

NotifyAccess: private

ListenAccess: public

MovingROIROI の形状または位置が対話的に変更中である。images.roi.ROIMovingEventData

NotifyAccess: private

ListenAccess: public

ROIMovedROI の形状または位置が対話的に変更された。images.roi.ROIMovingEventData

NotifyAccess: private

ListenAccess: public

ROIClickedROI がクリックされた。images.roi.ROIClickedEventData

NotifyAccess: private

ListenAccess: public

AddingWaypoint中間点が ROI に対話的に追加されようとしている。event.EventData

NotifyAccess: private

ListenAccess: public

WaypointAdded中間点が ROI に対話的に追加された。event.EventData

NotifyAccess: private

ListenAccess: public

RemovingWaypoint中間点が ROI から対話的に削除されようとしている。event.EventData

NotifyAccess: private

ListenAccess: public

WaypointRemoved中間点が ROI から対話的に削除された。event.EventData

NotifyAccess: private

ListenAccess: public

すべて折りたたむ

イメージをワークスペースに読み取って表示します。

I = imread('baby.jpg');
figure
imshow(I)

Position プロパティを使用して ROI の頂点を指定し、イメージ上にフリーハンド ROI を作成します。プログラムによって ROI を作成する場合、特定の座標軸に ROI を描画するには、座標軸を入力引数として指定しなければなりません。そうでない場合、images.roi.Freehand クラスのインスタンスは作成されますが表示されません。この例では、現在の座標軸 (gca) を指定して、その座標軸にあるイメージに ROI を描画します。

h = images.roi.Freehand(gca,'Position',[100 150;200 250;300 350;150 450]);

ヒント

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

    動作キーボード ショートカット
    ROI の描画を終了する (閉じる)。

    右クリックします。

    最初の頂点にポインターを配置して、クリックします。

    Enter キーを押します。

    ROI の描画を中断する。Esc キーを押します。関数は Position フィールドが空の有効な ROI オブジェクトを返します。
    新しい頂点 (中間点) を ROI に追加する。

    ROI のエッジにポインターを配置し、ダブルクリックします。

    ROI のエッジにポインターを配置し、右クリックして表示されたコンテキスト メニューから [中間点の追加] を選択します。

    ROI から頂点 (中間点) を削除する。

    頂点にポインターを配置し、右クリックして表示されたコンテキスト メニューから [中間点の削除] を選択します。

    ROI をサイズ変更 (形状変更) する。

    頂点にポインターを配置し、クリック アンド ドラッグします。

    多角形に新しい頂点を追加し、クリック アンド ドラッグします。

    ROI を移動する。ROI にポインターを配置します。ポインターが花形に変わります。ROI をクリック アンド ドラッグします。
  • App Designer を使って作成したアプリで ROI を使用する方法の詳細は、App Designer を使って作成したアプリでの ROI の使用を参照してください。

R2018b で導入