2015-11-01 39 views
1

在惹巴包,有一個Boundary數據類型:Haskell Repa BoundFixed的含義?

data Boundary a 
     = BoundFixed !a 
     | BoundConst !a 
     | BoundClamp 
     deriving (Show) 

我明白什麼BoundConst指(細胞陣列的外面被視爲單個值),並且我明白由BoundClamp(小區指數組外部的值與最接近的數組單元格相同)。

什麼意思是BoundFixed?說明是對邊境地區使用固定值。什麼是「邊境地區」?這些都是邊緣細胞嗎?

回答

1

通過讀取mapStencil2partitionForStencil的源代碼,它看起來像邊界區域是任何其值將使用輸入數組外的單元格計算的單元格。 BoundConst在採樣陣列外部的單元時,使用陣列外部的常數值作爲卷積的輸入。每當卷積取決於陣列外的值時,BoundFixed使用一個常數值作爲結果。

您可以輕鬆地用小圖像上的3x3的身份卷積進行測試。 BoundConstBoundClamp根本不應該改變圖像。 BoundFixed a會在圖像上繪製一個單元格a邊框。帶有2×2身份卷積的圖像應該僅在圖像的兩側繪製邊框。我不推薦使用BoundFixed來繪製邊框以外的任何東西,因爲相同的卷積會由於模板大小而產生不同的結果。