summaryrefslogtreecommitdiffstats
path: root/Wrappers
diff options
context:
space:
mode:
authorEdoardo Pasca <edo.paskino@gmail.com>2019-04-10 17:39:58 +0100
committerEdoardo Pasca <edo.paskino@gmail.com>2019-04-10 17:39:58 +0100
commitda02e629dcd85b2dc1e06a4a8d8bff973fc70a88 (patch)
tree8687c01b086dc915236444f2df320753cf3d90fd /Wrappers
parent430618bd44aec77468900222b996e1d3c32dae03 (diff)
downloadframework-da02e629dcd85b2dc1e06a4a8d8bff973fc70a88.tar.gz
framework-da02e629dcd85b2dc1e06a4a8d8bff973fc70a88.tar.bz2
framework-da02e629dcd85b2dc1e06a4a8d8bff973fc70a88.tar.xz
framework-da02e629dcd85b2dc1e06a4a8d8bff973fc70a88.zip
nothing really
Diffstat (limited to 'Wrappers')
-rwxr-xr-xWrappers/Python/ccpi/optimisation/functions/MixedL21Norm.py28
-rwxr-xr-xWrappers/Python/ccpi/optimisation/functions/ScaledFunction.py4
2 files changed, 23 insertions, 9 deletions
diff --git a/Wrappers/Python/ccpi/optimisation/functions/MixedL21Norm.py b/Wrappers/Python/ccpi/optimisation/functions/MixedL21Norm.py
index 4266e51..ed1d5e5 100755
--- a/Wrappers/Python/ccpi/optimisation/functions/MixedL21Norm.py
+++ b/Wrappers/Python/ccpi/optimisation/functions/MixedL21Norm.py
@@ -87,17 +87,29 @@ class MixedL21Norm(Function):
res = BlockDataContainer(*frac)
return res
-
-# tmp2 = np.sqrt(x.as_array()[0]**2 + x.as_array()[1]**2 + 2*x.as_array()[2]**2)/self.alpha
-# res = x.divide(ImageData(tmp2).maximum(1.0))
else:
+# pass
+
- tmp = [ el*el for el in x]
- res = (sum(tmp).sqrt()).maximum(1.0)
- frac = [x[i]/res for i in range(x.shape[0])]
- res = BlockDataContainer(*frac)
+# # tmp2 = np.sqrt(x.as_array()[0]**2 + x.as_array()[1]**2 + 2*x.as_array()[2]**2)/self.alpha
+# # res = x.divide(ImageData(tmp2).maximum(1.0))
+# if out is None:
+
+ tmp = [ el*el for el in x]
+ res = (sum(tmp).sqrt()).maximum(1.0)
+ frac = [x[i]/res for i in range(x.shape[0])]
+ res = BlockDataContainer(*frac)
- return res
+ return res
+ # else:
+ # tmp = [ el*el for el in x]
+ # res = (sum(tmp).sqrt()).maximum(1.0)
+ # #frac = [x[i]/res for i in range(x.shape[0])]
+ # for i in range(x.shape[0]):
+ # a = out.get_item(i)
+ # b = x.get_item(i)
+ # b /= res
+ # a.fill( b )
def __rmul__(self, scalar):
return ScaledFunction(self, scalar)
diff --git a/Wrappers/Python/ccpi/optimisation/functions/ScaledFunction.py b/Wrappers/Python/ccpi/optimisation/functions/ScaledFunction.py
index 046a4a6..9e2ba0c 100755
--- a/Wrappers/Python/ccpi/optimisation/functions/ScaledFunction.py
+++ b/Wrappers/Python/ccpi/optimisation/functions/ScaledFunction.py
@@ -61,7 +61,9 @@ class ScaledFunction(object):
if out is None:
return self.scalar * self.function.proximal_conjugate(x/self.scalar, tau/self.scalar)
else:
- out.fill(self.scalar * self.function.proximal_conjugate(x/self.scalar, tau/self.scalar))
+ out.fill(self.scalar*self.function.proximal_conjugate(x/self.scalar, tau/self.scalar))
+ #self.function.proximal_conjugate(x/self.scalar, tau/self.scalar, out=out)
+ #out *= self.scalar
def grad(self, x):
'''Alias of gradient(x,None)'''