Curso de Python Astron´
omico
C´
esar Husillos Rodr´ıguez
IAA-CSIC
Mayo de 2015
´Indice
1
¿Qu´
e es APLPy?
2Antes de empezar...
3Una pasada r´
apida
4
API APLPy
5
Im´
agenes RGB
6M´
ultiples gr´
aficas
7Referencias
´Indice
1
¿Qu´
e es APLPy?
2Antes de empezar...
3Una pasada r´
apida
4API APLPy
5
Im´
agenes RGB
6M´
ultiples gr´
aficas
7Referencias
8
Ejercicios
¿Qu´e es y para qu´e sirve?
APLPy (Astronomical Plotting Library in Python) es un
m´
odulo orientado a la generaci´
on de plots a partir de im´
agenes
contenidas en ficheros en formato FITS
1.
Usa
MatplotlibGenera ficheros en m´
ultiples formatos (EPS, PDF, PS, PNG, y
SVG).
´Indice
1
¿Qu´
e es APLPy?
2Antes de empezar...
3Una pasada r´
apida
4API APLPy
5
Im´
agenes RGB
6M´
ultiples gr´
aficas
7Referencias
8
Ejercicios
Requisitos previos
Software y versiones
La versi´
on estable de APLPy a fecha de hoy es la 1.0.
Para instalar en LINUX, se recomienda ejecutar el comando
sudo pip install aplpy
Si no tiene instalado el comando pip, puede hacerlo
ejecutando la instrucci´
on
sudo apt-get install python-pip
En versiones de Python 2.7.9 y posteriores, y en Python
3.4, pip ya viene preinstalado.
Requisitos previos
Software y versiones
Para conseguir la m´
axima funcionalidad de APLPy se recomienda
instalar
PyRegion PyAVM PIL
montage-wrapper
, que depende de
MontagePruebe a ejecutar
pip i n s t a l l p y r e g i o n p y a v m montage - w r a p p e r
Para que montage-wrapper funcione, debe instalar montage.
´Indice
1
¿Qu´
e es APLPy?
2Antes de empezar...
3Una pasada r´
apida
4API APLPy
5
Im´
agenes RGB
6M´
ultiples gr´
aficas
7Referencias
Ejemplo1
Generar una imagen PNG a partir de un FITS
Disponemos de un fichero FITS (descargado de SLOAN). Queremos
ver qu´
e contienen esos datos.
> > > import aplpy
> > > gc = a p l p y . F I T S F i g u r e ( ’ frame - z - 0 0 6 1 2 2 - 1 - 0 0 1 3 . f i t s ’ ) > > > gc . s h o w _ g r a y s c a l e ()
> > > gc . s a v e ( ’ frame - z - 0 0 6 1 2 2 - 1 - 0 0 1 3 . png ’ ) > > > gc . c l o s e ()
Ejemplo1
Generar una imagen PNG a partir de un FITS
Resultado
Ejemplo1
Generar una imagen PNG a partir de un FITS
¡No est´
a mal!. ¿Qu´
e m´
as podemos hacer?
Podemos:
Usar diferentes paletas de colores.
Agregar barras de colores.
Podemos agregar una malla a la imagen.
Centrar la imagen en un punto y seleccionar ´
area a su
alrededor.
Modificar etiquetas de ejes.
Personalizar las divisiones de los ejes.
Ejemplo1
Generar una imagen PNG a partir de un FITS
Tambi´
en podemos:
Insertar texto dentro del plot.
Poner una barra para indicar la escala espacial de la imagen.
Superponer el contorno de otra imagen que representa el
mismo ´
area de cielo.
Crear im´
agenes a color.
Generar varios plots en una misma figura.
...
Ejemplo m´
as completo
plot
Ejemplo m´
as completo
c´odigo import aplpy import numpy f i t s f i l e = ’ ../ f i t s / frame - z - 0 0 6 1 2 2 - 1 - 0 0 1 3 . f i t s ’ gc = a p l p y . F I T S F i g u r e ( f i t s f i l e , n o r t h = T r u e ) # p a l e t a de c o l o r e s p a r a la i m a g e n gc . s h o w _ g r a y s c a l e () # t a m a n y o de f u e n t e p a r a los e j e s gc . t i c k _ l a b e l s . s e t _ f o n t ( s i z e = ’ s m a l l ’ ) gc . a x i s _ l a b e l s . s e t _ x t e x t ( ’ R i g h t A s c e n s i o n ( J 2 0 0 0 ) ’ ) gc . a x i s _ l a b e l s . s e t _ y t e x t ( ’ D e c l i n a t i o n ( J 2 0 0 0 ) ’ ) gc . a x i s _ l a b e l s . s e t _ x p o s i t i o n ( ’ top ’ ) # p o s i c i o n de los m a r c a d o r e s de e j e s gc . t i c k _ l a b e l s . s e t _ x p o s i t i o n ( ’ top ’ ) # c a r g a de c o n t o r n o de o t r a i m a g e n gc . s h o w _ c o n t o u r ( ’ ../ f i t s / frame - u - 0 0 6 1 2 2 - 1 - 0 0 1 3 . f i t s ’ , \ c o l o r s = ’ m a g e n t a ’ , l e v e l s =2)Ejemplo m´
as completo
c´odigo # s e l e c c i o n de un a r e a c o n c r e t a de la i m a g e n gc . r e c e n t e r ( 2 2 6 . 6 2 2 2 1 , 5 5 . 7 6 3 1 0 8 , r a d i u s = 2 4 0 / 3 6 0 0 . ) # b a r r a de c o l o r gc . a d d _ c o l o r b a r () gc . c o l o r b a r . s e t _ a x i s _ l a b e l _ t e x t ( ’ F l u x ( Jy / b e a m ) ’ ) # g r i d de c o o r d e n a d a s gc . a d d _ g r i d () gc . g r i d . s e t _ a l p h a ( 0 . 5 ) # g e s t i o n del m a r c o de la i m a g e n gc . f r a m e . s e t _ l i n e w i d t h (2) # p o i n t s gc . f r a m e . s e t _ c o l o r ( ’ o r a n g e ’ )Ejemplo m´
as completo
c´odigo # c a r g a de un f i c h e r o de t e x t o d a t a = n u m p y . l o a d t x t ( ’ ../ f i t s / p o s s i b l e - g a l a x i e s . txt ’ ) ra , dec = d a t a [: , 0] , d a t a [: , 1] # d e s t a c a r p i x e l e s de la i m a g e n gc . s h o w _ m a r k e r s ( ra , dec , l a y e r = ’ m a r k e r _ s e t _ 1 ’ , \ e d g e c o l o r = ’ red ’ , f a c e c o l o r = ’ n o n e ’ , \ m a r k e r = ’ o ’ , s =10 , a l p h a = 0 . 5 ) # m o s t r a r r e g i o n e s c r e a d a s con ds9 gc . s h o w _ r e g i o n s ( ’ ../ f i t s / ds9 . reg ’ ) # a g r e g a r t e x t o a la i m a g e n gc . a d d _ l a b e l (0.1 , 0.9 , ’ ( a ) ’ , r e l a t i v e = True , \ c o l o r = ’ w h i t e ’ , w e i g h t = ’ e x t r a b o l d ’ , \ f o n t s i z e = ’ xx - l a r g e ’ )Ejemplo m´
as completo
c´odigo # b a r r a de e s c a l a gc . a d d _ s c a l e b a r ( 6 0 . / 3 6 0 0 ) # d e g r e e s gc . s c a l e b a r . s e t _ c o r n e r ( ’ b o t t o m r i g h t ’ ) gc . s c a l e b a r . s e t _ l a b e l ( ’ 1 a r c m i n ’ ) gc . s c a l e b a r . s e t _ c o l o r ( ’ b l a c k ’ ) gc . s c a l e b a r . s e t _ f o n t _ s i z e ( 1 0 ) # g u a r d a r f i c h e r o s gc . s a v e ( ’ ejemplo - c o m p l e t o . png ’ ) gc . c l o s e ()´Indice
1
¿Qu´
e es APLPy?
2Antes de empezar...
3Una pasada r´
apida
4
API APLPy
5
Im´
agenes RGB
6M´
ultiples gr´
aficas
7Referencias
API APLPy
Para esta secci´
on haremos uso del siguiente c´
odigo
import aplpy
i m a g e n = ’ ../ f i t s / frame - z - 0 0 6 1 2 2 - 1 - 0 0 1 3 . f i t s ’ gc = a p l p y . F I T S F i g u r e ( i m a g e n )
Vamos a explicar c´omo usar la API2de APLPy disponibles en relaci´on a las diferentes ´areas de la imagen.
2Application Programming Interface. Es el conjunto de clases,
m´odulos, funciones, variables y constantes que definen lo que se puede hacer con un paquete software.
API APLPy
API APLPy
FitsFigure
Representa a la figura en su conjunto.
Se crea usando la funci´
on aplpy.FITSfigure
> > > import aplpy
> > > i m a g e n = ’ ../ f i t s / frame - z - 0 0 6 1 2 2 - 1 - 0 0 1 3 . f i t s ’ > > > gc = a p l p y . F I T S F i g u r e ( i m a g e n )
En el c´
odigo anterior
gc es el nombre del objeto
FITSFigure que hemos creado. Ahora, podemos
controlar la figura mediante la sintaxis
> > > gc . f u n c i o n _ c u a l q u i e r a ([ p a r a m e t r o 1 , p a r a m e t r o 2 , . . . ] )
API APLPy
FitsFigure
add colorbar(*args, **kwargs) Agrega una barra de color a la imagen. add grid(*args, **kwargs) Agrega una malla a la figura.
add label(x, y, text[, relative, color, ...]) Agrega una etiqueta de texto a la figura en las posiciones x e y. Coordenadas absolutas si relative=False.
add scalebar(length, *args, **kwargs)
Agrega una barra de escala a la figura. La longitud se pasa en grados. close()
Cierra la figura y libera memoria. hide colorscale()
API APLPy
FitsFigure
hide grayscale(*args, **kwargs) Oculta la figura mostrada en escala de grises. pixel2world(xp, yp)
Devuelve las coordenadas WCS asociadas al pixel dado por (xp, yp). recenter(x, y[, radius, width, height])
Centra la imagen en la posici´on (x, y). Puede darse un radio (en grados) y obtendremos una figura cuadrada. O puede darse la anchura y altura (en grados) para obtener una imagen rectangular.
API APLPy
FitsFigure
remove colorbar()
Elimina la barra de color de la figura (si se ha creado antes). remove grid()
Elimina la malla de coordenadas de la figura (si se ha creado antes). remove scalebar()
Elimina la barra de escala de la figura (si se ha creado antes). save(filename[, dpi, transparent, ...])
API APLPy
FitsFigure
set title(title, **kwargs) Establece el t´ıtulo de la figura.
set xaxis coord type(coord type)
Establece el tipo de coordenada para el eje x. Valores posibles: ’latitude’, ’longitude’ o ’scalar’.
set yaxis coord type(coord type)
Establece el tipo de coordenada para el eje y. Valores posibles: ’latitude’, ’longitude’ o ’scalar’.
API APLPy
FitsFigure
show arrows(x, y, dx, dy[, width, ...])
Muestra flechas en la figura. Origen en (x, y) y desplazamiento en (dx, dy).
show circles(xw, yw, radius[, layer, zorder])
Pinta c´ırculos en la imagen. Centro en (xw, yw). Radio en grados. Nombre de capa (layer=), y orden de inserci´on (zorder=0 es el que est´a m´as abajo).
show colorscale([vmin, vmid, vmax, pmin, ...])
Muestra la escala de color de la imagen (valor m´ınimo = vmin, percentil m´ınimo = pmin, ...).
API APLPy
FitsFigure
show contour([data, hdu, layer, levels, ...])
Muestra contornos superpuesto a la figura. Pueden ser de la misma imagen o de otra. Levels es el n´umero de niveles de contorno. show ellipses(xw, yw, width, height[, ...])
Pinta elipses en la figura.
show grayscale([vmin, vmid, vmax, pmin, ...]) Muestra en escala de grises la figura dada en el fichero FITS. show lines(line list[, layer, zorder])
Pinta l´ıneas en la figura.
show markers(xw, yw[, layer])
Pinta marcas sobre las coordenadas (xw, yw). Pueden ser arrays de coordenadas.
API APLPy
FitsFigure
show rectangles(xw, yw, width, height[, ...]) Pinta rect´angulos sobre la figura.
show rgb([filename, interpolation, ...]) world2pixel(xw, yw)
Devuelve el pixel (x, y) que tiene esas coordenadas WCS (xw, yw) en la figura.
API APLPy
scalebar
Muestra la escala espacial de nuestra figura.
Existe a partir del momento en el que se ejecuta la funci´
on
add scalebar sobre la figura.
> > > gc . a d d _ s c a l e b a r ( l o n g i t u d _ e n _ g r a d o s )
A partir de entonces el objeto scalebar est´
a disponible
> > > gc . s c a l e b a rSe pueden modificar las propiedades mediante la sintaxis
> > > gc . s c a l e b a r . m e t o d o ([ p a r a m e t r o 1 , ... , p a r a m e t r o N ])API APLPy
API APLPy
scalebar
hide()
Oculta la barra de escala. set alpha(alpha)
Establece el valor de transparencia de la barra de escala (alpha=0 transparente, alpha=1 opaca)
set color(color)
Determina el color del texto y de la barra de la escala. set corner(corner)
Especifica d´onde se muestra la escala.
set font([family, style, variant, stretch, ...]) Establece las propiedades de las etiquetas de los marcadores. Otros par´ametros: weight, size, fontproperties ...
API APLPy
scalebar
Valores para los par´ametros de la funci´onset font([family, style, variant, stretch, ...])
family (’serif’, ’sans-serif’, ’cursive’, ’fantasy, ’monospace’,...),
style (’normal’, ’italic’ o ’oblique’), stretch (str, int o float de 0 a 1000, o ’ultra-condensed’, ’extra-condensed’, ’condensed’, ’semi-condensed’, ’normal’, ’semi-expanded’, ’expanded’, ’extra-expanded’ o
’ultra-expanded’)
weight (n´umero entre 0 y 1000, o ’ultralight’, ’light’, ’normal’, ’regular’, ’book’, ’medium’, ’roman’, ’semibold’, ’demibold’, ’demi’, ’bold’, ’heavy’, ’extra bold’, ’black’)
size (tama˜no en puntos, o ’xx-small’, ’x-small’, ’small’, ’medium’, ’large’, ’x-large’, o ’xx-large’)
API APLPy
scalebar
set font family(family) Fija la familia de fuente. set font size(size) Fija el tama˜no de la fuente. set font style(style) Determina el estilo de la fuente. set font weight(weight) Establece la anchura de la fuente. set frame(frame)
Permite mostrar un marco alrededor de la barra de escala. set label(label)
Establece la etiqueta que se muestra con la barra de la escala.
API APLPy
scalebar
set length(length)
Fija la longitud de la barra de la escala (en grados). set linestyle(linestyle)
Fija el estilo de la l´ınea de la barra de la escala. Valores posibles: ’solid’, ’dashed’, ’dashdot’, o ’dotted’.
set linewidth(linewidth)
Permite cambiar la anchura de la l´ınea de la barra de escala. Se da en puntos.
show(length[, label, corner, frame, ...]) Pinta la barra de escala sobre la imagen.
API APLPy
frame
Se refiere al marco de la figura.
Disponible a trav´
es del objeto
> > > gc . f r a m eSe pueden cambiar sus propiedades mediante la sintaxis
> > > gc . f r a m e . m e t o d o _ d e _ f r a m e ([ param1 , ... , p a r a m N ])API APLPy
API APLPy
frame
set color(color) Cambia el color del marco. set linewidth(linewidth)
Cambia la anchura del marco (en puntos).
API APLPy
API APLPy
grid
Es la malla que facilita la localizaci´
on espacial de objetos en la
figura.
Disponible a trav´
es del objeto
> > > gc . g r i dSe pueden cambiar sus propiedades mediante la sintaxis
> > > gc . g r i d . m e t o d o _ d e _ g r i d ([ param1 , ... , p a r a m N ])API APLPy
grid
hide()
Oculta la malla. set alpha(alpha)
Cambia la trasparencia de la l´ıneas de la malla. set color(color)
Cambia el color de las l´ıneas de la malla. set linestyle(linestyle)
Cambia el estilo de la l´ınea de la malla. set linewidth(linewidth)
API APLPy
grid
set xspacing(xspacing)
Determina el espaciado en el eje x entre dos l´ıneas de la malla. xspacing puede ser float (en grados) o str (si vale ’ticks’ la malla tiene los mismos espacios que las marcas de los ejes).
set yspacing(yspacing)
Determina el espaciado en el eje y entre dos l´ıneas de la malla (yspacing : float, str ).
show()
Muestra la malla sobre la figura.
API APLPy
colorbar
Sirve para mostrar el valor de cada p´ıxel en la figura.
Existe desde que se ejecuta sobre la figura el m´
etodo
> > > gc . a d d _ c o l o r b a r ()sobre la figura.
A partir de entonces es accesible a trav´
es de
> > > gc . c o l o r b a rSus propiedades cambian ejecutando m´
etodos del objeto.
> > > gc . c o l o r b a r . m e t o d o _ d e _ c o l o r b a r ([ p a r a m e t r o s ])API APLPy
Elementos de una figura
API APLPy
colorbar hide()
Oculta la barra de colores.
set axis label font([family, style, ...])
Modifica las propiedades de la fuente de los valores que se representan en los ejes.
set axis label pad(axis label pad)
Separa la barra de colores de la figura. axis label pad en puntos. set axis label rotation(axis label rotation)
Rota la etiqueta de la barra.
set axis label text(axis label text) Mofifica el texto de la etiqueta de la barra. set box(box[, box orientation])
API APLPy
colorbar
set font([family, style, variant, stretch, ...]) Modifica la fuente de los marcadores de la barra.
set frame color(color)
Establece el color del marco de la barra. set frame linewidth(linewidth)
Determina la anchura (en puntos) del marco. set label properties(*args, **kwargs) Cambia las propiedades de la etiqueta de la barra. set labels(labels)
Muestra determinados valores (labels) en la barra. set location(location)
Establece la ubicaci´on de la barra.
API APLPy
colorbar
set pad(pad)
Concreta el espacio entre la barra y la imagen. Valor [0, 1], relativo al tama˜no de la figura.
set ticks(ticks)
Dice en qu´e posici´on van las marcas de la barra. set width(width)
Anchura relativa de la barra de colores respecto al tama˜no de la figura. show([location, width, pad, ticks, labels, ...])
Muestra la barra al lado de la figura. update()
API APLPy
axislabel
Se refiere al texto que especifica las magnitudes representadas
en los ejes.
Disponible en el objeto
> > > gc . a x i s _ l a b e l sSe puede modificar llamando a sus m´
etodos
> > > gc . a x i s _ l a b e l s . m e t o d o _ d e _ a x i s _ l a b e l s ([ p a r a m e t r o s ])
API APLPy
API APLPy
axislabel
hide()
Oculta las leyendas en ambos ejes. hide x()
Oculta la leyenda del eje x. hide y()
Oculta la leyenda del eje y.
set font([family, style, variant, stretch, ...]) Establece las propiedades de la fuente de las leyendas. set xpad(pad)
Marca la distancia entre el eje x y su leyenda. set xposition(position)
Concreta la posici´on de la leyenda del eje x. Valores posibles: ’top’ o ’bottom’.
API APLPy
axislabel
set xtext(label)
Establece el texto de la leyenda del eje x. set ypad(pad)
Marca la distancia entre el eje x y su leyenda. set yposition(position)
Concreta la posici´on de la leyenda del eje xy. Valores posibles: ’left’ o ’right’.
set ytext(label)
Establece el texto de la leyenda del eje y. show()
Muestra las leyendas de ambos ejes. show x()
API APLPy
axislabel
show y()
Muestra la leyenda del eje y.
API APLPy
ticklabels
Son los valores num´
ericos (o coordenadas) que se muestran en
los ejes.
Disponible en el objeto
> > > gc . t i c k _ l a b e l sSe puede modificar llamando a sus m´
etodos
API APLPy
Elementos de una figura
API APLPy
ticklabels
hide()
Oculta los valores correspondientes a las marcas en ambos ejes. hide x()
Oculta los valores correspondientes a las marcas en el eje x. hide y()
Oculta los valores correspondientes a las marcas en el eje y. set font([family, style, variant, stretch, ...]) Cambia las propiedades de la fuente.
set style(style)
Determina el estilo de las leyendas de las marcas sobre los ejes. set xformat(format)
Describe el formato3 de las etiquetas en el eje x.
API APLPy
ticklabels
set xposition(position)
Establece la posici´on de las leyendas de las marcas en el eje x. Valores posibles: ’top’ o ’bottom’.
set yformat(format)
Describe el formato de las etiquetas en el eje y. set yposition(position)
Establece la posici´on de las leyendas de las marcas en el eje y. Valores posibles: ’left’ o ’right’.
show()
Muestra los valores asociados a las marcas en los ejes. show x()
Muestra los valores asociados a las marcas en el eje x. show y()
Muestra los valores asociados a las marcas en el eje y.
API APLPy
Formato de las etiquetas ddd.ddddd
Para medidas en grados. El n´umero de decimales puede cambiarse variando las ’d’ tras el punto decimal.
hh o dd
Para horas o grados, respectivamente. hh:mm o dd:mm
Para horas y minutos, o grados y minutos. hh:mm:ss o dd:mm:ss
Para horas, minutos y segundos, o grados, minutos de arco y segundos de arco.
hh:mm:ss.ss o dd:mm:ss.ss
El formato m´as completo. El n´umero de decimales puede cambiarse. Si el tipo de coordenada es scalar, se puede especificar cualquier formato v´alido en Python. Por defecto es %10.3f.
API APLPy
ticks
Son las marcas que se muestran sobre los ejes.
Disponibles en el objeto
> > > gc . t i c k s
Se pueden modificar llamando a sus m´
etodos
> > > gc . t i c k s . m e t o d o _ d e _ t i c k s ([ p a r a m e t r o s ])API APLPy
API APLPy
ticks
hide()
OCulta las marcas en ambos ejes. hide x()
Oculta las marcas en el eje x. hide y()
Oculta las marcas en el eje y. set color(color)
Cambia el color de las marcas.
set length(length[, minor factor]) Cambia la longitud las marcas (en puntos). set linewidth(linewidth)
Establece la anchura (en puntos) de las marcas. set minor frequency(frequency)
N´umero de submarcas entre dos marcas principales.
API APLPy
ticks
set xspacing(spacing)
Establece la distancia (en grados) entre marcas principales en el eje x. set yspacing(spacing)
Establece la distancia (en grados) entre marcas principales en el eje y. show()
Muestra las marcas en ambos ejes. show x()
Muestra las marcas en el eje x. show y()
´Indice
1
¿Qu´
e es APLPy?
2Antes de empezar...
3Una pasada r´
apida
4API APLPy
5
Im´
agenes RGB
6M´
ultiples gr´
aficas
7Referencias
8
Ejercicios
Crear im´
agenes a color
Es suficiente el uso de dos funciones:
aplpy.make rgb cube(files, output, north=False, system=None, equinox=None)
Crea un cubo RGB a partir de una lista de tres im´agenes FITS. aplpy.make rgb image(data, output, indices=(0, 1, 2), vmin r=None, vmax r=None, pmin r=0.25, pmax r=99.75,
stretch r=’linear’, vmid r=None, exponent r=2, vmin g=None, vmax g=None, pmin g=0.25, pmax g=99.75, stretch g=’linear’, vmid g=None, exponent g=2, vmin b=None, vmax b=None,
pmin b=0.25, pmax b=99.75, stretch b=’linear’, vmid b=None, exponent b=2, make nans transparent=False,
embed avm tags=True)
Crea una image (PNG, JPG, ...) a partir de un cubo RGB con formato FITS (generado con la funci´on anterior). M´as informaci´on
Crear im´
agenes a color
ejemplo > > > import aplpy > > > r = ’ frame - z - 0 0 6 1 2 2 - 1 - 0 0 1 3 . f i t s ’ > > > g = ’ frame - r - 0 0 6 1 2 2 - 1 - 0 0 1 3 . f i t s ’ > > > b = ’ frame - u - 0 0 6 1 2 2 - 1 - 0 0 1 3 . f i t s ’ > > > a p l p y . m a k e _ r g b _ c u b e ([ r , g , b ] , ’ c u b o _ n o r t h . f i t s ’ , \ n o r t h = T r u e ) > > > a p l p y . m a k e _ r g b _ i m a g e ( ’ c u b o _ n o r t h . f i t s ’ , \ ’ c u b o _ n o r t h . png ’ )Crear im´
agenes a color
Trabajo con imagen a color (RGB)
Puedo trabajar sobre la imagen a color como lo he hecho con
los FITS.
La dificualtad est´
a en que no hay info WCS en la imagen RGB.
Puedo obviar el problema si uso un fichero con informaci´
on
WCS.
aplpy.make rgb cube genera un fichero adicional con
extensi´
on 2d.fits (output 2d.fits). Contiene la informaci´
on de
astrometr´ıa necesaria para el trabajo con la imagen RGB.
Trabajo con imagen a color (RGB)
ejemplo > > > fig = a p l p y . F I T S F i g u r e ( ’ c u b o _ n o r t h _ 2 d . f i t s ’ , \ n o r t h = T r u e ) > > > fig . s h o w _ r g b ( ’ c u b o _ n o r t h . png ’ ) > > > fig . a d d _ g r i d () > > > fig . s a v e ( ’ c u b o _ n o r t h _ m o d i f i c a d o . png ’ ) > > > fig . c l o s e ()Trabajo con imagen a color (RGB)
ejemplo
´Indice
1
¿Qu´
e es APLPy?
2Antes de empezar...
3Una pasada r´
apida
4API APLPy
5
Im´
agenes RGB
6M´
ultiples gr´
aficas
7Referencias
Varias gr´
aficas en la misma figura
S´
olo un poco m´
as complicado que trabajar con una gr´
afica.
Debemos generar una figura matplolib
fig = pyplot.figure()
Usar el par´
ametro subplot de la funci´
on aplpy.FITSFigure,
para delimitar el ´
area de cada subfigura (relativa al ´
area total
de la imagen).
El formato de subplot es: (x, y, dx, dy) donde
(x, y) son las coordenadas de la esquina inferior
izquierda del subplot.
(dx, dy) es el tama˜
no en x e y del subplot.
Varias gr´
aficas en la misma figura
ejemplo import aplpy import pylab fig = p y l a b . f i g u r e ( f i g s i z e =(10 , 6)) f1 = a p l p y . F I T S F i g u r e ( ’ c u b o _ n o r t h _ 2 d . f i t s ’ , \ n o r t h = True , f i g u r e = fig , s u b p l o t = [ 0 . 2 , 0 . 1 , 0 . 3 5 , 0 . 8 ] ) f1 . s h o w _ r g b ( ’ c u b o _ n o r t h . png ’ ) f1 . a d d _ g r i d () f1 . t i c k _ l a b e l s . s e t _ f o n t ( s i z e = ’ xx - s m a l l ’ ) f2 = a p l p y . F I T S F i g u r e ( ’ frame - g - 0 0 6 1 2 2 - 1 - 0 0 1 3 . f i t s ’ , \ n o r t h = True , f i g u r e = fig , s u b p l o t = [ 0 . 5 5 , 0 . 1 , 0 . 3 5 , 0 . 8 ] ) f2 . s h o w _ g r a y s c a l e () f2 . a d d _ g r i d () f2 . t i c k _ l a b e l s . s e t _ f o n t ( s i z e = ’ xx - s m a l l ’ ) f2 . a x i s _ l a b e l s . h i d e _ y () f2 . t i c k _ l a b e l s . h i d e _ y () fig . s a v e f i g ( ’ s u b p l o t s 2 . png ’ )Trabajo con imagen a color (RGB)
ejemplo
´Indice
1
¿Qu´
e es APLPy?
2Antes de empezar...
3Una pasada r´
apida
4API APLPy
5
Im´
agenes RGB
6M´
ultiples gr´
aficas
7Referencias
Referencias
Toda la informaci´
on ha sido resumida de las fuentes oficiales
del paquete
APLPyDesde all´ı, se puede acceder a la extensa documentaci´
on
Docsque contiene multitud de ejemplos de c´
odigo para hacerse una
idea clara y precisa de la funcionalidad del paquete.
´Indice
1
¿Qu´
e es APLPy?
2Antes de empezar...
3Una pasada r´
apida
4API APLPy
5
Im´
agenes RGB
6M´
ultiples gr´
aficas
7Referencias
Ejercicios
1 Genere una imagen PNG a partir de la imagen en filtro u SLOAN
frame-u-006122-1-0013.fits. Muestre con marcadores de color amarillo las coordenadas dadas en el fichero possible-galaxies.txt.
2 Abra con DS9 la imagen del filtro i. Cree un fichero de regiones marcando
6 de las estrellas m´as brillantes. Usando APLPy, genere la imagen JPG del filtro i con las regiones almacenadas en ese fichero.
3 Obtenga las coordenadas (x, y) de cada punto de la regi´on del fichero
anterior.
4 Genere una figura en escala logart´ımica del filtro z. Ponga una barra de
color a la derecha de la imagen. Pinte una malla. Formato de salida: PNG.
5 Cree un mosaico (2x2) con las figuras de los filtros u, g, r y z. Ponga en
las im´agenes el texto ’Filter u SLOAN’, ’Filter g SLOAN’, ’Filter r SLOAN’ y ’Filter z SLOAN’ (seg´un corresponda). Agrege una malla a cada imagen. Agrege una barra de escala a la imagen inferior derecha.
6 Cree una figura en formato PNG a color. El color rojo viene del filtro i, el
verde del filtro r y el azul del filtro u. Pinte malla y barra de escala.