Skip to content

Commit 52f739d

Browse files
author
Eric Culbertson
committed
added tile show method
Signed-off-by: Eric Culbertson <[email protected]>
1 parent 80f64df commit 52f739d

File tree

2 files changed

+28
-12
lines changed

2 files changed

+28
-12
lines changed

pyrasterframes/src/main/python/pyrasterframes/rf_ipython.py

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,7 @@ def tile_to_png(tile, lower_percentile=1, upper_percentile=99, title=None, fig_s
4040
canvas = FigureCanvas(fig)
4141
axis = fig.add_subplot(1, 1, 1)
4242

43-
arr = tile.cells
44-
45-
def normalize_cells(cells, lower_percentile=lower_percentile, upper_percentile=upper_percentile):
46-
assert upper_percentile > lower_percentile, 'invalid upper and lower percentiles'
47-
lower = np.percentile(cells, lower_percentile)
48-
upper = np.percentile(cells, upper_percentile)
49-
cells = np.clip(cells, lower, upper)
50-
return (cells - lower) / (upper - lower)
51-
52-
axis.imshow(normalize_cells(arr))
43+
tile.show(lower_percentile, upper_percentile, axis=axis)
5344
axis.set_aspect('equal')
5445
axis.xaxis.set_ticks([])
5546
axis.yaxis.set_ticks([])
@@ -69,7 +60,7 @@ def tile_to_html(tile, fig_size=None):
6960
""" Provide HTML string representation of Tile image."""
7061
import base64
7162
b64_img_html = '<img src="data:image/png;base64,{}" />'
72-
png_bits = tile_to_png(tile, fig_size)
63+
png_bits = tile_to_png(tile, fig_size=fig_size)
7364
b64_png = base64.b64encode(png_bits).decode('utf-8').replace('\n', '')
7465
return b64_img_html.format(b64_png)
7566

pyrasterframes/src/main/python/pyrasterframes/rf_types.py

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,12 +358,37 @@ def dimensions(self):
358358
""" Return a list of cols, rows as is conventional in GeoTrellis and RasterFrames."""
359359
return [self.cells.shape[1], self.cells.shape[0]]
360360

361-
362361
def _repr_png_(self):
363362
"""Provide default PNG rendering in IPython and Jupyter"""
364363
from pyrasterframes.rf_ipython import tile_to_png
365364
return tile_to_png(self)
366365

366+
def show(self, lower_percentile=1, upper_percentile=99, axis=None):
367+
""""""
368+
369+
if axis is None:
370+
import matplotlib.pyplot as plt
371+
axis = plt.gca()
372+
373+
arr = self.cells
374+
375+
def normalize_cells(cells, lower_percentile=lower_percentile, upper_percentile=upper_percentile):
376+
assert upper_percentile > lower_percentile, 'invalid upper and lower percentiles'
377+
lower = np.percentile(cells, lower_percentile)
378+
upper = np.percentile(cells, upper_percentile)
379+
cells_clipped = np.clip(cells, lower, upper)
380+
return (cells_clipped - lower) / (upper - lower)
381+
382+
axis.set_aspect('equal')
383+
axis.xaxis.set_ticks([])
384+
axis.yaxis.set_ticks([])
385+
386+
axis.imshow(normalize_cells(arr))
387+
388+
return axis
389+
390+
391+
367392

368393
class TileUDT(UserDefinedType):
369394
@classmethod

0 commit comments

Comments
 (0)