Main Content

wait

(非推奨) ROI の作成が完了するまで MATLAB コマンド ラインをブロックする

wait は推奨されません。代わりに、新しい ROI に関連付けられている wait メソッドを使用してください。詳細については、互換性の考慮事項を参照してください。

説明

pos = wait(h) は、ROI オブジェクト h の配置が終了するまで、MATLAB® コマンド ラインの実行をブロックします。配置が完了したことを示すには、ROI オブジェクトをダブルクリックします。関数は ROI オブジェクトの位置 pos を返します。

v = wait(he) は、楕円 ROI オブジェクト he の配置が終了するまで、MATLAB コマンド ラインの実行をブロックします。配置が完了したことを示すには、ROI オブジェクトをダブルクリックします。関数は、楕円の周囲に沿って並ぶ頂点 v の座標を返します。

クリック アンド ドラッグによる四角形の配置

クリック アンド ドラッグにより四角形を対話形式で配置します。wait を使用して MATLAB コマンド ラインをブロックします。MATLAB コマンド ラインの実行を再開するには、四角形をダブルクリックします。

imshow('pout.tif')
h = imrect;
position = wait(h)

クリック アンド ドラッグによる楕円の配置

クリックとドラッグにより、楕円を対話形式で配置します。wait を使用して MATLAB コマンド ラインをブロックします。楕円上をダブルクリックすることで、MATLAB コマンド ラインの実行を再開します。

imshow('coins.png')
h = imellipse;
position = wait(h)

入力引数

すべて折りたたむ

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

楕円 ROI オブジェクト。imellipse オブジェクトとして指定します。

出力引数

すべて折りたたむ

ROI オブジェクトの位置。数値配列として返されます。配列の形状は ROI オブジェクトのタイプで異なります。さらに getPosition の出力と整合性があります。

ROI オブジェクト返される位置
imfreehandn 行 2 列の行列。2 つの列は、フリーハンド領域の境界に沿った n 個の各点に対して x と y 座標を定義します。
imline[x1 y1; x2 y2] 形式の 2 行 2 列の行列。ラインの 2 つの端点の位置を表します。
impoint[x y] 形式の 1 行 2 列ベクトル。
impolyn 行 2 列の行列。2 つの列は、n 個の各頂点に対して x と y 座標を定義します。
imrect[xmin ymin width height] 形式の 4 要素ベクトル。四角形の初期サイズは width x height ピクセルです。四角形の左上隅の (x,y) 座標は (xmin,ymin) です。

楕円 ROI オブジェクトの頂点。n 行 2 列の行列として返されます。2 つの列は、n 個の各頂点に対して x と y 座標を定義します。行列の形式は、getVertices の出力と整合性があります。

バージョン履歴

R2008a で導入

すべて折りたたむ

R2018b: wait は非推奨

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

19b では、古い ROI オブジェクトと同じように、新しいすべての ROI オブジェクトがオブジェクト関数 wait をサポートしています。ROI を作成した後、関数 wait を使用して MATLAB コマンド ラインをブロックします。たとえば、wait を使用して、ROI の配置が終了するまでコマンド ラインをブロックできます。

既定では、ROI をダブルクリックした後、新しい関数 wait はコマンド ラインに制御を返します。ただし、イベントを使用すると、Shift キーを押したまま ROI をクリックする、ラベルなどの ROI の特定の部分をクリックするなど、さまざまなタイプのアクションの後にコマンド ラインの実行を再開するカスタムの関数 wait を実装できます。例については、ROI の描画後の待機関数の使用を参照してください。

コードの更新

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

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

この例では、四角形 ROI を作成してから、MATLAB コマンド ラインを一時停止します。一時停止中に ROI を移動できます。完了したら、マウスをダブルクリックします。制御がコマンド ラインに戻り、関数 wait が変数 pos のワークスペースに位置情報を返します。

imshow('cameraman.tif')
h = imrect(gca,[10 10 100 100]);
pos = wait(h);
% When you double-click, wait returns.
% View the value of the pos variable.
pos

関数 wait の使用を移行するには、新しい ROI オブジェクトを使用して ROI を作成します。wait の戻り値を削除します。新しいオブジェクト関数 wait は値を返しません。代わりに、ROI は一時停止中に変化した Position プロパティなどのプロパティ値を更新します。

imshow('cameraman.tif');
h = drawrectangle(gca,'Position',[10 10 100 100]);
wait(h);
% When you double-click, control returns to the command line.
% View the value of the Position property. 
h.Position
he = drawellipse;
pos = wait(he);

新しいオブジェクト関数 wait は、楕円 ROI の位置を取得するための個別の構文をサポートしていません。代わりに構文 wait(h) を使用します。