• No se han encontrado resultados

APLPy. Curso de Python Astronómico. César Husillos Rodríguez. Mayo de 2015 IAA-CSIC. César Husillos Rodríguez (IAA-CSIC) APLPy Mayo de / 75

N/A
N/A
Protected

Academic year: 2021

Share "APLPy. Curso de Python Astronómico. César Husillos Rodríguez. Mayo de 2015 IAA-CSIC. César Husillos Rodríguez (IAA-CSIC) APLPy Mayo de / 75"

Copied!
75
0
0

Texto completo

(1)

Curso de Python Astron´

omico

esar Husillos Rodr´ıguez

IAA-CSIC

Mayo de 2015

(2)

´Indice

1

¿Qu´

e es APLPy?

2

Antes de empezar...

3

Una pasada r´

apida

4

API APLPy

5

Im´

agenes RGB

6

ultiples gr´

aficas

7

Referencias

(3)

´Indice

1

¿Qu´

e es APLPy?

2

Antes de empezar...

3

Una pasada r´

apida

4

API APLPy

5

Im´

agenes RGB

6

ultiples gr´

aficas

7

Referencias

8

Ejercicios

(4)

¿Qu´e es y para qu´e sirve?

APLPy (Astronomical Plotting Library in Python) es un

odulo orientado a la generaci´

on de plots a partir de im´

agenes

contenidas en ficheros en formato FITS

1

.

Usa

Matplotlib

Genera ficheros en m´

ultiples formatos (EPS, PDF, PS, PNG, y

SVG).

(5)

´Indice

1

¿Qu´

e es APLPy?

2

Antes de empezar...

3

Una pasada r´

apida

4

API APLPy

5

Im´

agenes RGB

6

ultiples gr´

aficas

7

Referencias

8

Ejercicios

(6)

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.

(7)

Requisitos previos

Software y versiones

Para conseguir la m´

axima funcionalidad de APLPy se recomienda

instalar

PyRegion PyAVM PIL

montage-wrapper

, que depende de

Montage

Pruebe 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.

(8)

´Indice

1

¿Qu´

e es APLPy?

2

Antes de empezar...

3

Una pasada r´

apida

4

API APLPy

5

Im´

agenes RGB

6

ultiples gr´

aficas

7

Referencias

(9)

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 ()

(10)

Ejemplo1

Generar una imagen PNG a partir de un FITS

Resultado

(11)

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.

(12)

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.

...

(13)

Ejemplo m´

as completo

plot

(14)

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)

(15)

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 ’ )

(16)

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 ’ )

(17)

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 ()

(18)

´Indice

1

¿Qu´

e es APLPy?

2

Antes de empezar...

3

Una pasada r´

apida

4

API APLPy

5

Im´

agenes RGB

6

ultiples gr´

aficas

7

Referencias

(19)

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.

(20)

API APLPy

(21)

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 , . . . ] )

(22)

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()

(23)

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.

(24)

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, ...])

(25)

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’.

(26)

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, ...).

(27)

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.

(28)

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.

(29)

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 r

Se 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 ])

(30)

API APLPy

(31)

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 ...

(32)

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’)

(33)

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.

(34)

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.

(35)

API APLPy

frame

Se refiere al marco de la figura.

Disponible a trav´

es del objeto

> > > gc . f r a m e

Se 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 ])

(36)

API APLPy

(37)

API APLPy

frame

set color(color) Cambia el color del marco. set linewidth(linewidth)

Cambia la anchura del marco (en puntos).

(38)

API APLPy

(39)

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 d

Se 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 ])

(40)

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)

(41)

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.

(42)

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 r

Sus 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 ])

(43)

API APLPy

Elementos de una figura

(44)

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])

(45)

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.

(46)

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()

(47)

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 s

Se 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 ])

(48)

API APLPy

(49)

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’.

(50)

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()

(51)

API APLPy

axislabel

show y()

Muestra la leyenda del eje y.

(52)

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 s

Se puede modificar llamando a sus m´

etodos

(53)

API APLPy

Elementos de una figura

(54)

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.

(55)

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.

(56)

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.

(57)

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 ])

(58)

API APLPy

(59)

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.

(60)

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()

(61)

´Indice

1

¿Qu´

e es APLPy?

2

Antes de empezar...

3

Una pasada r´

apida

4

API APLPy

5

Im´

agenes RGB

6

ultiples gr´

aficas

7

Referencias

8

Ejercicios

(62)

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

(63)

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 ’ )

(64)

Crear im´

agenes a color

(65)

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.

(66)

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 ()

(67)

Trabajo con imagen a color (RGB)

ejemplo

(68)

´Indice

1

¿Qu´

e es APLPy?

2

Antes de empezar...

3

Una pasada r´

apida

4

API APLPy

5

Im´

agenes RGB

6

ultiples gr´

aficas

7

Referencias

(69)

Varias gr´

aficas en la misma figura

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.

(70)

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 ’ )

(71)

Trabajo con imagen a color (RGB)

ejemplo

(72)

´Indice

1

¿Qu´

e es APLPy?

2

Antes de empezar...

3

Una pasada r´

apida

4

API APLPy

5

Im´

agenes RGB

6

ultiples gr´

aficas

7

Referencias

(73)

Referencias

Toda la informaci´

on ha sido resumida de las fuentes oficiales

del paquete

APLPy

Desde all´ı, se puede acceder a la extensa documentaci´

on

Docs

que contiene multitud de ejemplos de c´

odigo para hacerse una

idea clara y precisa de la funcionalidad del paquete.

(74)

´Indice

1

¿Qu´

e es APLPy?

2

Antes de empezar...

3

Una pasada r´

apida

4

API APLPy

5

Im´

agenes RGB

6

ultiples gr´

aficas

7

Referencias

(75)

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.

Referencias

Documento similar