A 3D visualization library oriented to mining applications
BlastSight is a 3D visualization software designed to aid in Mining research.
You can install BlastSight with the following command:
pip install git+https://github.com/gsanhueza/BlastSight.git
Implemented in Python 3.7 and qtpy, it's useful as a library and as an application, so you can use it as a viewer, or integrate it to an application you're developing.
Start the application with
python -m blastsight.
From there you can load elements with File > Load [element].
More information in Help > Help.
You can embed BlastSight's viewer within your application.
Check the following code and adapt it to your needs.
from qtpy.QtWidgets import QApplication from qtpy.QtWidgets import QWidget from qtpy.QtWidgets import QGridLayout from blastsight.view.integrableviewer import IntegrableViewer class EmbeddedViewer(QWidget): def __init__(self, parent=None): super().__init__(parent) self.setWindowTitle('EmbeddedViewer') self.resize(800, 600) self.viewer = IntegrableViewer(self) self.layout = QGridLayout(self) self.layout.addWidget(self.viewer, 0, 0, 1, 1) if __name__ == '__main__': app = QApplication() embedded = EmbeddedViewer() embedded.show() app.exec_()
You can also use BlastSight as a simple viewer when you write your own script.
Insert the following lines in your script:
from blastsight.view.viewer import Viewer viewer = Viewer() # Your code viewer.show()
The following methods can be used to render your elements directly. Keep in mind that these methods receive their arguments as kwargs, they're not positional.
# Mesh viewer.mesh(x: list, y: list, z: list, indices: list, color: list, alpha: float, wireframe: bool, highlight: bool) # Blocks viewer.blocks(x: list, y: list, z: list, block_size: list, values: list, vmin: float, vmax: float, colormap: str) # Points viewer.points(x: list, y: list, z: list, point_size: float, values: list, vmin: float, vmax: float, colormap: str) # Lines viewer.lines(x: list, y: list, z: list, color: list, loop: bool) # Tubes viewer.tubes(x: list, y: list, z: list, color: list, loop: bool, radius: float, resolution: int)
- An additional 'name' kwargs can be used to give each element a name.
- For every element, you can replace (x, y, z) with vertices, which is a list of positions, where each position is a list of (x, y, z).
- For meshes, the indices argument is a list of index, where index is a list of (i1, i2, i3).
- For blocks and points you can replace (values, vmin, vmax) with color, which is a list of colors for each position, where each color is a list of (r, g, b), between 0.0 and 1.0.
BlastSight comes with a folder of examples that show what you can do with it.
It's recommended to check
examples/demo.py in https://github.com/gsanhueza/BlastSight/
to develop an idea of how to use this software.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size blastsight-0.7.3-py3-none-any.whl (164.8 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size blastsight-0.7.3.tar.gz (92.8 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for blastsight-0.7.3-py3-none-any.whl