Sto scrivendo un programma che genera immagini, che vorrei portare in un array Repa. Attualmente sto usando il tipo:Espansione forme matrice Repa
data Colour = Colour Double Double Double
per rappresentare pixel, e ho una funzione di (probabilmente inefficiente ma funzionale) che converte un Colour
in un DIM1
array:
colourToRepa :: Colour -> Array U DIM1 Double
colourToRepa (Colour r g b) = R.fromListUnboxed (Z :. (3::Int)) [r,g,b]
Un'immagine a mio programma al momento è solo un valore [Colour]
con un (Int, Int)
che rappresenta le dimensioni.
Posso usarlo per costruire un Array V DIM2 Colour
abbastanza facilmente, ma c'è un modo (usando colourToRepa
o altro) per espandere questo array in un Array U DIM3 Double
?
Con gli elenchi, potrei semplicemente usare map
ma la mappa di Repa conserva la forma dell'array (voglio passare da un DIM2
a un DIM3
).
Ah. L'avevo dimenticato. Grazie! –