GUILLERMO LUIJK >> TUTORIALES >> TUTORIAL DCRAW (original) (raw)

QU� ES DCRAW

DCRAW es un revelador RAW de libre distribuci�n programado por David Coffin que soporta innumerables formatos RAW en continua expansi�n. En palabras textuales del autor: "�sta es mi misi�n: escribir y mantener un programa en ANSI C que descodifique cualquier archivo RAW de cualquier c�mara digital en cualquier ordenador con cualquier sistema operativo". Y desde luego lleva varios a�os logr�ndolo.

DCRAW puede correr tanto en Linux como en Windows y Mac. En este tutorial se emplear� la versi�n de Windows si bien funciona exactamente del mismo modo en las otras dos plataformas ya que DCRAW carece de interface gr�fico al ser una herramienta 100% de l�nea de comandos.

DCRAW no requiere instalaci�n, simplemente se copia en la ruta adecuada y se invoca tecleando desde una consola o terminal.

Existen front-end para dotar a DCRAW de un interface gr�fico de usuario tales como UFRAW, si bien en mi opini�n restan ese extra de potencia y flexibilidad que nos brinda DCRAW al no presentar todas sus opciones de manera tan directa como el programa original. Adem�s es raro el mes en que no aparece alguna novedad o mejora en DCRAW, con lo que cualquier front-end se queda r�pidamente desfasado. Mi consejo: aprender a usar directamente DCRAW.

DCRAW por s� solo no es un entorno amigable de usar y por tanto puede no ser el id�neo para un flujo de trabajo habitual. Sin embargo por su transparencia y potencia en cuanto al control a bajo nivel con que dota al usuario del revelado RAW resulta la herramienta ideal para hacer revelados RAW espec�ficos en casos tales como:

Como opini�n personal dir� que DCRAW me encanta como aplicaci�n de revelado no solo para experimentaci�n sino en un flujo de trabajo normal. La clave est� en trasladar a Photoshop todas esas cosas extra que otros reveladores RAW hacen aparte del puro revelado, y plantearse DCRAW como una herramienta que suministra la imagen en bruto, sin ning�n tipo de procesado aplicado m�s que un revelado de calidad y bajo absoluto control.

Es el �nico revelador que he encontrado hasta la fecha que me transmite la certeza de estar haciendo con mis archivos RAW aquello que realmente quiero y no lo que el revelador quiere hacer; de hecho como veremos es capaz de hacer cosas que est�n vetadas a reveladores comerciales m�s populares tales como Adobe Camera Raw.

Usando DCRAW se aprende much�simo sobre la teor�a de los archivos RAW y la linealidad del sensor. Es un software que te hace sentir muy cerca del RAW.

DESCARGA E INSTALACI�N DE DCRAW

En el siguiente enlace puede encontrarse una versi�n compilada en Windows de al versi�n m�s reciente de DCRAW: Centro Studi Progresso Fotografico.

No requiere instalaci�n ya que consiste en un �nico ejecutable muy compacto. El fichero en cuesti�n se llama dcraw.exe y puede copiarse directamente en la ruta C:\WINDOWS\ para ser accesible desde cualquier directorio de la l�nea de comandos desde el que sea invocado.

C�MO SE EJECUTA DCRAW

DCRAW se ejecuta desde la l�nea de comandos en una ventana de MS-DOS. Para abrir una ventana MS-DOS se ha de ir a Inicio → Ejecutar y escribir cmd. Se abrir� una ventana de fondo negro en la que si escribimos dcraw �ste nos mostrar� todas sus opciones disponibles:


Fig. 1 L�nea de comandos mostrando todas las opciones de DCRAW v8.82.

En un ejemplo real de ejecuci�n de DCRAW sobre un hipot�tico archivo RAW denominado foto.cr2, abrir�amos la anterior ventana de comandos de l�nea, ir�amos al directorio en cuesti�n donde se encontrase tal fichero (el comando CD permite movernos por los directorios del disco duro) y escribir�amos algo como:

C:\>dcraw -v -w -H 1 -o 0 -q 3 -4 -T foto.cr2
DCRAW nos mostrar�a los mensajes siguientes:

` Loading Canon EOS 350D DIGITAL image from foto.cr2 ...
Scaling with black 256, multipliers 0.586287 0.421032 1.000000 0.421032
AHD interpolation...
Building histograms...
Writing data to foto.tiff ...

C:>

`
Quedando almacenado en el archivo foto.tiff el resultado del revelado RAW.

OPCIONES DE DCRAW

Como se ha visto en el listado anterior DCRAW tiene m�ltiples opciones cuya explicaci�n puede encontrarse en el Manual de David Coffin. Aqu� solo comentar� las que considero de m�s utilidad para el tratamiento fotogr�fico con la m�xima calidad. Las opciones se escriben como letras precedidas de un gui�n tras el nombre del ejecutable dcraw, y son:

-v
Proporciona informaci�n textual sobre la evoluci�n del revelado RAW (recomendable).

-e
Extrae el JPEG incrustado en el RAW, es decir el JPEG que gener� la c�mara para su previsualizaci�n en el display de la misma y que por lo tanto difiere de aquel JPEG que obtendremos si ponemos la c�mara a funcionar en modo JPEG. Es una manera tremendamente r�pida de tener los JPEG de todos los RAW de un directorio para una vista r�pida. Por ejemplo haciendo: dcraw -e *.cr2.

-w
Utiliza, si lo encuentra, el balance de blancos que se ajust� en la c�mara en el momento del disparo.

-a
Realiza un c�lculo autom�tico del balance de blancos analizando la imagen completa.

-r m1 m2 m3 m4
Establece el balance de blancos deseado por el usuario. Estos 4 valores son los factores por los que se van a escalar de manera lineal todos los niveles de los canales RGBG en ese orden. El balance de blancos implica un escalado y por tanto una traslaci�n de todos los niveles de la imagen lo que en ciertos casos puede no ser lo deseable. Para no realizar ning�n balance de blancos usaremos la opci�n -r 1 1 1 1. M�s adelante se trata en detalle por su importancia el balance de blancos.

-H [0-9]
Con esta opci�n estableceremos el tratamiento que se va a dar a las altas luces siendo los posibles valores: 0=recorte, 1=sin recorte, 2=zonas quemadas gris neutro, 3-9=recuperar altas luces. Se tratar� en detalle en el apartado correspondiente al balance de blancos y altas luces. Yo uso principalmente las opciones -H 0 por su linealidad y -H 2 cuando con la anterior corro el riesgo de quemar zonas importantes de la imagen. La opci�n -H 1 garantiza que no vamos a quemar al aplicar el balance de blancos ning�n canal que no estuviera previamente quemado pero puede dar lugar a tonos err�neos en las zonas quemadas. Las opciones de recuperaci�n de luces altas son m�s sofisticadas y enlentecen notoriamente la velocidad de ejecuci�n.

-k n1 y -S n2
Establecen respectivamente los niveles de negro y de saturaci�n que se usar�n en el revelado. Si bien el nivel de negro es mejor dejar que lo calcule DCRAW, es muy interesante poder establecer nosotros el nivel de saturaci�n de nuestra c�mara concreta con -S.

-D
Extrae en forma de imagen los datos RAW sin revelar, es decir sin hacer ning�n demosaicing ni escalado de los mismos. Muy �til para analizar los niveles captados por el sensor en su rango nativo de 12, 14 � 16 bits.

-d
Como el comando anterior, no hace el demosaicing pero va un paso adelante en el proceso de revelado ya que efect�a los ajustes de punto negro y saturaci�n, el balance de blancos y el escalado al rango de salida en 16 bits. Es muy interesante para obtener datos brutos no interpolados pero lineales (al haber sustraido el punto negro) y ajustados al rango de 16 bits con dcraw -d -r 1 1 1 1 lo que permite obtener histogramas por pasos de exposici�n con Histogrammar. Tambi�n se puede usar para estudiar el patr�n de Bayer del archivo RAW, lo que permite por ejemplo detectar defectos en el sensor de la c�mara o p�xeles de comportamiento an�malo:


Fig. 2 Detecci�n de hot p�xel sobre la matriz de Bayer (mover rat�n sobre la imagen).

-o [0-5]
Establece el espacio de color de salida siendo los posibles valores: 0=ninguno (no se hace gesti�n de color), 1=sRGB, 2=AdobeRGB, 3=WideGamut, 4=ProPhoto, 5=XYZ. Convertir a un espacio de color implica una transformaci�n matricial de los niveles de la imagen y en ciertos casos esto puede no ser lo deseable. Para no realizar conversi�n a ning�n espacio usaremos la opci�n -o 0.

-q [0-3]
Establece la calidad del algoritmo de interpolaci�n de la matriz de Bayer usado. A m�s calidad m�s complejidad y por tanto menos velocidad, si bien DCRAW es muy r�pido en todos ellos. Los valores posibles son: 0=bilineal, 1=VNG, 2=PPG, 3=AHD. Yo siempre uso esta �ltima que se trata de un algoritmo adaptativo de muy buenos resultados, si bien seg�n su autor DCRAW utiliza por defecto para cada modelo de c�mara el algoritmo que da mejores resultados. As� por ejemplo para c�maras Fuji el m�todo -q 2 es m�s �ptimo que -q 3.


Fig. 3 Recortes al 200% de las diferentes calidades de interpolaci�n.

-4
Genera un archivo lineal de 16 bits en lugar de uno de 8 bits con gamma que es la opci�n por defecto. Siempre uso esta opci�n.

-T
Genera un archivo TIFF en lugar de PPM. Tambi�n uso siempre esta opci�n.

-g gamma pend
Aplica a la salida una compensaci�n gamma definida por el valor de gamma y la pendiente m�xima de la curva. Para curvas gamma puras bastar� especificar 0 como pendiente m�xima. Algunos valores t�picos son:
-g 1 1 gamma 1,0 lineal (por defecto si se usa -4)
-g 2.2 0 gamma 2,2 pura (Adobe RGB)
-g 1.8 0 gamma 1,8 pura (ProPhoto RGB)
-g 2.4 12.9 gamma de sRGB
-g 2.222 4.5 gamma de la norma BT.709 (por defecto si no se usa -4)

Con el resumen visto ya tenemos informaci�n suficiente para al menos interpretar los par�metros usados en el ejemplo de arriba C:\>dcraw -v -w -H 1 -o 0 -q 3 -4 -T foto.cr2:

-v Revelamos mostrando la informaci�n de progreso en pantalla
-w Utilizamos el balance de blancos que se configur� en la c�mara
-H 1 Utilizamos un modelo de balance de blancos sin recorte de altas luces
-o 0 Generamos la imagen sin convertir la salida a ning�n espacio de color
-q 3 Establecemos la m�xima calidad del algoritmo de interpolaci�n
-4 -T Forzamos salida en TIFF lineal de 16 bits

HISTOGRAMA LINEAL

Si se usa la opci�n -4 el revelado se realiza a 16 bits y de forma lineal. Es el modo al que har� referencia en el resto del tutorial ya que es el que pone de manifiesto las principales bondades de DCRAW. Que el revelado se realice de modo lineal quiere decir que a�n no se ha aplicado la habitual compensaci�n gamma (t�p. gamma=2,2), y por lo tanto los niveles quedan distribuidos en el histograma de forma lineal siendo cada uno de ellos directamente proporcional a la cantidad de luz (n�mero de fotones) que recibi� el pixel en cuesti�n durante la exposici�n.

Una imagen lineal no es directamente visualizable por su extrema oscuridad ya que el histograma se encuentra densamente concentrado en la parte baja, pero como veremos despu�s PS s� permite visualizar estas im�genes de modo inteligible sin alterar los datos que contienen.

Para ver el aspecto de un histograma lineal tomemos una escena como la siguiente:


Fig. 4 Imagen ejemplo de revelado RAW.

La fotograf�a revelada con aplicaci�n de compensaci�n gamma tendr�a el siguiente histograma:


Fig. 5 Histograma resultado de revelado con correcci�n gamma.

Sin embargo revelada con DCRAW y la opci�n

-4 obtendremos el siguiente histograma lineal:


Fig. 6 Histograma resultado de revelado lineal con DCRAW.

Las diferencias son obvias. Vemos como la informaci�n se concentra en los diafragmas bajos de modo que toda la segunda mitad de este segundo histograma corresponde solamente al �ltimo diafragma (marcado como 12) el cual est� pr�cticamente vac�o pues solo contiene las altas luces de la escena. El siguiente cuarto de histograma corresponde al siguiente diafragma (marcado como 11), y as� sucesivamente hasta completar los 12 diafragmas que como m�ximo nos brinda el RAW de 12 bits usado como ejemplo.

No se ha de pensar que por el hecho de estar la informaci�n m�s concentrada que en el revelado con compensaci�n gamma vamos a perder riqueza tonal. Esto en absoluto es as�, de hecho el histograma con correcci�n viene de uno lineal al que se ha aplicado una curva gamma por lo que en la zona baja del mismo se crea una gran cantidad de huecos. La riqueza tonal ni aumenta ni disminuye por el hecho de usar uno u otro histograma.

Al tener la informaci�n de la imagen en formato lineal, cualquier transformaci�n lineal que se quiera realizar sobre la misma resulta trivial; as� la aplicaci�n del balance de blancos o del control de exposici�n se convierten como veremos en simples escalados lineales de los niveles.

BALANCE DE BLANCOS Y TRATAMIENTO DE ALTAS LUCES

Como ya se ha comentado los comandos para realizar el balance de blancos y elegir el modo en que se procesar�n las altas luces son respectivamente -w -a -r y -H. Dependiendo del comportamiento escogido para las altas luces, el balance de blancos puede llevarnos a quemar ciertas �reas de la imagen que no lo estaban en realidad en el RAW original. Esto es com�n a todos los reveladores RAW y lo trataremos en profundidad.

BALANCE DE BLANCOS

La forma en que DCRAW implementa el interface del balance de blancos no es el habitual ajuste de Temperatura/Tine sino una forma de m�s bajo nivel basada en 4 factores multiplicadores que escalar�n linealmente cada uno de los canales RGBG de la matriz de Bayer (el balance de blancos se aplica antes del demosaicing). En general los factores 2 y 4 ser�n iguales dado que corresponden ambos al canal verde, solo que en localizaciones diferentes de la distribuci�n de Bayer.

Hay que decir que un balance de blancos dado no implica un juego absoluto de valores de los multiplicadores, sino las proporciones que existan entre ellos. As� un mismo balance de blancos podr� obtenerse con diferentes factores siempre que se mantengan las relaciones num�ricas entre ellos.

Los multiplicadores pueden originarse de 3 modos diferentes dependiendo de la opci�n empleada:

-w Se ajusta el balance de blancos escogido en la c�mara durante la toma
-a Se calcula un balance de blancos autom�tico analizando la imagen completa
-r m1 m2 m3 m4 Balance de blancos con multiplicadores definidos por el usuario

Si no se utiliza ninguno de estos m�todos, DCRAW emplear� por defecto un preset de balance de blancos correspondiente a una iluminaci�n est�ndar D65 sobre carta gris.

Los valores correctos que han de aplicarse variar�n de unas c�mara a otras. Intentar adivinar los mismos no es tarea f�cil. Sin embargo es posible obtener de forma sencilla los factores que corresponden a cualquiera de los presets de nuestra c�mara lo cual es un buen punto de partida. Para hacer esto basta realizar una toma con cada uno de dichos presets y revelar el archivo RAW resultante con los comandos

-v -w con lo cual DCRAW mostrar� dichos valores.

Aqu� hay una tabla con los multiplicadores RGB empleados en los diferentes presets de la Canon 350D:

Para indicar a DCRAW que no se aplique ning�n balance de blancos utilizaremos la opci�n -r 1 1 1 1. Si lo hacemos as�, podremos ajustar a posteriori el balance de blancos haciendo uso de la linealidad del histograma siendo �sta la mejor forma de probar diferentes valores hasta encontrar el que nos satisface. Si embargo �sta no es una forma adecuada de aplicar el balance de blancos, solo sirve para calcular los factores. Hecho esto debi�ramos volver al archivo RAW original y utilizar estos valores con el comando -r ya que los algoritmos de interpolaci�n de Bayer est�n optimizados para trabajar sobre im�genes previamente balanceadas.

MODOS DE ALTAS LUCES

La opci�n -H decidir� el comportamiento de DCRAW en lo referente a las altas luces. Pueden distinguirse dos modos de operaci�n seg�n el rango num�rico que tomar�n los multiplicadores del balance de blancos:

-H 0 fuerza al menos un factor igual a 1, el resto ser�n mayores o iguales a 1
-H [1-9] fuerza al menos un factor igual a 1, el resto ser�n menores o iguales a 1

IMPORTANTE: no importa los valores que se especifiquen en el comando

-r, solo las proporciones relativas entre los mismos se mantendr�n. Ser� el comando -H el que decida el rango en que se tomar�n los valors finalmente empleados.

Con factores mayores o iguales a 1 se garantizar� que no aparecen artefactos de color debidos al balance de blancos. Como desventaja nos arriesgaremos a quemar total o parcialmente (no todos los canales) ciertas �reas de la imagen por saturaci�n ya que estaremos aumentando la exposici�n con dichos valores. Si no se especifica ninguna opci�n de altas luces

-H 0 es el modo por defecto.

Por otra parte factores menores o iguales a 1 nos aseguran que ning�n canal en ning�n pixel que no estuvera realmente quemado en el archivo RAW lo har� debido al escalado del balance de blancos. La desventaja de este modo es que dependiendo del valor escogido para

-H [1-9], podremos encontrarnos con artefactos de color en las zonas que estuvieran originalmente quemadas en el archivo RAW.

Como todo esto suena muy complicado pero no lo es, vamos a ver el ejemplo anterior. En �l con

-w y -H 1 se obtuvieron los siguientes factores multiplicadores:

Scaling with black 256, multipliers 0.586287 0.421032 1.000000 0.421032
Pero sin embargo si hubi�ramos usado la opci�n

-H 0 se obtendr�an los siguientes:

Scaling with black 256, multipliers 1.392498 1.000000 2.375114 1.000000
Ambos juegos de valores mantienen las proporciones entre canales (0.586287/0.421032=1.392498/1.000000) por lo que corresponden por tanto a un mismo balance de blancos; en concreto al preset de balance de blanco Tungsteno de la 350D. Pero hay una diferencia clara en lo que ocurrir� si los aplicamos: como los factores de

-H 0 son mayores o iguales que 1 podr�amos llegar a quemar algunos canales que no lo estaban en origen. Cualquiera que haya trasteado con con el par�metro de Temperatura de ACR habr� notado que mover dicho control puede llevar a quemar zonas de la imagen que no lo estaban previamente o hacer que dejen de estar quemadas zonas que antes s� lo parec�an estar. Aqu� ocurre lo mismo.

Pero no se debe pensar que por ello

-H 1 sea siempre mejor. De hecho suele ser al contrario, este �ltimo par�metro debe usarse con mucho cuidado, y solo si estamos segudos de que la imagen no tiene ni un solo p�xel quemado. En tal caso podremos usar -H 1 sin dar lugar a ning�n efecto indeseable. Sin embargo siempre que la imagen tenga alguna zona quemada en el archivo RAW (y esto incluye reflejos met�licos, bombillas, l�mparas,...) esto es lo que nos pasar�a si us�ramos -H 0 y -H 1 respectivamente:


Fig. 7 Resultado de revelar utilizando -H 0 and -H 1 respectivamente.

En la primera imagen con toda probabilidad hemos quemado algunos canales que no lo estaban originalmente, pero hemos preservado el color blanco de las altas luces quemadas. Por otro lado, en la segunda imagen al emplear multiplicadores menores de 1 para los canales R y G, dejando B inalterado, las proporciones de dichos tres canales en las zonas quemadas han cambiado dado lugar a un indeseable tono magenta. El fen�meno se puede constatar en los histogramas obtenidos

-H 0 vs -H 1 (fijaos en la descomposici�n de las zonas quemadas en tres picos localizados en niveles diferentes):


Fig. 8 Histogramas obtenidos al revelar con -H 0 y -H 1 respectivamente.

El par�metro

-H 2 da lugar a un comportamiento similar a -H 1 ya que forzar� que los factores sean iguales o mayores de 1, pero solucionar� el problema visto aplicando una ligera correcci�n no lineal en las altas luces para garantizar un color neutro (gris) en las zonas quemadas.

Para terminar apuntar que dado que el balance de blancos con multiplicadores implica un escalado de todos los niveles de la imagen por un factor linear, estaremos alterando el grado de exposici�n, que podr� ajustarse con el control de exposici�n lineal que veremos despu�s. �sta es la raz�n por la que la imagen revelada con

-H 0 (factores mayores o iguales a 1) tenga m�s brillo que la revelada con -H 1 (factores menores o iguales a 1).

RECUPERACI�N DE ALTAS LUCES

Valores de -H entre 3 y 9 activan los diferentes algoritmos de recuperaci�n de altas luces empleados multiplicadores manores o iguales a 1. Estos modos emular�n el tono de las zonas circundantes no quemadas para rellenar las �reas quemadas. Cuanto mayor sea el valor del par�metro, se tendr� una mayor similitud del tono recuperado al de las �reas cercanas y se estar� m�s lejos de garantizar un tono neutro (gris) en los p�xels quemados.

A continuaci�n se muestra un ejemplo del diferente resultado en cuanto a la recuperaci�n de altas luces en una imagen con zonas parcialmente quemadas en el archivo RAW (zonas brillantes de la piel de la chica) comparando ACR y DCRAW. Mientras el primero lleva las zonas quemadas a unos tonos de gris neutro, en DCRAW la elecci�n del par�metro

-H 9 trata de emular los tonos de la piel.


Fig. 9 Comparaci�n recuperaci�n de altas luces ACR (izq.) vs DCRAW (der.).

En este caso la estrategia de DCRAW ha funcionado mejor ya que imita muy bien los tonos de la piel minimizando as� la percepci�n de los brillos en la piel. Esto no quiere decir que DCRAW funcione mejor en todos los casos. Esto depender� de las caracter�sticas de la imagen y de sus zonas quemadas.

NIVEL DE SATURACI�N DEL SENSOR

Se coment� en la introducci�n que los comandos -k y -S sirven para establecer respectivamente los niveles de negro y de saturaci�n del sensor.

El nivel de negro

-k es mejor no especificarlo ya que DCRAW puede calcularlo mucho mejor que nosotros a partir de los p�xels ocultos del sensor.

Sin embargo el nivel de saturaci�n

-S est� �ntimamente ligado al resultado del revelado en altas luces y s� que es muy interesante poder establecerlo ya que DCRAW, como cualquier otro revelador, utiliza una tabla de valores de saturaci�n est�ndar para cada modelo de c�mara, pero estos pueden no ser los adecuados para nuestra unidad particular o ISO empleado, o podr�an simplemente ser incorrectos en el c�digo original de David Coffin:

Por todo ello lo ideal es conocer el nivel en que nuestra c�mara satura sus tres canales y aplicarlo para tener un revelado �ptimo. Tomemos un ejemplo de archivo RAW con zonas de altas luces quemadas disparado por la 40D a ISO100:

C:\>dcraw -v -w -H 2 -4 -T retrato.cr2 Loading Canon EOS 40D image from retrato.cr2 ... Scaling with darkness 1023, **saturation 16224**


Fig. 10 Cast magenta por usar un nivel de saturaci�n superior al real.

Vemos que DCRAW aplica para esta c�mara de 14 bits un nivel de saturaci�n por defecto de 16224 que provoca tonos err�neos en las altas luces. Ello se debe a que ese nivel es excesivamente alto para la unidad probada. Con el comando

-D analizamos el RAW para saber exactamente en qu� nivel satura esta unidad de 40D:

C:\>dcraw -v -D -4 -T retrato.cr2


Fig. 11 Histograma del RAW puro mostrando nivel de saturaci�n.

Vemos que la c�mara en cuesti�n satura en el nivel 13824, sensiblemente inferior al usado por defecto por DCRAW. Revelando con este nuevo nivel de saturaci�n vemos como desaparecen los cast magenta sin perder un �pice de informaci�n:

C:\>dcraw -v -w **-S 13824** -H 2 -4 -T retrato.cr2 Loading Canon EOS 40D image from retrato.cr2 ... Scaling with darkness 1023, **saturation 13824**


Fig. 12 Nivel de saturaci�n correctamente aplicado.

Que el histograma no alcance el m�ximo es debido a que se ha utilizado un balance de blancos con multiplicadores menores o iguales a 1.0 que garantiza no quemar nada en altas luces a cambio de subexponer los canales.

Lo importante es que como DCRAW ahora ya sab�a correctamente cu�l era el nivel de saturaci�n ha hecho que dicha zona aparezca perfectamente neutra (R=G=B) gracias al comando

-H 2.

~~~

Algunas c�maras no tienen el mismo punto de saturaci�n en todos los canales (esto es habitual en Nikon), y algunas incluso ni siquiera saturan en un valor concreto sino a lo largo de un rango de valores (Fuji Super CCD R y Olympus).

En estos casos he conclu�do que la forma correcta de proceder es elegir el menor punto de saturaci�n de los disponibles, de modo que cualquier valor mayor ser� considerado como saturado por DCRAW garantizando neutralidad de las altas luces.

Por ejemplo tomando un archivo RAW de la Olympus E-510 con el siguiente histograma RAW en las altas luces quemadas:


Fig. 13 Histograma del RAW puro mostrando niveles de saturaci�n.

DCRAW aplica un punto de saturaci�n por defecto para esta c�mara de 3946, produciendo altas luces ligeramente magenta. En cambio si se emplea un valor de saturaci�n de 3648 en el revelado, las zonas quemadas aparecen totalmente neutras:


Fig. 14 Histogramas tras revelado con distintos puntos de saturaci�n.

~~~

En general puede concluirse que cuando se producen tonos incorrectos en las altas luces, t�picamente una dominante magenta, se trata de un problema de software en el revelado RAW. El revelador RAW empleado no estar�a aplicando un punto de saturaci�n correcto y/o una estrategia apropiada de altas luces neutras. No ser�a de extra�ar que usando un revelador RAW diferente el problema quedara solucionado.

En el caso de DCRAW la estrategia de altas luces neutras con

-H 2 funciona muy bien, pero es sin embargo bastante com�n que el punto de saturaci�n por defecto de DCRAW no sea el adecuado para varias c�maras. Para ellas deber� calcularse y establecerse con el comando -S.

Para conocer m�s a fondo los detalles sobre este importante par�metro puede acudirse al tutorial El nivel de saturaci�n del RAW.

AJUSTES EN PS DE LA IMAGEN REVELADA

Llegados a este punto ya deber�amos tener nuestro RAW revelado en formato TIFF as� que es el momento de abrirlo en Photoshop. Al hacerlo PS nos preguntar� en qu� espacio de color est� el documento. Si lo hemos convertido a alg�n espacio de color durante el revelado PS lo detectar� y deberemos decirle que le asigne ese preciso espacio. Si no lo hemos convertido a ning�n espacio de color en el revelado (opci�n -o 0), le deberemos indicar que no realice gesti�n de color.

Lo ideal no es ni lo uno ni lo otro sino que lo m�s �ptimo es disponer en Photoshop del perfil de color de nuestra c�mara, es decir un perfil generado tras la calibraci�n de la misma. En ese caso revelar�amos sin gesti�n de color (opci�n

-o 0), y en la operaci�n de abrir el archivo lineal asignar�amos el perfil de nuestra c�mara.

En los tres casos la imagen tiene sus datos en formato lineal, pero cuando la hemos convertido a alg�n espacio de color DCRAW guarda en el TIFF la informaci�n que PS necesita para saber que efectivamente la imagen tiene un formato lineal y la mostrar� autom�ticamente con una gamma de visualizaci�n corregida. En cambio si no ha sido convertido a ning�n espacio de color la imagen se presentar� tremendamente oscura. Para poder visualizarla correctamente hemos de ir a Edici�n → Ajustes de color... y en la secci�n 'Espacios de trabajo' elegir RGB: 'RGB personalizado...'. Se abrir� una ventana en cuya casilla 'Gamma' introduciremos un 1. Esto le indicar� a PS que la imagen no tiene la gamma corregida.

En ning�n caso estamos alterando los datos de la imagen que se mantienen lineales tal como salieron de DCRAW. Basta mostrar el histograma de la imagen para ver lo concentrado hacia las sombras que se encuentra.

Si ahora intentamos editar nuestra imagen con curvas por ejemplo, veremos que es misi�n imposible precisamente por esa concentraci�n hacia las sombras. Por desgracia Photoshop no est� preparado para realizar edici�n sobre im�genes lineales, por ello sus curvas y resto de herramientas no tienen definici�n suficiente en la parte de las sombras para hacer una edici�n de precisi�n. Lo que s� vamos a poder hacer en este momento aprovechando la linealidad de los datos que componen la imagen es:

CORRECCI�N DE LA EXPOSICI�N CON CURVAS

Es una cuesti�n de tener claro el concepto de exposici�n en digital: si nuestro sensor es lineal y por tanto produce en cada pixel un nivel proporcional a la cantidad de luz recibida, y nuestro histograma tambi�n es lineal, para aplicar en el mismo una sobreexposici�n de +1EV habr� que multiplicar por 2 todos los niveles de la imagen; y dividirlos entre 2 para obtener una subexposici�n de -1EV. Realizar esta operaci�n con una curva es tan sencillo como esto:


Fig. 15 Curvas para realizar correcci�n de exposici�n.

Para sobreexponer +2EV usar�amos la curva que pasa por (64,255), para subexponer -2EV usar�amos la curva (255,64), y as� sucesivamente. Por supuesto todos los valores intermedios tambi�n son posibles para un ajuste fino de la exposici�n.

BALANCE DE BLANCOS CON CURVAS

Para realizar el balance de blancos nos basamos exactamente en el mismo principio de linealidad solo que en este caso las curvas se aplicar�n de forma independiente sobre cada uno de los 3 canales RGB para modelar los multiplicadores de que hemos hablado antes. Para saber la curva que modela un determinado multiplicador no hay m�s que hacer la conversi�n del mismo al rango 0..255 de la curva. Por ejemplo el balance de blancos tungsteno que vimos ten�a los multiplicadores RGB con -H 0: 1.392498 1.000000 2.375114, que se modelar�n con una curva de sobreexposici�n en el canal R que pase por (255/1.392498,255) = (183,255) y otra para el canal B que pase por (255/2.375114,255) = (107,255), dejando inalterado el canal G:


Fig. 16 Curvas para realizar balance de blancos.

Podr�amos haber usado los multiplicadores menores de 1 que proporciona

-H 1: 0.586287 0.421032 1.000000. Las curvas a usar en ese caso ser�an de subexposici�n y consistir�an en una curva sobre el canal R que pasase por (255,255*0.586287) = (255,150) y otra curva sobre el canal G que pasara por (255,255*0.421032) = (255,107) dejando en este caso el canal B inalterado. Aplican exactamente todas las implicaciones vistas de usar un juego de multiplicadores mayores o iguales a 1, o un juego de factores menores o iguales a 1. No ha de asustar la radicalidad de estas curvas pues el histograma es lineal y ya vimos la fuerte concentraci�n del mismo en la parte baja.

Lo bueno de ajustar el balance de blancos con curvas es que podemos ponerlas en una capa de ajuste e ir toc�ndolas hasta dar con la proporci�n �ptima de canales para tener un correcto balance de blancos.

Veamos un ejemplo de imagen revelada sin balance de blancos (

-r 1 1 1 1) y como queda al ser ajustada con las curvas representadas arriba (mover el rat�n sobre la imagen para ver el efecto del balance de blancos):


Fig. 17 Efecto del balance de blancos (mover rat�n sobre la imagen).

Es o no es emocionante ajustar por uno mismo un balance de blancos, sabiendo lo que en realidad est� pas�ndole a la imagen? Y todo con una simple curva, aplicando de forma elegante y precisa los conceptos te�ricos sobre la linealidad del sensor.

Por desgracia esta forma de operar tiene m�s inter�s did�ctico que pr�ctico, porque como ya se indic� al principio ajustar el balance de blancos a posteriori del revelado RAW no es aconsejable ya que los algoritmos de demosaicing est�n optimizados para interpolar una imagen que ya est� equilibrada en blancos.

En la siguiente imagen se muestra a qu� artefactos puede dar lugar que el balance de blancos se haga a posteriori (mover el rat�n sobre la imagen para ver los artefactos de color):


Fig. 18 Balance de blancos antes vs despu�s (mover rat�n) de la interpolaci�n Bayer.

~~~

En realidad la posibilidad de ajustar la exposici�n, y por lo tanto tambi�n el balance de blancos, mediante curvas de este tipo no es exclusiva de im�genes lineales. Se explica en el art�culo Compensaci�n gamma. DCRAW con gamma c�mo una propiedad matem�tica de la curva gamma permite usar ese tipo de curvas tambi�n en im�genes no lineales, solo que los valores de las mismas ser�n diferentes.

Esto se aplica precisamente en el tutorial Balance de blancos JPEG para balancear en blancos archivos de imagen JPEG o de otro tipo, sin necesidad de que sean lineales.

CONVERSI�N A UN ESPACIO DE COLOR Y GAMMA

Una vez hemos revelado nuestra imagen solo nos faltar�a un paso para entrar en la fase de edici�n: la conversi�n a un perfil de color junto con la aplicaci�n de la compensaci�n gamma.

PERFIL DE COLOR

La imagen RAW se produce en el perfil del propio hardware de la c�mara, por lo que para una correcta gesti�n de color del archivo RAW tenemos dos posibilidades:

El revelado con DCRAW en 16 bits produce siempre una imagen en formato lineal, es decir de gamma=1,0, por lo tanto los espacios de color que asignemos al abrirla en PS deber�n serlo tambi�n o se mostrar� tremendamente oscura.

Si PS no reconociera directamente el perfil incrustado en la imagen revelada por DCRAW, pueden descargarse versiones lineales de los m�s habituales (sRGB y Adobe RGB) de este enlace. Bastar� copiarlos en la ruta habitual de perfiles ICC (t�picamente 'C:\Windows\System32\spool\drivers\color\') o si se tiene Windows Vista instalarlos con el bot�n derecho del rat�n, y asignarlos al abrir las im�genes en PS.

Para el que desee crear sus propias versiones lineales de alg�n perfil de color puede seguir los siguientes pasos en PS (se ha tomado sRGB como ejemplo):

  1. Seleccionar 'Edici�n' → 'Ajustes de color...', y elegir el modo avanzado ('M�s opciones')
  2. Seleccionar 'sRGB IEC61966-2.1' en el desplegable de 'Espacios de trabajo' en el apartado 'RGB'
  3. Seleccionar ahora en ese mismo desplegable la primera opci�n llamada 'RGB personalizado...'. En la ventana que aparecer� con los par�metros del perfil, cambiar el 2,2 por 1,0 en la casilla 'Gamma' e introducir un nombre identificativo, por ejemplo 'DCRAW Gamma1 sRGB', dejando todo lo dem�s inalterado. Pulsar 'OK'
  4. De nuevo sobre el mismo desplegable 'Espacios de trabajo' en 'RGB' de los pasos 2 y 3, seleccionar la tercera opci�n etiquetada 'Guardar RGB...'. Introducir un nombre apropiado, por ejemplo dejamos el propuesto 'DCRAW Gamma1 sRGB.icc', y pulsar 'Guardar'
  5. Ahora cerramos la ventana de 'Ajustes de color...' en que nos encontramos pulsando 'Cancelar' para que el nuevo perfil no se asuma como perfil por defecto del espacio de trabajo

COMPENSACI�N GAMMA

Hemos visto que la imagen generada por DCRAW es lineal si no se aplica espec�ficamente una compensaci�n gamma con el comando

-g. Si bien la edici�n lineal de im�genes es perfectamente posible, presentando de hecho grandes ventajas en ciertos aspectos frente a la edici�n no lineal, PS desafortunadamente no est� bien preparado para ella resultando muchas de sus herramientas dif�ciles de manejar.

Es por ello por lo que como paso previo a la edici�n deberemos adem�s deslinealizar la imagen aplic�ndole una compensaci�n gamma, t�picamente de 2,2.

Para llevar a cabo esta deslinealizaci�n basta hacer algo tan simple como convertir al espacio de color destino (con gamma=2,2 o la que sea) en que vayamos a trabajar. Recordemos que tenemos la imagen codificada y asignada en un perfil de color lineal, as� que si este fuera por ejemplo sRGB, convertirla a la version no lineal del mismo espacio sRGB (la que habitual que usamos en PS) tendr� precisamente este efecto de deslinealizar la imagen.

Cuando hagamos esto podremos ver como el histograma se redistribuye desplaz�ndose fuertemente hacia la derecha pero manteniendo invariable el aspecto de la imagen como en toda conversi�n de espacio de color.

He comprobado que PS (CS2) muestra las im�genes lineales de gamma no compensada con artefactos tipo solarizaci�n en las zonas homog�neas si el grado de zoom en pantalla es inferior al 50%. Este fen�meno es solo a efectos de visualizaci�n y por lo tanto no afecta para nada a la informaci�n real codificada en la imagen. La conversi�n final a un perfil de color no lineal hace adem�s que desaparezcan estos fen�menos de solarizaci�n.

El ejemplo muestra c�mo visualiza PS una imagen lineal con un zoom en pantalla del 36%, y como desaparece el problema tras la deslinealizaci�n por conversi�n a espacio de color con gamma no unitaria:


Fig. 19 Efecto de solarizaci�n al ver en PS im�genes lineales (izq.) vs no lineales (der.).

Una vez convertida la imagen al perfil de color no lineal elegido puede empezarse el proceso de edici�n de la imagen tal como lo har�amos si la hubi�ramos revelado con cualquier otro revelador RAW.

Por supuesto todos estos pasos pueden obviarse si empleando el comando

-g de DCRAW con los valores apropiados, obtenemos una salida con compensaci�n gamma directamente en DCRAW.

VENTAJAS DE DCRAW FRENTE A REVELADORES RAW COMERCIALES

Al margen de la mejora o no en calidad de interpolaci�n, reducci�n de ruido, aberraciones crom�ticas,... lo que ser�a objeto de otro an�lisis, pueden deducirse de todo lo visto una serie de facilidades que aporta DCRAW y que no est�n disponibles en reveladores comerciales tales como ACR, y que son de gran utilidad para ciertos an�lisis o aplicaciones:

FORMATOS RAW SOPORTADOS POR DCRAW

La lista no termina y est� continuamente actualiz�ndose conviertiendo a DCRAW en un aut�ntico diccionario universal de formatos RAW que llega a leer incluso algunos formatos RAW de c�maras compactas no documentados por sus fabricantes.

Es habitual que cuando aparece una nueva c�mara en el mercado, David Coffin actualice DCRAW para poder leerlo antes que ning�n fabricante. Solo �sta ya es una buena raz�n para tener en cuenta DCRAW mientras aparece una actualizaci�n para nuestro revelador RAW favorito.

Aqu� puede consultarse el listado de formatos soportados.

FACILITANDO EL USO DE DCRAW EN WINDOWS

SCRIPT DCRAW PARA WINDOWS

Para ahorrarnos tener que hacer uso de la l�nea de comandos al hacer revelados con DCRAW, es recomendable asignar dicho programa dentro de las opciones del Explorador de ficheros de Windows para que al hacer Bot�n derecho → 'Enviar a' nos aparezca DCRAW como una de las opciones. Para ello basta usar el siguiente script por cortes�a de Owockadoy del foro de OD:

@echo off :inicio if _%1_==__ goto fin echo Procesando %1... c:\windows\dcraw -e %1 shift goto inicio :fin
Lo guardaremos con un nombre identificativo tal como

dcraw.bat en 'C:\Documents and Settings\usuario\SendTo' para Windows XP, o en 'C:\Users\usuario\AppData\Roaming\Microsoft\Windows\SendTo' para Windows Vista, donde usuario es nuestro usuario habitual de Windows.

Para localizar la segunda ruta en el dichoso Vista, puede ser necesario introducir en 'Ejecutar' (tecla Win izq. + 'R') la cadena '%USERPROFILE%\AppData\Roaming\Microsoft\Windows\SendTo' que nos llevar� a la ruta correcta.

Es posible que para que Windows nos muestre la carpeta 'SendTo' tengamos que habilitar en Herramientas → Opciones del Explorador la opci�n de 'Mostrar todos los archivos y carpetas ocultos', opci�n que puede restablecerse una vez hemos copiado el script.

Guardado el script bastar� seleccionar un archivo o grupo de archivos RAW, y con el bot�n derecho enviarlos al escript en cuesti�n. Por supuesto podemos definir varios scripts con diferentes opciones de revelado (en el ejemplo de arriba no se revelan los archivos, solo se extrae el thumbnail JPEG asociado a cada uno de ellos).

CONSOLA DESDE EL EXPLORADOR

Con la instalaci�n de la siguiente min�scula herramienta: MS-DOS.reg en el registro de Windows, puede abrirse con gran facilidad una consola en cualquier ruta deseada con tan solo colocarse encima de la carpeta en cuesti�n en el Explorador de Windows y pulsando el bot�n derecho del rat�n elegir la opci�n 'Consola sistema'.

De ese modo, para procesar con DCRAW cualquier archivo RAW que se encuentre en una ruta un poco intrincada no ser� necesario realizar ning�n cambio de carpeta desde la consola con el comando cd. Podremos directamente abrir un terminal asociado a dicha ruta partiendo del explorador.

PERFECT RAW. DCRAW CON INTERFACE GR�FICO

Para paliar la incomodidad de tener que utilizar DCRAW desde la l�nea de comandos, Manuel Llorens, Fernando Ariznavarreta, Egon y yo (mucho m�s ellos que yo) estamos dise�ando nuestro propio revelador RAW basado en DCRAW pero con un potente interface gr�fico que facilite su uso: Perfect RAW.

La filosof�a es diferente a la de otros interfaces existentes para DCRAW como por ejemplo UFRAW, ya que nuestra prioridad absoluta es la precisi�n y el control del revelado de modo que ninguna de las facilidades nativas de DCRAW quede oculta al usuario, aunque ello convierta a Perfect RAW en un revelador no tan f�cil de usar ni r�pido como otros.

Adem�s contar� con funcionalidades a�adidas ajenas a DCRAW tales como histogramas de gran precisi�n (incluyendo histogramas por pasos de diafragma), control de exposici�n con posibilidad de preservar las altas luces, nuevos algoritmos para mejorar la calidad de la imagen,...

Para tener m�s informaci�n del desarrollo puede acudirse al siguiente enlace: Perfect RAW.

NOTA: desafortunadamente, el l�der del proyecto Perfect RAW, Manuel Llorens, a fecha 24 de febrero de 2010 ha dado el desarrollo del programa suspendido de forma indefinida. Para saber m�s sobre la situaci�n y viabilidad del proyecto puede contact�rsele directamente en su propia p�gina RAWness. Digital Photography Science.

~~~

Si este contenido te ha resultado �til, considera realizar una contribuci�n para asegurar la continuidad de esta web. Mantenerla supone un importante esfuerzo, as� como un espacio y ancho de banda considerables en el servidor. Es una operaci�n sencilla y totalmente segura.