[AstroPy] Convolving FITS images

Rene Plume rplume at ucalgary.ca
Sat Oct 11 11:32:41 EDT 2014


Thanks Adam!  This should prove quite helpful.  I'll test it out when I get the next chance (travelling go for the next 2 weeks).

Cheers!

R

Sent from my iPad

> On Oct 10, 2014, at 5:11 PM, Adam Ginsburg <adam.g.ginsburg at gmail.com> wrote:
> 
> 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/
> _______________________________________________
> AstroPy mailing list
> AstroPy at scipy.org
> http://mail.scipy.org/mailman/listinfo/astropy



More information about the AstroPy mailing list