Exemple #1
0
 def __getitem__(self, item):
     if item is None or (isinstance(item, tuple) and None in item):
         raise IndexError("None indices not supported")
     pixels = cu.pixelize_slice(item, self.axes_wcs)
     if self.data.ndim == 3:
         return cu.getitem_3d(self, pixels)
     else:
         return cu.getitem_4d(self, pixels)
Exemple #2
0
 def __getitem__(self, item):
     if item is None or (isinstance(item, tuple) and None in item):
         raise IndexError("None indices not supported")
     pixels = cu.pixelize_slice(item, self.axes_wcs)
     if self.data.ndim == 3:
         return cu.getitem_3d(self, pixels)
     else:
         return cu.getitem_4d(self, pixels)
Exemple #3
0
 def __getitem__(self, item):
     if item is None or (isinstance(item, tuple) and None in item):
         raise IndexError("None indices not supported")
     if isinstance(item, tuple) and len(item) > 2:
         spectral_slice = item[2]
     else:
         spectral_slice = slice(None, None, None)
     if isinstance(item, int):
         pixels = cu.pixelize_slice(item, self.wcs, _source='other')
     else:
         pixels = cu.pixelize_slice(item[:2], self.wcs, _source='other')
     if cu.iter_isinstance(pixels, (int, int)):
         return self.spectra[pixels][spectral_slice]
     else:
         newspectra = self.spectra[item]
         for i in newspectra.shape[0]:
             for j in newspectra.shape[1]:
                 spec = newspectra[i, j]
                 newspectra[i, j] = spec[spectral_slice]
Exemple #4
0
 def __getitem__(self, item):
     if item is None or (isinstance(item, tuple) and None in item):
         raise IndexError("None indices not supported")
     if isinstance(item, tuple) and len(item) > 2:
         spectral_slice = item[2]
     else:
         spectral_slice = slice(None, None, None)
     if isinstance(item, int):
         pixels = cu.pixelize_slice(item, self.wcs, _source='other')
     else:
         pixels = cu.pixelize_slice(item[:2], self.wcs, _source='other')
     if cu.iter_isinstance(pixels, (int, int)):
         return self.spectra[pixels][spectral_slice]
     else:
         newspectra = self.spectra[item]
         for i in newspectra.shape[0]:
             for j in newspectra.shape[1]:
                 spec = newspectra[i, j]
                 newspectra[i, j] = spec[spectral_slice]
Exemple #5
0
 def __getitem__(self, item):
     if item is None or (isinstance(item, tuple) and None in item):
         raise IndexError("None indices not supported")
     if not self._array_is_aligned():
         raise cu.CubeError(6, "Slicing on unaligned wcs-array systems " +
                            "not supported at the moment")
     pixels = cu.pixelize_slice(item, self.axes_wcs)
     if self.data.ndim == 3:
         return cu.getitem_3d(self, pixels)
     else:
         return cu.getitem_4d(self, pixels)
Exemple #6
0
def test_pixelize_slice():
    sl = [((slice(1, None, 3), 3.2, slice(None, None, 2)), wt),
          ((0.3 * u.deg, 2474.5 * u.deg, 10.75 * u.Angstrom), wm),
          ((slice(None, 3 * u.deg,
                  2), slice(99.5 * u.deg, 124.5,
                            1 * u.deg), slice(90 * u.Angstrom, 300, 60)), wm)]

    results = [(slice(1, None, 3), 3.2, slice(None, None, 2)), (0, 4950, 4),
               (slice(None, 7, 5), slice(200, 250, 2), slice(400, 1450, 300))]

    for i in range(len(sl)):
        assert cu.pixelize_slice(*sl[i]) == results[i]
Exemple #7
0
def test_pixelize_slice():
    sl = [((slice(1, None, 3), 3.2, slice(None, None, 2)), wt),
          ((0.3 * u.deg, 2474.5 * u.deg, 10.75 * u.Angstrom), wm),
          ((slice(None, 3 * u.deg, 2), slice(99.5 * u.deg, 124.5, 1 * u.deg),
            slice(90 * u.Angstrom, 300, 60)), wm)]

    results = [(slice(1, None, 3), 3.2, slice(None, None, 2)),
               (0, 4950, 4),
               (slice(None, 7, 5), slice(200, 250, 2), slice(400, 1450, 300))]

    for i in range(len(sl)):
        assert cu.pixelize_slice(*sl[i]) == results[i]