def __init__( self, energy_axis_true, rad_axis, exposure=None, psf_value=None, interp_kwargs=None, ): self._rad_axis = rad_axis self._energy_axis_true = energy_axis_true axes = MapAxes([energy_axis_true, rad_axis]) axes.assert_names(["energy_true", "rad"]) if exposure is None: self.exposure = u.Quantity(np.ones(self.energy_axis_true.nbin), "cm^2 s") else: self.exposure = u.Quantity(exposure).to("cm^2 s") if psf_value is None: self.psf_value = np.zeros(axes.shape) * u.Unit("sr^-1") else: if np.shape(psf_value) != axes.shape: raise ValueError( "psf_value has wrong shape" f", expected {axes.shape}, got {np.shape(psf_value)}" ) self.psf_value = u.Quantity(psf_value).to("sr^-1") self._interp_kwargs = interp_kwargs or {}
def __init__(self, axes, data=0, unit="", meta=None): axes = MapAxes(axes) axes.assert_names(self.required_axes) self._axes = axes self.data = data self.unit = unit self.meta = meta or {}
def __init__( self, energy_axis_true, offset_axis, rad_axis, psf_value, energy_thresh_lo=u.Quantity(0.1, "TeV"), energy_thresh_hi=u.Quantity(100, "TeV"), interp_kwargs=None, ): axes = MapAxes([energy_axis_true, offset_axis, rad_axis]) axes.assert_names(["energy_true", "offset", "rad"]) if psf_value.shape != axes.shape: raise ValueError("PSF has wrong shape" f", expected {axes.shape}, got {psf_value.shape}") self._energy_axis_true = energy_axis_true self._offset_axis = offset_axis self._rad_axis = rad_axis self.psf_value = psf_value.to("sr^-1") self.energy_thresh_lo = energy_thresh_lo.to("TeV") self.energy_thresh_hi = energy_thresh_hi.to("TeV") self._interp_kwargs = interp_kwargs or {}
def __init__( self, axes, data=0, unit="", is_pointlike=False, fov_alignment=FoVAlignment.RADEC, meta=None, interp_kwargs=None, ): axes = MapAxes(axes) axes.assert_names(self.required_axes) self._axes = axes self._fov_alignment = FoVAlignment(fov_alignment) self._is_pointlike = is_pointlike if isinstance(data, u.Quantity): self.data = data.value if not self.default_unit.is_equivalent(data.unit): raise ValueError( f"Error: {data.unit} is not an allowed unit. {self.tag} requires {self.default_unit} data quantities." ) else: self._unit = data.unit else: self.data = data self._unit = unit self.meta = meta or {} if interp_kwargs is None: interp_kwargs = self.default_interp_kwargs.copy() self.interp_kwargs = interp_kwargs
def __init__(self, axes, data=0, unit="", meta=None, interp_kwargs=None): axes = MapAxes(axes) axes.assert_names(self.required_axes) self._axes = axes self.data = data self.unit = unit self.meta = meta or {} if interp_kwargs is None: interp_kwargs = self.default_interp_kwargs.copy() self.interp_kwargs = interp_kwargs
def __init__(self, axes, data=0, unit="", meta=None, interp_kwargs=None): axes = MapAxes(axes) axes.assert_names(self.required_axes) self._axes = axes if isinstance(data, u.Quantity): self.data = data.value self.unit = data.unit else: self.data = data self.unit = unit self.meta = meta or {} if interp_kwargs is None: interp_kwargs = self.default_interp_kwargs.copy() self.interp_kwargs = interp_kwargs
def __init__( self, energy_axis_true, offset_axis, rad_axis, data, meta=None, interp_kwargs=None, ): interp_kwargs = interp_kwargs or {} axes = MapAxes([energy_axis_true, offset_axis, rad_axis]) axes.assert_names(["energy_true", "offset", "rad"]) self.data = NDDataArray(axes=axes, data=u.Quantity(data).to("sr^-1"), interp_kwargs=interp_kwargs) self.meta = meta or {}
def __init__( self, energy_axis_true, rad_axis, exposure=None, data=None, interp_kwargs=None, ): interp_kwargs = interp_kwargs or {} axes = MapAxes([energy_axis_true, rad_axis]) axes.assert_names(["energy_true", "rad"]) self.data = NDDataArray(axes=axes, data=u.Quantity(data).to("sr^-1"), interp_kwargs=interp_kwargs) if exposure is None: self.exposure = u.Quantity(np.ones(self.energy_axis_true.nbin), "cm^2 s") else: self.exposure = u.Quantity(exposure).to("cm^2 s")