- Notifications
You must be signed in to change notification settings - Fork0
JintaoLee-Roger/vispy
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Main website:http://vispy.org
VisPy is ahigh-performance interactive 2D/3D data visualizationlibrary. VisPy leverages the computational power of modernGraphicsProcessing Units (GPUs) through theOpenGL library to display verylarge datasets. Applications of VisPy include:
- High-quality interactive scientific plots with millions of points.
- Direct visualization of real-time data.
- Fast interactive visualization of 3D models (meshes, volumerendering).
- OpenGL visualization demos.
- Scientific GUIs with fast, scalable visualization widgets (Qt orIPython notebook with WebGL).
SeeCHANGELOG.md.
See theVisPy Website.
VisPy is a young library under heavy development at this time. Ittargets two categories of users:
- Users knowing OpenGL, or willing to learn OpenGL, who want tocreate beautiful and fast interactive 2D/3D visualizations in Pythonas easily as possible.
- Scientists without any knowledge of OpenGL, who are seeking ahigh-level, high-performance plotting toolkit.
If you're in the first category, you can already start using VisPy.VisPy offers a Pythonic, NumPy-aware, user-friendly interface for OpenGLES 2.0 calledgloo. You can focus on writing your GLSL code insteadof dealing with the complicated OpenGL API - VisPy takes care of thatautomatically for you.
If you're in the second category, we're starting to build experimentalhigh-level plotting interfaces. Notably, VisPy now ships a very basicand experimental OpenGL backend for matplotlib.
Please follow the detailedinstallation instructionson the VisPy website.
Currently, the main subpackages are:
- app: integrates an event system and offers a unified interface ontop of many window backends (Qt4, wx, glfw, jupyter notebook,and others). Relatively stable API.
- gloo: a Pythonic, object-oriented interface to OpenGL. Relativelystable API.
- scene: this is the system underlying our upcoming high levelvisualization interfaces. Under heavy development and stillexperimental, it contains several modules.
- Visuals are graphical abstractions representing 2D shapes, 3Dmeshes, text, etc.
- Transforms implement 2D/3D transformations implemented on bothCPU and GPU.
- Shaders implements a shader composition system for plumbingtogether snippets of GLSL code.
- Thescene graph tracks all objects within a transformationgraph.
- plot: high-level plotting interfaces.
The API of all public interfaces are subject to change in the future,althoughapp andgloo arerelatively stable at this point.
The VisPy community requires its members to abide by theCode of Conduct. In this CoC you will find theexpectations of members, the penalties for violating these expectations, andhow violations can be reported to the members of the community in charge ofenforcing this Code of Conduct.
The VisPy project maintainers make decisions about the project based on asimple consensus model. This is described in more detail on thegovernance page of the vispywebsite as well as thelist of maintainers.
In addition to decisions about the VisPy project, there is also a steeringcommittee for the overall VisPy organization. More information about thiscommittee can also be found on thesteering committee pageof the vispy website,along with the organization'scharter andother related documents (linked in the charter).
VisPy began when four developers with their own visualization librariesdecided to team up:Luke Campagnola withPyQtGraph,Almar Klein withVisvis,Cyrille Rossant withGalry,Nicolas Rougier withGlumpy.
Now VisPy looks to build on the expertise of these developers and thebroader open-source community to build a high-performance OpenGL library.