-
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[WIP] add blogpost about Makie showcase projects (#21)
* add blogpost about Makie showcase projects * correct spelling * Update post.md * grab images permanantly with new BonitoSites version * Update post.md * Update post.md * Update post.md * Update post.md * add image * add some more details and NDViewer * fix manifests * small improvements and spelling fixes * slow down video and small additions * fix images * add Rainbowalga k3mnet * update title * small improvements * link rprmakie * remove sentence
- Loading branch information
1 parent
cb7c2af
commit 352c603
Showing
36 changed files
with
784 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file added
BIN
+916 KB
src/blogposts/May-2023-News/images/0261a8cf293cbcab13e6cc45cbf50f8dcd50dad4.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+5.11 MB
src/blogposts/May-2023-News/images/286205cf450cf67ed120b1b90e3a2c14d8a00569.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+1.13 MB
...posts/makie-showcases/images/316972827-c75376ca-be66-44ec-bc12-589acb4a10c2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+43.5 KB
src/blogposts/makie-showcases/images/34f5bb47c148278511da5cd06c3c0c66a447232e.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+224 KB
src/blogposts/makie-showcases/images/5bdccbc8e66f63861543d6476374b6c67502e468.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+65.6 KB
src/blogposts/makie-showcases/images/793cc86bfab4b97612efd2a83ba4d32fdbb1dd29.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+196 KB
src/blogposts/makie-showcases/images/a08b0ca4f970df50fc95d9b3bc0760d39378c35f.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+235 KB
src/blogposts/makie-showcases/images/a8a3434558ca8db25f59d4c6ba5e6d31ed878a01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+24.2 MB
src/blogposts/makie-showcases/images/b4562a284cbd09185c2c6035be887820fae6559b.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+446 KB
src/blogposts/makie-showcases/images/b6e2bec78ad5008bee76f5340652882534ea2f8c.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+2.4 MB
src/blogposts/makie-showcases/images/b822bb974ddf53cf91e4f53e773c14806d0100e6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+1.07 MB
src/blogposts/makie-showcases/images/becd209e93466029d6ae4cc5adae05b0d2e5feae.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+3.33 MB
src/blogposts/makie-showcases/images/c6d8e5bc37183be27e5a3b87bd2a74a057793dce.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
# Showcasing Makie.jl: From KM3NeT's Neutrino Discovery and Beyond | ||
|
||
We're excited to feature some great packages utilizing Makie.jl. | ||
From intuitive GUIs and robotic visualizations to interactive apps and dynamic simulation displays, these examples show the wide range of visualizations Makie can bring to any project. | ||
If you're using Makie and would like to be featured in our next blog post, [please contact us](https://makie.org/website/contact)! | ||
|
||
Let's dive in and explore some of the latest packages leveraging Makie! | ||
|
||
## [RainbowAlga](https://github.com/tamasgal/RainbowAlga.jl) and KM3NeT | ||
|
||
On February 12, 2025, The KM3NeT Collaboration has announced the detection from the abyss of the Mediterranean Sea of a cosmic neutrino with a record-breaking energy of about 220 PeV. This groundbreaking discovery was published in Nature on the same date. | ||
RainbowAlga.jl is a 3D event display used in KM3NeT to visualize the detector's response to neutrino interactions and particles emitting Cherenkov radiation. Written in Julia, it leverages Makie to generate high-quality, interactive 3D scenes that can be explored in real-time using a keyboard and mouse, with the flexibility to modify the scene directly from the Julia REPL. Notably, Figure 1 of the [Nature paper](https://www.nature.com/articles/s41586-024-08543-1) was created using RainbowAlga.jl, with the rendering and computational heavy lifting handled entirely by GLMakie. | ||
|
||
#### The final figure from the [Nature paper](https://www.nature.com/articles/s41586-024-08543-1) | ||
 | ||
#### Animated video from RainbowAlga | ||
 | ||
#### Ray traced render created with [RPRMakie](https://docs.makie.org/stable/explanations/backends/rprmakie#rprmakie) | ||
 | ||
|
||
|
||
## [VMRobotControl.jl](https://cambridge-control-lab.github.io/VMRobotControl.jl/dev/) | ||
|
||
VMRobotControl allows you to build dynamic controllers for your robot as intuitive virtual mechanisms. You design your controller by building a virtual mechanism. You connect the virtual mechanism to the robot through compliant elements (like springs and dampers). The control action is automatically translated to the robot actuators (desired joint forces/torques). | ||
|
||
This package is designed for building, simulating and controlling robots using passivity-based controllers represented by virtual mechanisms. This is in the tradition of virtual model control and energy shaping/damping injection. For a defined robot geometry, you can select specific coordinates and connect components to shape the robot dynamic properties. This provides a simple way to program complex robot behaviour incrementally, from mechanical primitives. | ||
|
||
 | ||
|
||
|
||
## [Sunny.jl](https://sunnysuite.github.io/Sunny.jl/stable/) | ||
|
||
Sunny is a package for simulating atomic scale magnetism in real materials. It facilitates specification of a broad class of spin models and includes a diverse suite of numerical solvers. These include powerful methods for simulating spin dynamics both in and out of equilibrium. Uniquely, it generalizes the traditional dynamics of spin dipoles to a dynamics of SU(N) coherent states, which better captures local quantum mechanical effects. Sunny also offers a well-developed framework for calculating the dynamical spin structure factor, enabling direct comparison with scattering experiments. Ease of use is a priority, with Makie-powered GUI tools for interactive symmetry analysis and model visualization. [arXiv:2501.13095](https://arxiv.org/abs/2501.13095) | ||
|
||
 | ||
|
||
## [Comodo](https://github.com/COMODO-research/Comodo.jl) | ||
|
||
Comodo.jl is a Julia package for computational (bio)mechanics and computational design. Comodo offers a range of geometry processing methods. This included CAD-like operations such as extrusion, revolution, and lofting. Furthermore it offers various surface and volumetric meshing methods, which can be combined with finite element analysis. Together this provides a powerful set of tools allowing users to create frameworks for parameterized and automated design and design optimization. Comodo is currently being extended with image-based modelling methods, such that users may segment medical image data to create surface and volumetric meshes, e.g. for finite element analysis based medical device design optimization. | ||
|
||
 | ||
|
||
|
||
## [Multibody.jl](https://help.juliahub.com/multibody/dev/#Multibody) | ||
|
||
Multibody.jl is a library of model components for ModelingToolkit, an equation-based modeling language. With Multibody.jl, the user can assemble dynamical models for simulation of mechanical systems, such as robots, cars, drive lines and aircraft, by connecting ready-made components such as rods, boxes, joints and wheels. | ||
The modeling-language is responsible for deriving the equations of motion of the assembled model, lifting this burden off the shoulders of the modeler. 3D mechanical modeling benefits greatly from being able to visualize the mechanical system, both during the model-building process and while analyzing the result of a simulation. The interactive features of Makie fits this bill perfectly, allowing the user to produce both animations and interactive renders of their model. | ||
|
||
 | ||
|
||
## [Jutul.jl](https://github.com/sintefmath/Jutul.jl) | ||
|
||
Jutul.jl is a finite-volume modelling framework based on automatic differentiation for coupled, non-linear partial differential equations that powers several different applications that include Makie extensions for visualization. This includes [BattMo.jl](https://github.com/BattMoTeam/BattMo.jl), a package for fast and differentiable battery simulation and [JutulDarcy.jl](https://github.com/sintefmath/JutulDarcy.jl), a high-performance simulator for flow in porous media discretized on unstructured meshes. | ||
|
||
 | ||
 | ||
|
||
|
||
## [EnergyModelsGUI.jl](https://github.com/EnergyModelsX/EnergyModelsGUI.jl) | ||
|
||
EnergyModelsGUI is a graphical interface built on top of the [EnergyModelsX](https://github.com/EnergyModelsX/) framework that utilizes Makie for interactive visualizations. It provides clear, intuitive depictions of multi-energy system topologies, input data, and results, making it much easier for users to verify that their system is correctly specified and to understand model outcomes. While it does not allow altering system setups or parameters, it serves as a powerful tool for checking configurations and exploring complex results. | ||
|
||
 | ||
|
||
|
||
## [GraphPlayground.jl](https://github.com/dgleich/GraphPlayground.jl) | ||
|
||
Sometimes the best way to understand data is to play around with it interactively. There is a lovely package in JavaScript to do this by Mike Bostock called d3. In particular, the d3-force library includes all sorts of fun demos. GraphPlayground.jl includes a port of the d3-force library to Julia to enable an interactive graph exploration tool in Makie (via [GraphMakie.jl](https://github.com/MakieOrg/GraphMakie.jl)). It's capable of force calculations (attractions, repulsions, collisions) with tens of thousands of simple objects. I've used it to explore graphs of session conflicts at conferences as well as to generate layouts for small graphs. Given any undirected graph from Graphs.jl, using it is as simple as playground(g) to get an interactive window with labels, the ability to pin nodes, and the ability to export coordinates of the final layout. | ||
|
||
 | ||
|
||
|
||
## [TempestSDR.jl](https://juliatelecom.github.io/TempestSDR.jl/dev/gui/) | ||
|
||
This package proposes a Graphical User Interface (GUI) leveraging Makie to perform real-time screen eavesdrop. Screens are connected to devices by cables, often HDMI or VGA. This can lead to an unwanted emission of the image signal through electromagnetic waves. A passive listener can retrieve the image signal without being in the same room as the targeted PC! | ||
|
||
 | ||
|
||
|
||
## [PDDLViz.jl](https://github.com/JuliaPlanners/PDDLViz.jl) | ||
|
||
PDDLViz.jl is a library for visualizing, animating, and interacting with AI planning domains specified in the Planning Domain Definition Language (PDDL). | ||
PDDLViz.jl is part of the [JuliaPlanners ecosystem](https://github.com/JuliaPlanners), and operates on top of the [PDDL.jl](https://github.com/JuliaPlanners/PDDL.jl) interpreter and compiler for PDDL. | ||
PDDLViz.jl also supports the animation and rendering of planning algorithms and solutions supported by the [SymbolicPlanners.jl](https://github.com/JuliaPlanners/SymbolicPlanners.jl) library. | ||
|
||
 | ||
|
||
 | ||
|
||
|
||
## [NDViewer](https://github.com/MakieOrg/NDViewer.jl) | ||
|
||
NDViewer started as a prototype at a hackathon at [JuliaEO 2024](https://www.aircentre.org/the-juliaeo-2024-workshop) ([workshop page](https://aircentre.github.io/JuliaEO24/)), and got turned into a more polished prototype with funding from the [MPI](https://www.bgc-jena.mpg.de/en/bgi/gallery). | ||
Its aim is to make it very simple to explore multidimensional datasets for non expert users, while making it easy for experts to customize all aspects of the viewer. | ||
It supports loading [YAXArrays](https://github.com/JuliaDataCubes/YAXArrays.jl) and most other Julia array types and it uses a simple YAML syntax for defining slices and plots, making it easier to create custom dataset viewers. | ||
|
||
Key features include: | ||
|
||
- **Runs anywhere**: This can run locally directly on the GPU, while it can also be integrated into any website, to let a wide audience interact with the data. | ||
- **Modular**: Utilizes Makie's plotting capabilities with plug-ins for customizable axes and attributes, making it easy to create very different domain specific viewers. | ||
- **Basic UI**: Offers a straightforward interface for viewing data slices and including a colorbar for context. | ||
- **Data Handling**: Designed to handle large datasets, such as satellite data or neuroimaging, with support for 2D to 4D data. | ||
- **Plug into Makie ecosystem**: Makes it easy to integrate new plot types from other Packages, like [Tyler.jl](https://github.com/MakieOrg/Tyler.jl) | ||
|
||
While NDViewer is still in the prototype stage, it lays the groundwork for versatile data visualization and interaction within the Makie framework. | ||
Work on it is currently not funded, if you're interested in this project to succeed, please [contact us](https://makie.org/website/contact) 😊 | ||
|
||
#### Tyler.jl integration | ||
|
||
 | ||
|
||
#### Visualizing a dataset from [SpeedyWeather.jl](https://github.com/SpeedyWeather/SpeedyWeather.jl) | ||
|
||
 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
<item> | ||
<title>Makie Showcases</title> | ||
<link>./blogposts/showcases</link> | ||
<description> Showing off some nice projects created with Makie.jl </description> | ||
<pubDate>Wed, 22 Jan 2025 15:20:39</pubDate> | ||
<!-- <bluesky> https://bsky.app/profile/makie.org/post/3lfxcmapomk2o </bluesky> --> | ||
<image> | ||
<url>./images/robot.png</url> | ||
</image> | ||
</item> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.