Creating image from FITS data
Hi People, I am trying to play around with FITS file format. I want to create an image from this file which will include data from center to 20 arc minutes. each pixel is 3x3 arc sec. *import yt* *ds = yt.load("signal_wfilt_sn.fits")* *ds.print_stats()* *ds.field_list* *ds.domain_width* *ds.derived_field_list* *dd = ds.all_data()* *dd* *sp = ds.sphere(ds.domain_center, (400, 'code_length')) # create sphere of 20 arcminutes with 3x3 pixel size* *sp[("fits", "image_0")] # check array of data within the sphere* *#plot 1D histogram of data over pixel* *pplot = yt.ProfilePlot(sp, "image_0", ["pixel"], weight_field=None, n_bins=1024, * *plot_spec=dict(color='red', linestyle="--"), y_log={'pixel':False})* *pplot.show()* *# convert data to numpy array* *import numpy as np* *image = np.array(sp['image_0'])* *# create image?* *imgplot = plt.imshow(image)* *imgplot* *plt.show()* *image* *The code is failing at this point with error:* ---------------------------------------------------------------------------TypeError Traceback (most recent call last)<ipython-input-21-6a83e68fbbf2> in <module>()----> 1 imgplot = plt.imshow(image) 2 3 imgplot 4 plt.show() /home/trina/anaconda2/lib/python2.7/site-packages/matplotlib/pyplot.pyc in imshow(X, cmap, norm, aspect, interpolation, alpha, vmin, vmax, origin, extent, shape, filternorm, filterrad, imlim, resample, url, hold, data, **kwargs) 3155 filternorm=filternorm, filterrad=filterrad, 3156 imlim=imlim, resample=resample, url=url, data=data,-> 3157 **kwargs) 3158 finally: 3159 ax._hold = washold /home/trina/anaconda2/lib/python2.7/site-packages/matplotlib/__init__.pyc in inner(ax, *args, **kwargs) 1896 warnings.warn(msg % (label_namer, func.__name__), 1897 RuntimeWarning, stacklevel=2)-> 1898 return func(ax, *args, **kwargs) 1899 pre_doc = inner.__doc__ 1900 if pre_doc is None: /home/trina/anaconda2/lib/python2.7/site-packages/matplotlib/axes/_axes.pyc in imshow(self, X, cmap, norm, aspect, interpolation, alpha, vmin, vmax, origin, extent, shape, filternorm, filterrad, imlim, resample, url, **kwargs) 5122 resample=resample, **kwargs) 5123 -> 5124 im.set_data(X) 5125 im.set_alpha(alpha) 5126 if im.get_clip_path() is None: /home/trina/anaconda2/lib/python2.7/site-packages/matplotlib/image.pyc in set_data(self, A) 598 if (self._A.ndim not in (2, 3) or 599 (self._A.ndim == 3 and self._A.shape[-1] not in (3, 4))):--> 600 raise TypeError("Invalid dimensions for image data") 601 602 self._imcache = None TypeError: Invalid dimensions for image data I am completely new to image processing, so I am interested to know how you create image for this type of data in yt. Your help is very appreciated. I have also attached the jupyter notebook and the actual data I am using for the processing. Thanks a lot Tazkera Haque
participants (2)
-
Britton Smith
-
tazkera haque