[yt-svn] commit/yt: 5 new changesets
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Thu Mar 30 06:38:01 PDT 2017
5 new commits in yt:
https://bitbucket.org/yt_analysis/yt/commits/215d35dcf2f8/
Changeset: 215d35dcf2f8
Branch: yt
User: ngoldbaum
Date: 2017-03-28 13:56:21+00:00
Summary: Allow negative data in ParticleProfile. Closes #1340
Affected #: 1 file
diff -r e265191afc164152ef482e861826d6dc877e6893 -r 215d35dcf2f81a21fa51b5088fdbad45c3b1b78e yt/data_objects/profiles.py
--- a/yt/data_objects/profiles.py
+++ b/yt/data_objects/profiles.py
@@ -708,7 +708,7 @@
self.GridDimensions,
cell_size)
- locs = storage.values[:, :, fi] > 0.0
+ locs = storage.values[:, :, fi] != 0.0
storage.used[locs] = True
if self.weight_field is not None:
https://bitbucket.org/yt_analysis/yt/commits/4411732d9bf6/
Changeset: 4411732d9bf6
Branch: yt
User: jisuoqing
Date: 2017-03-28 20:52:34+00:00
Summary: Remove values in no-particle region
Affected #: 2 files
diff -r 215d35dcf2f81a21fa51b5088fdbad45c3b1b78e -r 4411732d9bf6af91f9ed2570814131f5aa7ccbc1 yt/utilities/lib/image_utilities.pyx
--- a/yt/utilities/lib/image_utilities.pyx
+++ b/yt/utilities/lib/image_utilities.pyx
@@ -17,6 +17,7 @@
def add_points_to_greyscale_image(
np.ndarray[np.float64_t, ndim=2] buffer,
+ np.ndarray[np.int_t, ndim=2] buffer_mask,
np.ndarray[np.float64_t, ndim=1] px,
np.ndarray[np.float64_t, ndim=1] py,
np.ndarray[np.float64_t, ndim=1] pv):
@@ -28,6 +29,7 @@
j = <int> (xs * px[pi])
i = <int> (ys * py[pi])
buffer[i, j] += pv[pi]
+ buffer_mask[i, j] = 1
return
def add_points_to_image(
diff -r 215d35dcf2f81a21fa51b5088fdbad45c3b1b78e -r 4411732d9bf6af91f9ed2570814131f5aa7ccbc1 yt/visualization/fixed_resolution.py
--- a/yt/visualization/fixed_resolution.py
+++ b/yt/visualization/fixed_resolution.py
@@ -648,24 +648,31 @@
# splat particles
buff = np.zeros(self.buff_size)
+ buff_mask = np.zeros(self.buff_size).astype('int')
add_points_to_greyscale_image(buff,
+ buff_mask,
px[mask],
py[mask],
splat_vals)
+ # remove values in no-particle region
+ buff[buff_mask==0] = np.nan
ia = ImageArray(buff, input_units=data.units,
info=self._get_info(item))
# divide by the weight_field, if needed
if weight_field is not None:
weight_buff = np.zeros(self.buff_size)
+ weight_buff_mask = np.zeros(self.buff_size).astype('int')
add_points_to_greyscale_image(weight_buff,
+ weight_buff_mask,
px[mask],
py[mask],
weight_data[mask])
weight_array = ImageArray(weight_buff,
input_units=weight_data.units,
info=self._get_info(item))
-
+ # remove values in no-particle region
+ weight_buff[weight_buff_mask==0] = np.nan
locs = np.where(weight_array > 0)
ia[locs] /= weight_array[locs]
https://bitbucket.org/yt_analysis/yt/commits/1b3bd13d7c64/
Changeset: 1b3bd13d7c64
Branch: yt
User: ngoldbaum
Date: 2017-03-28 22:43:52+00:00
Summary: update plotwindow test answers
Affected #: 1 file
diff -r 4411732d9bf6af91f9ed2570814131f5aa7ccbc1 -r 1b3bd13d7c64d75740f1b38fe762c3f0fd7fa545 tests/tests.yaml
--- a/tests/tests.yaml
+++ b/tests/tests.yaml
@@ -42,7 +42,7 @@
local_owls_001:
- yt/frontends/owls/tests/test_outputs.py
- local_pw_012:
+ local_pw_013:
- yt/visualization/tests/test_plotwindow.py:test_attributes
- yt/visualization/tests/test_plotwindow.py:test_attributes_wt
- yt/visualization/tests/test_profile_plots.py:test_phase_plot_attributes
https://bitbucket.org/yt_analysis/yt/commits/a980a44e66ae/
Changeset: a980a44e66ae
Branch: yt
User: ngoldbaum
Date: 2017-03-28 22:48:06+00:00
Summary: add a test for negative field particle profiles
Affected #: 1 file
diff -r 1b3bd13d7c64d75740f1b38fe762c3f0fd7fa545 -r a980a44e66ae1769b423d92044d005f7f3f158f7 yt/data_objects/tests/test_profiles.py
--- a/yt/data_objects/tests/test_profiles.py
+++ b/yt/data_objects/tests/test_profiles.py
@@ -1,3 +1,4 @@
+import yt
import numpy as np
from yt.data_objects.profiles import \
@@ -195,3 +196,28 @@
assert_raises(
YTIllDefinedProfile, PhasePlot, ad, 'particle_radius', 'particle_mass',
'particle_ones')
+
+def test_particle_profile_negative_field():
+ # see Issue #1340
+ n_particles = int(1e4)
+
+ ppx, ppy, ppz = np.random.normal(size=[3, n_particles])
+ pvx, pvy, pvz = - np.ones((3, n_particles))
+
+ data = {'particle_position_x': ppx,
+ 'particle_position_y': ppy,
+ 'particle_position_z': ppz,
+ 'particle_velocity_x': pvx,
+ 'particle_velocity_y': pvy,
+ 'particle_velocity_z': pvz}
+
+ bbox = 1.1*np.array([[min(ppx), max(ppx)], [min(ppy), max(ppy)], [min(ppz), max(ppz)]])
+ ds = yt.load_particles(data, bbox=bbox)
+ ad = ds.all_data()
+
+ profile = yt.create_profile(
+ ad,
+ ["particle_position_x", "particle_position_y"],
+ "particle_velocity_x",
+ weight_field=None)
+ assert profile['particle_velocity_x'].min() < 0
https://bitbucket.org/yt_analysis/yt/commits/3fee41c2ea35/
Changeset: 3fee41c2ea35
Branch: yt
User: xarthisius
Date: 2017-03-30 13:37:52+00:00
Summary: Merged in ngoldbaum/yt (pull request #2564)
Allow negative data in ParticleProfile. Closes #1340
Approved-by: Andrew Myers <atmyers2 at gmail.com>
Approved-by: Suoqing Ji <jisuoqing at gmail.com>
Approved-by: Kacper Kowalik <xarthisius.kk at gmail.com>
Affected #: 5 files
diff -r dc14ea0fd19f7bff66c111f5d274b14a5d869188 -r 3fee41c2ea35fbe17c97ba1dc286d6e71f088716 tests/tests.yaml
--- a/tests/tests.yaml
+++ b/tests/tests.yaml
@@ -42,7 +42,7 @@
local_owls_001:
- yt/frontends/owls/tests/test_outputs.py
- local_pw_012:
+ local_pw_013:
- yt/visualization/tests/test_plotwindow.py:test_attributes
- yt/visualization/tests/test_plotwindow.py:test_attributes_wt
- yt/visualization/tests/test_profile_plots.py:test_phase_plot_attributes
diff -r dc14ea0fd19f7bff66c111f5d274b14a5d869188 -r 3fee41c2ea35fbe17c97ba1dc286d6e71f088716 yt/data_objects/profiles.py
--- a/yt/data_objects/profiles.py
+++ b/yt/data_objects/profiles.py
@@ -708,7 +708,7 @@
self.GridDimensions,
cell_size)
- locs = storage.values[:, :, fi] > 0.0
+ locs = storage.values[:, :, fi] != 0.0
storage.used[locs] = True
if self.weight_field is not None:
diff -r dc14ea0fd19f7bff66c111f5d274b14a5d869188 -r 3fee41c2ea35fbe17c97ba1dc286d6e71f088716 yt/data_objects/tests/test_profiles.py
--- a/yt/data_objects/tests/test_profiles.py
+++ b/yt/data_objects/tests/test_profiles.py
@@ -1,3 +1,4 @@
+import yt
import numpy as np
from yt.data_objects.profiles import \
@@ -195,3 +196,28 @@
assert_raises(
YTIllDefinedProfile, PhasePlot, ad, 'particle_radius', 'particle_mass',
'particle_ones')
+
+def test_particle_profile_negative_field():
+ # see Issue #1340
+ n_particles = int(1e4)
+
+ ppx, ppy, ppz = np.random.normal(size=[3, n_particles])
+ pvx, pvy, pvz = - np.ones((3, n_particles))
+
+ data = {'particle_position_x': ppx,
+ 'particle_position_y': ppy,
+ 'particle_position_z': ppz,
+ 'particle_velocity_x': pvx,
+ 'particle_velocity_y': pvy,
+ 'particle_velocity_z': pvz}
+
+ bbox = 1.1*np.array([[min(ppx), max(ppx)], [min(ppy), max(ppy)], [min(ppz), max(ppz)]])
+ ds = yt.load_particles(data, bbox=bbox)
+ ad = ds.all_data()
+
+ profile = yt.create_profile(
+ ad,
+ ["particle_position_x", "particle_position_y"],
+ "particle_velocity_x",
+ weight_field=None)
+ assert profile['particle_velocity_x'].min() < 0
diff -r dc14ea0fd19f7bff66c111f5d274b14a5d869188 -r 3fee41c2ea35fbe17c97ba1dc286d6e71f088716 yt/utilities/lib/image_utilities.pyx
--- a/yt/utilities/lib/image_utilities.pyx
+++ b/yt/utilities/lib/image_utilities.pyx
@@ -17,6 +17,7 @@
def add_points_to_greyscale_image(
np.ndarray[np.float64_t, ndim=2] buffer,
+ np.ndarray[np.int_t, ndim=2] buffer_mask,
np.ndarray[np.float64_t, ndim=1] px,
np.ndarray[np.float64_t, ndim=1] py,
np.ndarray[np.float64_t, ndim=1] pv):
@@ -28,6 +29,7 @@
j = <int> (xs * px[pi])
i = <int> (ys * py[pi])
buffer[i, j] += pv[pi]
+ buffer_mask[i, j] = 1
return
def add_points_to_image(
diff -r dc14ea0fd19f7bff66c111f5d274b14a5d869188 -r 3fee41c2ea35fbe17c97ba1dc286d6e71f088716 yt/visualization/fixed_resolution.py
--- a/yt/visualization/fixed_resolution.py
+++ b/yt/visualization/fixed_resolution.py
@@ -648,24 +648,31 @@
# splat particles
buff = np.zeros(self.buff_size)
+ buff_mask = np.zeros(self.buff_size).astype('int')
add_points_to_greyscale_image(buff,
+ buff_mask,
px[mask],
py[mask],
splat_vals)
+ # remove values in no-particle region
+ buff[buff_mask==0] = np.nan
ia = ImageArray(buff, input_units=data.units,
info=self._get_info(item))
# divide by the weight_field, if needed
if weight_field is not None:
weight_buff = np.zeros(self.buff_size)
+ weight_buff_mask = np.zeros(self.buff_size).astype('int')
add_points_to_greyscale_image(weight_buff,
+ weight_buff_mask,
px[mask],
py[mask],
weight_data[mask])
weight_array = ImageArray(weight_buff,
input_units=weight_data.units,
info=self._get_info(item))
-
+ # remove values in no-particle region
+ weight_buff[weight_buff_mask==0] = np.nan
locs = np.where(weight_array > 0)
ia[locs] /= weight_array[locs]
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