[AstroPy] Convolving FITS images

Adam Ginsburg adam.g.ginsburg at gmail.com
Fri Oct 10 19:11:26 EDT 2014


Hi Rene,
    Everything you asked for can be accomplished with a few astropy utilities:

from astropy.io import fits
data = fits.getdata('filename.fits')
header = fits.getheader('filename.fits')

from astropy.convolution import convolve,Gaussian2DKernel
fwhm = 5
smoothed = convolve(data, Gaussian2DKernel(stddev=fwhm/2.35)

import aplpy
smoothed_figure = aplpy.FITSFigure(fits.PrimaryHDU(data=smoothed,
header=header))
smoothed_figure.show_grayscale()

# Alternatively, display and smooth simultaneously:
fig = aplpy.FITSFigure('filename.fits')
fig.show_grayscale(smooth=fwhm/2.35)
# but this is less flexible


Vertical slicing is a little more difficult if you want to preserve
world coordinate information, but doable:
from astropy import wcs
w = wcs.WCS(header)
# Determine the approximate pixel scale, assuming square pixels [you
are likely to get an important warning here]
# Also, this may require the development version of astropy
cd = wcs.utils.celestial_pixel_scale(w)
slice = data[50,:] # grab a slice along one direction
offsets = np.arange(slice) * cd

# then, print to file:
with open('outfile','w') as f:
    for position,value in zip(offsets,slice):
       f.write("{0:10f} {1:10f}\n".format(position,value)


This is all untested, so excuse typos, but it provides at least a
skeleton working example, if I understood your question.

On Fri, Oct 10, 2014 at 10:30 PM, Rene Plume <rplume at ucalgary.ca> wrote:
> Hi!
>
> I'm fairly new to python and have been trying to figure out how to use it
> (using both astropy and aplpy) to do some rather standard things without too
> much success.  For example, how would I read in a FITS image (I figured this
> part out), plot it in wcs coordinates, and then convolve the image with a
> telescope beam of a fixed angular FWHM?  I then want to take a vertical
> slice of my image so that I have an output ascii file of (say) RA (or RA
> offset from some reference position) versus flux.
>
> Thanks!
>
>
> ##########################
> René Plume
> Department of Physics & Astronomy
> University of Calgary
>
> Phone:(403) 220-6909
> URL: www.ism.ucalgary.ca
> email: rplume at ucalgary.ca
>
> "I will be so brief I have already finished"
>
>                 - Salvador Dali in the World's shortest speech
>
>
>
>
>
>
> _______________________________________________
> AstroPy mailing list
> AstroPy at scipy.org
> http://mail.scipy.org/mailman/listinfo/astropy
>



-- 
Adam Ginsburg
Fellow, European Southern Observatory
http://www.adamgginsburg.com/



More information about the AstroPy mailing list