オペレーター ModuloCount

Operator Library: Accumulator

ModuloCounterは、入力リンク上のピクセル、ライン、またはフレームの数をカウントします。カウントのシーケンスは、モジュロ除算器によって制限されます。シーケンスが繰り返されるまでにカウンターが持ち得る一意の状態の数は、モジュロ除算器によって定義されます。モジュロ除算器は、Divisorパラメータを使用して定義されます。たとえば、モジュロ除算器が4の場合、「n MOD 4」、つまり0、1、2、3、0、1、2、3、0、1、2、3...のようにカウントされます。

出力フレームの画像寸法は、常に入力フレームの画像寸法と等しくなります。出力のピクセルデータは、カウンターの結果を表します。ピクセル値は使用されないことに注意してください。計算では、ピクセル、ライン、またはフレームのインデックスのみが考慮されます。

カウンターは常に値ゼロから開始します。CountEntityパラメータを設定して、入力リンクのすべてのピクセル、ライン、またはフレームをカウントするように構成できます。たとえば、パラメータCountEntityがPIXELに設定されている場合、オペレーターは入力のすべてのピクセルでカウンターをインクリメントします。

CountEntityがLINEに設定されている場合、カウンターはすべてのラインの先頭でインクリメントされ、入力リンクのラインをカウントします。たとえば、モジュロ除算器が4の場合、ライン0のすべてのピクセルの値が0になるという結果になります。ライン1のピクセルの値は1になり、以降も同様です。ただし、ライン4のピクセルのピクセル値は再びゼロになります。

CountEntityがFRAMEに設定されている場合、カウンターはすべてのフレームの先頭でインクリメントされます。

次の例では、オペレーターの使用方法について説明します。最初の例は、画像幅と画像高さが8ピクセルの2つの連続するフレームを示しています。すべてのピクセル値は数字として示されています。フレームインデックス0は、初期フレーム、つまりAcquisition Start直後の最初のフレームを表します。

  • 構成: Divisor = 6、 CountEntity = PIXEL、 AutoClear = EoF

    この例で見られるように、パラメータCountEntityがPIXELに設定されている場合、カウンターはすべてのピクセルでインクリメントされます。Divisorが6に設定されているため、結果の値の範囲はゼロから5になります。フレームの端でカウンターがリセットされるため、2番目のフレームでは、オペレーターは再びゼロから開始します。

  • 構成: Divisor = 6、 CountEntity = LINE、 AutoClear = NONE

    この例では、オペレーターはピクセルではなくラインをカウントします。したがって、画像のすべてのピクセルがライン番号を表します。ここでは、パラメータAutoClearがNONEに設定されています。したがって、オペレーターは、最初の画像ラインでリセットされることなく、2番目のフレームでもラインのカウントを続行します。

  • 構成: Divisor = 6、 CountEntity = FRAME、 AutoClear = NONE

    最後の例は、フレームのカウントを示しています。ここでは、すべてのピクセルの値がフレーム番号を表しています。

取り込み中にdivisorパラメータを変更した場合、新しい値は次のフレームの開始時に適用されます。1D入力の場合、新しい値は次のラインに適用されます。入力が0Dデータの場合、新しいdivisorの値はすぐに適用されます。

画像制限

  • 空の画像

    空の画像、つまりピクセルのない画像は許可されません。

I/O Property

Property 値
オペレータータイプ O
Input Link I、Image Input
Output Link O、Data Output

サポートされているリンクフォーマット

Link Parameter Input Link I Output Link O
Bit Width [1, 64]1 [1, 63]
Arithmetic {unsigned, signed} unsigned
Parallelism any as I
Kernel Columns any as I
Kernel Rows any as I
Img Protocol {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} as I
Color Format any VAF_GRAY
Color Flavor any FL_NONE
Max. Img Width any as I
Max. Img Height any as I

1

入力 Bit Width の範囲は [1, 64] です。 符号付き入力の場合の範囲は [2, 64] です。 符号なしカラー入力の場合の範囲は [3, 63] であり、符号付きカラーの場合の範囲は [6, 63] です。

パラメーター

Divisor
タイプ static/dynamic write parameter
Default 1
範囲 [1..2^OutputBitWidth]

このパラメータは、modulo演算の除算器を定義します。divisorの値は、2^OutputBitwidth以下である必要があります。

CountEntity
タイプ static パラメータ
Default PIXEL
範囲 {PIXEL, LINE, FRAME}

このパラメータは、オペレーターカウンターがすべてのピクセル、すべてのラインに対して有効になるか、またはフレームごとに1回のみ有効になるかを定義します。

オプションFRAMEは、画像プロトコルVALT_IMAGE2Dでのみ使用できます。LINEは、画像プロトコルVALD_IMAGE2DおよびVALT_LINE1Dでのみ使用できます。画像プロトコルVALT_PIXEL0Dの場合、パラメータは常にピクセルをカウントします。

AutoClear
タイプ static パラメータ
Default NONE
範囲 {EoL, EoF, NONE}

AutoClearオプションを使用すると、ラインの終わり、フレームの終わりのいずれかでカウンターをゼロにリセットするか、クリアをまったく実行しないようにすることができます。

CountEntityがPIXELに設定されている場合は、このパラメータの3つのオプションすべてを選択できます。CountEntityがLINEに設定されている場合は、EoFおよびNONEオプションを使用できます。CountEntityがFRAMEの場合、オペレーターの自動クリアはできません。

VALT_LINE1D image protocolを使用する場合、フレームの終了時にclearを実行することはできません。 VALT_PIXEL0Dでは、オペレーターのauto clearは使用できません。

使用例

ModuloCountオペレーターの使用方法は、以下の例に示されています。