ドキュメンテーション

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

drawfreehand

カスタマイズ可能なフリーハンド ROI の作成

説明

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

h = drawfreehand(ax) は、ax で指定される座標軸で ROI の対話型の配置を開始します。

h = drawfreehand(___,Name,Value) は、1 つ以上の名前と値のペアを使用して ROI の外観や動作を変更します。指定されていない名前と値のペアは既定値に設定されます。

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

すべて折りたたむ

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

imshow(imread('yellowlily.jpg'))

フリーハンド ROI を描画します。

h = drawfreehand;

フリーハンド ROI の面を塗りつぶし、ROI を選択する機能を無効にします。マウスをクリック アンド ドラッグしても、ROI は移動しません。

h.FaceAlpha = 1;
h.FaceSelectable = false;

入力引数

すべて折りたたむ

ROI の親の座標軸。axes オブジェクトとして指定します。

名前と値のペアの引数

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

例: h = drawfreehand('LineWidth',5);

フリーハンド ROI を閉じる。'Closed' と logical 値 true または false で構成されるコンマ区切りのペアとして指定します。true (既定の設定) の場合、drawfreehand は、描画された最後の中間点を描画された最初の中間点と結ぶことによって ROI を閉じます。

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

ROI 面の透明度。'FaceAlpha'[0,1] の範囲のスカラー値で構成されるコンマ区切りのペアとして指定します。値が 1 の場合、ROI 面は完全に不透明になります。値が 0 の場合、ROI 面は完全に透明になります。

ROI 面でクリックをキャプチャ可能。'FaceSelectable' と値 true または false で構成されるコンマ区切りのペアとして指定します。true (既定の設定) の場合、ROI 面でクリックをキャプチャできます。false の場合、ROI 面でクリックをキャプチャできません。

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

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

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

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

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

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

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

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

フリーハンド ROI の位置。n 行 2 列の配列 [x1 y1; …; xn yn] として指定します。ここで、各行はフリーハンド ROI の頂点の位置を指定します。

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 のエッジの平滑化。'Smoothing' と非負のスカラーで構成されるコンマ区切りのペアとして指定します。この関数は、この 'Smoothing' 値を使用してフリーハンド ROI の x 座標と y 座標をフィルター処理します。この関数は、フィルター サイズを 2*ceil(2*Smoothing) + 1 として定義します。

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 の可視性。'Visible' と次の表のいずれかの値で構成されるコンマ区切りのペアとして指定します。

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

ROI の形状を変更するコントロール ポイント。'Waypoints' と、Position と同じ長さの n 行 1 列の logical ベクトルで構成されるコンマ区切りのペアとして指定します。Waypoints ベクトルの各要素は、配列 Position 内の対応する点が中間点かどうかを示します。中間点である位置は、Waypointstrue に設定します。中間点をドラッグすると、指定した中間点と隣接する中間点の間の ROI が変更されます。空の場合、drawfreehand は曲率が増加する位置に Waypoints を自動的に生成します。

出力引数

すべて折りたたむ

フリーハンド ROI。images.roi.Freehand オブジェクトとして返されます。

ヒント

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

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

    右クリックします。

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

    Enter キーを押します。

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

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

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

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

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

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

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

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

    ROI を移動する。ROI にポインターを配置します。ポインターが花形に変わります。ROI をクリック アンド ドラッグします。

R2018b で導入