def grid(self): x, y = reshape_2d_arrays(self.x_axis.lo, self.y_axis.lo) if self.x_axis.is_integrated: xhi, yhi = reshape_2d_arrays(self.x_axis.hi, self.y_axis.hi) return x, y, xhi, yhi else: return x, y
def grid(self): """The grid representation of the space. The x and y arrays in the grid are one-dimensional representations of the meshgrid obtained from the x and y axis arrays, as in `numpy.meshgrid(x, y)[0].ravel()` Returns ------- tuple A two element (x, y) or 4 element (x, y, xhi, yhi) tuple. """ x, y = reshape_2d_arrays(self.x_axis.lo, self.y_axis.lo) if self.x_axis.is_integrated: xhi, yhi = reshape_2d_arrays(self.x_axis.hi, self.y_axis.hi) return x, y, xhi, yhi else: return x, y
def grid(self): """ Return the grid representation of this dataset. The grid is always a tuple, even if the dataset is 1-D and not integrated. This is due to the existing architecture of Sherpa's model classes and the fact that there is no signature difference among 1-D and 2-D models, as 1-D models can receive 1 or 2 arrays and 2-D models can receive 2 or 4 arrays. The x and y arrays in the grid are one-dimentional representations of the meshgrid obtained from the x and y axis arrays, as in `numpy.meshgrid(x, y)[0].ravel()` Returns ------- tuple A tuple representing the x and y axes. The tuple will contain four arrays if the dataset is integrated, two otherwise. """ x, y = reshape_2d_arrays(self.x_axis.lo, self.y_axis.lo) if self.x_axis.is_integrated: xhi, yhi = reshape_2d_arrays(self.x_axis.hi, self.y_axis.hi) return x, y, xhi, yhi else: return x, y
def read_image(arg, coord='logical', dstype=DataIMG): """Create an image dataset from a file. Parameters ---------- arg The name of the file or a representation of the file (the type depends on the I/O backend). coord : {'logical', 'physical', 'world'}, optional The type of axis coordinates to use. An error is raised if the file does not contain the necessary metadata for the selected coordinate system. dstype : optional The data type to create (it is expected to follow the `sherpa.data.BaseData` interface). Returns ------- data : a sherpa.data.BaseData derived object See Also -------- write_image Examples -------- The following examples do not contain argument types specific to a particular I/O backend. Create a `sherpa.astro.data.DataIMG` object from the FITS file ``img.fits``: >>> d = read_image('img.fits') Select the physical coordinate system from the file: >>> d = read_image('img.fits', coord='physical') """ data, filename = backend.get_image_data(arg) axlens = data['y'].shape x0 = numpy.arange(axlens[1], dtype=SherpaFloat) + 1. x1 = numpy.arange(axlens[0], dtype=SherpaFloat) + 1. x0, x1 = reshape_2d_arrays(x0, x1) data['y'] = data['y'].ravel() data['coord'] = coord data['shape'] = axlens if issubclass(dstype, DataIMGInt): dataset = dstype(filename, x0 - 0.5, x1 - 0.5, x0 + 0.5, x1 + 0.5, **data) elif issubclass(dstype, Data2DInt): for name in ['coord', 'eqpos', 'sky', 'header']: data.pop(name, None) dataset = dstype(filename, x0 - 0.5, x1 - 0.5, x0 + 0.5, x1 + 0.5, **data) else: dataset = dstype(filename, x0, x1, **data) return dataset