Python astropy.units.dimensionless_unscaled() Examples
The following are 30
code examples of astropy.units.dimensionless_unscaled().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
astropy.units
, or try the search function
.
Example #1
Source File: apec.py From astromodels with BSD 3-Clause "New" or "Revised" License | 6 votes |
def evaluate(self, x, NH, redshift): if isinstance(x, astropy_units.Quantity): _unit = astropy_units.cm ** 2 _y_unit = astropy_units.dimensionless_unscaled _x = x.value else: _unit = 1.0 _y_unit = 1.0 _x = x xsect_interp = self._cached_interp(_x * (1 + redshift)) spec = np.exp(-NH * xsect_interp * _unit) * _y_unit return spec # TbAbs class
Example #2
Source File: test_parameter.py From astromodels with BSD 3-Clause "New" or "Revised" License | 6 votes |
def test_set_units(): p = Parameter('test_parameter',1.0, unit=u.keV) p.value = 3.0 * u.MeV assert p.value == 3000.0 with pytest.raises(u.UnitConversionError): p.value = 3.0 * u.cm with pytest.raises(CannotConvertValueToNewUnits): p.unit = u.cm with pytest.raises(CannotConvertValueToNewUnits): p.unit = u.dimensionless_unscaled p.unit = u.MeV assert p.unit == u.MeV p.display()
Example #3
Source File: fitted_point_sources.py From threeML with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _calculate_conversion(self): # convert the model to the right units so that we can # convert back later for speed tmp = self._model_converter[self._flux_type](self._test_value) if ( tmp.unit == u.dimensionless_unscaled or tmp.unit == self._test_value.unit or tmp.unit == (self._test_value.unit) ** 2 ): # this is a multiplicative model self._conversion = 1.0 self._is_dimensionless = True else: self._conversion = tmp.unit.to(self._flux_unit, equivalencies=u.spectral()) self._is_dimensionless = False
Example #4
Source File: base.py From marvin with BSD 3-Clause "New" or "Revised" License | 6 votes |
def __init__(self, name, extension_name, extension_wave=None, extension_std=None, extension_mask=None, db_table='cube', unit=u.dimensionless_unscaled, scale=1, formats={}, pixmask_flag=None, description=''): self.name = name self._extension_name = extension_name self._extension_wave = extension_wave self._extension_std = extension_std self._extension_mask = extension_mask self.pixmask_flag = pixmask_flag self.db_table = db_table self.formats = formats self.description = description self._parent = None self.unit = u.CompositeUnit(scale, unit.bases, unit.powers)
Example #5
Source File: base.py From marvin with BSD 3-Clause "New" or "Revised" License | 6 votes |
def __init__(self, name, extension_name, extension_wave=None, extension_ivar=None, extension_mask=None, db_table='spaxel', unit=u.dimensionless_unscaled, scale=1, formats={}, pixmask_flag='MANGA_DRP3PIXMASK', description=''): self.name = name self._extension_name = extension_name self._extension_wave = extension_wave self._extension_ivar = extension_ivar self._extension_mask = extension_mask self.pixmask_flag = pixmask_flag self.db_table = db_table self._parent = None self.formats = formats self.description = description self.unit = u.CompositeUnit(scale, unit.bases, unit.powers)
Example #6
Source File: functions.py From astromodels with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _set_units(self, x_unit, y_unit): # The index is always dimensionless self.index.unit = astropy_units.dimensionless_unscaled self.gamma.unit = astropy_units.dimensionless_unscaled # The pivot energy has always the same dimension as the x variable self.piv.unit = x_unit # The cutoff has the same dimensions as x self.xc.unit = x_unit # The normalization has the same units as the y self.K.unit = y_unit # noinspection PyPep8Naming
Example #7
Source File: functions_3D.py From astromodels with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _set_units(self, x_unit, y_unit, z_unit, w_unit): # lon0 and lat0 and rdiff have most probably all units of degrees. However, # let's set them up here just to save for the possibility of using the # formula with other units (although it is probably never going to happen) self.lon0.unit = x_unit self.lat0.unit = y_unit self.rdiff0.unit = x_unit # Delta is of course unitless self.delta.unit = u.dimensionless_unscaled self.uratio.unit = u.dimensionless_unscaled # Piv has the same unit as energy (which is z) self.piv.unit = z_unit self.piv2.unit = z_unit
Example #8
Source File: functions_3D.py From astromodels with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _set_units(self, x_unit, y_unit, z_unit, w_unit): # lon0 and lat0 and rdiff have most probably all units of degrees. However, # let's set them up here just to save for the possibility of using the # formula with other units (although it is probably never going to happen) self.lon0.unit = x_unit self.lat0.unit = y_unit self.rdiff0.unit = x_unit self.rinj.unit = u.dimensionless_unscaled # Delta is of course unitless self.delta.unit = u.dimensionless_unscaled self.b.unit = u.dimensionless_unscaled # Piv has the same unit as energy (which is z) self.piv.unit = z_unit self.piv2.unit = z_unit
Example #9
Source File: functions_3D.py From astromodels with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _set_units(self, x_unit, y_unit, z_unit, w_unit): # lon0 and lat0 and rdiff have most probably all units of degrees. However, # let's set them up here just to save for the possibility of using the # formula with other units (although it is probably never going to happen) self.lon0.unit = x_unit self.lat0.unit = y_unit self.rdiff0.unit = x_unit # Delta is of course unitless self.delta.unit = u.dimensionless_unscaled self.b.unit = u.dimensionless_unscaled self.incl.unit = x_unit self.elongation.unit = u.dimensionless_unscaled # Piv has the same unit as energy (which is z) self.piv.unit = z_unit self.piv2.unit = z_unit
Example #10
Source File: test_representation_arithmetic.py From Carnets with BSD 3-Clause "New" or "Revised" License | 6 votes |
def test_mul_div_unit_spherical(self): s1 = self.unit_spherical * self.distance assert isinstance(s1, SphericalRepresentation) assert np.all(s1.lon == self.unit_spherical.lon) assert np.all(s1.lat == self.unit_spherical.lat) assert np.all(s1.distance == self.spherical.distance) s2 = self.unit_spherical / u.s assert isinstance(s2, SphericalRepresentation) assert np.all(s2.lon == self.unit_spherical.lon) assert np.all(s2.lat == self.unit_spherical.lat) assert np.all(s2.distance == 1./u.s) u3 = -self.unit_spherical assert isinstance(u3, UnitSphericalRepresentation) assert_quantity_allclose(u3.lon, self.unit_spherical.lon + 180.*u.deg) assert np.all(u3.lat == -self.unit_spherical.lat) assert_quantity_allclose(u3.to_cartesian().xyz, -self.unit_spherical.to_cartesian().xyz, atol=1.e-10*u.dimensionless_unscaled) u4 = +self.unit_spherical assert isinstance(u4, UnitSphericalRepresentation) assert u4 is not self.unit_spherical assert np.all(representation_equal(u4, self.unit_spherical))
Example #11
Source File: test_representation_arithmetic.py From Carnets with BSD 3-Clause "New" or "Revised" License | 6 votes |
def test_dot(self, representation): in_rep = self.cartesian.represent_as(representation) r_dot_r = in_rep.dot(in_rep) assert isinstance(r_dot_r, u.Quantity) assert r_dot_r.shape == in_rep.shape assert_quantity_allclose(np.sqrt(r_dot_r), self.distance) r_dot_r_rev = in_rep.dot(in_rep[::-1]) assert isinstance(r_dot_r_rev, u.Quantity) assert r_dot_r_rev.shape == in_rep.shape expected = [-25., -126., 2., 4., 2., -126., -25.] * u.kpc**2 assert_quantity_allclose(r_dot_r_rev, expected) for axis in 'xyz': project = CartesianRepresentation(*( (1. if axis == _axis else 0.) * u.dimensionless_unscaled for _axis in 'xyz')) assert_quantity_allclose(in_rep.dot(project), getattr(self.cartesian, axis), atol=1.*u.upc) with pytest.raises(TypeError): in_rep.dot(self.cartesian.xyz)
Example #12
Source File: imp.py From heliopy with GNU General Public License v3.0 | 6 votes |
def i8_mag15s(starttime, endtime): identifier = 'I8_15SEC_MAG' units = OrderedDict([('N_of_points', u.dimensionless_unscaled), ('SourceFlag', u.dimensionless_unscaled), ('|B|', u.nT), ('Bx gse', u.nT), ('By gse', u.nT), ('Bz gse', u.nT), ('By gsm', u.nT), ('Bz gsm', u.nT), ('Bxx gse', u.nT**2), ('Byy gse', u.nT**2), ('Bzz gse', u.nT**2), ('Byx gse', u.nT**2), ('Bzx gse', u.nT**2), ('Bzy gse', u.nT**2), ('Time shift', u.s), ('SW_flag', u.dimensionless_unscaled)]) for coord in ['GSE', 'GSET', 'GSM', 'GSMT']: for i in range(3): units[f'SC_Pos_{coord}_{i}'] = u.earthRad return _imp8(starttime, endtime, identifier, units=units)
Example #13
Source File: apec.py From astromodels with BSD 3-Clause "New" or "Revised" License | 6 votes |
def evaluate(self, x, NH, redshift): if isinstance(x, astropy_units.Quantity): _unit = astropy_units.cm ** 2 _y_unit = astropy_units.dimensionless_unscaled _x = x.value else: _unit = 1.0 _y_unit = 1.0 _x = x xsect_interp = self._cached_interp(_x * (1 + redshift)) spec = np.exp(-NH * xsect_interp * _unit) * _y_unit return spec
Example #14
Source File: test_KeplerLike2.py From EXOSIMS with BSD 3-Clause "New" or "Revised" License | 6 votes |
def test_gen_sma(self): r"""Test gen_sma method. Approach: Ensures the output is set, of the correct type, length, and units. Check that they are in the correct range and follow the distribution. """ plan_pop = self.fixture n = 10000 sma = plan_pop.gen_sma(n) # ensure the units are length self.assertEqual((sma/u.km).decompose().unit, u.dimensionless_unscaled) # sma > 0 self.assertTrue(np.all(sma.value >= 0)) # sma >= arange[0], sma <= arange[1] self.assertTrue(np.all(sma - plan_pop.arange[0] >= 0)) self.assertTrue(np.all(plan_pop.arange[1] - sma >= 0)) h = np.histogram(sma.to('AU').value,100,density=True) hx = np.diff(h[1])/2.+h[1][:-1] hp = plan_pop.dist_sma(hx) chi2 = scipy.stats.chisquare(h[0],hp) self.assertGreaterEqual(chi2[1],0.95)
Example #15
Source File: apec.py From astromodels with BSD 3-Clause "New" or "Revised" License | 6 votes |
def evaluate(self, x, NH, redshift): if isinstance(x, astropy_units.Quantity): _unit = astropy_units.cm ** 2 _y_unit = astropy_units.dimensionless_unscaled _x = x.value else: _unit = 1.0 _y_unit = 1.0 _x = x xsect_interp = self._cached_interp(_x * (1 + redshift)) spec = np.exp(-NH * xsect_interp * _unit) * _y_unit return spec # WAbs class
Example #16
Source File: test_cosmology.py From Carnets with BSD 3-Clause "New" or "Revised" License | 6 votes |
def test_critical_density(): from astropy.constants import codata2014 # WMAP7 but with Omega_relativistic = 0 # These tests will fail if astropy.const starts returning non-mks # units by default; see the comment at the top of core.py. # critical_density0 is inversely proportional to G. tcos = core.FlatLambdaCDM(70.4, 0.272, Tcmb0=0.0) fac = (const.G / codata2014.G).to(u.dimensionless_unscaled).value assert allclose(tcos.critical_density0 * fac, 9.309668456020899e-30 * (u.g / u.cm**3)) assert allclose(tcos.critical_density0, tcos.critical_density(0)) assert allclose( tcos.critical_density([1, 5]) * fac, [2.70352772e-29, 5.53739080e-28] * (u.g / u.cm**3)) assert allclose( tcos.critical_density([1., 5.]) * fac, [2.70352772e-29, 5.53739080e-28] * (u.g / u.cm**3))
Example #17
Source File: function.py From astromodels with BSD 3-Clause "New" or "Revised" License | 6 votes |
def set_units(self, x_unit, y_unit, relaxed=False): if relaxed and (x_unit is None) and (y_unit is None): # This can happen when rebuilding a composite function during unpickling, when # there are more than two functions composed together. We do not need to to anything in that case pass else: self._requested_x_unit = x_unit self._requested_y_unit = y_unit # Just rely on the single functions to adjust themselves. for function in self.functions: if hasattr(function, '_make_dimensionless'): function.set_units(x_unit, u.dimensionless_unscaled) else: function.set_units(x_unit, y_unit)
Example #18
Source File: misc.py From Carnets with BSD 3-Clause "New" or "Revised" License | 6 votes |
def default(self, obj): from astropy import units as u import numpy as np if isinstance(obj, u.Quantity): return dict(value=obj.value, unit=obj.unit.to_string()) if isinstance(obj, (np.number, np.ndarray)): return obj.tolist() elif isinstance(obj, complex): return [obj.real, obj.imag] elif isinstance(obj, set): return list(obj) elif isinstance(obj, bytes): # pragma: py3 return obj.decode() elif isinstance(obj, (u.UnitBase, u.FunctionUnitBase)): if obj == u.dimensionless_unscaled: obj = 'dimensionless_unit' else: return obj.to_string() return json.JSONEncoder.default(self, obj)
Example #19
Source File: projections.py From Carnets with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _create_augmented_matrix(matrix, translation): unit = None if any([hasattr(translation, 'unit'), hasattr(matrix, 'unit')]): if not all([hasattr(translation, 'unit'), hasattr(matrix, 'unit')]): raise ValueError("To use AffineTransformation with quantities, " "both matrix and unit need to be quantities.") unit = translation.unit # matrix should have the same units as translation if not (matrix.unit / translation.unit) == u.dimensionless_unscaled: raise ValueError("matrix and translation must have the same units.") augmented_matrix = np.empty((3, 3), dtype=float) augmented_matrix[0:2, 0:2] = matrix augmented_matrix[0:2, 2:].flat = translation augmented_matrix[2] = [0, 0, 1] if unit is not None: return augmented_matrix * unit else: return augmented_matrix
Example #20
Source File: test_KeplerLike1.py From EXOSIMS with BSD 3-Clause "New" or "Revised" License | 6 votes |
def test_gen_radius(self): r"""Test gen_radius method. Approach: Ensures the output is set, of the correct type, length, and units. Check distributional agreement. """ plan_pop = self.fixture n = 10000 radii = plan_pop.gen_radius(n) # ensure the units are length self.assertEqual((radii/u.km).decompose().unit, u.dimensionless_unscaled) # radius > 0 self.assertTrue(np.all(radii.value > 0)) self.assertTrue(np.all(np.isfinite(radii.value))) h = np.histogram(radii.to('earthRad').value,bins=plan_pop.Rs) np.testing.assert_allclose(plan_pop.Rvals.sum()*h[0]/float(n),plan_pop.Rvals,rtol=0.05)
Example #21
Source File: test_KeplerLike1.py From EXOSIMS with BSD 3-Clause "New" or "Revised" License | 6 votes |
def test_gen_sma(self): r"""Test gen_sma method. Approach: Ensures the output is set, of the correct type, length, and units. Check that they are in the correct range and follow the distribution. """ plan_pop = self.fixture n = 10000 sma = plan_pop.gen_sma(n) # ensure the units are length self.assertEqual((sma/u.km).decompose().unit, u.dimensionless_unscaled) # sma > 0 self.assertTrue(np.all(sma.value >= 0)) # sma >= arange[0], sma <= arange[1] self.assertTrue(np.all(sma - plan_pop.arange[0] >= 0)) self.assertTrue(np.all(plan_pop.arange[1] - sma >= 0)) h = np.histogram(sma.to('AU').value,100,density=True) hx = np.diff(h[1])/2.+h[1][:-1] hp = plan_pop.dist_sma(hx) chi2 = scipy.stats.chisquare(h[0],hp) self.assertGreaterEqual(chi2[1],0.95)
Example #22
Source File: parameter.py From astromodels with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _set_unit(self, input_unit): # This will fail if the input is not valid new_unit = self._safe_assign_unit(input_unit) # Now transform the current _value in the new unit, unless the current unit is dimensionless, in which # case there is no transformation to make # (self._unit is the OLD unit here) if self._unit != u.dimensionless_unscaled: # This will fail if the new unit is not compatible with the old one try: self.value = self.as_quantity.to(new_unit).value except u.UnitConversionError: if new_unit == u.dimensionless_unscaled: new_unit_name = '(dimensionless)' else: new_unit_name = new_unit raise CannotConvertValueToNewUnits("Cannot convert the value %s from %s to the " "new units %s" % (self.value, self._unit, new_unit_name)) else: # This is possibly the first time the unit is set pass # Finally store the new unit self._unit = new_unit
Example #23
Source File: core.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def __mul__(self, other): """Multiplication of `TimeDelta` objects by numbers/arrays.""" # Check needed since otherwise the self.jd1 * other multiplication # would enter here again (via __rmul__) if isinstance(other, Time) and not isinstance(other, TimeDelta): raise OperandTypeError(self, other, '*') elif ((isinstance(other, u.UnitBase) and other == u.dimensionless_unscaled) or (isinstance(other, str) and other == '')): return self.copy() # If other is something consistent with a dimensionless quantity # (could just be a float or an array), then we can just multiple in. try: other = u.Quantity(other, u.dimensionless_unscaled, copy=False) except Exception: # If not consistent with a dimensionless quantity, try downgrading # self to a quantity and see if things work. try: return self.to(u.day) * other except Exception: # The various ways we could multiply all failed; # returning NotImplemented to give other a final chance. return NotImplemented jd1, jd2 = day_frac(self.jd1, self.jd2, factor=other.value) out = TimeDelta(jd1, jd2, format='jd', scale=self.scale) if self.format != 'jd': out = out.replicate(format=self.format) return out
Example #24
Source File: attributes.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def convert_input(self, value): """ Checks that the input is a Quantity with the necessary units (or the special value ``0``). Parameters ---------- value : object Input value to be converted. Returns ------- out, converted : correctly-typed object, boolean Tuple consisting of the correctly-typed object and a boolean which indicates if conversion was actually performed. Raises ------ ValueError If the input is not valid for this attribute. """ if value is None: return None, False if np.all(value == 0) and self.unit is not None: return u.Quantity(np.zeros(self.shape), self.unit), True else: if not hasattr(value, 'unit') and self.unit != u.dimensionless_unscaled: raise TypeError('Tried to set a QuantityAttribute with ' 'something that does not have a unit.') oldvalue = value value = u.Quantity(oldvalue, self.unit, copy=False) if self.shape is not None and value.shape != self.shape: raise ValueError('The provided value has shape "{}", but ' 'should have shape "{}"'.format(value.shape, self.shape)) converted = oldvalue is not value return value, converted
Example #25
Source File: test_matching.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_match_catalog_nounit(): from .. import ICRS, CartesianRepresentation from ..matching import match_coordinates_sky i1 = ICRS([[1], [2], [3]], representation_type=CartesianRepresentation) i2 = ICRS([[1], [2], [4, 5]], representation_type=CartesianRepresentation) i, sep, sep3d = match_coordinates_sky(i1, i2) assert_allclose(sep3d, [1]*u.dimensionless_unscaled)
Example #26
Source File: representation.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def to_cartesian(self): """ Converts spherical polar coordinates to 3D rectangular cartesian coordinates. """ # NUMPY_LT_1_16 cannot create a vector automatically p = u.Quantity(np.empty(self.shape + (3,)), u.dimensionless_unscaled, copy=False) # erfa s2c: Convert [unit]spherical coordinates to Cartesian. p = erfa_ufunc.s2c(self.lon, self.lat, p) return CartesianRepresentation(p, xyz_axis=-1, copy=False)
Example #27
Source File: call.py From phoebe2 with GNU General Public License v3.0 | 5 votes |
def _set_value(self, value): """ set the value """ if value is None: self._value = value return # handle casting to acceptable types if isinstance(value, list) or isinstance(value, tuple): value = np.asarray(value) elif isinstance(value, int): value = float(value) if isinstance(value, u.Quantity): if self.unit == u.dimensionless_unscaled: # then take the unit from quantity and apply it self.unit = value.unit value = value.value else: # then convert to the requested unit value = value.to(self.unit).value # handle setting based on type if isinstance(value, np.ndarray): # if len(value.shape) != 1: # raise ValueError("value must be a flat array") self._value = value elif isinstance(value, float): # TODO: do we want to cast to np.array([value])?? # this will most likely be used for axhline/axvline self._value = value elif self.direction=='c' and isinstance(value, str): self._value = common.coloralias.map(value) else: raise TypeError("value must be of type array (or similar), found {} {}".format(type(value), value))
Example #28
Source File: priors.py From astromodels with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _setup(self): self._fixed_units = (astropy_units.dimensionless_unscaled,astropy_units.dimensionless_unscaled) self._is_prior = True
Example #29
Source File: functions_2D.py From astromodels with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _set_units(self, x_unit, y_unit, z_unit): # lon0 and lat0 have most probably all units of degrees. # However, let's set them up here just to save for the possibility of # using the formula with other units (although it is probably never # going to happen) self.lon0.unit = x_unit self.lat0.unit = y_unit self.a.unit = x_unit # eccentricity is dimensionless self.e.unit = u.dimensionless_unscaled self.theta.unit = u.degree
Example #30
Source File: functions_2D.py From astromodels with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _set_units(self, x_unit, y_unit, z_unit): # lon0 and lat0 and a have most probably all units of degrees. However, # let's set them up here just to save for the possibility of using the # formula with other units (although it is probably never going to happen) self.lon0.unit = x_unit self.lat0.unit = y_unit self.a.unit = x_unit self.e.unit = u.dimensionless_unscaled self.theta.unit = u.degree