5.1- Guardar una imagen en disco
Después de realizar cualquier proceso a una imagen es posible
guardarla en nuestro disco duro. El comando simétrico a
LOAD es el comando
SAVE. La sintaxis del comando
SAVE
es muy simple, el único parámetro requerido es el nombre
del fichero que vamos a guardar, precedido de su ruta de acceso en el
caso de que deseemos guardarlo en otra carpeta que no sea la de
trabajo. Por ejemplo:
>SAVE observatory
Iris asigna automáticamente la extensión del fichero. No debe indicarse la extensión en el comando.
También se puede guardar una imagen a través del comando
Sauver (Save) del menú
Fichier (File) (o clic en el icono
Guardar de la barra de herramientas). En el desplegable
Tipo de la ventana
Guardar como, podremos elegir la extensión. SI el formato elegido es TIFF o PNG cada pixel será codificado a 48 bits.
Existen otros comandos disponibles desde la consola para guardar imágenes con diferentes formatos. Por ejemplo:
>SAVEPNG observatory
guarda en nuestra carpeta de trabajo el fichero de 48 bits “observatory.png”
Del mismo modo se puede guardar como JPEG, en ese caso será
necesario indicar el nivel de compresión con un valor entre 1 y
5. El valor 1 nos indica la máxima calidad:
>SAVEJPG observatory 1
Y el valor 5 la máxima compresión:
>SAVEJPG observatory 5
Si se guarda una imagen en formato JPEG desde el menú de la
barra de herramientas, Iris usa por defecto la máxima calidad.
También puede guardarse una imagen en formato PSD utilizado por Photoshop a través del comando
SAVEPSD.
Una secuencia ordenada de imágenes PIC puede ser transformada a una secuencia de imágenes FIT con el comando
PIC2FITS, por ejemplo:
>PIC2FITS entrada salida 37
convierte las imágenes entrada1, entrada2,… entrada37 en
la secuencia de imágenes salida1, salida2,… salida37
El comando
PIC2BMP realiza exactamente lo mismo pero con formato BMP
El comando
EXPORT crea un fichero RAW (bruto) a partir de una imagen de 16 bits. La sintaxis es:
EXPORT [NOMBRE] [ENCABEZADO] [OCTETOS POR PIXEL] [INVERSO (0 ó 1)]
NOMBRE: nombre de la imagen que va a ser guardada. Es necesario añadir la extensión (por ejemplo .dat)
ENCABEZADO: tamaño del encabezado del fichero en octetos. Si no queremos encabezado, poner un 0
OCTETOS POR PIXEL: número de octetos utilizado para codificar cada pixel de la imagen (normalmente 2)
INVERSO: valor 0 para procesadores Intel (IBM PC) y valor 1 para procesadores Motorola (MAC Apple)
Ejemplo:
>EXPORT fichero.dat 0 2 0
Existe el comando equivalente para cargar ficheros RAW, el comando
IMPORT con la misma sintaxis.
Nota: el comando
EXPORT2 es similar al comando
EXPORT, pero el código interno de Iris [-23768… 32767] se convierte en [0… 65535]
El comando
EXPORT_ASC ofrece la
posibilidad de guardar una imagen en formato de fichero de texto ASCII
con tres columnas. El fichero es pues editable con un programa editor
de textos. La primera columna contiene las coordenadas X de cada pixel,
la segunda columna las coordenadas Y de cada pixel y la tercera columna
el valor de la intensidad de cada pixel de coordenadas (X,Y). El
comando equivalente para abrir una imagen en formato de texto ASCII es
IMPORT_ASC.
5.2- El aspecto de mi imagen guardada en formato TIFF o PNG es muy extraña!?
Si la imagen guardada tiene este aspecto en vuestro programa de edición de gráficos…
… la razón es que contiene valores negativos que no son
aceptados por nuestro programa. Es fácil darse cuenta de la
presencia de valores negativos con el comando de la consola
STAT
>STAT
El resultado aparece en la ventana
Sortie (Output) de Iris:
Se observa que el valor mínimo es -125. La solución es
sencilla, sumar una constante a todos los píxeles con el comando
OFFSET
>OFFSET 125
o con el comando
Addition (Add) del menú
Traitement (Processing) de la barra de herramientas:
Otro problema clásico cuando se exporta una imagen de Iris hacia
otro programa de gráficos es que la imagen aparece muy oscura.
Se pueden ajustar los niveles desde el programa de gráficos o se
puede ajustar el rango dinámico con Iris antes de guardar la
imagen. A menudo el problema está en que el rango
dinámico está entre 0 y 255 (puede verse con el comando
STAT).
Estos 255 niveles sólo llenan una pequeña fracción
de los 48 bits. Para obtener una correcta visualización de la
imagen en nuestro programa de gráficos podemos multiplicar por
una constante con el comando
MULT para alcanzar el máximo rango dinámico. Por ejemplo:
>MULT 128
o con el comando
Multiplication (Multiply) del menú
Traitement (Processing) de la barra de herramientas:
5.3- Exportar una imagen “RAW” hacia Photoshop
Para exportar imágenes de 48 bits (16 bits por canal) hacia Photoshop puede utilizarse el comando
SAVEPSD o guardar en FIFF o PNG. Un método alternativo es usar el comando
EXPORT que soporta imágenes de 48 bits. Por ejemplo:
>EXPORT observatoryraw.raw 0 2 0
El primer parámetro es el nombre del fichero (es necesario
indicar la extensión), el segundo parámetro es el
tamaño del encabezado, el tercer parámetro indica el
número de octetos por pixel (8 ó 16 bits) y el cuarto
parámetro indica si el orden es compatible con Intel (valor 0) o
con Motorola (valor 1).
Una vez exportado el archivo ya puede abrirse con el comando
Abrir de Photoshop.
Nótese que hay que indicar el tamaño de la imagen (el comando
INFO
de Iris nos dará esa información). La imagen tiene 3
canales (Channels) de 16 bits, indicamos que nuestro procesador es, por
ejemplo, Intel (IBM PC) y el tamaño del encabezado (Header).
Es posible que la imagen aparezca un poco oscura y deberemos usar los niveles de Photoshop para ajustar el histograma.
Nota: si es necesario
eliminar valores negativos, puesto que Photoshop no acepta esos
valores, antes de exportar podemos usar el comando
CLIPMIN:
>CLIPMIN 0 0
Otra solución es usar el comando
OFFSET, por ejemplo:
>OFFSET 300
si el valor mínimo es -300, eso lo podemos saber con el comando
STAT.
5.4- ¿Cómo extraer los canales R, G y B de una imagen de 48 bits?
Desde el menú
Photo numérique (Digital photo) de la barra de herramientas, usar el comando
Séparation RGB (RGB separation)
Al hacer clic en
OK
las imágenes r.pic, g.pic, b.pic se crearán en nuestra
carpeta de trabajo. Son imágenes en escala de grises que
contienen la información de cada canal. Podemos visualizarlas
haciendo:
>LOAD r
(canal rojo)
>LOAD g
(canal verde)
>LOAD b
(canal azul)
Otra alternativa para separar los tres canales R, G y B es usar el comando
SPLIT_RGB
>SPLIT_RGB r g b
La separación de canales es útil para determinadas
funciones de Iris que sólo funcionan con imágenes de 16
bits.
Para reconstruir una imagen en color a partir de los tres canales R, G y B podemos usar el comando de la consola
TRICHRO:
>TRICHRO r g b
o en su forma compacta
TR:
> TR r g b
o a través del comando
(L)RGB… del menú
Visualisation (View) de la barra de herramientas:
RESUMEN DE LOS COMANDOS DE ESTE TEMA
SAVE [NOMBRE]
Guarda la imagen en memoria en nuestra carpeta de trabajo con el formato especificado en el menú
Réglages (Settings). Opcionalmente puede indicarse la ruta de acceso. Por ejemplo:
>SAVE observatory
SAVEPNG [NOMBRE]
Guarda la imagen en memoria en nuestra carpeta de trabajo con formato PNG de 48 bits
SAVEJPG [NOMBRE] [CALIDAD]
Guarda la imagen en memoria en nuestra carpeta de trabajo con formato
JPEG. El parámetro CALIDAD, un número entre 1 y 5, indica
el grado de compresión. 1 para máxima calidad y 5 para
máxima compresión.
SAVEPSD [NOMBRE]
Guarda la imagen en memoria en nuestra carpeta de trabajo con formato
PSD de Photoshop de 48 bits (16 bits por canal). La imagen en memoria
no debe contener píxeles con valores negativos.
PIC2FITS [ENTRADA] [SALIDA] [NUMERO]
Convierte una secuencia de imágenes PIC en una secuencia de imágenes FITS
[ENTRADA]: nombre genérico de la secuencia de entrada
[SALIDA]: nombre genérico de la secuencia de salida
[NUMERO]: número de imágenes de la secuencia
PIC2BMP [ENTRADA] [SALIDA] [NUMERO]
Convierte una secuencia de imágenes PIC en una secuencia de imágenes BMP
EXPORT [NOMBRE] [ENCABEZADO] [OCTETOS POR PIXEL] [INVERSO (0 ó 1)]
Convierte una imagen en memoria en un fichero con formato no estándar
[NOMBRE]: nombre de la imagen que va a ser guardada. Es necesario añadir la extensión (por ejemplo .img)
[ENCABEZADO]: tamaño del encabezado del fichero en octetos. Si no queremos encabezado, poner un 0
[OCTETOS POR PIXEL]: número de octetos utilizado para codificar cada pixel de la imagen (normalmente 2)
[INVERSO]: valor 0 para procesadores Intel (IBM PC) y valor 1 para procesadores Motorola (MAC Apple)
Por ejemplo:
>EXPORT fichero.img 256 2 0
EXPORT2 [NOMBRE] [ENCABEZADO] [OCTETOS POR PIXEL] [INVERSO (0 ó 1)]
Igual que el comando EXPORT pero el código interno de Iris [-23768… 32767] se convierte en [0… 65535]
EXPORT_ASC [NOMBRE]
Guarda una imagen en formato ASCII en tres columnas. La primera columna
contiene las coordenadas X de cada pixel, la segunda columna las
coordenadas Y de cada pixel y la tercera columna el valor de la
intensidad de cada pixel de coordenadas (X,Y)
IMPORT [NOMBRE] [X] [Y] [ENCABEZADO] [OCTETOS POR PIXEL] [INVERSO (0 ó 1)]
Carga en memoria una imagen en un fichero con formato no estándar
[NOMBRE]: nombre de la imagen. Es necesario añadir la extensión (por ejemplo .dat)
[X] [Y]: Tamaño de la imagen en píxeles
[ENCABEZADO]: tamaño del encabezado del fichero en octetos.
[OCTETOS POR PIXEL]: número de octetos utilizado para codificar cada pixel de la imagen (normalmente 2)
[INVERSO]: valor 0 para procesadores Intel (IBM PC) y valor 1 para procesadores Motorola (MAC Apple)
Por ejemplo:
>IMPORT file.dat 480 640 256 2 0
IMPORT_ASC [NOMBRE]
Carga en memoria una imagen en formato ASCII de tres columnas
STAT
Devuelve información en pantalla de las estadísticas de una imagen
OFFSET [VALOR]
Suma a cada pixel de la imagen el número VALOR que puede ser positivo o negativo
MULT [VALOR]
Multiplica cada pixel de la imagen por el número VALOR
CLIPMIN [VIEJO] [NUEVO]
Asigna el valor NUEVO a todos los píxeles de la imagen cuyo
valor es inferior a VIEJO. Este comando es útil para forzar a
una imagen a tener valores estrictamente positivos, por ejemplo:
>CLIPMIN 0 0
CLIPMAX [VIEJO] [NUEVO]
Asigna el valor NUEVO a todos los píxeles de la imagen cuyo valor es superior a VIEJO
SPLIT_RGB [R] [G] [B]
Separa una imagen a color en sus tres canales R, G y B
TRICHRO [R] [G] [B]
Carga tres imágenes R, G y B para componer una imagen a color.