Anda di halaman 1dari 17

1

=========================================================
MANUAL DE REDUCCIN AUTOMTICA DE IMGENES
UTILIZANDO EL PROGRAMA IRAF
( VERSIN PROVISIONAL )
C. Abad y B. Vicente (Diciembre 1998)
=========================================================
En lugar de dar un simple recetario con las rdenes a ejecutar, a fin de que las puedas
modificar lo que quieras y las apliques a cualquier imagen, te voy a explicar lo que iba haciendo.
As que en primer lugar explicar unas pautas generales de cmo utilizar Iraf de forma no
interactiva y luego en una segunda parte explicar propiamente los pasos a seguir para la reduccin
de imgenes. Por supuesto, entrar a detallar nicamente aquello que se vaya a utilizar.
Contenido de este manual:
I.- NOCIONES BSICAS SOBRE EL IRAF
(1) Parmetros: explcitos, implcitos e internos
(2) Tareas
(3) Listas
(4) Crear herramientas nuevas
II.- RECETARIO DE PASOS A SEGUIR
(1) Preliminares
(2) Compilar herramientas nuevas en el Iraf
(3) Convertir *.fits en *.imh
(4) Cortar las imgenes
(5) Estadstica de cada imagen
(6) Correr la herramienta bvdaofind
(7) Correr la herramienta bvcenter
(8) Correr todo de una vez
(9) Borrar los archivos innecesarios
2
I . - NOCIONES BSICAS SOBRE EL IRAF
Empezar comentando 4 cosas fundamentales que se aplican en las herramientas de Iraf a la
hora de trabajar con los parmetros de forma automatizada. Luego, pues como todo, no hay una
forma nica de hacer las cosas: se pueden dar las rdenes una a una, o hacer tareas que las hagan
de una vez, y stas, a su vez, se pueden hacer de muchas formas distintas.
Por eso te voy a explicar cmo funciona lo de ejecutar herramientas con parmetros, para
que le puedas sacar todo el jugo a tu antojo, aunque yo te d al final qu es lo que yo haca, una
especie de guin para que lo sigas al principio como ejemplo.
--------------------
(1) PARMETROS
--------------------
Cada herramienta del Iraf tiene 3 tipos de parmetros, llammosles: explcitos, implcitos e internos
(no s como los llamar Iraf, yo les digo as para que nos entendamos).
Siguiendo un ejemplo te explicar cada tipo.
Por ejemplo: al hacer 'epar rfits' tenemos
PACKAGE = dataio
TASK = rfits
fits_fil= imagen_in.fits FITS data source
file_lis= File/extensions list
iraf_fil= imagen_out.imh IRAF filename
(make_im= yes) Create an IRAF image?
(long_he= no) Print FITS header cards?
(short_h= yes) Print short header?
(datatyp= ) IRAF data type
(blank = 0.) Blank value
(scale = yes) Scale the data?
(oldiraf= no) Use old IRAF name in place of iraf_file?
(offset = 0) Tape file offset
(mode = ql)
Los 3 primeros son explcitos y los restantes son implcitos (stos van entre parntesis), veamos
cada tipo.
A) EXPLCITOS
Explcitos:hay que incluirlos obligatoriamente cuando ejecutas la herramienta.
(ojo!, en el mismo orden en el que estn), si no los incluyes te los pregunta por pantalla.
Por tanto para ejecutar cualquier herramienta de forma NO interactiva tendremos que
saber cules son los parmetros explcitos y en qu orden debemos meterlos.
3
Ejemplo: Si escribo sin ms
da> rfits
Iraf me pedir los parmetros explcitos que necesita
FITS data source (imagen_in.fits):
File/extensions list:
IRAF filename (imagen_out.imh):
La forma de ejecutar esta herramienta de forma NO interactiva sera:
da> rfits imagen_in.fits "" imagen_out.imh
( para expresar que un parmetro lo dejamos en blanco ponemos "" )
B) IMPLCITOS
Implcitos: cuando ejecutas la herramienta sin ms toma los valores que tiene guardados por defecto
(el valor entre parntesis).
Si quiero modificar alguno de stos tengo dos opciones:
1.- o cambio con el epar el archivo de parmetros de la herramienta en cuestin (esto es
conveniente cuando va a ser una opcin que voy a utilizar todo el rato)
2.- o, cuando ejecuto la herramienta, aado al final la opcin que quiero con el nuevo valor.
Esto es til cuando quiero mantener el epar original y no modificarlo.
Ejemplo:
Tenemos en 'epar rfits' la opcin datatyp, que es el tipo de pixel que queremos al convertir nuestra
imagen de .fits a .imh. La tenemos en blanco y lo que Iraf toma por defecto es el tipo SHORT (de
esta forma salen valores negativos y las saturadas con hoyos). Pues bien, nos interesa cambiar esta
opcin a USHORT (para que los valores vayan de 0 al mximo y que las estrellas saturadas salgan
como mesetas).
Podemos cambiar en el epar donde pone
(datatyp= ) IRAF data type
poner
(datatyp= ushort) IRAF data type
o bien si quiero conservar el epar como estaba porque slo voy a utilizar este nuevo valor una vez,
puedo escribir:
da> rfits datatyp=ushort
o escribirlo todo para que no sea interactivo
da> rfits imagen_in.fits "" imagen_out.imh datatyp=ushort
4
NOTA:
Cuando pongo imagen_in me refiero al nombre de la imagen que quiero manipular y con
imagen_out, al nombre que yo elijo para el resultado de la manipulacin.
En resumen:
Para trabajar de forma NO interactiva, ejecutar las herramientas con todos los
parmetros explcitos.
Los parmetros implcitos que se usen frecuentemente cambiarlos en el epar y los
que se cambien por una vez incluirlos al ejecutar la herramienta tanto si es o no de
forma interactiva.
C) INTERNOS
stos son un conjunto de parmetros que se almacenan en unos archivos independientes de las
herramientas. Estos archivos con parmetros pueden utilizados en distintas herramientas y distintas
herramientas pueden usar varios archivos de stos.
Para entender este tipo de parmetro seguimos este otro ejemplo:
Si nos metemos en el paquete: 'noao.digiphot.apphot' tenemos estas opciones:
aptest datapars@ fitskypars@ polymark radprof
center findpars@ pexamine polypars@ txdump
centerpars@ fitpsf phot polyphot wphot
daofind fitsky photpars@ qphot
donde archivo@ denota que es un archivo con parmetros internos, (centerpars@, datapars@,
findpars@, fitskypars@) y el resto son herramientas que utilizan estos archivos@.
As, al hacer: 'epar daofind' tenemos:
PACKAGE = apphot
TASK = daofind
image = imagen_in.imh Input image
(output = default) Results file
(starmap= ) Output density enhancement image
(skymap = ) Output sky image
(datapar= ) Data dependent parameters
(findpar= ) Object detection parameters
(boundar= nearest) Boundary extension (constant, nearest, reflect,
(constan= 0.) Constant for boundary extension
(interac= no) Interactive mode
(verify = no) Verify critical parameters in non-interactive mo
(update = no) Update critical parameters in non-interactive mo
(verbose= no) Print messages in non-interactive mode
(graphic= stdgraph) Graphics device
(display= stdimage) Display device
(icomman= ) Image cursor: [x y wcs] key [cmd]
(gcomman= ) Graphics cursor: [x y wcs] key [cmd]
(mode = ql)
5
Aqu vemos que slo hay un parmetro explcito (image) y que el resto son implcitos, sin embargo
donde pone 'datapar' y 'findpar' habra que colocar los archivos que contendran los parmetros
internos. (En caso de no poner nada Iraf considera que estos archivos son respectivamente
'datapars@'y 'findpars@').
Antes de ejecutar la herramienta meteremos a mano en el archivo@ correspondiente los parmetros
que nos interesen cambiar. Sin embargo, tambin podemos especificar un archivo de datos que
incluya los datos que nosotros queremos, 'archivo.par'. En ese caso pondramos en lalista de
parmetros, datapar=archivo.par. Este archivo puede ser creado con los valores fruto de algn
programa.
sto es muy til cuando tenemos varias imgenes y cada una tiene unos parmetros distintos, los
explcitos e implcitos sabemos que se incluyen en la ejecucin de la herramienta, y para los
internos bastara para cada imagen crear el archivo@ correspondiente (1.par, 2.par, 3.par, etc) y al
ejecutar la herramienta incluiramos el archivo como opcin implcita, es decir as:
ap> daofind imagen1.imh datapar=1.par
ap> daofind imagen2.imh datapar=2.par
ap> daofind imagen3.imh datapar=3.par
. . .
La manera de cmo hacer ese archivo.par lo explicar lo ltimo de todo, junto con cmo hacer
herramientas nuevas. Hay que programar en C para hacer los scripts necesarios y por ahora no nos
harn falta ya que los necesarios ya los hice yo. sto es para que entiendas lo que hice y el por qu
lo hice de una forma y no de otra. Ahora te urge empezar con las imgenes, ms adelante te
ensear sto y te modificas t las cosas como quieras)
-----------
(2) TAREAS
-----------
En el ejemplo anterior que tenamos 3 imgenes hemos visto que era necesario realizar varias
rdenes seguidas. En muchas ocasiones tendremos que hacer varias rdenes para un nico
resultado.
Por ejemplo:
Tenemos una imagen y queremos comprobar qu estrellas son identificadas con la herramienta
DAOFIND cambiando los parmetros basicos del sigma, el fwhm y el threshold. Una vez ejecutada
la herramienta del daofind, queremos que con la herramienta TVMARK nos haga un crculo rojo
alrededor de cada estrella encontrada. Pues bien, cada vez que cambiamos un parmetro (implcito
o interno) del daofind tendremos que escribir estas ordenes:
ap> !rm imagen.imh.coo.*
ap> daofind imagen.imh
ap> display imagen.imh 1 fil+
ap> tvmark 1 imagen.imh.coo.1 mark=circle radii=11 color=204
Para ejecutar un comando de unix dentro de Iraf hay que poner delante el signo !, y borramos
(o renombramos si queremos mantenerlas) las versiones anteriores de *.coo para que el daofind
cree la versin *.coo.1 y sea ese fichero el que pinte.
6
Estas 4 rdenes se pueden englobar en una sola creando una tarea como hacemos en unix, solo que
aqu NO hay que hacerla ejecutable con el chmod +x. Aqu sin ms creamos el archivo tarea.cl con
el vi y luego para correrla escribimos simplemente en el iraf:
cl < tarea.cl
y con slo una instruccin el iraf hace 4.
(En el iraf tambien funciona el vi, con el signo de admiracin !vi, o sino se puede utilizar el editor
de Iraf (edit), no hace falta cambiar de pantalla)
Ejemplos de estas tareas tienes en mi directorio:
cortar.cl (para cortar en un CCD los trozos que no queriamos)
prdaofind.cl (es el ejemplo que te he descrito arriba, te sirve para en un momento
dado comprobar si los parmetros del daofind te estn cogiendo bien
las estrellas)
tareabvcent.cl (este es un buen ejemplo, con una instruccin corre el bvcenter para
todas las imgenes)
tareabvdaof.cl (lo mismo que tareabvdaofind.cl pero con el bvdaofind)
centros.cl (tiene unidas las dos tareas anteriores)
Con una buena destreza en el vi y con el awk se pueden construir estas largas tareas de forma
rpida y cmoda.
La extensin .cl no es necesaria, pero yo la pongo para aclararme y saber que ese archivo es una
tarea qu he creado para el Iraf. Y adems que con ls *.cl veo de forma rpida qu tareas tengo.
----------
(3) LISTAS
----------
Otra manera de aplicar una herramienta a varias imgenes con una sla orden es mediante las listas.
En todas las herramientas hay que especificar:
1- el 'archivo_in', es decir, el nombre de la imagen o archivo con datos que voy a utilizar en
la herramienta, y
2- el 'archivo_out', es decir, el nombre con el que ser almacenado el resultado. En muchas
herramientas la salida es un parmetro implcito que dejndolo en 'default', Iraf le da al
archivo de salida el nombre por defecto (=nombre de la imagen_in, seguida de la extensin
correspondiente a la herramienta y seguida de la versin). En otras, tanto el archivo_in
como el archivo_out son explcitos y por tanto es necesario escribirlos.
Si tenemos muchas imgenes a las que aplicarle la misma herramienta, podemos hacer una lista,
esto es, escribimos en un archivo una lista con los nombres de los archivos_in que quiero ejecutar,
uno debajo de otro, y otro archivo con los archivos_out, si es que son necesarios.
Luego, a la hora de ejecutar la herramienta, en lugar de poner imagen_in pondremos el nombre del
archivo que contiene la lista, precedida con @ para indicarle a Iraf que se trata de una lista de
imgenes.
Por ejemplo: Quiero convertir a formato de Iraf 3 imgenes que tengo en formato .fits. Para ello
tenemos 3 posibilidades de hacerlo segn lo explicado:
7
1.- Ejecutar cada orden una a una:
da> rfits imagen1.fits "" imagen1.imh
da> rfits imagen2.fits "" imagen2.imh
da> rfits imagen3.fits "" imagen3.imh
(teniendo que esperar a que termine una para ordenar la siguente)
2.- Crearnos una tarea que con una sola orden las ejecute una a una, tal y como indiqu arriba, slo
escribiramos:
da> cl<tarea.cl
3.- Hacemos una lista de entrada:
> vi entrada
imagen1.fits
imagen2.fits
imagen3.fits
y otra de salida:
> vi salida
imagen1.imh
imagen2.imh
imagen3.imh
(ojo!! los nombres de salida hay que ponerlos en orden respectivo con los nombres de entrada)
y luego escribimos:
> rfits @entrada "" @salida
Ejemplos de sto tienes en mi directorio en el entradafits y salidafits, tambin el incopy y el
outcopy.
----------------------------------------------
(4) CREAR HERRAMIENTAS NUEVAS
----------------------------------------------
Otra tcnica muy til es crearse uno mismo las tareas que ms se adecuen a su trabajo. Cuando
entramos en un paquete, ejemplo en images.tv, vemos las herramientas que hay junto con los
archivos de parametros internos.
Ejemplo: en images.tv tenemos,
display iis. imedit imexamine tvmark wcslab
Puede que lo que nosotros necesitemos sea una combinacin de varias, o que queramos que al
ejecutar una tarea que implica a herramientas con parmetros interos, estos cambien de forma NO
interactiva para cada imagen.
8
Para ello nos hacemos un script llamado 'nombre.cl' (ahora SI que es necesaria la extension .cl).
Una vez creado, dentro del paquete donde queremos que aparezca la herramienta, lo compilaremos,
para ello escribimos:
task nombre = nombre.cl
entonces aparece la herramienta 'nombre' como una herramienta ms.
Ejemplo:
Si compilamos la herramienta 'nombre' desde images.tv ahora tendremos como herramientas de
este paquete:
display iis. imedit imexamine nombre
tvmark wcslab
y la utilizaremos igual que las dems:
> nombre paramentros_explcitos (parametros_implcitos)
y para modificar sus parmetros lo haremos igual que con las dems:
> epar nombre
OJO !! Cuando uno se sale del Iraf desaparecen los programas compilados y cada vez que uno
entra tiene que compilar las herramientas que vaya a necesitar.
Yo hice las herramientas BVDAOFIND.CL y la BVCENTER.CL, hay que compilarlas dentro del
paquete noao.digiphot.apphot.
Estas dos herramientas buscan los centros de las estrellas con el daofind y con el center,
respectivamente (para completar la reduccin faltara hacer la que utiliza el phot).
Estas dos herramientas utilizan en la opcin de 'datapar=' un archivo en que entran como valores
de parmetros internos del sigma, fondo del cielo etc, los nmeros que salen de la estadstica de la
imagen.
Este archivo lo llam '620.11.par' , no s porque, la verdad es que lo puedes llamar como quieras:
editas bvdaofind.cl y bvcenter.cl y donde ponga 620.11.par lo cambias por el nombre que quieras.
No tiene sentido que se llame 620.11.par puesto que es independiente del nmero de observacin y
del ccd utilizado.
9
II . - RECETARIO DE PASOS A SEGUIR
----------------------
(1) PRELIMINARES
----------------------
- Comprueba que en el login.cl estn las rutas correctas, tanto del directorio donde vas a trabajar
con el Iraf, como del directorio donde tienes guardados los archivos de los parmetros (uparm/).
En mi caso era:
set home = "/opt/temporal/ucmtmp/bvicente/"
set imdir = "home$iraftmp/"
set uparm = "home$uparm/"
set userid = "bvicente"
Te recomiendo que en el directorio de parmetros (uparm/) pongas los mos tal y como los tena yo.
(por si acaso te mando todo el directorio por ftp)
De todas formas te ir indicando los parmetros de cada herramienta que vayamos utilizando para
que los compruebes.
- Abrir ventana ximtool (o saotng).
- Desde ventana xgterm: cambiar al directorio de trabajo y escribir cl. Entonces ya est listo Iraf
para trabajar.
- Preparar las imgenes *.fits.enc a reducir, es decir, del directorio donde estn despus de bajarlas
de la cinta o de donde sea, hay que copiarlas al directorio de trabajo y all desencapsularlas. En
lugar de desencapsularlas una a una, esto se puede hacer muy fcilmente corriendo por ejemplo esta
tarea:
>desenc
la cual genera una tarea para desencapsular todas imgenes que tengo en el directorio con una sola
instruccin.
La tarea'desenc' incluye estas instrucciones:
\rm lista01
\rm tareadecode
ls *.enc > lista01
awk '{print "decode",$1}' lista01 > tareadecode
chmod +x tareadecode
tareadecode
(obviamente esto es til cuando se tienen muchas imgenes)
10
--------------------------------------------------------------------
(2) COMPILAR HERRAMIENTAS NUEVAS EN EL IRAF
--------------------------------------------------------------------
Antes de empezar a trabajar conviene compilar las herramientas especficas que yo hice y que
utilizaremos (esto hay que hacerlo cada vez que abre el Iraf porque al cerrarlo se borran las
herramientas nuevas creadas).
La forma de hacerlo es:
En noao.digiphot.apphot te sale:
aptest datapars@ fitskypars@ polymark radprof
center findpars@ pexamine polypars@ txdump
centerpars@ fitpsf phot polyphot wphot
daofind fitsky photpars@ qphot
haces:
ap> task bvdaofind = bvdaofind.cl
ap> task bvcenter = bvcenter.cl
y ahora al hacer "?" te quedar (cuando pones ? te salen las herramientas que hay en ese paquete)
ap> ?
aptest daofind fitskypars@ polypars@ wphot
bvcenter datapars@ pexamine polyphot
bvdaofind findpars@ phot qphot
center fitpsf photpars@ radprof
centerpars@ fitsky polymark txdump
Como ves, ahora aparecen las dos herramientas nuevas.
----------------------------------------
(3) CONVERTIR *.FITS EN *.IMH
----------------------------------------
Dentro del paquete dataio. utilizaremos la herramienta RFITS .
(3a) Comprueba con epar rfits que los parmetros estn as:
PACKAGE = dataio
TASK = rfits
fits_fil= @entradafits FITS data source
file_lis= File/extensions list
iraf_fil= @salidafits IRAF filename
(make_im= yes) Create an IRAF image?
(long_he= no) Print FITS header cards?
(short_h= yes) Print short header?
(datatyp= ushort) IRAF data type
(blank = 0.) Blank value
(scale = yes) Scale the data?
(oldiraf= no) Use old IRAF name in place of iraf_file?
(offset = 0) Tape file offset(mode = ql)
Sobretodo comprueba que datatyp= ushort
11
(3b) Construye la lista de las imgenes que quieres hacer:
>vi entradafits
obs620.qnx1.ccd1.n2.fits
obs620.qnx1.ccd1.n3.fits
. . .
y la lista de los nombres que quieres ponerle a cada imagen convertida:
>vi salidafits
obs620.11.n2.imh
obs620.11.n3.imh
. . .
(3c) Ahora ya ejecuta la herramienta escribiendo
:
da> rfits @entradafits "" @salidafits
y a esperar a que convierte todas las imgenes de forma automtica.
(Slo es necesario comprobar los parmetros implcitos, ya que lo que ponga en los explcitos no
importa porque, para que el proceso sea no interactivo, stos se incluyen en la orden de ejecucin
de la herramienta como explico en Iraf_1.txt)
NOTA:
Todo lo que tengas que hacer de crearte listas y tareas es muy rpido si utilizas la cabeza. Por
ejemplo, una forma rpida de crear las listas entradafits y salidafits es haciendo:
>ls obs620*.fits>entradafits (y ya tendrs entradafits hecho)
>cp entradafits salidafits (para tener la lista ya escrita para nicamente modificarla)
>vi salidafits (para modificar los nombres con :1,$s/.fits/.imh
:1,$s/.qnx1.ccd1./.11./)
(Por supuesto que sto ya lo sabes pero por si acaso, o por si el/la que lea sto no se le ocurre)
----------------------------------
(4) CORTAR LAS IMGENES
----------------------------------
Aqu te voy a decir cmo cortar un CCD en distintas partes suponiendo que ya sabes qu columnas
desechas y con qu trozos te quedas para trabajar (sto es fcil saberlo chequeando la imagen
mediante IMEXAMINE con cortes horizontales tan precisos como desees). Si no cortas nada
sltate este paso.
Utilizaremos la herramienta IMCOPY que est en images.imutil.
(no es necesario comprobar los parmetros de esta herramienta)
Una vez que creas la lista de entrada (el trozo que eliges de la imagen) y la lista de salida (como vas
a llamar a ese trozo) escribes:
im> imcopy @entradacopy @salidacopy
12
La entrada tienes que escribirla as:
imagen_original[x1:x2,y1:y2]
( si por ej. tomas una fanja vertical desde x1 hasta x2 pones [x1:x2,*] )
Ejemplo:
>vi entradacopy
obs620.23.n2.imh[1:158,*]
obs620.23.n3.imh[1:158,*]
. . .
obs620.23.n.26imh[1:158,*]
obs620.23.n2.imh[195:2100,*]
obs620.23.n3.imh[195:2100,*]
. . .
obs620.23.n26.imh[195:2100,*]
y para la salida, escribe el nombre que quieres darle a cada parte recortada, en el mismo orden!
>vi salidacopy
obs620A.23.n2.imh
obs620A.23.n3.imh
. . .
obs620A.23.n26.imh
obs620B.23.n2.imh
obs620B.23.n3.imh
. . .
obs620B.23.n26.imh
--------------------------------------------
(5) ESTADSTICA DE CADA IMAGEN
---------------------------------------------
Vamos a utilizar la herramienta IMSTATIST que est en images.imutil
De cada imagen deseamos obtener:
- el valor ms frecuente(=mode), que ser nuestro fondo de cielo
- el valor mximo(=max) y,
- la desviacin estndar de la media(=stddev), que nos servir para obtener un valor del
sigma para la deteccin de estrellas. Yo tom como sigma = stddev / 4 .
Los resultados los guardamos en un archivo en lugar de verlos por pantalla, archivo que llamamos
por ejemplo 620_est (este archivo no tiene que existir, deberemos borrarlo cada vez que se haga el
proceso)
Ahora hacemos:
im> imstatist nombre_imagen > 620_est
y tendremos en este archivo los siguiente datos:
nombre_imagen stddev mode max
13
Ejemplo:
im> !more 620_est
obs620.21.n10.imh 3552. 9768. 51232.
obs620.21.n11.imh 3472. 9588. 50969.
obs620.21.n12.imh 3478. 9614. 65535.
obs620.21.n13.imh 3886. 9651. 50971.
...
*************
*** OJO!! ***
*************
Comprueba que los parmetros estn as:
PACKAGE = imutil
TASK = imstatistics
images = *.imh Images
(fields = image,stddev,mode,max) Fields to be printed
(lower = INDEF) Lower cutoff for pixel values
(upper = INDEF) Upper cutoff for pixel values
(binwidt= 0.1) Bin width of histogram in sigma
(format = no) Format output and print column labels?
(mode = ql)
Sobretodo comprueba que fields= image,stddev,mode,max
y que format = no
En los parmetros de imstatist por defecto en el parmetro implcito 'fields' pone:
(fields = image,npix,mean,stddev,min,max) Fields to be printed
y para nuestro caso necesitamos estos valores:
(fields = image,stddev,mode,max) Fields to be printed
Por tanto, o bien modificamos stos definitivamente en el epar y ejecutaremos la herramienta
simplemente con
im> imstatist imagen > 620_est
o bien, si no queremos tocar los parmetros originales, ejecutamos la herramienta as:
im> imstatist imagen field=imagen,stddev,mode,max format=no > 620_est
Lo de format=no es para que no salga la cabecera con las etiquetas de lo que es cada columna,
cabecera que nos dara problema a la hora de manipular los datos de este archivo. Para evitar esta
primera lnea en el archivo 620_est:
# IMAGE STDDEV MODE MAX
obs620.21.n10.imh 3552. 9768. 51232.
obs620.21.n11.imh 3472. 9588. 50969.
obs620.21.n12.imh 3478. 9614. 65535.
Como siempre, donde pone nombre_imagen podemos poner o una sola imagen, o una lista de
imgenes (@lista) que habremos construido antes (suele ser la misma que @salidacopy), o bien, si
no hay confusin, podemos poner simplemente *.imh y har la estadstica de todas las imgenes
*.imh que haya en el directorio.
14
--------------------------------------------------------
(6) CORRER LA HERRAMIENTA BVDAOFIND
--------------------------------------------------------
Herramienta situada en noao.digiphot.apphot que previamente habremos compliado con la
instruccin task (Paso (2)).
Utiliza el conjunto de parmetros internos: datapars@ y findpars@.
BVDAOFIND, no es ms que la herramienta DAOFIND pero construida de forma que los
parmetros necesarios de threshold, sigma, etc. no se metan a mano para cada imagen despus de
analizarla individualmente, sino que estos valores la herramienta bvdaofind los tome para cada
imagen automticamente del archivo 620_est.
La herramienta bvdaofind necesita como parmetros explcitos:
imagen, sigma, moda, max
ya que stos son incluidos de forma adecuada en los parmetros implcitos e internos de la
herramienta bvdaofind, por tanto la forma de ejecutar esta herramienta de forma no interactiva sera
da> bvdaofind imagen sigma moda max
donde el valor del sigma que yo tom, despus de muchas pruebas, fue el de stddev/4. Por tanto no
hay ms que crear una tarea con todas las rdenes seguidas a ejecutar (una orden por imagen, ya
que no se puede meter una @lista_entrada porque los valores de sigma, moda, max son diferentes
para cada imagen).
Una manera muy cmoda y rpida de hacer esta tarea es con el lenguaje AWK ya que nos permite
construir archivos a partir de columnas de otro archivo, e incluso operar dichas columnas. Si el
archivo 620_est est formado por
imagen stddev mode max
la lnea para generar la tarea para el bvdaofind con el awk sera:
awk '{print "bvdaofind",$1,$2/4,$3,$4}' 620_est > tareabvdaof.cl
(la extensin de .cl no es necesaria como expliqu en Iraf_1.txt)
Ejemplo de tareabvdaof.cl :
> more tareabvdaof.cl
bvdaofind obs620.21.n10.imh 888 9768. 51232.
bvdaofind obs620.21.n11.imh 868 9588. 50969.
bvdaofind obs620.21.n12.imh 869.5 9614. 65535.
bvdaofind obs620.21.n13.imh 971.5 9651. 50971.
. . .
Luego, para hacerla correr en Iraf basta escribir
ap> cl<tareabvdaof.cl
y van saliendo automticamente los archivos *.coo.1 para cada imagen, archivos en los cuales
tenemos la lista de estrellas identificadas como tales.
15
*************
*** OJO!! ***
*************
- Antes de hacer awk ... > tareabvdaof.cl comprobar que no existe, y en ese caso borrarla antes de
ejecutar la instruccin.
- Si ya existen otros datos anteriores (*.coo.1) para las mismas imgenes, la siguiente deteccin de
estrellas de cada imagen es almacenada en un archivo *.coo.2 (o si este ya existe en *.coo.3, etc.,
la salida de datos se almacena en *.coo.n, donde n indica la versin). El posible problema de sto
es que los siguientes pasos estn referidos a los archivos *.coo.1 y, como se hace de forma
automatizada, pues para evitar problemas posteriores recomiendo estar seguros de borrar (o
renombrar si se quieren conservar resultados anteriores) los archivos *.coo.1, o modificar los
pasos siguientes.
- No es necesario comprobar ningn parmetro , ni los de datapars, ni findpars, ni bvdaofind,
porque la tarea bvdaofind los pone de nuevo, independiente de los que estuvieran.
Para el valor del FWHM puse un valor fijo para todas las imgenes (= 2.6), ya que incluso una
gran variacin del fwhm casi no altera el nmero de estrellas detectadas.
Este valor lo saqu utilizando el archivo de salida de la herramienta STARFIND, ya que ste
incluye el valor del FWHM para cada estrella encontrada, y calculando el valor promedio ( ~ 2.6).
Luego comprob distintos FWHM alrededor de ste en el daofind, y al pintar las estrellas
detectadas con TVMARK no influa mucho el FWHM que pona.
-------------------------------------------------------
(7) CORRER LA HERRAMIENTA BVCENTER
-------------------------------------------------------
Esta herramienta est situada tambin en noao.digiphot.apphot que previamente habremos
compilado con la instruccin task (Paso (2)).
Al igual que bvdaofind, la herramienta BVCENTER no es ms que la herramienta CENTER pero
adaptada a nuestra reduccin automtica de datos sin necesidad de interferir en cada imagen.
El objetivo de esta herramienta (tanto center como bvcenter) es repasar o depurar una lista de
estrellas detectadas en una imagen para evitar tener varias identificaciones de una sola estrella.
Es decir, en el archivo de salida *.coo.1 de la herramienta daofind una estrella saturada o muy
brillante, puede ser interpretada por daofind como varias estrellas. Con la herramienta center estas
identificaciones mltiples las interpreta como una sola estrella.
La herramienta bvcenter necesita como parmetros explcitos:
imagen, lista_de_estrellas, sigma, moda, max
donde lista_de_estrellas se refiere a la lista de identificaciones que queremos depurar, en nuestro
caso ser imagen.coo.1 para cada imagen, por tanto la forma de ejecutar esta herramienta de forma
no interactiva sera
da> bvcenter imagen lista sigma moda max
Al igual que con bvdaofind, la tarea con todas las rdenes es muy fcil de generar con el lenguaje
AWK. As, la lnea para generar la tarea para el bvcenter con el awk ahora sera:
awk '{print "bvcenter",$1,$1".coo.1",$2/4,$3,$4}' 620_est > tareabvcent.cl
(la extensin de .cl tampoco es necesaria )
16
Luego, para hacerla correr en Iraf basta escribir
ap> cl<tareabvcent.cl
y van saliendo automticamente los archivos *.ctr.1 para cada imagen en los que se tienen la lista
de estrellas identificadas como tales.
*************
*** OJO!! ***
*************
- Antes de hacer awk ... > tareabvcent.cl borrar esta tarea.
- Si ya existen otros datos anteriores para las mismas imgenes de *.ctr.1, saldrn los datos
almacenados en siguientes versiones. Tenerlo en cuenta en los siguientes programas a usar o
borrarlos archivos antes para que la salida sea *.ctr.1
- Tampoco hace falta comprobar los parmetros ni de bvcenter, ni datapars@ ni findpars@
--------------------------------------
(8) CORRER TODO DE UNA VEZ
--------------------------------------
En lugar de correr tareabvdaof.cl, esperar, y cuando termine correr tareabvcent.cl, se puede unir
ambas tareas en una, y hacer estas 3 lneas seguidas o generar un script:
awk '{print "bvdaofind ",$1,$2/4,$3,$4}' 620_est > tareabvdaof.cl
awk '{print "bvcenter ",$1,$1".coo.1",$2/4,$3,$4}' 620_est > tareabvcent.cl
cat tareabvdaof.cl tareabvcent.cl > centros.cl
cl<centros.cl
En realidad, todos los pasos que he puesto se podran hacer con una sla instruccin, con un script
llamado por ejemplo 'tarea.cl' que haga todo sto desde Iraf sin ms que poner cl<tarea.cl. Claro
que previamente tendremos que tener construidas las listas con los nombres de las imgenes de
entrada y salida (entradafits, salidafits, incopy, outcopy etc. las que sean necesarias).
Esta tarea podra ser algo como sto:
rfits @entradafits "" @salidafits
imcopy @incopy @outcopy (si es necesario)
!rm 620_est
imstatist *.imh > 620_est (en caso de que *.imh no lleve a confusin)
!rm tareabvdaof.cl
!rm tareabvcent.cl
!rm centros.cl
!rm *coo*
!rm *ctr*
!awk '{print "bvdaofin",$1,$2 /4,$3,$4}' 620_est > tareabvdaof.cl
!awk '{print "bvcenter",$1,$1".coo.1",$2/4,,$3,$4}' 620_est > tareabvcent.cl
!cat tareabvdaof.cl tareabvcent.cl > centros.cl
cl<centros.cl
(para dar una instruccin de unix dentro del iraf hay que poner delante el signo de admiracin !)
17
--------------------------------------------------------
(9) BORRAR LOS ARCHIVOS INNECESARIOS
--------------------------------------------------------
Este paso es slo un consejo, porque a m el disco se me llenaba enseguida y dependiendo del
espacio disponible o borraba todo al final de cada bloque de imgenes reducidas, o en cada paso
borraba los archivos que ya haba utilizado.(Porque en alguna ocasin si no lo haca se paraba el
proceso a mitad por falta de espacio).
Una vez que estn calculados los *.ctr.1 los archivos que ya no son necesarios son:
*.fits.enc
*.fits
obs620*.imh
/iraftmp/obs620.*.pix
(estos 4 tipos de archivos se borran simplemente con la instruccin en el Iraf:
im> imdel obs*
Tambin conviene borrar los siguientes archivos que ocupan espacio y no nos servirn para nada
ms:
..obs620*.imh
(sobretodo los .pix y .fits que son los que ms espacio ocupan)
NOTA FINAL:
Obviamente los pasos que he puesto no son ms que algo indicativo, ya que todo lo explicado
puede hacerse de mil formas, y como dice el refrn
" Cada maestrillo tiene su librillo "
pues cada uno se apaa mejor de una forma diferente.
Lo que te he explicado simplemente es para que lo sigas poco a poco al principio hasta que tengas
soltura, para que tengas un punto de referencia de por dnde empezar y luego pues hazlo como
quieras.
Adems, que como sto se hizo deprisa y corriendo pues tiene mucho por mejorar. Por ejemplo,
faltara incluir un clculo fotomtrico aproximado de las estrellas obtenidas, para as tener de ellas
una magnitud orientativa.

Anda mungkin juga menyukai