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)
Customizing Visual Styles in Plotly

Customizing Visual Styles in Plotly Code for a workshop originally developed for an Unconference session during the Outlier Conference hosted by Data

Data Design Dimension 9 Aug 03, 2022
Streaming pivot visualization via WebAssembly

Perspective is an interactive visualization component for large, real-time datasets. Originally developed for J.P. Morgan's trading business, Perspect

The Fintech Open Source Foundation (www.finos.org) 5.1k Dec 27, 2022
Tools for calculating and visualizing Elo-like ratings of MLB teams using Retosheet data

Overview This project uses historical baseball games data to calculate an Elo-like rating for MLB teams based on regular season match ups. The Elo rat

Lukas Owens 0 Aug 25, 2021
Smarthome Dashboard with Grafana & InfluxDB

Smarthome Dashboard with Grafana & InfluxDB This is a complete overhaul of my Raspberry Dashboard done with Flask. I switched from sqlite to InfluxDB

6 Oct 20, 2022
Rockstar - Makes you a Rockstar C++ Programmer in 2 minutes

Rockstar Rockstar is one amazing library, which will make you a Rockstar Programmer in just 2 minutes. In last decade, people learned C++ in 21 days.

4k Jan 05, 2023
LinkedIn connections analyzer

LinkedIn Connections Analyzer 🔗 https://linkedin-analzyer.herokuapp.com Hey hey 👋 , welcome to my LinkedIn connections analyzer. I recently found ou

Okkar Min 5 Sep 13, 2022
Visualize the bitcoin blockchain from your local node

Project Overview A new feature in Bitcoin Core 0.20 allows users to dump the state of the blockchain (the UTXO set) using the command dumptxoutset. I'

18 Sep 11, 2022
An(other) implementation of JSON Schema for Python

jsonschema jsonschema is an implementation of JSON Schema for Python. from jsonschema import validate # A sample schema, like what we'd get f

Julian Berman 4k Jan 04, 2023
A grammar of graphics for Python

plotnine Latest Release License DOI Build Status Coverage Documentation plotnine is an implementation of a grammar of graphics in Python, it is based

Hassan Kibirige 3.3k Jan 01, 2023
Insert SVGs into matplotlib

Insert SVGs into matplotlib

Andrew White 35 Dec 29, 2022
GitHubPoster - Make everything a GitHub svg poster

GitHubPoster Make everything a GitHub svg poster 支持 Strava 开心词场 扇贝 Nintendo Switch GPX 多邻国 Issue

yihong 1.3k Jan 02, 2023
Personal IMDB Graphs with Bokeh

Personal IMDB Graphs with Bokeh Do you like watching movies and also rate all of them in IMDB? Would you like to look at your IMDB stats based on your

2 Dec 15, 2021
Function Plotter: a simple application with GUI to plot mathematical functions

Function-Plotter Function Plotter is a simple application with GUI to plot mathe

Mohamed Nabawe 4 Jan 03, 2022
Massively parallel self-organizing maps: accelerate training on multicore CPUs, GPUs, and clusters

Somoclu Somoclu is a massively parallel implementation of self-organizing maps. It exploits multicore CPUs, it is able to rely on MPI for distributing

Peter Wittek 239 Nov 10, 2022
Automatically generate GitHub activity!

Commit Bot Automatically generate GitHub activity! We've all wanted to be the developer that commits every day, but that requires a lot of work. Let's

Ricky 4 Jun 07, 2022
Library for exploring and validating machine learning data

TensorFlow Data Validation TensorFlow Data Validation (TFDV) is a library for exploring and validating machine learning data. It is designed to be hig

688 Jan 03, 2023
Set of matplotlib operations that are not trivial

Matplotlib Snippets This repository contains a set of matplotlib operations that are not trivial. Histograms Histogram with bins adapted to log scale

Raphael Meudec 1 Nov 15, 2021
Sentiment Analysis application created with Python and Dash, hosted at socialsentiment.net

Social Sentiment Dash Application Live-streaming sentiment analysis application created with Python and Dash, hosted at SocialSentiment.net. Dash Tuto

Harrison 456 Dec 25, 2022
China and India Population and GDP Visualization

China and India Population and GDP Visualization Historical Population Comparison between India and China This graph shows the population data of Indi

Nicolas De Mello 10 Oct 27, 2021
basemap - Plot on map projections (with coastlines and political boundaries) using matplotlib.

Basemap Plot on map projections (with coastlines and political boundaries) using matplotlib. ⚠️ Warning: this package is being deprecated in favour of

Matplotlib Developers 706 Dec 28, 2022