跳至內容
測試伺服器
開發伺服器

Array Element Iterator vTool#

Array Element Iterator vTool 允許您遍歷一個或多個輸入陣列的元素,並逐一輸出這些元素。

Array Element Iterator 可透過Array輸入接腳接收不同類型的陣列(例如:影像或區域),並根據其於內部(以零為起點)索引中的位置,透過對應的Element輸出接腳輸出各元素。這使您能夠對陣列中的個別元素進行影像處理。

下載 pylon Software Suite 以使用「Array Element Iterator 」vTool。

Array Element Iterator vTool

運作原理#

「Array Element Iterator 」可讓您將資料陣列中的個別元素分離出來,從而對各元素進行影像處理。之後,您可以使用「Array Creator 」vTool將這些個別元素重新組合成陣列。元素的處理是依據 vTool 內部以零為起點的索引進行的。此外,您還可以進行設定,將任何資料原樣傳遞。這可能是陣列所對應的影像或區域,或是任何其他資料。

資訊

若連接了多個輸入接腳,所有輸入資料必須來自同一資料來源。系統不支援連接來自不同且相互獨立的處理鏈的輸入資料。若需整合此類輸入資料,請在「Array Element Iterator 」前方新增一個「Data Synchronizer 」vTool,以同步輸入資料。

可用的參數如下:

  • 陣列引腳數量:此參數定義您可以輸入的陣列數量。系統將據此建立相同數量的元素輸出引腳。輸出引腳的資料類型將與輸入陣列相同;例如,若您輸入一個 RectangleF 陣列,則輸出元素的資料類型亦為 RectangleF。
  • 資料接腳數量:此參數定義用於傳輸資料(例如:影像、區域或其他任何資料)的 資料輸入接腳數量。系統將據此建立相同數量的資料輸出接腳。資料項目將以原始狀態直接傳輸至下一組 vTool。此參數為可選項。
  • 迭代模式:此設定用於指定是要遍歷陣列中的所有元素,還是僅遍歷特定範圍。若選擇「範圍」,即可指定該範圍的起始值與結束值。

迭代會使用最大輸入陣列的大小。在「所有元素」迭代模式下,vTool 會遍歷從 0 到該大小減一的所有索引。在「範圍」迭代模式下,僅會遍歷設定範圍內的索引。該範圍會被限制在最大陣列大小之內。

當 vTool 遍歷輸入陣列的元素時,它會透過Element接腳輸出每個元素,並透過Index接腳輸出對應的索引位置。若輸入多個陣列,且某個陣列中某個索引位置不存在(例如因為該陣列的元素個數少於其他陣列),則該陣列的輸出接腳將不會傳送任何值。LastIteration輸出引腳用以標示迭代結束。若已到達陣列的最後一項,則輸出true。若輸入多個陣列,則當到達最大陣列的最後一項時,會返回true。

錯誤處理#

含有錯誤的陣列:若任何陣列輸入引腳接收到的陣列存在陣列層級的錯誤,則不會進行任何迭代。LastIteration會傳回true ,Index會傳回錯誤值,且Element和Data輸出引腳不會傳回任何資料。

含有錯誤的元素與資料:在有效陣列中含有錯誤的元素,以及資料輸入腳位上的錯誤,都會被透明地轉發。這些內容與有效值的處理方式並無不同。

未接收到陣列:若所有陣列輸入腳位均未接收到陣列,則不會進行任何處理,也不會返回任何結果。資料輸入腳位上的任何值均會被忽略。

不進行迭代:若所有接收到的陣列皆為空,或所設定的索引範圍完全超出陣列邊界,則LastIteration會傳回true,Index不會被傳回,且資料輸入值將被忽略。

設定 vTool#

要設定「Array Element Iterator 」vTool,請在「Workbench 」中雙擊該項目。此時會開啟一個對話方塊,顯示所有可用的設定。此外,您也可以在 「功能 - 全部」 窗格中找到相同的設定。

Inputs#

ArrayN#

接受陣列以進行迭代。您可以設定最多 100 個陣列輸入腳位。

  • 資料類型:任何簡單資料類型的陣列(布林值、CircleF、EllipseF、浮點數、影像、整數、LineF、PointF、RectangleF、區域、字串、變換資料)

DataN#

接受任何資料(例如:影像、區域或其他資料),並在每個迭代步驟中保持資料不變。您最多可配置 100 個資料接腳。

  • 資料類型:任何資料類型

Outputs#

ElementN#

依序返回對應輸入陣列中的各個元素。

  • 資料類型:與陣列輸入接腳所輸入的資料類型相同,即任何簡單資料類型(布林型、圓型、橢圓型、浮點型、影像型、整數型、線型、點型、矩形型、區域型、字串型、變換資料)

DataN#

在每個步驟中,將對應輸入所接收的資料(例如:影像、區域或其他資料)原樣回傳。

  • 資料類型:任何資料類型

最後一次迭代#

回傳陣列是否已到達最後一個元素。若尚有元素未處理完畢(即除最後一個元素以外),則回傳false;在最後一次迭代時則回傳true。此外,若未進行任何迭代(例如:所有陣列皆為空、指定的範圍大於最大陣列,或接收到的陣列含有錯誤),亦會回傳true。

  • 資料類型:布林值

索引#

回傳當前的索引位置。若任何陣列輸入發生陣列層級的錯誤,則回傳錯誤值。若未進行任何迭代,則不輸出任何內容。

  • 資料類型:整數