プログラムの実行と分析

サンプルプロジェクト

Aurora Vision Studioをすばやく学習するための最良の方法の1つは、アプリケーションに付属するサンプルプロジェクトを学習することです。 ファイル » [サンプルを開く...]コマンドは、プロジェクトが保存されている場所へのショートカットです。使用可能なプロジェクトのリストは次のとおりです。プログラム例セクションからもご覧いただけます。

Executing Programs

プロジェクトがロードされたら、実行 ボタンをクリックするだけでプロジェクトを実行できます。
アプリケーション ツールバーをクリックするか、F5 を押します。これにより、プログラムの継続的な実行が開始されます。 結果はデータプレビューパネルに表示されます。 また、[反復] をクリックするか、F6を押して、プログラムの反復を反復実行することもできます。

プロジェクトがファイルからロードされたとき、または新しいフィルター (ツール) が追加されたとき、フィルターインスタンスは控えめに表示されます。 これらは呼び出された (実行された) 後、強調表示されます。 [ステップ オーバー] または [ステップ イン] をクリックするか、それぞれ F10 または F11 を押して、個々のフィルタを 1 つずつ呼び出すこともできます。 ステップ オーバーとステップ インの違いはマクロフィルタに関連しています。前者はマクロフィルター全体を呼び出しますが、後者は内部の個々のフィルターを呼び出します。

4つのフィルターインスタンスを持つプログラム。そのうちの3つはすでに発動されています。

結果の表示

フィルター (ツール) が実行されると、その出力データがデータ プレビュー パネルに表示されます。 特定の出力の値を表示するには、フィルターのポートからデータ プレビュー パネルにドラッグ アンド ドロップするだけです。 ポートからプレビューまで移動する間は、必ず左マウス ボタンを押したままにしてください。
多くの場合、複数のデータを 1 つのプレビューの複数のレイヤーに表示できます。 これは、画像上に幾何学的なプリミティブ、パス、または領域を表示する場合に特に便利です。

個々のフィルター出力からのユーザー定義データのプレビュー。

大規模なプロジェクトでは、アルゴリズムのさまざまな段階を視覚化するために作成できる3つの異なるレイアウトと、個々のフィルターのインタラクティブな分析に非常に役立つ自動レイアウトモードを切り替えることも便利です。

自動データプレビュー – レイアウトは現在選択されているフィルターに適応します

データの分析

データプレビューパネルに表示されるデータは対話的に分析できます。
メインウィンドウのツールバーには、さまざまなデータの種類に応じたさまざまなツールが用意されています。
これらのツールは、ウィンドウがドッキングされているときに黄色の境界線でマークされる、現在選択されているプレビューに依存します。

Measure rectangle - Selection

Measure distance - Length

最も一般的な Imageタイプの場合、データ プレビュー ウィンドウは次のようになります。

さらに、いくつかの使いやすさの強化があります。

マウス ホイール 画像を拡大または縮小します。
マウスの 3 番目のボタンを押しながらドラッグ ビューを移動します。
右クリック コンテキストメニューが開き、ビューを画像ファイルに保存できるようになります。

結果コントロール

アプリケーションを分析しているときに、画面の下部近くにある結果コントロールに切り替えると便利です。表示できない場合は、表示 » 結果 を通じて有効にする必要があります。

結果コントロールの場所 (有効な場合)。

フィルターをクリックするか、フィルターのグループをチェックすると、適切なデータを含むテーブルが表示されます。

Name 選択したフィルタの名前と、診断出力 (診断モードが有効な場合) を含む出力の一部が表示されます
Type 指定された出力によって返されるデータのタイプを表示します。
Value 最後の反復で指定された出力によって返されたデータのタイプを表示します。
Checked 指定された出力が合否検査の対象となる場合 (つまり、数値を返す出力だけでなく、StringBool)、対応する行のこの列に表示されるボックスをチェックすると、次のいくつかの列が有効になります。 アプリケーションを許可するには、アプリケーションを停止する必要があります。
Limits このパーサーでは、パスの基準を説明する簡単な式を挿入できます (カーソルを疑問符の上に置きます で例を確認してください)。 アプリケーションを許可するには、アプリケーションを停止する必要があります。
Pass/Fail status 「Limits」で説明されている基準が満たされているかどうかを示す緑または赤の点が表示されます。
Pass/Fail status statistics この特定の出力がこれまでに「Limits」で説明されている基準を満たした反復回数を表示します。
Monitored 指定された出力が数学的分析の対象となる場合は、この列に表示されるボックスをチェックします。 次のいくつかの統計を有効にするために、対応する行を編集します。 これを許可するには、アプリケーションを停止する必要があります。
Minimum これまでに返された最小値を表示します。
Maximum これまでに返された最高値を表示します。
Mean これまでに返された値の平均値を表示します。
Median これまでに返された値の中央値を表示します。
Standard Deviation これまでに返されたものの標準偏差値を表示します。

以下に、変更されたFiducial Markers exampleを示します。 2 つのフィルタには、Results コントロールのアプリケーションが表示されます。

動作中の結果コントロール: タイプは Integer および String。

同じサイズの画像に対して 10 回の反復を実行すると、次のことがわかります。

outImage.Width 整数出力は、10 回の反復すべてで True を返しました (値が同じであり、パーサーが同じかそれ以上の値を許可します)。
outImage.Height 整数出力は、10 回の反復すべてで False を返しました (値がこれより小さくなることはなく、パーサーがより低い値のみが許可されます)。
outFileName 字列出力は、10 回の反復のうち 1 回で True を返しました (名前内の数値が増加し続けたため、同じ状態に留まらなかったため)。

数値に適用されるパーサーの横に青い疑問符 があることに注目してください。カーソルをその上に置くと、パーサー内で使用できる数式の提案が表示されます。これらの提案は、数値以外のタイプのデータでは利用できません。 また、プログラムの実行後、新しい出力...ステータス出力がフィルターで利用可能になる様子にも注目してください (結果コントロールの上のプレビュー ウィンドウに表示されます)。

以下では、再度検証されているファイル名を確認できます。今回は Bool 型の出力 outFileNameIs001png として表示されます。 結果コントロールには同一の結果が表示されます。上記の outFileName String 出力の効果に影響します。ただし、今回は Limits パーサーが True にのみ設定できる点が異なります。または False に設定します。

動作中の結果コントロール: Bool と入力します。

マクロフィルタの参照

最も単純なアプリケーションを除き、Aurora Vision Studio のプログラムは、多数のいわゆるマクロフィルタ (サブプログラム) で構成されています。プログラム エディターのマクロフィルターのインスタンスは、いくつかの青いバーを表すアイコンによって認識できます。インスタンスをダブルクリックすると、プログラムエディターでマクロフィルターが開きます。

プログラム エディターでマクロフィルターを参照します。

マクロフィルタを参照するには、他にも2つの方法があります。1つは、プログラムエディタの上部にあるマクロフィルタナビゲータを使用する方法です。このナビゲータには、マクロフィルタのインスタンス (マクロフィルタが実際にどのように使用され、プログラム内でネストされているか) が表示されます。
もう1つは、プロジェクト エクスプローラーを使用する方法です。これは、マクロフィルターの定義 を表示します(すべてのマクロフィルターの単純なリスト。ユーザーはプログラム エディターにドラッグ アンド ドロップしてインスタンスを作成できます。ここで項目をダブルクリックすると、プログラム エディターでマクロフィルターが開きます)。

マクロフィルタナビゲータのインスタンス

プロジェクト エクスプローラーを使用して
マクロフィルターの定義を表示

マクロフィルターの定義は C++ の関数の定義に対応し、マクロフィルターのインスタンスは呼び出しスタックの関数呼び出しに対応します。 C++ とは異なり、Aurora Vision Studio には繰り返しがなく、各マクロフィルター定義には一定の有限数のインスタンスがあります。 したがって、実際には、動的な呼び出しスタックではなく、静的な呼び出しツリーが存在します。 これにより、プログラムの理解とデバッグがはるかに簡単になります。

単一マクロフィルタの動作の分析

現在のマクロを反復 コマンドは、多くのマクロフィルターを含むプログラム内の 1 つのマクロフィルターに焦点を当てる場合に非常に役立ちます。
プログラム全体を実行し、現在選択されているマクロフィルター インスタンスの終わりに達するたびに一時停止します。

現在のマクロを反復 コマンドは、C++ デバッガで関数の最後にブレークポイントを設定するのとよく似ています。

プログラムの反復の詳細については、「テストとデバッグ」を参照してください。

実行ブレークポイント

任意のアルゴリズムの場所でプログラムの実行を一時停止することは、どのプログラミング言語でもプログラムをデバッグする際の基本的なテクニックです。 Aurora Vision Studio では、プログラムエディターのブレークポイントを使用してこのような一時停止を行うことができます。 ブレークポイントは、プログラム エディターの左余白にある赤い円とその隣の行で視覚化されます。

ブレークポイントは、いくつかの方法でアクティブ化 (切り替え) できます。

  • プログラムエディタの余白内の適切な場所をクリックする
  • フィルターブロックまたはマクロフィルター出力ブロックのコンテキストメニューから
  • 選択したフィルターブロックまたはマクロフィルター出力ブロックの F9 ショートカットを使用します。

ブレークポイントの詳細については、テストとデバッグをご覧ください。

現在地を知る

プログラム実行の瞬間ごとに、どのマクロフィルター インスタンスが現在実行されているかをアプリケーション ステータス バーで確認できます。マクロフィルタの名前だけでなく、親マクロフィルタのすべての名前も表示されるため、これはコールスタックと呼ばれます。

アプリケーション ステータス バーのコールスタック

実行プロセスの現在位置は、プログラム エディターでも緑色の線または枠でマークされます。

実行プロセスの正確な位置を示す実行マーカー

実行プロセスが現在このマクロフィルター インスタンス内にあることを示す実行マーカー