
Research
/Security News
Critical Vulnerability in NestJS Devtools: Localhost RCE via Sandbox Escape
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Seismic-Canvas is an interactive 3D visualization tool mainly designed for seismic data, at the same time also can be useful for any 3D data. This tool is based on VisPy, a Python library that leverages the computational power of GPUs through the OpenGL library.
Simply run the following command to install from PyPI:
pip install seismic_canvas
Add any number of slices to view the slices of your volume using seismic_canvas.volume_slices
function. For example:
visual_nodes = volume_slices(volume,
x_pos=[370, 170, 570, 770], y_pos=810, z_pos=120, clim=(-2, 2))
Left click and drag to rotate the camera angle; right click and drag, or scroll mouse wheel, to zoom in and out. Hold Shift key, left click and drag to pan move. Press Space key to return to the initial view. Press S key to save a screenshot PNG file at any time. Press Esc key to close the window.
Most elements are draggable. Hold Ctrl key, the selectable visual nodes will be highlighted when your mouse hovers over them; left click and drag to move the highlighted visual node. The volume slices will update their contents in real-time during dragging. You can also press D key to toggle the dragging mode on/off.
Compatible to numpy memory map. For example, reading in a binary data file contatining a 3D seismic volume with size 210x920x825 (608MB), Seismic-Canvas takes ~700MB RAM (Windows PyQt5 backend).
volume = np.fromfile('./CostaRica_seismic.dat', '>f4').reshape(825, 920, 210)
Instead, reading in the same file using numpy memory map, Seismic-Canvas takes only ~82MB RAM (Windows PyQt5 backend), and significantly reduces the launch time.
volume = np.memmap('./CostaRica_seismic.dat', dtype='>f4',
mode='r', shape=(825, 920, 210))
When you drag and arrange everything on the canvas, press A key to print out a collection of useful parameters that can be used to reproduce the current canvas setting.
Seismic-Canvas depends on numpy and vispy Python libraries. The vispy library also depends on one of these backends to display a window on your OS: PyQt4/PySide, PyQt5/PySide2, glfw, pyglet, SDL, or wx. We recommend PyQt5 as it is the easiest to install and most compatible on different platforms.
It is also recommended to install PyOpenGL and matplotlib; they are optinal libraries that can enhance the visualization in various ways. For example, PyOpenGL allows for nice antialiased 3D line objects, and matplotlib helps render a much more useful colorbar than the vispy stock colorbar object.
See simple_demo.py
for a simple demo. vispy/util/fetching.py
will automatically download this example data.
Also try osv_F3_demo.py
to check out the results from this research: xinwucwp/osv. You can download all the binary data volumes from this Google Drive link.
Using 2D markers to visualize a randomly generated well logs.
Using triangle mesh surfaces to visualize FaultSkin
s.
A dark themed example with a z-axis-up axis legend:
FAQs
An interactive 3D visualization tool mainly designed for seismic data
We found that seismic-canvas demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.