[yt-users] Problem dealing with FITS data in yt

tazkera haque h.tazkera at gmail.com
Thu Sep 7 12:24:16 PDT 2017


HI People,

I am sorry to ask you a very novice question, but I am new to deal with
FITS data and I wanted to load it into yt to do some processing. I uploaded
my file here.

First of all, I am trying to load my first FITS data in yt and it returns
me an error which I don't understand:

*import yt*



*ds = yt.load("signal_wfilt_sn.fits")ds.print_stats()*


*the error:*

yt : [WARNING  ] 2017-09-07 15:12:42,963 Cannot find time
yt : [INFO     ] 2017-09-07 15:12:42,965 Detected these axes: RA---TAN DEC--TAN
yt : [WARNING  ] 2017-09-07 15:12:42,979 No length conversion
provided. Assuming 1 = 1 cm.
yt : [INFO     ] 2017-09-07 15:12:42,996 Parameters: current_time
        = 0.0
yt : [INFO     ] 2017-09-07 15:12:42,997 Parameters: domain_dimensions
        = [1629 1629    1]
yt : [INFO     ] 2017-09-07 15:12:43,001 Parameters: domain_left_edge
        = [ 0.5  0.5  0.5]
yt : [INFO     ] 2017-09-07 15:12:43,004 Parameters: domain_right_edge
        = [  1.62950000e+03   1.62950000e+03   1.50000000e+00]
yt : [INFO     ] 2017-09-07 15:12:43,006 Parameters:
cosmological_simulation   = 0.0

---------------------------------------------------------------------------IndexError
                               Traceback (most recent call
last)<ipython-input-38-71d5999c6b09> in <module>()      1 import yt
  2 ds2 = yt.load("/home/trina/Documents/ASTRO_732/A-01/signal_wfilt_sn.fits")---->
3 ds2.print_stats()
/home/trina/anaconda2/lib/python2.7/site-packages/yt/utilities/parallel_tools/parallel_analysis_interface.pyc
in root_only(*args, **kwargs)    318     def root_only(*args,
**kwargs):    319         if not parallel_capable:--> 320
return func(*args, **kwargs)    321         comm = _get_comm(args)
322         rv = None
/home/trina/anaconda2/lib/python2.7/site-packages/yt/data_objects/static_output.pyc
in print_stats(self)    455     @parallel_root_only    456     def
print_stats(self):--> 457         self.index.print_stats()    458
459     @property
/home/trina/anaconda2/lib/python2.7/site-packages/yt/data_objects/static_output.pyc
in index(self)    417                 raise RuntimeError("You should
not instantiate Dataset.")    418             self._instantiated_index
= self._index_class(--> 419                 self,
dataset_type=self.dataset_type)    420             # Now we do things
that we need an instantiated index for    421             # ...first
off, we create our field_info now.
/home/trina/anaconda2/lib/python2.7/site-packages/yt/frontends/fits/data_structures.pyc
in __init__(self, ds, dataset_type)     90         self._handle =
ds._handle     91         self.float_type = np.float64---> 92
GridIndex.__init__(self,ds,dataset_type)     93      94     def
_initialize_data_storage(self):
/home/trina/anaconda2/lib/python2.7/site-packages/yt/geometry/geometry_handler.pyc
in __init__(self, ds, dataset_type)     56         # potentially quite
expensive, and should be done with the indexing.     57
mylog.debug("Detecting fields.")---> 58
self._detect_output_fields()     59      60     def
_initialize_state_variables(self):
/home/trina/anaconda2/lib/python2.7/site-packages/yt/frontends/fits/data_structures.pyc
in _detect_output_fields(self)    171                     continue
172                 if self._ensure_same_dims(hdu):--> 173
        units = self._determine_image_units(hdu.header, known_units)
 174                     try:    175                         # Grab
field name from btype
/home/trina/anaconda2/lib/python2.7/site-packages/yt/frontends/fits/data_structures.pyc
in _determine_image_units(self, header, known_units)    116
         n += 1    117             if n != len(units): field_units =
"dimensionless"--> 118             if field_units[0] == "/":    119
             field_units = "1%s" % field_units    120
return field_units
IndexError: string index out of range

Can you Please suggest me how to load and work on this data?

My goal is to create an image from the signal to noise data in the
data file 'signal_wfilt_sn.fits' using only data
within 20 arcminutes of the center of the image. the pixel size is 3x3
arc second

I had an initial code in mind which will create a sphere with a radius
of 20 arcminute:






*import ytds = yt.load("signal_wfilt_sn.fits")ds.print_stats()sp =
ds.sphere(ds.domain_center, (400, 'code_length'))*

However, I first need to be able to load and explore the data. Your
help and suggestion is greatly appreciated.

Thanks a lot


Tazkera











​​
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20170907/4cae7947/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signal_wfilt_sn.fits
Type: image/fits
Size: 21234240 bytes
Desc: not available
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20170907/4cae7947/attachment-0001.bin>


More information about the yt-users mailing list