Página 1 de 1

Darkframe Sony A7 II: patrones de ruido espacial

NotaPublicado: Vie Abr 09, 2021 3:14 pm
por Guillermo Luijk
Aprovechando que me ha dado por hacer cosas con datos RAW he obtenido un darkframe promedio de mi Sony A7 II.
Los pasos han sido:
Realizar 16 capturas de 1" con el objetivo tapado en entorno oscuro a ISO6400
Leer los datos RAW puros de los 16 archivos ARW y promediarlos
Obtenido el darkframe promediamos (áreas de 8x8 fotocaptores), reescalando así a un tamaño (753px de ancho) que permita ver mejor (por promediado de ruido impulsional) los patrones de ruido espaciales y las zonas del sensor que más ruido capturan
Tras hacer ese reescalado he sustraido el nivel de negro de los RAW (algunas marcas lo sustraen en los propios RAW, lo que es una desventaja)

  • La imagen resultante muestra patrones de ruido horizontales pero sobre todo verticales
  • Hay una zona mucho más ruidosa que el resto en la parte inferior de la imagen (parte superior del sensor) y por la parte izquierda de la imagen (parte derecha de sensor mirando desde detrás de la cámara)
  • Curiosamente hay una zona muy clara de bajo ruido en el cuarto derecho de la imagen (cuarto izquierdo del sensor)

Darkframe lineal y normalizado:
Imagen

Darkframe enfatizando ruido y coloreado (magma):
Imagen

El código:
Código: Seleccionar todo
library(tiff)

# RAW extraction: dcraw -v -D -4 -T *.ARW
# Dark frame RAW averaging (use ARW files not to loose bias level)
dark=readTIFF("_DSC3850.tiff", as.is=TRUE)
for (i in 51:65) {
    print(paste0("Reading ", i, "..."))
    dark=dark+readTIFF(paste0("_DSC38", i, ".tiff"), as.is=TRUE)
}
dark=dark/16  # average 16 shots
hist(dark, breaks=1000)

# Rescale (0-mean noise will cancel)
N=8

DIMY=as.integer(dim(dark)[1]/N)
DIMX=as.integer(dim(dark)[2]/N)
print(paste0("N=",N," -> ", DIMX, "x", DIMY, " pixels (",
             dim(dark)[1]-DIMY*N, " rows and ",
             dim(dark)[2]-DIMX*N, " cols dropped)"))
imgresize=array(0, c(DIMY,DIMX))

for (i in 1:DIMY) {
    for (j in 1:DIMX) {
        imgresize[i,j]=mean(dark[((i-1)*N+1):(i*N),
                                 ((j-1)*N+1):(j*N)])
    }
}
dark=imgresize

dark=dark-512  # substract DC bias
dark[dark<0]=0  # clip negative values
dark=dark/max(dark)  # normalize
writeTIFF(dark, "avg_darkframe.tif", bits.per.sample=16, compression='LZW')


Salu2!

Re: Darkframe Sony A7 II: patrones de ruido espacial

NotaPublicado: Vie Abr 09, 2021 7:18 pm
por pollfoll
No entiendo ni papa.

Re: Darkframe Sony A7 II: patrones de ruido espacial

NotaPublicado: Vie Abr 09, 2021 10:46 pm
por Guillermo Luijk
No es nada demasiado importante, son ejercicios que voy poniendo por aquí para tenerlos localizados pero no te preocupes que no te van a cambiar la vida :D

De todos modos te lo explico: en un mundo ideal cuando se hace una foto en ausencia total de luz deberíamos ver la negrura, y todos los valores del RAW a cero. La realidad es que esto no es así porque siempre existe un ruido electrónico que es constante. Siempre está ahí y siempre vale parecido (traducido en números).

Que en las imágenes ese ruido se perciba depende de cuanta luz (señal útil) capture el sensor. Si se captura mucha luz ese ruido es invisible. Pero si se captura poca, la señal útil se reduce y empieza a tener valores numéricos más cercanos a los del ruido (que como dije es constante). Por eso las fotos pobres en exposición muestran ruido.

Este ejercicio muestra en qué partes del sensor de mi cámara aparece más ruido electrónico, porque como ves no es igual en todo él.

Salu2!

Re: Darkframe Sony A7 II: patrones de ruido espacial

NotaPublicado: Sab Abr 10, 2021 12:23 pm
por pollfoll
Guillermo Luijk escribió:No es nada demasiado importante, son ejercicios que voy poniendo por aquí para tenerlos localizados pero no te preocupes que no te van a cambiar la vida :D
Salu2!


Me quedo más tranquilo. :mrgreen:

Guillermo Luijk escribió:De todos modos te lo explico: en un mundo ideal cuando se hace una foto en ausencia total de luz deberíamos ver la negrura, y todos los valores del RAW a cero. La realidad es que esto no es así porque siempre existe un ruido electrónico que es constante. Siempre está ahí y siempre vale parecido (traducido en números).

Que en las imágenes ese ruido se perciba depende de cuanta luz (señal útil) capture el sensor. Si se captura mucha luz ese ruido es invisible. Pero si se captura poca, la señal útil se reduce y empieza a tener valores numéricos más cercanos a los del ruido (que como dije es constante). Por eso las fotos pobres en exposición muestran ruido.

Este ejercicio muestra en qué partes del sensor de mi cámara aparece más ruido electrónico, porque como ves no es igual en todo él.

Salu2!


De mi primer intento de lectura y de la visualización de los graficos, todo en diagonal por no seguirlo perfectamente, me habia parecido que lo que implicaba es que tu sensor en la parte inferior tenia más ruido.

-Lo aprecias en las fotos? Lo corrige la cámara de forma automática en su procesado?
-Todas las cámaras de la serie de la tuya es probable que sean así o tienen una disposición aleatoria?

Siempre aprendemos algo, sobre todo yo que no se nada.

Re: Darkframe Sony A7 II: patrones de ruido espacial

NotaPublicado: Sab Abr 10, 2021 1:10 pm
por Guillermo Luijk
pollfoll escribió:me habia parecido que lo que implicaba es que tu sensor en la parte inferior tenia más ruido.

-Lo aprecias en las fotos? Lo corrige la cámara de forma automática en su procesado?
-Todas las cámaras de la serie de la tuya es probable que sean así o tienen una disposición aleatoria?


No es la parte inferior del sensor, es la parte inferior de la imagen, o sea la parte superior del sensor. Las imágenes se forman invertidas en el sensor de cualquier cámara.

Todas las cámaras tienen ruido, y en todas las cámaras se aprecia el ruido. De hecho siempre que se habla de ruido en las imágenes, estamos precisamente hablando de este ruido. Aflora solo cuando la exposición es baja o insuficiente. Digamos que el ruido es constante, y solo cambia el nivel de señal útil (exposición). Si tu exposición supera con mucho el nivel de ruido (que como digo es constante), pues el ruido apenas se apreciará; si tu exposición es baja (como cuando Juankinki hace fotos con sus Olympus) empezará a estar en valores cercanos a los del ruido y por lo tanto el ruido se verá.

Todas las cámaras de un mismo modelo deberían tener distribuciones de ruido parecidas porque dependen de las fuentes de calor.

Hace tiempo saqué un gráfico parecido para mi Canon 350D:
Imagen

Aquí Emil Martinec sacó la de una Canon 20D; se parece mucho al de la 350D:
http://theory.uchicago.edu/~ejm/pix/20d ... -10min.gif

Salu2!

Re: Darkframe Sony A7 II: patrones de ruido espacial

NotaPublicado: Sab Abr 10, 2021 3:49 pm
por pollfoll
Pues gracias porla explicación.

Un saludo