From a13e0bdb1ed357ce8ceb47bb4f0bd93f8d031c6e Mon Sep 17 00:00:00 2001 From: theos <theo.steininger@ultimanet.de> Date: Tue, 12 Jul 2016 01:48:35 +0200 Subject: [PATCH] removed discrete attribute from spaces and operators --- lm/gl_space.py | 11 +--------- lm/hp_space.py | 10 --------- lm/lm_space.py | 5 ----- operators/nifty_operators.py | 42 ++++++++++++++---------------------- power/rg_power_space.py | 1 - rg/rg_space.py | 1 - space.py | 2 -- test/test_nifty_spaces.py | 3 --- 8 files changed, 17 insertions(+), 58 deletions(-) diff --git a/lm/gl_space.py b/lm/gl_space.py index dcc301397..d74d9cd85 100644 --- a/lm/gl_space.py +++ b/lm/gl_space.py @@ -114,7 +114,6 @@ class GLSpace(Space): dtype = np.dtype('float') self.dtype = dtype - self.discrete = False self.harmonic = False self.distances = (tuple(gl.vol(self.paradict['nlat'], nlon=self.paradict['nlon'] @@ -310,9 +309,6 @@ class GLSpace(Space): sample = gl.synfast(arg['spec'], nlat=nlat, nlon=nlon, lmax=lmax, mmax=lmax, alm=False) - # weight if discrete - if self.discrete: - sample = self.calc_weight(sample, power=0.5) else: sample = super(GLSpace, self).get_random_values(**arg) @@ -413,9 +409,6 @@ class GLSpace(Space): if isinstance(codomain, LMSpace): - # weight if discrete - if self.discrete: - x = self.calc_weight(x, power=-0.5) # transform nlat = self.paradict['nlat'] nlon = self.paradict['nlon'] @@ -503,9 +496,7 @@ class GLSpace(Space): Power contained in the input array. """ x = self.cast(x) - # weight if discrete - if self.discrete: - x = self.calc_weight(x, power=-0.5) + # calculate the power spectrum nlat = self.paradict['nlat'] nlon = self.paradict['nlon'] diff --git a/lm/hp_space.py b/lm/hp_space.py index 2540198a8..e0d5c0ec0 100644 --- a/lm/hp_space.py +++ b/lm/hp_space.py @@ -137,7 +137,6 @@ class HPSpace(Space): self.dtype = np.dtype('float64') - self.discrete = False self.harmonic = False self.distances = (np.float(4*np.pi / (12*self.paradict['nside']**2)),) @@ -310,9 +309,6 @@ class HPSpace(Space): lmax=lmax, mmax=lmax, alm=False, pol=True, pixwin=False, fwhm=0.0, sigma=None) - # weight if discrete - if self.discrete: - sample = self.calc_weight(sample, power=0.5) else: sample = super(HPSpace, self).get_random_values(**arg) @@ -373,9 +369,6 @@ class HPSpace(Space): np_x = x.get_full_data() if isinstance(codomain, LMSpace): - # weight if discrete - if self.discrete: - x = self.calc_weight(x, power=-0.5) # transform np_Tx = hp.map2alm(np_x.astype(np.float64, copy=False), lmax=codomain.paradict['lmax'], @@ -464,9 +457,6 @@ class HPSpace(Space): transformation. """ x = self.cast(x) - # weight if discrete - if self.discrete: - x = self.calc_weight(x, power=-0.5) nside = self.paradict['nside'] lmax = 3*nside-1 diff --git a/lm/lm_space.py b/lm/lm_space.py index 9f5761eec..891e880c7 100644 --- a/lm/lm_space.py +++ b/lm/lm_space.py @@ -129,7 +129,6 @@ class LMSpace(Space): dtype = np.dtype('complex128') self.dtype = dtype - self.discrete = True self.harmonic = True self.distances = (np.float(1),) @@ -564,10 +563,6 @@ class LMSpace(Space): raise ValueError(about._errors.cstring( "ERROR: unsupported transformation.")) - # re-weight if discrete - if codomain.discrete: - Tx = codomain.calc_weight(Tx, power=0.5) - return codomain.cast(Tx) def calc_smooth(self, x, sigma=0, **kwargs): diff --git a/operators/nifty_operators.py b/operators/nifty_operators.py index f7d5a45d3..17661c9c4 100644 --- a/operators/nifty_operators.py +++ b/operators/nifty_operators.py @@ -138,7 +138,7 @@ class operator(object): None """ # Check if the domain is realy a space - if not isinstance(domain, space): + if not isinstance(domain, Space): raise TypeError(about._errors.cstring( "ERROR: invalid input. domain is not a space.")) self.domain = domain @@ -167,7 +167,7 @@ class operator(object): target = self.domain cotarget = self.codomain - elif isinstance(target, space): + elif isinstance(target, Space): self.target = target # Parse cotarget if self.target.check_codomain(cotarget) == True: @@ -178,10 +178,7 @@ class operator(object): raise TypeError(about._errors.cstring( "ERROR: invalid input. Target is not a space.")) - if self.domain.discrete and self.target.discrete: - self.imp = True - else: - self.imp = bool(imp) + self.imp = bool(imp) def set_val(self, new_val): """ @@ -231,7 +228,7 @@ class operator(object): copy=False) # weight if necessary - if (not self.imp) and (not domain.discrete) and (not inverse): + if (not self.imp) and (not inverse): result_field = result_field.weight(power=1) return result_field @@ -241,7 +238,7 @@ class operator(object): assert(isinstance(y, Field)) # weight if necessary - if (not self.imp) and (not target.discrete) and inverse: + if (not self.imp) and inverse: y = y.weight(power=-1) # if the operators domain as well as the target have the harmonic @@ -580,7 +577,7 @@ class operator(object): if domain is None: domain = diag.domain # weight if ... - if (not domain.discrete) and bare: + if and bare: if(isinstance(diag, tuple)): # diag == (diag,variance) return (diag[0].weight(power=-1), diag[1].weight(power=-1)) @@ -672,7 +669,7 @@ class operator(object): if domain is None: domain = diag.codomain # weight if ... - if not domain.discrete and bare: + if bare: if(isinstance(diag, tuple)): # diag == (diag,variance) return (diag[0].weight(power=-1), diag[1].weight(power=-1)) @@ -1165,7 +1162,7 @@ class diagonal_operator(operator): self.bare = bare # Weight if necessary - if not self.domain.discrete and bare: + if bare: self.val = self.domain.calc_weight(self.val, power=1) # Check complexity attributes @@ -1398,7 +1395,7 @@ class diagonal_operator(operator): """ if (domain is None) or (domain == self.domain): - if not self.domain.discrete and bare: + if bare: diag_val = self.domain.calc_weight(self.val, power=-1) else: diag_val = self.val @@ -1485,7 +1482,7 @@ class diagonal_operator(operator): if (domain is None) or (domain == self.domain): inverse_val = 1. / self.val - if not self.domain.discrete and bare: + if bare: inverse_diag_val = self.domain.calc_weight(inverse_val, power=-1) else: @@ -1908,7 +1905,7 @@ class power_operator(diagonal_operator): diag = temp_spec[pindex] # Weight if necessary - if not self.domain.discrete and bare: + if bare: self.val = self.domain.calc_weight(diag, power=1) else: self.val = diag @@ -1986,7 +1983,7 @@ class power_operator(diagonal_operator): temp_kwargs.update(kwargs) # Weight the diagonal values if necessary - if not self.domain.discrete and bare: + if bare: diag = self.domain.calc_weight(self.val, power=-1) else: diag = self.val @@ -2641,7 +2638,7 @@ class vecvec_operator(operator): if domain is None or (domain == self.domain): diag_val = self.val * self.val.conjugate() # bare diagonal # weight if ... - if not self.domain.discrete and not bare: + if not bare: diag_val = diag_val.weight(power=1, overwrite=True) return diag_val else: @@ -2849,9 +2846,6 @@ class response_operator(operator): if not isinstance(target, Space): raise TypeError(about._errors.cstring( "ERROR: Given target is not a nifty space")) - elif not target.discrete: - raise ValueError(about._errors.cstring( - "ERROR: Given target must be a discrete space!")) elif len(target.shape) > 1: raise ValueError(about._errors.cstring( "ERROR: Given target must be a one-dimensional space.")) @@ -2942,7 +2936,7 @@ class response_operator(operator): copy=False) # weight if necessary - if (not self.imp) and (not domain.discrete) and (not inverse) and \ + if (not self.imp) and (not inverse) and \ self.den: result_field = result_field.weight(power=1) return result_field @@ -2953,8 +2947,7 @@ class response_operator(operator): assert(isinstance(y, Field)) # weight if necessary - if (not self.imp) and (not target.discrete) and \ - (not self.den ^ inverse): + if (not self.imp) and (not self.den ^ inverse): y = y.weight(power=-1) return y @@ -3080,10 +3073,7 @@ class invertible_operator(operator): self.sym = True self.uni = bool(uni) - if(self.domain.discrete): - self.imp = True - else: - self.imp = bool(imp) + self.imp = bool(imp) self.target = self.domain self.cotarget = self.codomain diff --git a/power/rg_power_space.py b/power/rg_power_space.py index 58d9fe57c..f0467ba41 100644 --- a/power/rg_power_space.py +++ b/power/rg_power_space.py @@ -30,7 +30,6 @@ class RGPowerSpace(PowerSpace): self.distances = (tuple(self.power_indices['rho']),) self.harmonic = True - self.discrete = False @property def shape(self): diff --git a/rg/rg_space.py b/rg/rg_space.py index 31ab95edc..3ae851e11 100644 --- a/rg/rg_space.py +++ b/rg/rg_space.py @@ -168,7 +168,6 @@ class RGSpace(Space): self.distances = distances self.harmonic = bool(harmonic) - self.discrete = False # Initializes the fast-fourier-transform machine, which will be used # to transform the space diff --git a/space.py b/space.py index e9f6075b4..5397e1494 100644 --- a/space.py +++ b/space.py @@ -220,7 +220,6 @@ class Space(object): "WARNING: incompatible dtype: " + str(dtype))) self.dtype = dtype - self.discrete = None self.harmonic = None self._distances = None @@ -874,6 +873,5 @@ class Space(object): string += str(type(self)) + "\n" string += "paradict: " + str(self.paradict) + "\n" string += 'dtype: ' + str(self.dtype) + "\n" - string += 'discrete: ' + str(self.discrete) + "\n" string += 'distances: ' + str(self.distances) + "\n" return string diff --git a/test/test_nifty_spaces.py b/test/test_nifty_spaces.py index 7f89f5746..9c8487c93 100644 --- a/test/test_nifty_spaces.py +++ b/test/test_nifty_spaces.py @@ -290,7 +290,6 @@ class Test_Common_Point_Like_Space_Interface(unittest.TestCase): assert(isinstance(s.paradict, space_paradict)) assert(isinstance(s.paradict, space_paradict)) assert(isinstance(s.dtype, np.dtype)) - assert(isinstance(s.discrete, bool)) # assert(isinstance(s.harmonic, bool)) assert(isinstance(s.distances, tuple)) if hasattr(s, 'harmonic'): @@ -340,7 +339,6 @@ class Test_Point_Space(unittest.TestCase): assert_equal(p.paradict['num'], num) assert_equal(p.dtype, dtype) - assert_equal(p.discrete, True) assert_equal(p.distances, (np.float(1.),)) ############################################################################### @@ -992,7 +990,6 @@ class Test_Lm_Space(unittest.TestCase): else: assert_equal(l.paradict['mmax'], mmax) assert_equal(l.dtype, dtype) - assert_equal(l.discrete, True) assert_equal(l.harmonic, True) assert_equal(l.distances, (np.float(1),)) else: -- GitLab