Closed biancabalzarini closed 1 month ago
Lo que hablé con Juliana:
GI0 no es el ruido speckle solo. GI0 es Gamma*Gamma_inversa. Depende de alpha, gamma, y L.
L es info que viene con la imagen (en el header en general), sino se puede estimar. Que una imagen tenga varios looks (o varias vistas) es bueno porque se pueden promediar, y así disminuir un poco el ruido. L es el mismo número para toda la imagen.
alpha y gamma, a diferencia de L, son locales (no necesariamente tienen el mismo valor en toda la imagen) porque dependen del tipo de superficie. alpha es negativo, y cuanto más cerca de cero esté, más rugosa es la superficie, por ejemplo si se trata de una zona urbana. alpha entre -3 y -6 son texturas rugosas pero no tanto, por ejemplo un bosque. Menos a -6, por ejemplo -10 o -20, son zonas menos texturadas, tipo cultivo (algo parecido a una alfombra). El agua de mar tiene rugosidad por las olas, sobre todo en las orillas. Las lagunas y los ríos son zonas más homogéneas, o sea con menos rugosidad.
Tomemos z = *x**y. z tiene distribución GI0, es el producto de dos variables aleatorias: x e y. x (backscatter) tiene distribución Gamma inversa. y (ruido scatter) tiene distribución Gamma. x depende de gamma y alpha, y representa la "verdad", es decir la imagen sin ruido. Por eso depende de los parámetros locales de superficie. y representa el ruido speckle, por eso no depende de la zona, y en consecuencia depende solo de L y no de gamma ni alpha.
Ya tengo la función que genera el ruido speckle (distribución GI0), pero para generar las imágenes SAR sintéticas (que eventualmente quiero usar para entrenar el modelo) tengo que multiplicar cada pixel de una imagen por un valor sacado de la distribución GI0 (speckle: ruido multiplicativo)? En tal caso, que imágenes base (limpias) uso? De donde las saco? Y sino, lo que tendría que hacer es simplemente crear una imagen que sea puro ruido? Es decir, que cada pixel tenga un valor sampleado de la distribución GI0?