ドキュメンテーション

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

ROI 作成の概要

ツールボックスには、円、楕円、多角形、ライン、ポリライン、点、四角形など、さまざまな形状の関心領域を作成するための一連のクラスが用意されています。フリーハンド図形や、イメージ内のエッジにスナップされるフリーハンド図形も描画できます。次の図は、イメージ上に描画された多角形 ROI を示しています。

ROI 作成クラス

ツールボックスには、ROI の作成をサポートする 10 個のクラスが含まれています。これらのクラスを使用して、座標軸に特定の形状の ROI を作成します。これらのクラスには、ROI の作成に柔軟性を与えるプロパティ、メソッド、およびイベントがあります。これらのクラスを使用すると、ROI のサイズと形状に関する情報を指定して、マウスを使う対話形式かプログラミングによって ROI を描画できます。ROI オブジェクトを作成したら、ROI に対してマスクの作成などの操作を実行できます。その動作や外観などの特性を制御したり、マウスのクリックや移動など、ROI で発生するイベントに応答することもできます。

ROI クラスを対話形式で使用するときの基本的なワークフローでは、クラスのオブジェクトをインスタンス化した後に、draw メソッドを呼び出します。

  1. イメージを MATLAB ワークスペースに読み取り Figure に表示します。

    I = imread('pears.png');
    imshow(I)
  2. ROI オブジェクトをインスタンス化します。この例では、StripeColor パラメーターを使用してエッジの外観をカスタマイズして、イメージ上に楕円 ROI を作成します。

    h = images.roi.Ellipse('StripeColor','m');
  3. Ellipse オブジェクトの draw メソッドを呼び出して、座標軸上に ROI を描画します。マウス ポインターをイメージ上に移動すると、カーソルが十字に変わります。カーソルをイメージ上でクリックして移動し、楕円形状を作成します。楕円の移動と楕円の形状の変更は対話形式で行うことができます。

    draw(h)

プログラミングによって ROI を描画する場合、draw メソッドを呼び出す必要はありません。詳細は、images.roi.Circle など、作成する ROI 形状のクラスのリファレンス ページを参照してください。

ROI 作成関数

便宜上、ツールボックスには、ROI クラスを直接呼び出すことなくこれらの ROI を描画できる 10 個の関数が用意されています。これらの関数は ROI クラスのインスタンスを作成します。

このような ROI 簡易関数を対話形式で使用するときの基本的なワークフローでは、関数を呼び出します。関数はクラスをインスタンス化し、draw メソッドを呼び出して ROI の対話型の配置を開始します。簡易関数を使用してオブジェクトを作成する場合、LineWidthColor など、さまざまなプロパティの値を指定できます。

App Designer を使って作成したアプリでの ROI の使用

App Designer を使って作成したアプリで ROI を使用できます。ただし、アプリでは標準的な Axes オブジェクトを使用しなければなりません。UIAxes を ROI の親とすることはできません。さらに、ROI 作成関数を呼び出す場合、入力引数として指定するか名前と値のペア 'Parent' を使用して、座標軸を明示的に指定しなければなりません。この方法でアプリで ROI を使用する場合には、いくつかの制限があります。

  • マウス カーソルは ROI 上に移動させても更新されません。カーソルは常に矢印です。

  • マウス カーソルを ROI 上に移動させても ROI の色は変化しません。

  • ROI の右クリック メニュー (UIContextMenu) はサポートされていません。

次のコードは、典型的なアプリ作成ワークフローではありませんが、アプリ (UIFigure) で Axes に ROI を指定する方法を示しています。

  1. UIFigure を作成します。

    fig = uifigure;

  2. UIFigureAxes を作成します。UIAxes オブジェクトではなく Axes オブジェクトにのみ ROI を作成できます。

    ax = axes(fig);

  3. Axes に ROI を作成します。Axes を引数として指定して、drawcircle など、いずれかの ROI 作成関数を呼び出します。カーソルを座標軸上に移動し、マウスをクリック アンド ドラッグして ROI を描画します。

    h = drawcircle(ax);

    images.roi.Circle など、いずれかの ROI 作成クラスを使用して、ROI を作成することもできます。クラスを使用する場合、ROI オブジェクトを引数として指定して関数 draw も呼び出さなければなりません。

関連する例

詳細