ROI の移行
R2018b 以降、以前の ROI オブジェクトのセットが新しい ROI オブジェクトのセットに置き換えられました。新しいオブジェクトは、パフォーマンスの向上に加え、面の色の透明度など、さらに便利な機能を提供します。新しいオブジェクトを使用すると、イベントを使用して、クリックや移動などのオブジェクト操作の通知を受け取ることもできます。現時点では、以前の ROI オブジェクトを削除する予定はありませんが、追加された機能や柔軟性を活用するために、新しい ROI に切り替えてください。新しい ROI の詳細については、ROI の形状の作成を参照してください。
ROI オブジェクトの移行
以前のいずれかの ROI オブジェクトをコードで使用する場合、対応する新しい ROI オブジェクトの呼び出しに置き換えます。新しい ROI では、以前はサポートされていなかった形状が用意されているため、場合によっては、いくつかの ROI から選択できます。新しいシステムの 2 つの ROI Crosshair
と Cuboid
に対応する 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 オブジェクト関数 | 等価のオブジェクト関数 |
---|---|
addNewPositionCallback | ROI が移動したときに実行する関数を指定するには、オブジェクト関数 addListener を使用します。イベントの使用の詳細については、ROI イベントを参照してください。 |
createMask | 新しい ROI では、等価のオブジェクト関数 createMask を使用します。 |
getColor | ROI の
|
getPosition | ROI の
|
getPositionConstraintFcn | DrawingArea プロパティを使用して位置制約を指定します。 |
getVertices | ROI の
|
makeConstrainToRectFcn | DrawingArea プロパティを使用して位置制約を指定します。 |
removeNewPositionCallback | ROI が移動したときに呼び出す関数を指定するには、オブジェクト関数 addListener を使用します。このコールバック関数を削除するには、オブジェクト関数 addListener によって返されるオブジェクトを削除します。 |
resume | 代わりに uiresume を使用してください。 |
setClosed | ROI の Closed プロパティに値を割り当てます。たとえば、roi.Closed = 'y' のようにします。 |
setColor | 新しい ROI の Color プロパティに値を割り当てます。たとえば、roi.Color = 'y' のようにします。 |
setConstrainedPosition | DrawingArea プロパティを使用して位置制約を指定します。 |
setFixedAspectRatioMode | 新しい ROI の FixedAspectRatio プロパティを使用して、値を true に設定します。 |
setPosition | 新しい ROI の Position プロパティに値を割り当てます。位置を指定する方法は、オブジェクトごとに異なります。たとえば、roi.Position = [50 50] のようにします。 |
setPositionConstraintFcn | DrawingArea プロパティを使用して位置制約を指定します。 |
setResizable | InteractionsAllowed プロパティを使用して、値を 'translate' に設定します。 |
setString | 新しい ROI の Label プロパティに値を割り当てます。たとえば、roi.Label = 'My Label'; のようにします。 |
setVerticesDraggable | InteractionsAllowed プロパティを使用して、値を '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
の節を参照してください。