FURY - A software library for scientific visualization in Python

Overview


FURY
Free Unified Rendering in Python

A software library for scientific visualization in Python.

General InformationKey FeaturesInstallationHow to useCreditsContribute

FURY Networks swarming simulation shaders horse
Network Visualization Swarming/flocking simulation based on simple boids rules Easy shader effect integration.
sdf Collides simulation Physics bricks
Ray Marching and Signed Distance Functions Particle collisions Interoperability with the pyBullet library.
UI Tabs Shaders dragon skybox Picking object
Custom User Interfaces Shaders and SkyBox integration Easy picking manager

General Information

Key Features

  • Custom User Interfaces
  • Physics Engines API
  • Custom Shaders
  • Interactive local and Remote rendering in Jupyter Notebooks
  • Large amount of Tutorials and Examples

Installation

Dependencies

FURY requires:

  • Numpy (>=1.7.1)
  • Vtk (>=8.1.2)
  • Scipy (>=1.2.0)
  • Pillow>=5.4.1

Releases

pip install fury or conda install -c conda-forge fury

Development

Installation from source

Step 1. Get the latest source by cloning this repo:

git clone https://github.com/fury-gl/fury.git

Step 2. Install requirements:

pip install -r requirements/default.txt

Step 3. Install fury

As a local project installation using:

pip install .

Or as an "editable" installation using:

pip install -e .

If you are developing fury you should go with editable installation.

Step 4: Enjoy!

For more information, see also installation page on fury.gl

Testing

After installation, you can install test suite requirements:

pip install -r requirements/test.txt

And to launch test suite:

pytest -svv fury

How to use

There are many ways to start using FURY:

Credits

Please, go to contributors page to see who have been involved in the development of FURY.

Contribute

We love contributions!

You've discovered a bug or something else you want to change - excellent! Create an issue!

Comments
  • Fixed warnings in test_utils.py

    Fixed warnings in test_utils.py

    fixed warning in test_utils.py.

    warning was: #317

    fury/tests/test_utils.py::test_trilinear_interp
    fury/tests/test_utils.py::test_trilinear_interp
      D:\fury-master\fury\tests\test_utils.py:133: DeprecationWarning: Converting `np.integer` or `np.signedinteger` to a dtype is deprecated. The current result is `np.dtype(np.int_)` which is not strictly correct. Note that the result depends on the system. To ensure stable results use may want to use `np.int64` or `np.int32`.
        x0 = x_indices.astype(np.integer)
    
    fury/tests/test_utils.py::test_trilinear_interp
    fury/tests/test_utils.py::test_trilinear_interp
      D:\fury-master\fury\tests\test_utils.py:134: DeprecationWarning: Converting `np.integer` or `np.signedinteger` to a dtype is deprecated. The current result is `np.dtype(np.int_)` which is not strictly correct. Note that the result depends on the system. To ensure stable results use may want to use `np.int64` or `np.int32`.
        y0 = y_indices.astype(np.integer)
    
    fury/tests/test_utils.py::test_trilinear_interp
    fury/tests/test_utils.py::test_trilinear_interp
      D:\fury-master\fury\tests\test_utils.py:135: DeprecationWarning: Converting `np.integer` or `np.signedinteger` to a dtype is deprecated. The current result is `np.dtype(np.int_)` which is not strictly correct. Note that the result depends on the system. To ensure stable results use may want to use `np.int64` or `np.int32`.
        z0 = z_indices.astype(np.integer)
    
    

    It is not much but I noticed it so I just changed it.

    The equation looks like this in tutorial of solar system visualization,

    temp

    link - https://en.wikipedia.org/wiki/Orbital_period

    type:Documentation 
    opened by Shadow2121 30
  • [FIX]  Compatibility with VTK 9

    [FIX] Compatibility with VTK 9

    This PR update some FURY functions due to some changes in VTK 9. The main change is better management of vtkCellArray.

    Wheels available on Pypi only for Windows and macOS. Concerning Linux, you have to download the wheel on VTK website. (https://discourse.vtk.org/t/vtk-9-wheels-on-pypi/3340/4)

    VTK Releases Announcement : https://blog.kitware.com/vtk-9-0-0-available-for-download/ VTK API changes from 8.2 to 9.0: https://vtk.org/Wiki/VTK/API_Changes_8_2_0_to_9_0_0 VTK 9 build process : https://vtk.org/doc/nightly/html/md__home_kitware_dashboards_buildbot_vtk_nightly-master-ike-linux-shared-release_doc_nightly_osm749dd663df9981384f2598c108aac3b0.html

    type:Maintenance 
    opened by skoudoro 28
  • Render a video on an actor.

    Render a video on an actor.

    Render a video on an actor.

    This PR Consists of 2 parts:

    • Function to change the texture of a vtkActor
    • A demo file to visualize, rendering of a Video.

    Function to change the texture of a vtkActor

    Changes in fury.actor

    Fury actors didn't have a function to change the texture of an already textured vtkActor. There was a requirement for this function while rendering a video on an Actor. The function accepts an actor object and an image. The image gets mapped in the same mapper as configured while creating the actor.

    Tests

    To test the function an actor is created with a black texture which is changed and tested with the new texture.

    A demo file to visualize, rendering of a Video

    The goal of this demo is to show how to visualize a video on a Plane, which can be extended to potentially all shapes

    The Video Class

    This class wraps OpenCV VideoCapture with the required functionalities

    The Animation Class

    This class creates an object of the video class and initializes the scene with an Actor.

    The run() function adds a timer callback to the show_manager that changes the frame of the video on every call after a specific interval.

    How it Looks

    type:Documentation type:New Feature 
    opened by LoopThrough-i-j 23
  • Track and fix warnings during tests.

    Track and fix warnings during tests.

    When you run FURY tests, a bunch of warnings is popping up. The goal of this task is to track and fix them. Some of them are expected, others not. We will need many PR for this issue and more precisely, 1PR per module

    TODO:

    • [x] fury/actor.py (pytest -svv fury/test_actor.py)
    • [x] fury/colormap.py (pytest -svv fury/test_colormap.py)
    • [x] fury/convert.py (pytest -svv fury/test_convert.py)
    • [x] fury/decorators.py (pytest -svv fury/test_decorators.py)
    • [x] fury/interactor.py (pytest -svv fury/test_interactor.py)
    • [x] fury/io.py (pytest -svv fury/test_io.py)
    • [ ] fury/layout.py (pytest -svv fury/test_layout.py)
    • [x] fury/ui.py (pytest -svv fury/test_ui.py)
    • [x] fury/pick.py (pytest -svv fury/test_pick.py)
    • [x] fury/primitive.py (pytest -svv fury/test_primitive.py)
    • [x] fury/transform.py (pytest -svv fury/test_transform.py)
    • [x] fury/window.py (pytest -svv fury/test_window.py)
    • [x] fury/utils.py (pytest -svv fury/test_utils.py)
    good first issue type:Maintenance :beer: Hacktoberfest :beer: 
    opened by skoudoro 22
  • moved physics tutorials to examples under the heading 'Integrate physics using pybullet'

    moved physics tutorials to examples under the heading 'Integrate physics using pybullet'

    #297 Moved all the Physics tutorials under examples section with a heading 'Integrate physics using pybullet'

    Fixed the buggy wrecking ball behavior, the problem was radii was the links or rope's radius instead of the wrecking ball. Changing it to 1 was making a cylindrical collider of radius 1 greater than wrecking ball's radius hence the bug. Ball's radius was hardcoded to 0.2, assigned it to the variable ball_radius so now you can mess with wrecking ball by changing the radius. Fixed some typos that I found along with it.

    PS : There was some weird behavior after 100 simulation steps. The ball went crazy and there were some weird stretched lines instead of ropes, I think the code to make the rope has to be redone.

    type:Documentation 
    opened by tushar5526 20
  • Animated Surfaces

    Animated Surfaces

    Fixes #324

    An example to illustrate how one can render a time-varying 2D function using FURY. I have added quite a few comments to make the code easy to interpret.

    Preview-

    2d_func

    type:Documentation 
    opened by SunTzunami 19
  • ComboBox2D UI element

    ComboBox2D UI element

    ComboBox2D UI element

    • [X] Skeleton
    • [X] Callbacks
    • [X] Methods
    • [X] Properties
    • [X] Tests
    • [X] Moving the whole panel with the mouse.
    • [X] Make Draggable optional.
    • [X] resizing TextBlock2D.
    • [X] Recording tests.

    Things to be covered:

    • a bit of design
    • Scrollbar bug when items are added using on_change method.
    state: work-in-progress :rocket: :snake: GSOC 2020 
    opened by Nibba2018 19
  • Add Billboard actor

    Add Billboard actor

    A simple actor that permits you to draw the shader that you want on one or many Canvas. it uses the billboard technique for always facing the camera. This offers us a powerful tool to draw whatever we want really fast. Below an example of 5 Million funky spheres.

    This is close to being done, Maybe today.

    Capture d’écran 2019-12-09 à 19 23 52 state: needs review type:New Feature 
    opened by skoudoro 19
  • UI tests are failing in Ubuntu OS due to a

    UI tests are failing in Ubuntu OS due to a "segmentation error"

    Description

    UI tests are failing because of a "segmentation error" in Ubuntu only. @xtanion confirmed it on his machine. The error message is: tests/test_elements_callback.py Fatal Python error: Segmentation fault I tried to trace back the cause of this error and it's not caused by the test in which this error occurred. Running only test_elements_callback.py gives a success.

    Way to reproduce

    Running the UI tests in Ubuntu OS.

    opened by m-agour 18
  • Adding support for importing simple glTF files

    Adding support for importing simple glTF files

    This PR will allow us to load gltf files and get actors or polydata from it.

    It currently supports:

    • [x] multiple Nodes
    • [x] multiple Meshes
    • [x] Normals
    • [x] Cameras
    • [x] Textures (baseColor)

    Demo: image

    WIP: glTF exporter, tests

    type:Enhancement 
    opened by xtanion 16
  • Implemented Domino-Physics-Simulation using PyBullet

    Implemented Domino-Physics-Simulation using PyBullet

    Reference Issues/PRs Closes #309

    What does this implement/fix? Explain your changes. I have implemented code that shows how to use pybullet to render physics simulations in fury. More specifically, In this PR, I render a series of Dominoes that are under the Domino Effect.

    type:Documentation 
    opened by SanjayMarreddi 15
  • Logo changes

    Logo changes

    • This PR changes the logo and logo sizes and fonts according to the new design.
    • This PR uses the home-page-mobile-friendly as the base PR, thus will require that PR to be merged to master first.
    opened by Mk996 0
  • Home page mobile friendly

    Home page mobile friendly

    • What kind of change does this PR introduce?

    • It is a bugfix PR. It fixes all the issues related to the home page's mobile-friendliness.

    • What is the new behavior (if this is a feature change)? Untitled

    • Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

    • No

    • List of fixes:

    • Main logo and description alignment issues.

    • Hamburger menu alignment fixed.

    • Horizontal scrolling due to overflowing elements fixed.

    • Install text and command showing properly.

    • Tab sections got a new mobile-friendly layout.

    • Footer properly aligned and readable.

    opened by Mk996 0
  • Scientific domains enhancement

    Scientific domains enhancement

    • What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
    • This PR introduces the feature that on hovering the scientific domain, the popup with the animated gif will appear in the home page of the fury website
    • What is the current behavior? (You can also link to an open issue here)
    • No effect on hover.
    • What is the new behavior (if this is a feature change)?
    • It will open up a popup.
    • The popup can be closed in two ways
      1. By hovering out of the popup
      2. By clicking outside of the popup
    • Other information:
    • The animations in the popup are modified a little bit from the original tutorials.
    • The animation for the data-science field is created from a newly created example(which will be pushed in upcoming PRs).
    opened by Mk996 0
  • [WIP] Implementation of PBR in glTF

    [WIP] Implementation of PBR in glTF

    This PR needs a lot of cleaning and still in progress. As of now this PR adds ORM, Normal & Emissive materials. Most of the glTF models has been modified to use the ORM material, however few of them still use MetallicRoughness and AmbientOcclusion materials separately (for e.g. DamagedHelmet & Avocado). Few model may have RoughnessMetallic instead of MetallicRoughness which changes switches the channels (For e.g. the Avocado model), as mentioned in this comment. This PR currently does not support the RoughnessMetallic.

    Preview with the DamagedHelmet (has all three of materials) model: image

    Sample of the Avocado model (without switching the channels in RoughnessMetallic to MetallicRoughness) ( Left) After switching channels (Right):

    opened by xtanion 3
  • Earth coordinates tutorial example upsidedown

    Earth coordinates tutorial example upsidedown

    Description

    The example fury/docs/tutorials/01_introductory/viz_earth_coordinates.py is not working properly.

    The world is upside down and the coordinates does not match the real locations. (Can't figure out what changed to make this happen, it works fine in older versions. image

    Way to reproduce

    Just run python fury/docs/tutorials/01_introductory/viz_earth_coordinates.py

    Version information

    {
      'fury_version': '0.8.0',
      'pkg_path': '/Users/filsilva/miniforge3/envs/furyearth/lib/python3.9/site-packages/fury',
       'commit_hash': 'b937ff3418e7c64b0fa89921a54c083ff78dc055',
      'sys_version': '3.9.15 | packaged by conda-forge | (main, Nov 22 2022, 08:48:25) \n[Clang 14.0.6 ]',
      'sys_executable': '/Users/filsilva/miniforge3/envs/furyearth/bin/python',
      'sys_platform': 'darwin',
      'numpy_version': '1.23.5',
      'scipy_version': '1.9.3',
      'vtk_version': '9.2.2',
      'matplotlib_version': '3.6.2'
    }
    
    • [x] Code example
    • [x] Relevant images (if any)
    • [x] Operating system and versions (run python -c "from fury import get_info; print(get_info())")
    opened by filipinascimento 0
  • The docs generation fails with pyData theme v0.11.0

    The docs generation fails with pyData theme v0.11.0

    Description

    [The docs generation fails with pyData theme v0.11.0 and fixes the aliases]

    Way to reproduce

    1. Start with a clean code installation via the Source method.
    2. try to build the project make -C . clean && make -C . html-no-examples.
    3. The build will fail due to version incompatibility.

    System Specs

    {'fury_version': '0.8.0.post1304+gb37669f8', 'pkg_path': '/Users/maharshigor/Desktop/GRG/fury/fury', 'commit_hash': 'b37669f8767d460b97e17584106ad8a6b5d26491', 'sys_version': '3.10.6 | packaged by conda-forge | (main, Aug 22 2022, 20:41:54) [Clang 13.0.1 ]', 'sys_executable': '/Users/maharshigor/opt/anaconda3/envs/Py310/bin/python', 'sys_platform': 'darwin', 'numpy_version': '1.23.4', 'scipy_version': '1.9.3', 'vtk_version': '9.1.0', 'matplotlib_version': '3.6.2', 'dipy_version': '1.5.0'}

    opened by Mk996 0
Releases(v0.8.0)
  • v0.8.0(Jan 31, 2022)

    Quick Overview

    • New Physically Based Rendering (PBR) added. It includes anisotropic rotation and index of refraction among other material properties.
    • New Principled BRDF shader unique to FURY added. BRDF stands for bidirectional reflectance distribution function.
    • VTK 9.1.0 defined as minimum version.
    • Continuous Integration (CI) platform updated.
    • New actors added (Rhombicuboctahedron, Pentagonal Prism).
    • New UI layouts added (Vertical and Horizontal).
    • New module fury.molecular added.
    • New module fury.lib added. Module improved loading speed.
    • Demos added and updated.
    • Documentation updated.

    Details:

    The following 12 authors contributed 500 commits.

    • Anand Shivam
    • Antriksh Misri
    • Bruno Messias
    • Eleftherios Garyfallidis
    • Javier Guaje
    • Marc-Alexandre Côté
    • Meha Bhalodiya
    • Praneeth Shetty
    • PrayasJ
    • Sajag Swami
    • Serge Koudoro
    • Shivam Anand

    We closed a total of 81 issues, 34 pull requests, and 47 regular issues;

    What's Changed

    • Added Horizontal Layout to layout module by @antrikshmisri in https://github.com/fury-gl/fury/pull/480
    • Added Vertical Layout to layout module by @antrikshmisri in https://github.com/fury-gl/fury/pull/479
    • Fine-tuning of the OpenGL state by @devmessias in https://github.com/fury-gl/fury/pull/432
    • Peak representation improvements by @guaje in https://github.com/fury-gl/fury/pull/433
    • Animated Surfaces by @SunTzunami in https://github.com/fury-gl/fury/pull/362
    • Add primitive and actor for pentagonal prism with test by @mehabhalodiya in https://github.com/fury-gl/fury/pull/474
    • GSoC blogs 2021 by @SunTzunami in https://github.com/fury-gl/fury/pull/493
    • Add python3.9 for our CI's by @skoudoro in https://github.com/fury-gl/fury/pull/449
    • Fix material docstrings, improved standard parameters and improved materials application support by @guaje in https://github.com/fury-gl/fury/pull/488
    • Fix disk position outside the slider line by @guaje in https://github.com/fury-gl/fury/pull/498
    • Added GSoC blog posts for remaining weeks by @antrikshmisri in https://github.com/fury-gl/fury/pull/496
    • Method to process and load sprite sheets by @antrikshmisri in https://github.com/fury-gl/fury/pull/491
    • Molecular module by @SunTzunami in https://github.com/fury-gl/fury/pull/452
    • Update the way we import external libraries by using only the necessary modules by @skoudoro in https://github.com/fury-gl/fury/pull/470
    • Update molecular module import by @skoudoro in https://github.com/fury-gl/fury/pull/504
    • update tutorial import by @skoudoro in https://github.com/fury-gl/fury/pull/506
    • [FIX] Mesa installation by @skoudoro in https://github.com/fury-gl/fury/pull/513
    • [FIX] Radio button and checkbox tests by @skoudoro in https://github.com/fury-gl/fury/pull/514
    • Adding Rhombicuboctahedron actor by @PrayasJ in https://github.com/fury-gl/fury/pull/516
    • Changing how we do things with our test suite. by @Garyfallidis in https://github.com/fury-gl/fury/pull/515
    • Principled material by @guaje in https://github.com/fury-gl/fury/pull/519
    • Pytest patch by @skoudoro in https://github.com/fury-gl/fury/pull/518
    • Added rotation along the axis in Solar System Animations example by @xtanion in https://github.com/fury-gl/fury/pull/520
    • Snapshot flipping bug fix by @Garyfallidis in https://github.com/fury-gl/fury/pull/521
    • [WIP] Add debugging CI Tools by @skoudoro in https://github.com/fury-gl/fury/pull/524
    • Deprecate and rename label to vector_text by @skoudoro in https://github.com/fury-gl/fury/pull/507
    • adding numpy_to_vtk_image_data method to utility by @ganimtron-10 in https://github.com/fury-gl/fury/pull/509
    • [FIX] Allow sphere actor to use faces/vertices without casting issues. In addition, update versioning system (versioneer). by @skoudoro in https://github.com/fury-gl/fury/pull/527
    • [FIX] remove update_user_matrix from text3d by @skoudoro in https://github.com/fury-gl/fury/pull/534
    • devmessias gsoc posts part 2: weeks 09, 10 and 11 by @devmessias in https://github.com/fury-gl/fury/pull/503
    • Remove and replace vtkactor from docstring by @skoudoro in https://github.com/fury-gl/fury/pull/532
    • [ENH] Add missing shaders block by @skoudoro in https://github.com/fury-gl/fury/pull/535
    • Remove VTK_9_PLUS flag by @skoudoro in https://github.com/fury-gl/fury/pull/536
    • Adding Anisotropy and Clear coat to PBR material by @guaje in https://github.com/fury-gl/fury/pull/523
    • Release preparation 0.8.0 by @skoudoro in https://github.com/fury-gl/fury/pull/538

    New Contributors

    • @mehabhalodiya made their first contribution in https://github.com/fury-gl/fury/pull/474
    • @PrayasJ made their first contribution in https://github.com/fury-gl/fury/pull/516
    • @xtanion made their first contribution in https://github.com/fury-gl/fury/pull/520

    Full Changelog: https://github.com/fury-gl/fury/compare/v0.7.1...v0.8.0

    Source code(tar.gz)
    Source code(zip)
  • v0.7.1-zenodo(Aug 4, 2021)

    Release notes v0.7.1

    Quick Overview

    • FURY paper added.
    • Fast selection of multiple objects added.
    • UI refactored.
    • Tests coverage increased.
    • New actor (Marker) added.
    • New primitive (Triangular Prism) added.
    • Demos added and updated.
    • Large Documentation Update.

    Details

    GitHub stats for 2021/03/13 - 2021/08/03 (tag: v0.7.0)

    These lists are automatically generated, and may be incomplete or contain duplicates.

    The following 15 authors contributed 211 commits.

    • Amit Chaudhari
    • Antriksh Misri
    • Bruno Messias
    • Daniel S. Katz
    • Eleftherios Garyfallidis
    • Gurdit Siyan
    • Javier Guaje
    • Jhalak Gupta
    • LoopThrough-i-j
    • MIHIR
    • Praneeth Shetty
    • Sajag Swami
    • Serge Koudoro
    • Hariharan Ayappane

    We closed a total of 89 issues, 35 pull requests and 54 regular issues; this is the full list (generated with the script :file:tools/github_stats.py):

    Pull Requests (35):

    • :ghpull:475: Gsoc blog 2021
    • :ghpull:476: Google Summer of Code blog posts
    • :ghpull:477: added blog posts for GSoC'21
    • :ghpull:442: added method to wrap overflowing text
    • :ghpull:441: Added border support in Panel2D
    • :ghpull:466: two more small bib changes
    • :ghpull:464: Paper Dan's Comments
    • :ghpull:459: extracted Button2D class from elements to core
    • :ghpull:430: Surface actor colormap fix
    • :ghpull:456: Updated about documentation
    • :ghpull:455: Fixed bibtex
    • :ghpull:454: Added missing DOIs and URLs
    • :ghpull:451: Typo fix
    • :ghpull:447: UI refactoring
    • :ghpull:438: Fast selection of multiple objects in 3D using GPU acceleration
    • :ghpull:420: added an example about graph-tool and nested stochastic block model
    • :ghpull:422: This allow to draw markers using shaders
    • :ghpull:444: Remove deprecated functions
    • :ghpull:440: added support for URL image in ImageContainer2D
    • :ghpull:356: Render a video on an actor.
    • :ghpull:436: [Fix] Update Azure pipeline for windows
    • :ghpull:434: WIP: added tests for layout module
    • :ghpull:426: Allows to define the priority of a shader_callback and obtain the vtkEventId
    • :ghpull:394: Fixed warnings in test_utils.py
    • :ghpull:415: update sk orcid
    • :ghpull:413: add nanohub doi
    • :ghpull:412: fix paper doi
    • :ghpull:386: FURY paper for Journal of Open Source Software (JOSS)
    • :ghpull:371: Textbox2d special character support
    • :ghpull:408: Updating the Missing Parenthesis
    • :ghpull:406: Removed unused library in FURY tutorial
    • :ghpull:405: Updating Redirecting Issues in Readme
    • :ghpull:399: Resolve warnings #317 & and Fix Issue: #355
    • :ghpull:393: added primitive and actor for triangular prism, added tests too
    • :ghpull:396: #317 Fixing Warnings during test : test_actors.py

    Issues (54):

    • :ghissue:407: UI Textbox background doesn't resize according to text in it.
    • :ghissue:421: Implementing the Resizing of Listbox
    • :ghissue:416: Fixing the Resizing Background issue of TextBox2D UI.
    • :ghissue:475: Gsoc blog 2021
    • :ghissue:476: Google Summer of Code blog posts
    • :ghissue:477: added blog posts for GSoC'21
    • :ghissue:442: added method to wrap overflowing text
    • :ghissue:441: Added border support in Panel2D
    • :ghissue:466: two more small bib changes
    • :ghissue:464: Paper Dan's Comments
    • :ghissue:445: [WIP] Example to show how to render multiple bonds
    • :ghissue:410: added BulletList to UI
    • :ghissue:459: extracted Button2D class from elements to core
    • :ghissue:429: Colormap not working as intended with surface actor
    • :ghissue:430: Surface actor colormap fix
    • :ghissue:450: Issue with references related to JOSS review
    • :ghissue:456: Updated about documentation
    • :ghissue:455: Fixed bibtex
    • :ghissue:454: Added missing DOIs and URLs
    • :ghissue:453: Add missing DOIs and URLs
    • :ghissue:451: Typo fix
    • :ghissue:439: [WIP] Space filling model
    • :ghissue:447: UI refactoring
    • :ghissue:438: Fast selection of multiple objects in 3D using GPU acceleration
    • :ghissue:420: added an example about graph-tool and nested stochastic block model
    • :ghissue:422: This allow to draw markers using shaders
    • :ghissue:444: Remove deprecated functions
    • :ghissue:440: added support for URL image in ImageContainer2D
    • :ghissue:356: Render a video on an actor.
    • :ghissue:436: [Fix] Update Azure pipeline for windows
    • :ghissue:434: WIP: added tests for layout module
    • :ghissue:403: Creating test for layout module
    • :ghissue:411: Added Layout test file
    • :ghissue:426: Allows to define the priority of a shader_callback and obtain the vtkEventId
    • :ghissue:417: Fixing pep issues
    • :ghissue:394: Fixed warnings in test_utils.py
    • :ghissue:415: update sk orcid
    • :ghissue:414: Duplicate ORCIDs in the JOSS paper
    • :ghissue:413: add nanohub doi
    • :ghissue:412: fix paper doi
    • :ghissue:386: FURY paper for Journal of Open Source Software (JOSS)
    • :ghissue:371: Textbox2d special character support
    • :ghissue:409: Segmentation Fault When Running Fury Tests
    • :ghissue:408: Updating the Missing Parenthesis
    • :ghissue:406: Removed unused library in FURY tutorial
    • :ghissue:405: Updating Redirecting Issues in Readme
    • :ghissue:375: Visuals for some parametric 2D functions
    • :ghissue:317: Track and fix warnings during tests.
    • :ghissue:355: [Vulnerability Bug] Used blacklisted dangerous function call that can lead to RCE
    • :ghissue:399: Resolve warnings #317 & and Fix Issue: #355
    • :ghissue:393: added primitive and actor for triangular prism, added tests too
    • :ghissue:395: FURY installation conflict
    • :ghissue:396: #317 Fixing Warnings during test : test_actors.py
    • :ghissue:358: Updated io.py
    Source code(tar.gz)
    Source code(zip)
Fast data visualization and GUI tools for scientific / engineering applications

PyQtGraph A pure-Python graphics library for PyQt5/PyQt6/PySide2/PySide6 Copyright 2020 Luke Campagnola, University of North Carolina at Chapel Hill h

pyqtgraph 3.1k Jan 8, 2023
Fast data visualization and GUI tools for scientific / engineering applications

PyQtGraph A pure-Python graphics library for PyQt5/PyQt6/PySide2/PySide6 Copyright 2020 Luke Campagnola, University of North Carolina at Chapel Hill h

pyqtgraph 2.3k Feb 13, 2021
Fast data visualization and GUI tools for scientific / engineering applications

PyQtGraph A pure-Python graphics library for PyQt5/PyQt6/PySide2/PySide6 Copyright 2020 Luke Campagnola, University of North Carolina at Chapel Hill h

pyqtgraph 2.3k Feb 17, 2021
This is a super simple visualization toolbox (script) for transformer attention visualization ✌

Trans_attention_vis This is a super simple visualization toolbox (script) for transformer attention visualization ✌ 1. How to prepare your attention m

Mingyu Wang 3 Jul 9, 2022
Glue is a python project to link visualizations of scientific datasets across many files.

Glue Glue is a python project to link visualizations of scientific datasets across many files. Click on the image for a quick demo: Features Interacti

null 675 Dec 9, 2022
Plot-configurations for scientific publications, purely based on matplotlib

TUEplots Plot-configurations for scientific publications, purely based on matplotlib. Usage Please have a look at the examples in the example/ directo

Nicholas Krämer 487 Jan 8, 2023
Declarative statistical visualization library for Python

Altair http://altair-viz.github.io Altair is a declarative statistical visualization library for Python. With Altair, you can spend more time understa

Altair 8k Jan 5, 2023
Declarative statistical visualization library for Python

Altair http://altair-viz.github.io Altair is a declarative statistical visualization library for Python. With Altair, you can spend more time understa

Altair 6.4k Feb 13, 2021
Declarative statistical visualization library for Python

Altair http://altair-viz.github.io Altair is a declarative statistical visualization library for Python. With Altair, you can spend more time understa

Altair 6.4k Feb 18, 2021
Python histogram library - histograms as updateable, fully semantic objects with visualization tools. [P]ython [HYST]ograms.

physt P(i/y)thon h(i/y)stograms. Inspired (and based on) numpy.histogram, but designed for humans(TM) on steroids(TM). The goal is to unify different

Jan Pipek 120 Dec 8, 2022
High-level geospatial data visualization library for Python.

geoplot: geospatial data visualization geoplot is a high-level Python geospatial plotting library. It's an extension to cartopy and matplotlib which m

Aleksey Bilogur 1k Jan 1, 2023
Streamlit component for Let's-Plot visualization library

streamlit-letsplot This is a work-in-progress, providing a convenience function to plot charts from the Lets-Plot visualization library. Example usage

Randy Zwitch 9 Nov 3, 2022
Visualization Library

CamViz Overview // Installation // Demos // License Overview CamViz is a visualization library developed by the TRI-ML team with the goal of providing

Toyota Research Institute - Machine Learning 67 Nov 24, 2022
Interactive Data Visualization in the browser, from Python

Bokeh is an interactive visualization library for modern web browsers. It provides elegant, concise construction of versatile graphics, and affords hi

Bokeh 17.1k Dec 31, 2022
Debugging, monitoring and visualization for Python Machine Learning and Data Science

Welcome to TensorWatch TensorWatch is a debugging and visualization tool designed for data science, deep learning and reinforcement learning from Micr

Microsoft 3.3k Dec 27, 2022
Python script to generate a visualization of various sorting algorithms, image or video.

sorting_algo_visualizer Python script to generate a visualization of various sorting algorithms, image or video.

null 146 Nov 12, 2022
Interactive Data Visualization in the browser, from Python

Bokeh is an interactive visualization library for modern web browsers. It provides elegant, concise construction of versatile graphics, and affords hi

Bokeh 14.7k Feb 13, 2021
Missing data visualization module for Python.

missingno Messy datasets? Missing values? missingno provides a small toolset of flexible and easy-to-use missing data visualizations and utilities tha

Aleksey Bilogur 3.4k Dec 29, 2022
Interactive Data Visualization in the browser, from Python

Bokeh is an interactive visualization library for modern web browsers. It provides elegant, concise construction of versatile graphics, and affords hi

Bokeh 14.7k Feb 18, 2021