Main Content

ROI の移行

R2018b 以降、以前の ROI オブジェクトのセットが新しい ROI オブジェクトのセットに置き換えられました。新しいオブジェクトは、パフォーマンスの向上に加え、面の色の透明度など、さらに便利な機能を提供します。新しいオブジェクトを使用すると、イベントを使用して、クリックや移動などのオブジェクト操作の通知を受け取ることもできます。現時点では、以前の ROI オブジェクトを削除する予定はありませんが、追加された機能や柔軟性を活用するために、新しい ROI に切り替えてください。新しい ROI の詳細については、ROI の形状の作成を参照してください。

ROI オブジェクトの移行

以前のいずれかの ROI オブジェクトをコードで使用する場合、対応する新しい ROI オブジェクトの呼び出しに置き換えます。新しい ROI では、以前はサポートされていなかった形状が用意されているため、場合によっては、いくつかの ROI から選択できます。新しいシステムの 2 つの ROI CrosshairCuboid に対応する ROI は、以前のシステムにはありません。

以前の ROI オブジェクト現在の ROI オブジェクト
imellipse代わりに Ellipse を使用してください。以前の ROI のセットでは、imellipse を使用して円 ROI を描画していました。新しい ROI では、Circle を使用してください。
imfreehand代わりに Freehand を使用してください。AssistedFreehand を使用すると、ベースのイメージにあるエッジの輪郭に自動的に従い描画を "補助" する手描き ROI を作成することもできます。
imline代わりに Line を使用してください。
impoint代わりに Point を使用してください。
impoly代わりに Polygon を使用してください。開いた多角形の形状を作成するには、Polyline を使用します。
imrect代わりに Rectangle を使用してください。

ROI オブジェクト関数の移行

以前の ROI のセットでは、オブジェクト関数を使用して、ROI の外観や動作のさまざまな特性をカスタマイズしていました。多くの場合、新しい ROI では、これらのオブジェクト関数がオブジェクト プロパティに置き換えられています。オブジェクト関数を呼び出す代わりに、プロパティの値の取得や設定を行います。たとえば、getColor を使用して ROI の色を取得する代わりに、新しい ROI オブジェクトの Color プロパティの値にアクセスします。コードを新しい ROI システムに移行する方法の詳細については、以前の ROI オブジェクトに関連するオブジェクト関数リファレンス ページの互換性の考慮事項の節を参照してください。

以前の ROI オブジェクト関数等価のオブジェクト関数
addNewPositionCallbackROI が移動したときに実行する関数を指定するには、オブジェクト関数 addListener を使用します。イベントの使用の詳細については、ROI イベントを参照してください。
createMask新しい ROI では、等価のオブジェクト関数 createMask を使用します。
getColor

ROI の Color プロパティの値を取得します。次に例を示します。

roi_color = roi.Color;.

getPosition

ROI の Position プロパティの値を取得します。次に例を示します。

roi_pos = roi.Position;.

getPositionConstraintFcnDrawingArea プロパティを使用して位置制約を指定します。
getVertices

ROI の Vertices プロパティの値を取得します。次に例を示します。

roi_vert = roi.Vertices;.

makeConstrainToRectFcnDrawingArea プロパティを使用して位置制約を指定します。
removeNewPositionCallbackROI が移動したときに呼び出す関数を指定するには、オブジェクト関数 addListener を使用します。このコールバック関数を削除するには、オブジェクト関数 addListener によって返されるオブジェクトを削除します。
resume代わりに uiresume を使用してください。
setClosedROI の Closed プロパティに値を割り当てます。たとえば、roi.Closed = 'y' のようにします。
setColor新しい ROI の Color プロパティに値を割り当てます。たとえば、roi.Color = 'y' のようにします。
setConstrainedPositionDrawingArea プロパティを使用して位置制約を指定します。
setFixedAspectRatioMode新しい ROI の FixedAspectRatio プロパティを使用して、値を true に設定します。
setPosition新しい ROI の Position プロパティに値を割り当てます。位置を指定する方法は、オブジェクトごとに異なります。たとえば、roi.Position = [50 50] のようにします。
setPositionConstraintFcnDrawingArea プロパティを使用して位置制約を指定します。
setResizableInteractionsAllowed プロパティを使用して、値を 'translate' に設定します。
setString新しい ROI の Label プロパティに値を割り当てます。たとえば、roi.Label = 'My Label'; のようにします。
setVerticesDraggableInteractionsAllowed プロパティを使用して、値を 'translate' に設定します。
wait新しい ROI オブジェクトでは、等価の wait を使用します。新しい関数 wait では、位置情報を含む戻り値をサポートしていないことに注意してください。

ROI イベント

以前の ROI では、オブジェクト関数 addNewPositionCallback を使用して、ROI が移動したときに通知を受け取ることができました。イベントが発生したときに実行するオブジェクトと関数を id = addNewPositionCallback(h,fcn) のように指定します。

新しい ROI の場合、ROI が移動したときに通知を受け取るには、オブジェクト関数 addListener を使用してください。オブジェクト、通知を受け取るイベントの名前、およびイベントの発生時に実行する関数の名前を el = addlistener(roi,'ROIMoving',mycallbackfcn) のように指定します。新しい ROI では、ROI がクリックされた場合など、さまざまなイベントの通知を受け取ることができるため、イベントの名前を指定しなければなりません。

例を確認するには、addNewPositionCallback のリファレンス ページの Compatibility Considerationsの節を参照してください。

関連するトピック