From a7cd7dad756b69022efff13308b5acd8bf54c183 Mon Sep 17 00:00:00 2001 From: Skandan Chandrasekar <100642027+SkandanC@users.noreply.github.com> Date: Thu, 17 Nov 2022 15:04:01 -0500 Subject: [PATCH] Add plot3d function (#2305) * Update visualization.py * Update simulation.py * Add lighting * Update docs * Make skimage import backwards compatible * Add camera settings * Minor edits, and remove __main__ * Remove distance * Update prism_epsilon.png --- doc/docs/Python_Tutorials/Basics.md | 8 +- doc/docs/images/prism_epsilon.png | Bin 164005 -> 22593 bytes python/simulation.py | 17 ++- python/visualization.py | 182 +++++++++++++++++++++++++--- 4 files changed, 181 insertions(+), 26 deletions(-) diff --git a/doc/docs/Python_Tutorials/Basics.md b/doc/docs/Python_Tutorials/Basics.md index 0b6df296b..7a5e40de1 100644 --- a/doc/docs/Python_Tutorials/Basics.md +++ b/doc/docs/Python_Tutorials/Basics.md @@ -1192,13 +1192,7 @@ sim = mp.Simulation(resolution=50, cell_size=cell_size, geometry=geometry) -sim.init_sim() - -eps_data = sim.get_epsilon() - -from mayavi import mlab -s = mlab.contour3d(eps_data, colormap="YlGnBu") -mlab.show() +sim.plot3D() ``` ![](../images/prism_epsilon.png#center) diff --git a/doc/docs/images/prism_epsilon.png b/doc/docs/images/prism_epsilon.png index 2a3fbfe320a942b8c1fcc619a4e4560ae9f4b34a..0e85cb51f15b5100a98cb49ce81fcd1115cdc2ba 100644 GIT binary patch literal 22593 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 literal 164005 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 U1gBAn2>|+0l2endm9_}|e|GT<_5c6? diff --git a/python/simulation.py b/python/simulation.py index 9ad2be947..eb4894215 100644 --- a/python/simulation.py +++ b/python/simulation.py @@ -4811,14 +4811,25 @@ def plot_fields(self, **kwargs): return vis.plot_fields(self, **kwargs) - def plot3D(self): + def plot3D( + self, save_to_image: bool = False, image_name: str = "sim.png", **kwargs + ): """ - Uses Mayavi to render a 3D simulation domain. The simulation object must be 3D. + Uses vispy to render a 3D scene of the simulation object. The simulation object must be 3D. Can also be embedded in Jupyter notebooks. + + Args: + save_to_image: if True, saves the image to a file + image_name: the name of the image file to save to + + kwargs: Camera settings. + scale_factor: float, camera zoom factor + azimuth: float, azimuthal angle in degrees + elevation: float, elevation angle in degrees """ import meep.visualization as vis - return vis.plot3D(self) + return vis.plot3D(self, save_to_image, image_name, **kwargs) def visualize_chunks(self): """ diff --git a/python/visualization.py b/python/visualization.py index 8fe1ac21c..58d13e350 100644 --- a/python/visualization.py +++ b/python/visualization.py @@ -16,6 +16,7 @@ from matplotlib.figure import Figure from typing import Callable, Union, Any, Tuple, List, Optional + # ------------------------------------------------------- # # Visualization # ------------------------------------------------------- # @@ -398,7 +399,7 @@ def sort_points(xy): ax.plot( [a.y for a in intersection], [a.z for a in intersection], - **line_args + **line_args, ) return ax # Plot XZ @@ -406,7 +407,7 @@ def sort_points(xy): ax.plot( [a.x for a in intersection], [a.z for a in intersection], - **line_args + **line_args, ) return ax # Plot XY @@ -414,7 +415,7 @@ def sort_points(xy): ax.plot( [a.x for a in intersection], [a.y for a in intersection], - **line_args + **line_args, ) return ax else: @@ -988,27 +989,176 @@ def plot2D( return ax -def plot3D(sim: Simulation): - from mayavi import mlab +def plot3D(sim, save_to_image: bool = False, image_name: str = "sim.png", **kwargs): + from vispy.scene.visuals import Box, Mesh + from vispy.scene import SceneCanvas, transforms - if sim.dimensions < 3: - raise ValueError("Simulation must have 3 dimensions to visualize 3D") + try: + from skimage.measure import marching_cubes + except: + from skimage.measure import marching_cubes_lewiner as marching_cubes + from vispy.visuals.filters import ShadingFilter - xmin, xmax, ymin, ymax, zmin, zmax = box_vertices( - sim.geometry_center, sim.cell_size + # Set canvas + canvas = SceneCanvas(keys="interactive", bgcolor="white") + + view = canvas.central_widget.add_view() + view.camera = "turntable" + + # Get domain measurements + sim_center, sim_size = sim.geometry_center, sim.cell_size + + xmin, xmax, ymin, ymax, zmin, zmax = mp.visualization.box_vertices( + sim_center, sim_size, sim.is_cylindrical ) - Nx = int(sim.cell_size.x * sim.resolution) + 1 - Ny = int(sim.cell_size.y * sim.resolution) + 1 - Nz = int(sim.cell_size.z * sim.resolution) + 1 + grid_resolution = sim.resolution + + Nx = int((xmax - xmin) * grid_resolution + 1) + Ny = int((ymax - ymin) * grid_resolution + 1) + Nz = int((zmax - zmin) * grid_resolution + 1) xtics = np.linspace(xmin, xmax, Nx) ytics = np.linspace(ymin, ymax, Ny) ztics = np.linspace(zmin, zmax, Nz) - eps_data = sim.get_epsilon_grid(xtics, ytics, ztics) - s = mlab.contour3d(eps_data, colormap="YlGnBu") - return s + # Get eps for geometry + eps_data = np.round(np.real(sim.get_epsilon_grid(xtics, ytics, ztics)), 2) + + unique = np.unique(np.abs(eps_data)).tolist() + + # Remove background material + unique.remove(np.round(np.abs(np.asarray(sim.default_material.epsilon_diag)), 2)[0]) + + mesh_midpoint = (sim_size[0] / 2, sim_size[1] / 2, sim_size[2] / 2) + + light_dir = (0, 0, -1, 0) + + # Build geometry + for i, eps in enumerate(unique): + eps_ = np.array(eps_data.flatten() == eps).astype(int).reshape(eps_data.shape) + marching_cube = marching_cubes( + eps_, + 0.99, + spacing=(sim.cell_size.x / Nx, sim.cell_size.y / Ny, sim.cell_size.z / Nz), + ) + vertices, faces = marching_cube[0], marching_cube[1] + + mesh = Mesh( + vertices, + faces, + color=( + 1 - ((i + 1) / len(unique)), + 1 - ((i + 1) / len(unique)), + 1 - ((i + 1) / len(unique)), + 0.8, + ), + ) + + mesh.transform = transforms.MatrixTransform() + mesh.transform.translate(np.asarray(sim.geometry_center)) + shading_filter = ShadingFilter(shininess=100) + shading_filter.light_dir = light_dir[:3] + mesh.attach(shading_filter) + view.add(mesh) + + # Build source + thickness = ( + sim.boundary_layers[0].thickness if not len(sim.boundary_layers) < 1 else 0 + ) + for source in sim.sources: + size = tuple(source.size) + source_box = Box( + *size, + color=(1, 0, 0, 1), # red + ) + center = list(source.center) + source_box.transform = transforms.MatrixTransform() + source_box.transform.translate(np.asarray(mesh_midpoint)) + source_box.transform.translate(center) + source_box.transform.translate(tuple(sim.geometry_center)) + view.add(source_box) + + # Build monitors + for mon in sim.dft_objects: + for reg in mon.regions: + size = list(reg.size) + monitor_box = Box( + *size, + color=(0, 0, 1, 1), # blue + ) + center = list(reg.center) + monitor_box.transform = transforms.MatrixTransform() + vector = [0, 0, 0] + vector[reg.direction] = 1 + vector = mp.Vector3(*vector) + monitor_box.transform.translate(tuple(mesh_midpoint)) + monitor_box.transform.translate(center) + monitor_box.transform.translate(tuple(sim.geometry_center)) + view.add(monitor_box) + + # Build boundaries + for box_center_top in [ + np.add(mesh_midpoint, (0, 0, sim_size[2] / 2 - thickness / 2)), + np.subtract(mesh_midpoint, (0, 0, sim_size[2] / 2 - thickness / 2)), + ]: + box = _build_3d_pml(sim_size[0], sim_size[1], thickness, box_center_top) + view.add(box) + + for box_center_right in [ + np.add(mesh_midpoint, (sim_size[0] / 2 - thickness / 2, 0, 0)), + np.subtract(mesh_midpoint, (sim_size[0] / 2 - thickness / 2, 0, 0)), + ]: + box = _build_3d_pml(thickness, sim_size[1], sim_size[2], box_center_right) + view.add(box) + + for box_center_front in [ + np.add(mesh_midpoint, (0, sim_size[1] / 2 - thickness / 2, 0)), + np.subtract(mesh_midpoint, (0, sim_size[1] / 2 - thickness / 2, 0)), + ]: + box = _build_3d_pml(sim_size[0], thickness, sim_size[2], box_center_front) + view.add(box) + + # Camera options + view.camera.center = mesh_midpoint + view.camera.scale_factor = getattr( + kwargs, "scale_factor", 2 * np.linalg.norm(sim_size) + ) + view.camera.elevation = getattr(kwargs, "elevation", 10) + view.camera.azimuth = getattr(kwargs, "azimuth", 45) + view.camera.transform.imap(light_dir) + + # Plot or save + if save_to_image: + image = canvas.render() + import imageio + + imageio.imwrite(image_name, image) + + return + + canvas.show(run=True) + + +def _build_3d_pml(x: float, y: float, thickness: float, translate: tuple): + from vispy.scene.visuals import Box + from vispy.scene import transforms + from vispy.visuals.filters import WireframeFilter + + box = Box( + x, + y, + thickness, + color=(0, 1, 0, 0.2), # green but transparent + # color=None, + ) + box.transform = transforms.MatrixTransform() + box.transform.rotate(90, (1, 0, 0)) + box.transform.translate(translate) + wireframe_filter = WireframeFilter(width=2) + box.mesh.attach(wireframe_filter) + + return box def visualize_chunks(sim: Simulation): @@ -1446,7 +1596,7 @@ def to_jshtml(self, fps: int) -> JS_Animation: Nframes=Nframes, fill_frames=fill_frames, interval=interval, - **mode_dict + **mode_dict, ) return JS_Animation(html_string)