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)
Moscow DEG 2021 elections plots

Построение графиков на основе публичных данных о ДЭГ в Москве в 2021г. Описание Скрипты в данном репозитории позволяют собственноручно построить графи

9 Jul 15, 2022
Simple implementation of Self Organizing Maps (SOMs) with rectangular and hexagonal grid topologies

py-self-organizing-map Simple implementation of Self Organizing Maps (SOMs) with rectangular and hexagonal grid topologies. A SOM is a simple unsuperv

Jonas Grebe 1 Feb 10, 2022
High performance, editable, stylable datagrids in jupyter and jupyterlab

An ipywidgets wrapper of regular-table for Jupyter. Examples Two Billion Rows Notebook Click Events Notebook Edit Events Notebook Styling Notebook Pan

J.P. Morgan Chase 75 Dec 15, 2022
Matplotlib tutorial for beginner

matplotlib is probably the single most used Python package for 2D-graphics. It provides both a very quick way to visualize data from Python and publication-quality figures in many formats. We are goi

Nicolas P. Rougier 2.6k Dec 28, 2022
✅ Today I Learn

Today I Learn EDA numpy_100ex numpy_0~10 airline_satisfaction_prediction BERT_naver_movie_classification NLP_prepare NLP_Tweet_Emotion_Recognition tex

Yeonghoo_Ahn 3 Dec 15, 2022
A Python toolbox for gaining geometric insights into high-dimensional data

"To deal with hyper-planes in a 14 dimensional space, visualize a 3D space and say 'fourteen' very loudly. Everyone does it." - Geoff Hinton Overview

Contextual Dynamics Laboratory 1.8k Dec 29, 2022
Python code for solving 3D structural problems using the finite element method

3DFEM Python 3D finite element code This python code allows for solving 3D structural problems using the finite element method. New features will be a

Rémi Capillon 6 Sep 29, 2022
Apache Superset is a Data Visualization and Data Exploration Platform

Apache Superset is a Data Visualization and Data Exploration Platform

The Apache Software Foundation 49.9k Jan 02, 2023
Lightspin AWS IAM Vulnerability Scanner

Red-Shadow Lightspin AWS IAM Vulnerability Scanner Description Scan your AWS IAM Configuration for shadow admins in AWS IAM based on misconfigured den

Lightspin 90 Dec 14, 2022
A shimmer pre-load component for Plotly Dash

dash-loading-shimmer A shimmer pre-load component for Plotly Dash Installation Get it with pip: pip install dash-loading-extras Or maybe you prefer Pi

Lucas Durand 4 Oct 12, 2022
A small timeseries transformation API built on Flask and Pandas

#Mcflyin ###A timeseries transformation API built on Pandas and Flask This is a small demo of an API to do timeseries transformations built on Flask a

Rob Story 84 Mar 25, 2022
An easy to use burndown chart generator for GitHub Project Boards.

Burndown Chart for GitHub Projects An easy to use burndown chart generator for GitHub Project Boards. Table of Contents Features Installation Assumpti

Joseph Hale 15 Dec 28, 2022
a robust room presence solution for home automation with nearly no false negatives

Argos Room Presence This project builds a room presence solution on top of Argos. Using just a cheap raspberry pi zero w (plus an attached pi camera,

Angad Singh 46 Sep 18, 2022
Simple and fast histogramming in Python accelerated with OpenMP.

pygram11 Simple and fast histogramming in Python accelerated with OpenMP with help from pybind11. pygram11 provides functions for very fast histogram

Doug Davis 28 Dec 14, 2022
Interactive chemical viewer for 2D structures of small molecules

👀 mols2grid mols2grid is an interactive chemical viewer for 2D structures of small molecules, based on RDKit. ➡️ Try the demo notebook on Google Cola

Cédric Bouysset 154 Dec 26, 2022
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
Python & Julia port of codes in excellent R books

X4DS This repo is a collection of Python & Julia port of codes in the following excellent R books: An Introduction to Statistical Learning (ISLR) Stat

Gitony 5 Jun 21, 2022
A set of useful perceptually uniform colormaps for plotting scientific data

Colorcet: Collection of perceptually uniform colormaps Build Status Coverage Latest dev release Latest release Docs What is it? Colorcet is a collecti

HoloViz 590 Dec 31, 2022
A high-level plotting API for pandas, dask, xarray, and networkx built on HoloViews

hvPlot A high-level plotting API for the PyData ecosystem built on HoloViews. Build Status Coverage Latest dev release Latest release Docs What is it?

HoloViz 697 Jan 06, 2023
Create SVG drawings from vector geodata files (SHP, geojson, etc).

SVGIS Create SVG drawings from vector geodata files (SHP, geojson, etc). SVGIS is great for: creating small multiples, combining lots of datasets in a

Neil Freeman 78 Dec 09, 2022