Main Content

getPositionConstraintFcn

現在の位置制約関数への関数ハンドルを返す

getPositionConstraintFcn は推奨されません。代わりに、新しい ROI で DrawingArea プロパティを使用してください。詳細については、互換性の考慮事項を参照してください。

説明

fcn = getPositionConstraintFcn(h) は、ROI オブジェクト h の現在の位置制約関数に対する関数ハンドル fcn を返します。

入力引数

すべて折りたたむ

ROI オブジェクト。imellipseimlineimpointimpoly または imrect オブジェクトとして指定します。

出力引数

すべて折りたたむ

関数ハンドル。ハンドルとして返されます。詳細については、関数ハンドルの作成を参照してください。

バージョン履歴

R2008a で導入

すべて折りたたむ

R2018b: getPositionConstraintFcn は非推奨

R2018b 以降、既存の ROI オブジェクトのセットが新しい ROI オブジェクトのセットに置き換えられています。新しいオブジェクトは、面の色の透明度など、さらに便利な機能を提供します。新しいクラスでは、移動やクリックなどの ROI の変化に応答するために使用できるイベントもサポートされています。現時点では、以前の ROI オブジェクトを削除する予定はありませんが、追加された機能や柔軟性を活用するために、新しい ROI に切り替えてください。新しい ROI 関数を使用した ROI の作成方法の詳細については、ROI の形状の作成を参照してください。

新しい ROI を使用する場合、位置制約関数を作成して登録する必要はありません。ROI を描画および移動できる場所を制御するには、ROI の DrawingArea プロパティを使用します。そのため、現在の制約関数を取得する関数は必要ありません。

コードの更新

getPositionConstraintFcn のすべてのインスタンスを更新してください。

非推奨の使用方法推奨される代替案

この例では、点 ROI を作成し、setPositionConstraintFcn メソッドを使用して ROI の作成と移動をベースのイメージの境界内に制限します。

imshow('cell.tif')
h = impoint(gca,20,60);
% Create a position constraint function.
x = get(gca,'XLim');
y = get(gca,'YLim');
fcn = makeConstrainToRectFcn('impoint',x,y);;
% Register the constraint function with the ROI.
setPositionContraintFcn(h,fcn);
% Retrieve the handle of the current position constraint function.
fcn = getPositionContraintFcn(h);

新しい ROI では、現在の位置制約関数のハンドルの取得と同等な機能がありません。新しい ROI は DrawingArea プロパティを使用して、ROI を作成および移動できる範囲を指定します。たとえば、次のコードは、ROI を描画および移動できない 10 ピクセルの余白をイメージ境界内に作成します。

imshow('cell.tif')
h = drawpoint(gca,'Position',[20 60])
[height width] = size(I); %Get image dimensions
h.DrawingArea = [10,10,(width-20),(height-20)];