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