summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormathieu <mathieu.carriere3@gmail.com>2019-12-11 13:50:21 -0500
committermathieu <mathieu.carriere3@gmail.com>2019-12-11 13:50:21 -0500
commit363ae171ee7f45cf11d01653e4d4e9580117cfd0 (patch)
tree8a7a9f978dfc4c526034aa32753dba6dfdcfa926 /src
parent682f8c8cb18ba898a3d23a82fff454e862541aed (diff)
fixed landscape
Diffstat (limited to 'src')
-rwxr-xr-xsrc/python/example/diagram_vectorizations_distances_kernels.py6
-rw-r--r--src/python/gudhi/representations/vector_methods.py14
2 files changed, 10 insertions, 10 deletions
diff --git a/src/python/example/diagram_vectorizations_distances_kernels.py b/src/python/example/diagram_vectorizations_distances_kernels.py
index 0ea4ba79..119072eb 100755
--- a/src/python/example/diagram_vectorizations_distances_kernels.py
+++ b/src/python/example/diagram_vectorizations_distances_kernels.py
@@ -26,9 +26,9 @@ plt.show()
LS = Landscape(resolution=1000)
L = LS.fit_transform(diags)
-plt.plot(L[0][:998])
-plt.plot(L[0][998:2*998])
-plt.plot(L[0][2*998:3*998])
+plt.plot(L[0][:1000])
+plt.plot(L[0][1000:2000])
+plt.plot(L[0][2000:3000])
plt.title("Landscape")
plt.show()
diff --git a/src/python/gudhi/representations/vector_methods.py b/src/python/gudhi/representations/vector_methods.py
index 083551a4..cd532275 100644
--- a/src/python/gudhi/representations/vector_methods.py
+++ b/src/python/gudhi/representations/vector_methods.py
@@ -129,19 +129,19 @@ class Landscape(BaseEstimator, TransformerMixin):
diagram, num_pts_in_diag = X[i], X[i].shape[0]
- ls = np.zeros([self.num_landscapes, self.resolution])
+ ls = np.zeros([self.num_landscapes, self.resolution + self.nan_in_range.sum()])
events = []
- for j in range(self.resolution):
+ for j in range(self.resolution + self.nan_in_range.sum()):
events.append([])
for j in range(num_pts_in_diag):
[px,py] = diagram[j,:2]
- min_idx = np.clip(np.ceil((px - self.sample_range[0]) / step_x).astype(int), 0, self.resolution)
- mid_idx = np.clip(np.ceil((0.5*(py+px) - self.sample_range[0]) / step_x).astype(int), 0, self.resolution)
- max_idx = np.clip(np.ceil((py - self.sample_range[0]) / step_x).astype(int), 0, self.resolution)
+ min_idx = np.clip(np.ceil((px - self.sample_range[0]) / step_x).astype(int), 0, self.resolution + self.nan_in_range.sum())
+ mid_idx = np.clip(np.ceil((0.5*(py+px) - self.sample_range[0]) / step_x).astype(int), 0, self.resolution + self.nan_in_range.sum())
+ max_idx = np.clip(np.ceil((py - self.sample_range[0]) / step_x).astype(int), 0, self.resolution + self.nan_in_range.sum())
- if min_idx < self.resolution and max_idx > 0:
+ if min_idx < self.resolution + self.nan_in_range.sum() and max_idx > 0:
landscape_value = self.sample_range[0] + min_idx * step_x - px
for k in range(min_idx, mid_idx):
@@ -153,7 +153,7 @@ class Landscape(BaseEstimator, TransformerMixin):
events[k].append(landscape_value)
landscape_value -= step_x
- for j in range(self.resolution):
+ for j in range(self.resolution + self.nan_in_range.sum()):
events[j].sort(reverse=True)
for k in range( min(self.num_landscapes, len(events[j])) ):
ls[k,j] = events[j][k]