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)
A simple python script using Numpy and Matplotlib library to plot a Mohr's Circle when given a two-dimensional state of stress.

Mohr's Circle Calculator This is a really small personal project done for Department of Civil Engineering, Delhi Technological University (formerly, D

Agyeya Mishra 0 Jul 17, 2021
A site that displays up to date COVID-19 stats, powered by fastpages.

https://covid19dashboards.com This project was built with fastpages Background This project showcases how you can use fastpages to create a static das

GitHub 1.6k Jan 07, 2023
Data Visualizer Web-Application

Viz-It Data Visualizer Web-Application If I ask you where most of the data wrangler looses their time ? It is Data Overview and EDA. Presenting "Viz-I

Sagnik Roy 17 Nov 20, 2022
Data aggregated from the reports found at the MCPS COVID Dashboard into a set of visualizations.

Montgomery County Public Schools COVID-19 Visualizer Contents About this project Data Support this project About this project Data All data we use can

James 3 Jan 19, 2022
:art: Diagram as Code for prototyping cloud system architectures

Diagrams Diagram as Code. Diagrams lets you draw the cloud system architecture in Python code. It was born for prototyping a new system architecture d

MinJae Kwon 27.5k Dec 30, 2022
Pebble is a stat's visualization tool, this will provide a skeleton to develop a monitoring tool.

Pebble is a stat's visualization tool, this will provide a skeleton to develop a monitoring tool.

Aravind Kumar G 2 Nov 17, 2021
Main repository for Vispy

VisPy: interactive scientific visualization in Python Main website: http://vispy.org VisPy is a high-performance interactive 2D/3D data visualization

vispy 3k Jan 03, 2023
Official Matplotlib cheat sheets

Official Matplotlib cheat sheets

Matplotlib Developers 6.7k Jan 09, 2023
IPython/Jupyter notebook module for Vega and Vega-Lite

IPython Vega IPython/Jupyter notebook module for Vega 5, and Vega-Lite 4. Notebooks with embedded visualizations can be viewed on GitHub and nbviewer.

Vega 335 Nov 29, 2022
Friday Night Funkin - converts a chart from 4/4 time to 6/8 time, or from regular to swing tempo.

Chart to swing converter As seen in https://twitter.com/i_winxd/status/1462220493558366214 A program written in python that converts a chart from 4/4

5 Dec 23, 2022
Datapane is the easiest way to create data science reports from Python.

Datapane Teams | Documentation | API Docs | Changelog | Twitter | Blog Share interactive plots and data in 3 lines of Python. Datapane is a Python lib

Datapane 744 Jan 06, 2023
📊 Charts with pure python

A zero-dependency python package that prints basic charts to a Jupyter output Charts supported: Bar graphs Scatter plots Histograms 🍑 📊 👏 Examples

Max Humber 54 Oct 04, 2022
NorthPitch is a python soccer plotting library that sits on top of Matplotlib

NorthPitch is a python soccer plotting library that sits on top of Matplotlib.

Devin Pleuler 30 Feb 22, 2022
Python package for the analysis and visualisation of finite-difference fields.

discretisedfield Marijan Beg1,2, Martin Lang2, Samuel Holt3, Ryan A. Pepper4, Hans Fangohr2,5,6 1 Department of Earth Science and Engineering, Imperia

ubermag 12 Dec 14, 2022
Geospatial Data Visualization using PyGMT

Example script to visualize topographic data, earthquake data, and tomographic data on a map

Utpal Kumar 2 Jul 30, 2022
A little logger for machine learning research

Blinker Blinker provides a fast dispatching system that allows any number of interested parties to subscribe to events, or "signals". Signal receivers

Reinforcement Learning Working Group 27 Dec 03, 2022
A tool for creating Toontown-style nametags in Panda3D

Toontown-Nametag Toontown-Nametag is a tool for creating Toontown Online/Toontown Rewritten-style nametags in Panda3D. It contains a function, createN

BoggoTV 2 Dec 23, 2021
Bokeh Plotting Backend for Pandas and GeoPandas

Pandas-Bokeh provides a Bokeh plotting backend for Pandas, GeoPandas and Pyspark DataFrames, similar to the already existing Visualization feature of

Patrik Hlobil 822 Jan 07, 2023
Parallel t-SNE implementation with Python and Torch wrappers.

Multicore t-SNE This is a multicore modification of Barnes-Hut t-SNE by L. Van der Maaten with python and Torch CFFI-based wrappers. This code also wo

Dmitry Ulyanov 1.7k Jan 09, 2023
CPG represent!

CoolPandasGroup CPG represent! Arianna Brandon Enne Luan Tracie Project requirements: use Pandas to clean and format datasets use Jupyter Notebook to

Enne 3 Feb 07, 2022