From d24cc30bd0e552747768428fc3ac655e38b88d4e Mon Sep 17 00:00:00 2001
From: Martin Reinecke <martin@mpa-garching.mpg.de>
Date: Mon, 2 Jul 2018 14:40:45 +0200
Subject: [PATCH] more MPI fixes

---
 demos/getting_started_1.py      |  2 +-
 nifty5/library/point_sources.py | 22 +++++++++++-----------
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/demos/getting_started_1.py b/demos/getting_started_1.py
index 54399816f..fa3e88469 100644
--- a/demos/getting_started_1.py
+++ b/demos/getting_started_1.py
@@ -14,7 +14,7 @@ def make_chess_mask():
 def make_random_mask():
     mask = ift.from_random('pm1', position_space)
     mask = (mask+1)/2
-    return mask.val
+    return mask.to_global_data()
 
 
 if __name__ == '__main__':
diff --git a/nifty5/library/point_sources.py b/nifty5/library/point_sources.py
index eb7e4325a..9e97ca502 100644
--- a/nifty5/library/point_sources.py
+++ b/nifty5/library/point_sources.py
@@ -21,40 +21,40 @@ class PointSources(Model):
     @property
     @memo
     def value(self):
-        points = self.position['points'].to_global_data()
+        points = self.position['points'].local_data
         points = np.clip(points, None, 8.2)
-        points = Field(self.position['points'].domain, points)
+        points = Field.from_local_data(self.position['points'].domain, points)
         return self.IG(points, self._alpha, self._q)
 
     @property
     @memo
     def gradient(self):
-        u = self.position['points']
-        inner = norm.pdf(u.val)
-        outer_inv = invgamma.pdf(invgamma.ppf(norm.cdf(u.val),
+        u = self.position['points'].local_data
+        inner = norm.pdf(u)
+        outer_inv = invgamma.pdf(invgamma.ppf(norm.cdf(u),
                                               self._alpha,
                                               scale=self._q),
                                  self._alpha, scale=self._q)
         # FIXME
         outer_inv = np.clip(outer_inv, 1e-20, None)
         outer = 1/outer_inv
-        grad = Field(u.domain, val=inner*outer)
+        grad = Field.from_local_data(u.domain, inner*outer)
         grad = makeOp(MultiField({'points': grad}))
         return SelectionOperator(grad.target, 'points')*grad
 
     @staticmethod
     def IG(field, alpha, q):
-        foo = invgamma.ppf(norm.cdf(field.val), alpha, scale=q)
-        return Field(field.domain, val=foo)
+        foo = invgamma.ppf(norm.cdf(field.local_data), alpha, scale=q)
+        return Field.from_local_data(field.domain, foo)
 
     @staticmethod
     def IG_prime(field, alpha, q):
-        inner = norm.pdf(field.val)
-        outer = invgamma.pdf(invgamma.ppf(norm.cdf(field.val), alpha, scale=q), alpha, scale=q)
+        inner = norm.pdf(field.local_data)
+        outer = invgamma.pdf(invgamma.ppf(norm.cdf(field.local_data), alpha, scale=q), alpha, scale=q)
         # # FIXME
         # outer = np.clip(outer, 1e-20, None)
         outer = 1/outer
-        return Field(field.domain, val=inner*outer)
+        return Field.from_local_data(field.domain, inner*outer)
 
     @staticmethod
     def inverseIG(u, alpha, q):
-- 
GitLab