[yt-svn] commit/yt: 5 new changesets
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Wed Aug 3 09:28:40 PDT 2016
5 new commits in yt:
https://bitbucket.org/yt_analysis/yt/commits/c135ba0377b2/
Changeset: c135ba0377b2
Branch: yt
User: ngoldbaum
Date: 2016-07-26 17:20:33+00:00
Summary: Minor pep8/whitespace cleanup
Affected #: 1 file
diff -r 80f91744cb678e17ec365b1dc7ed366aedc440f1 -r c135ba0377b2dabffddede39304e38c0e7f84469 yt/visualization/plot_modifications.py
--- a/yt/visualization/plot_modifications.py
+++ b/yt/visualization/plot_modifications.py
@@ -2504,13 +2504,13 @@
line_width=self.line_width).transpose()
# New image:
im_buffer = np.zeros((nx, ny, 4), dtype="uint8")
- im_buffer[im>0,3] = 255
- im_buffer[im>0,:3] = self.color
+ im_buffer[im > 0, 3] = 255
+ im_buffer[im > 0, :3] = self.color
plot._axes.imshow(im_buffer, origin='lower',
interpolation='nearest',
- extent = [xx0, xx1, yy0, yy1],
- alpha = self.alpha)
- plot._axes.set_xlim(xx0,xx1)
- plot._axes.set_ylim(yy0,yy1)
+ extent=[xx0, xx1, yy0, yy1],
+ alpha=self.alpha)
+ plot._axes.set_xlim(xx0, xx1)
+ plot._axes.set_ylim(yy0, yy1)
plot._axes.hold(False)
https://bitbucket.org/yt_analysis/yt/commits/398f8ccf695b/
Changeset: 398f8ccf695b
Branch: yt
User: ngoldbaum
Date: 2016-07-26 17:21:31+00:00
Summary: Make the cell_edges callback more visually appealing for non-square axis ratios
Affected #: 1 file
diff -r c135ba0377b2dabffddede39304e38c0e7f84469 -r 398f8ccf695bafcf68439a46c3fc63da148812b9 yt/visualization/plot_modifications.py
--- a/yt/visualization/plot_modifications.py
+++ b/yt/visualization/plot_modifications.py
@@ -2494,6 +2494,17 @@
plot._axes.hold(True)
nx = plot.image._A.shape[0]
ny = plot.image._A.shape[1]
+ aspect = float((y1 - y0) / (x1 - x0))
+ pixel_aspect = float(ny)/nx
+ relative_aspect = pixel_aspect / aspect
+ if relative_aspect > 1:
+ nx = int(nx/relative_aspect)
+ else:
+ ny = int(ny*relative_aspect)
+ if aspect > 1:
+ long_axis = ny
+ else:
+ long_axis = nx
im = pixelize_cartesian(plot.data['px'],
plot.data['py'],
plot.data['pdx'],
@@ -2507,10 +2518,9 @@
im_buffer[im > 0, 3] = 255
im_buffer[im > 0, :3] = self.color
plot._axes.imshow(im_buffer, origin='lower',
- interpolation='nearest',
+ interpolation='bilinear',
extent=[xx0, xx1, yy0, yy1],
alpha=self.alpha)
plot._axes.set_xlim(xx0, xx1)
plot._axes.set_ylim(yy0, yy1)
plot._axes.hold(False)
-
https://bitbucket.org/yt_analysis/yt/commits/bc72a3e935df/
Changeset: bc72a3e935df
Branch: yt
User: ngoldbaum
Date: 2016-07-26 17:22:15+00:00
Summary: Change the meaning of the 'color' and 'line_width' keyword arguments for the cell_edgs callback
color can now be a matplotlib color code, this is a backward compatible change.
line_width is now specified relative to the size of the longest plot axis (with
a minimum of 1 pixel), which makes the rendering appear identical as one goes
to high resolution.
Affected #: 2 files
diff -r 398f8ccf695bafcf68439a46c3fc63da148812b9 -r bc72a3e935dfc63ca2169f65d206aff1cf152e97 doc/source/visualizing/callbacks.rst
--- a/doc/source/visualizing/callbacks.rst
+++ b/doc/source/visualizing/callbacks.rst
@@ -278,17 +278,17 @@
Overplot Cell Edges
~~~~~~~~~~~~~~~~~~~
-.. function:: annotate_cell_edges(line_width=1.0, alpha = 1.0,
- color = (0.0, 0.0, 0.0))
+.. function:: annotate_cell_edges(line_width=0.005, alpha=1.0, color='black')
(This is a proxy for
:class:`~yt.visualization.plot_modifications.CellEdgesCallback`.)
- Annotate the edges of cells, where the ``line_width`` in pixels is specified.
- The ``alpha`` of the overlaid image and the ``color`` of the lines are also
- specifiable. Note that because the lines are drawn from both sides of a
- cell, the image sometimes has the effect of doubling the line width.
- Color here is in RGB float values (0 to 1).
+ Annotate the edges of cells, where the ``line_width`` relative to size of
+ the longest plot axis is specified. The ``alpha`` of the overlaid image and
+ the ``color`` of the lines are also specifiable. Note that because the
+ lines are drawn from both sides of a cell, the image sometimes has the
+ effect of doubling the line width. Color here is a matplotlib color name or
+ a 3-tuple of RGB float values.
.. python-script::
diff -r 398f8ccf695bafcf68439a46c3fc63da148812b9 -r bc72a3e935dfc63ca2169f65d206aff1cf152e97 yt/visualization/plot_modifications.py
--- a/yt/visualization/plot_modifications.py
+++ b/yt/visualization/plot_modifications.py
@@ -2451,7 +2451,7 @@
class CellEdgesCallback(PlotCallback):
"""
- annotate_cell_edges(line_width=1.0, alpha = 1.0, color = (0.0, 0.0, 0.0))
+ annotate_cell_edges(line_width=0.005, alpha = 1.0, color = 'black')
Annotate cell edges. This is done through a second call to pixelize, where
the distance from a pixel to a cell boundary in pixels is compared against
@@ -2461,12 +2461,13 @@
Parameters
----------
line_width : float
- Distance, in pixels, from a cell edge that will mark a pixel as being
- annotated as a cell edge. Default is 1.0.
+ The width of the cell edge lines in normalized units relative to the
+ size of the longest axis. Default is 1% of the size of the smallest
+ axis.
alpha : float
When the second image is overlaid, it will have this level of alpha
transparency. Default is 1.0 (fully-opaque).
- color : tuple of three floats
+ color : tuple of three floats or matplotlib color name
This is the color of the cell edge values. It defaults to black.
Examples
@@ -2480,11 +2481,13 @@
"""
_type_name = "cell_edges"
_supported_geometries = ("cartesian", "spectral_cube")
- def __init__(self, line_width=1.0, alpha = 1.0, color=(0.0, 0.0, 0.0)):
+ def __init__(self, line_width=0.005, alpha = 1.0, color='black'):
+ from matplotlib.colors import ColorConverter
+ conv = ColorConverter()
PlotCallback.__init__(self)
self.line_width = line_width
self.alpha = alpha
- self.color = (np.array(color) * 255).astype("uint8")
+ self.color = (np.array(conv.to_rgb(color)) * 255).astype("uint8")
def __call__(self, plot):
x0, x1 = plot.xlim
@@ -2505,6 +2508,7 @@
long_axis = ny
else:
long_axis = nx
+ line_width = max(self.line_width*long_axis, 1.0)
im = pixelize_cartesian(plot.data['px'],
plot.data['py'],
plot.data['pdx'],
@@ -2512,7 +2516,7 @@
plot.data['px'], # dummy field
int(nx), int(ny),
(x0, x1, y0, y1),
- line_width=self.line_width).transpose()
+ line_width=line_width).transpose()
# New image:
im_buffer = np.zeros((nx, ny, 4), dtype="uint8")
im_buffer[im > 0, 3] = 255
https://bitbucket.org/yt_analysis/yt/commits/c87900d55892/
Changeset: c87900d55892
Branch: yt
User: ngoldbaum
Date: 2016-07-26 20:00:40+00:00
Summary: Use a minimum of 1600 pixels along the long axis
Affected #: 2 files
diff -r bc72a3e935dfc63ca2169f65d206aff1cf152e97 -r c87900d558924054de1a9c24763a562cbe761b24 doc/source/visualizing/callbacks.rst
--- a/doc/source/visualizing/callbacks.rst
+++ b/doc/source/visualizing/callbacks.rst
@@ -278,7 +278,7 @@
Overplot Cell Edges
~~~~~~~~~~~~~~~~~~~
-.. function:: annotate_cell_edges(line_width=0.005, alpha=1.0, color='black')
+.. function:: annotate_cell_edges(line_width=0.002, alpha=1.0, color='black')
(This is a proxy for
:class:`~yt.visualization.plot_modifications.CellEdgesCallback`.)
diff -r bc72a3e935dfc63ca2169f65d206aff1cf152e97 -r c87900d558924054de1a9c24763a562cbe761b24 yt/visualization/plot_modifications.py
--- a/yt/visualization/plot_modifications.py
+++ b/yt/visualization/plot_modifications.py
@@ -2451,7 +2451,7 @@
class CellEdgesCallback(PlotCallback):
"""
- annotate_cell_edges(line_width=0.005, alpha = 1.0, color = 'black')
+ annotate_cell_edges(line_width=0.002, alpha = 1.0, color = 'black')
Annotate cell edges. This is done through a second call to pixelize, where
the distance from a pixel to a cell boundary in pixels is compared against
@@ -2481,7 +2481,7 @@
"""
_type_name = "cell_edges"
_supported_geometries = ("cartesian", "spectral_cube")
- def __init__(self, line_width=0.005, alpha = 1.0, color='black'):
+ def __init__(self, line_width=0.002, alpha = 1.0, color='black'):
from matplotlib.colors import ColorConverter
conv = ColorConverter()
PlotCallback.__init__(self)
@@ -2505,8 +2505,14 @@
else:
ny = int(ny*relative_aspect)
if aspect > 1:
+ if nx < 1600:
+ nx = int(1600./nx*ny)
+ ny = 1600
long_axis = ny
else:
+ if ny < 1600:
+ nx = int(1600./ny*nx)
+ ny = 1600
long_axis = nx
line_width = max(self.line_width*long_axis, 1.0)
im = pixelize_cartesian(plot.data['px'],
https://bitbucket.org/yt_analysis/yt/commits/69a338edb13e/
Changeset: 69a338edb13e
Branch: yt
User: xarthisius
Date: 2016-08-03 16:27:56+00:00
Summary: Merged in ngoldbaum/yt (pull request #2307)
[backward incompatible change] annotate_cell_edges improvements. Closes #1249. Closes #1250
Affected #: 2 files
diff -r fb82173a327964238da127db05ea1af176616f8f -r 69a338edb13e0241936fec3c26a25982de325653 doc/source/visualizing/callbacks.rst
--- a/doc/source/visualizing/callbacks.rst
+++ b/doc/source/visualizing/callbacks.rst
@@ -278,17 +278,17 @@
Overplot Cell Edges
~~~~~~~~~~~~~~~~~~~
-.. function:: annotate_cell_edges(line_width=1.0, alpha = 1.0,
- color = (0.0, 0.0, 0.0))
+.. function:: annotate_cell_edges(line_width=0.002, alpha=1.0, color='black')
(This is a proxy for
:class:`~yt.visualization.plot_modifications.CellEdgesCallback`.)
- Annotate the edges of cells, where the ``line_width`` in pixels is specified.
- The ``alpha`` of the overlaid image and the ``color`` of the lines are also
- specifiable. Note that because the lines are drawn from both sides of a
- cell, the image sometimes has the effect of doubling the line width.
- Color here is in RGB float values (0 to 1).
+ Annotate the edges of cells, where the ``line_width`` relative to size of
+ the longest plot axis is specified. The ``alpha`` of the overlaid image and
+ the ``color`` of the lines are also specifiable. Note that because the
+ lines are drawn from both sides of a cell, the image sometimes has the
+ effect of doubling the line width. Color here is a matplotlib color name or
+ a 3-tuple of RGB float values.
.. python-script::
diff -r fb82173a327964238da127db05ea1af176616f8f -r 69a338edb13e0241936fec3c26a25982de325653 yt/visualization/plot_modifications.py
--- a/yt/visualization/plot_modifications.py
+++ b/yt/visualization/plot_modifications.py
@@ -2451,7 +2451,7 @@
class CellEdgesCallback(PlotCallback):
"""
- annotate_cell_edges(line_width=1.0, alpha = 1.0, color = (0.0, 0.0, 0.0))
+ annotate_cell_edges(line_width=0.002, alpha = 1.0, color = 'black')
Annotate cell edges. This is done through a second call to pixelize, where
the distance from a pixel to a cell boundary in pixels is compared against
@@ -2461,12 +2461,13 @@
Parameters
----------
line_width : float
- Distance, in pixels, from a cell edge that will mark a pixel as being
- annotated as a cell edge. Default is 1.0.
+ The width of the cell edge lines in normalized units relative to the
+ size of the longest axis. Default is 1% of the size of the smallest
+ axis.
alpha : float
When the second image is overlaid, it will have this level of alpha
transparency. Default is 1.0 (fully-opaque).
- color : tuple of three floats
+ color : tuple of three floats or matplotlib color name
This is the color of the cell edge values. It defaults to black.
Examples
@@ -2480,11 +2481,13 @@
"""
_type_name = "cell_edges"
_supported_geometries = ("cartesian", "spectral_cube")
- def __init__(self, line_width=1.0, alpha = 1.0, color=(0.0, 0.0, 0.0)):
+ def __init__(self, line_width=0.002, alpha = 1.0, color='black'):
+ from matplotlib.colors import ColorConverter
+ conv = ColorConverter()
PlotCallback.__init__(self)
self.line_width = line_width
self.alpha = alpha
- self.color = (np.array(color) * 255).astype("uint8")
+ self.color = (np.array(conv.to_rgb(color)) * 255).astype("uint8")
def __call__(self, plot):
x0, x1 = plot.xlim
@@ -2494,6 +2497,24 @@
plot._axes.hold(True)
nx = plot.image._A.shape[0]
ny = plot.image._A.shape[1]
+ aspect = float((y1 - y0) / (x1 - x0))
+ pixel_aspect = float(ny)/nx
+ relative_aspect = pixel_aspect / aspect
+ if relative_aspect > 1:
+ nx = int(nx/relative_aspect)
+ else:
+ ny = int(ny*relative_aspect)
+ if aspect > 1:
+ if nx < 1600:
+ nx = int(1600./nx*ny)
+ ny = 1600
+ long_axis = ny
+ else:
+ if ny < 1600:
+ nx = int(1600./ny*nx)
+ ny = 1600
+ long_axis = nx
+ line_width = max(self.line_width*long_axis, 1.0)
im = pixelize_cartesian(plot.data['px'],
plot.data['py'],
plot.data['pdx'],
@@ -2501,16 +2522,15 @@
plot.data['px'], # dummy field
int(nx), int(ny),
(x0, x1, y0, y1),
- line_width=self.line_width).transpose()
+ line_width=line_width).transpose()
# New image:
im_buffer = np.zeros((nx, ny, 4), dtype="uint8")
- im_buffer[im>0,3] = 255
- im_buffer[im>0,:3] = self.color
+ im_buffer[im > 0, 3] = 255
+ im_buffer[im > 0, :3] = self.color
plot._axes.imshow(im_buffer, origin='lower',
- interpolation='nearest',
- extent = [xx0, xx1, yy0, yy1],
- alpha = self.alpha)
- plot._axes.set_xlim(xx0,xx1)
- plot._axes.set_ylim(yy0,yy1)
+ interpolation='bilinear',
+ extent=[xx0, xx1, yy0, yy1],
+ alpha=self.alpha)
+ plot._axes.set_xlim(xx0, xx1)
+ plot._axes.set_ylim(yy0, yy1)
plot._axes.hold(False)
-
Repository URL: https://bitbucket.org/yt_analysis/yt/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
More information about the yt-svn
mailing list