From 77ce124697977862ecd693c1bd20e0c365964f71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wachiou=20BOURA=C3=8FMA?= <100234404+WassCodeur@users.noreply.github.com> Date: Mon, 29 Jul 2024 02:00:46 +0000 Subject: [PATCH] fix typo in blog posts (#911) --- .../2021/2021-08-16-week-11-antriksh.rst | 2 +- .../2021/2021-16-08-gsoc-devmessias-11.rst | 71 ++++++--------- .../posts/2022/2022-09-15-week-13-blog.rst | 1 + .../2023/2023-01-29-final-report-mohamed.rst | 36 ++++---- .../2023/2023-01-29-final-report-shivam.rst | 90 ++++++++----------- .../2023/2023-06-26-week-4-joaodellagli.rst | 4 +- .../2023/2023-06-27-week-4-tvcastillod.rst | 2 +- .../2023/2023-07-03-week-5-joaodellagli.rst | 2 +- .../2023/2023-07-10-week-6-joaodellagli.rst | 6 +- .../2023/2023-07-17-week-7-tvcastillod.rst | 4 +- .../2023/2023-07-24-week-8-joaodellagli.rst | 2 +- .../2023/2023-07-31-week-9-joaodellagli.rst | 2 +- .../2023/2023-08-14-week-11-joaodellagli.rst | 5 +- .../2023/2023-08-16-week-11-tvcastillod.rst | 4 +- .../2023-08-21-joaodellagli-final-report.rst | 27 +++--- .../2023/2023-08-21-week-12-joaodellagli.rst | 5 +- .../2023-08-24-final-report-tvcastillod.rst | 4 +- .../2023/2023-08-25-final-report-praneeth.rst | 84 ++++++++--------- .../2024-06-26-week4-wachiou-bouraima.rst | 2 +- .../posts/2024/2024-07-01-week-4-robin.rst | 2 +- .../posts/2024/2024-07-01-week-5-robin.rst | 10 +-- 21 files changed, 166 insertions(+), 199 deletions(-) diff --git a/docs/source/posts/2021/2021-08-16-week-11-antriksh.rst b/docs/source/posts/2021/2021-08-16-week-11-antriksh.rst index b229f0343..a1c68ef79 100644 --- a/docs/source/posts/2021/2021-08-16-week-11-antriksh.rst +++ b/docs/source/posts/2021/2021-08-16-week-11-antriksh.rst @@ -13,7 +13,7 @@ Below are the tasks that I worked on: * `Created PR for sprite sheet animation `_ : This PR adds support for playing animations from a sprite sheet. This feature will be used in Card2D to create a tutorial in which the card will show the animation in the image box. Previously, the utility functions for this were added directly inside the tutorial but now they are refactored to go in their respective modules. * `Finalized the x, y, z layouts `_ : The PR that adds these layouts needed some updates for it to work as intended. These changes were added and this PR is ready to go. * `Resolved all conflicts in the GridLayout PR `_ : As the Horizontal and Vertical layouts were merged this week the GridLayout PR had got some conflicts. These conflicts were resolved and the PR is almost ready. -* **Continuing the work on custom font rendering** : In the last meeting, a few points were brought up. Firstly, to position each glyph to their respective location in the atlas a separate module is used which is freetype-gl. The python bindings for this module are not available which means either we have to write the bindings ourselves or the freetype team will be emailed about this and they will add bindings for that. On the other hand, I looked how latex is rendered in matplotlib. `This `_ is the Text class that is used to represent the string that is to be drawn and `This is the class that it inherits from.`_ Everything is handled internally in matplotlib, to draw the rasterized text `this function is used. `_ The text can be rendered in two ways, the first one is by using the default renderer and the second way is by using PathEffectRenderer that is used to add effects like outlines, anti-aliasing etc. It is a very rigid way of rendering text and is designed to be used internally. +* **Continuing the work on custom font rendering** : In the last meeting, a few points were brought up. Firstly, to position each glyph to their respective location in the atlas a separate module is used which is freetype-gl. The python bindings for this module are not available which means either we have to write the bindings ourselves or the freetype team will be emailed about this and they will add bindings for that. On the other hand, I looked how latex is rendered in matplotlib. `This `_ is the Text class that is used to represent the string that is to be drawn and `This is the class that it inherits from `_. Everything is handled internally in matplotlib, to draw the rasterized text `this function is used. `_ The text can be rendered in two ways, the first one is by using the default renderer and the second way is by using PathEffectRenderer that is used to add effects like outlines, anti-aliasing etc. It is a very rigid way of rendering text and is designed to be used internally. Did I get stuck anywhere? ------------------------- diff --git a/docs/source/posts/2021/2021-16-08-gsoc-devmessias-11.rst b/docs/source/posts/2021/2021-16-08-gsoc-devmessias-11.rst index 1261ba826..7fb79e42f 100644 --- a/docs/source/posts/2021/2021-16-08-gsoc-devmessias-11.rst +++ b/docs/source/posts/2021/2021-16-08-gsoc-devmessias-11.rst @@ -1,4 +1,4 @@ -Week #11: Removing the flickering effect +Week 11: Removing the flickering effect ======================================== .. post:: August 16 2021 @@ -12,69 +12,50 @@ What did I do this week? FURY ^^^^ -- `PR fury-gl/fury#489: `__ +1. `PR fury-gl/fury#489: `_ - This PR give to FURY three - pre-built texture maps using different fonts. However, is quite easy - to create new fonts to be used in a visualization. -| It's was quite hard to develop the shader code and find the correct - positions of the texture maps to be used in the shader. Because we - used the freetype-py to generate the texture and packing the glyps. - However, the lib has some examples with bugs. But fortunately, now - everything is working on FURY. I've also created two different examples - to show how this PR works. +This PR give to FURY three pre-built texture maps using different fonts. However, is quite easy to create new fonts to be used in a visualization. - The first example, viz_huge_amount_of_labels.py, shows that the user can - draw hundreds of thousands of characters. +It's was quite hard to develop the shader code and find the correct positions of the texture maps to be used in the shader. Because we used the freetype-py to generate the texture and packing the glyps. However, the lib has some examples with bugs. But fortunately, now everything is working on FURY. I've also created two different examples to show how this PR works. +The first example, viz_huge_amount_of_labels.py, shows that the user can draw hundreds of thousands of characters. - |image2| - The second example, viz_billboad_labels.py, shows the different behaviors of the label actor. In addition, presents - to the user how to create a new texture atlas font to be used across different visualizations. +|image2| -- `PR fury-gl/fury#437: `__ +The second example, viz_billboad_labels.py, shows the different behaviors of the label actor. In addition, presents to the user how to create a new texture atlas font to be used across different visualizations. - - Fix: avoid multiple OpenGl context on windows using asyncio - The streaming system must be generic, but opengl and vtk behaves in uniques ways in each Operating System. Thus, can be tricky - to have the same behavior acrros different OS. One hard stuff that we founded is that was not possible to use my - TimeIntervals objects (implemented with threading module) with vtk. The reason for this impossibility is because we can't use - vtk in windows in different threads. But fortunely, moving from the threading (multithreading) to the asyncio approcach (concurrency) - have fixed this issue and now the streaming system is ready to be used anywhere. +2. `PR fury-gl/fury#437: `_ - - Flickering: + - Fix: avoid multiple OpenGl context on windows using asyncio - Finally, I could found the cause of the flickering effect on the streaming system. - This flickering was appearing only when the streaming was created using the Widget object. - The cause seems to be a bug or a strange behavior from vtk. - Calling iren.MouseWheelForwardEvent() or iren.MouseWheelBackwardEvent() - inside of a thread without invoking the - Start method from a vtk instance produces a memory corruption. - Fortunately, I could fix this behavior and now the streaming system is - working without this glitch effect. + The streaming system must be generic, but opengl and vtk behaves in uniques ways in each Operating System. Thus, can be tricky to have the same behavior acrros different OS. One hard stuff that we founded is that was not possible to use my + TimeIntervals objects (implemented with threading module) with vtk. The reason for this impossibility is because we can't use vtk in windows in different threads. But fortunely, moving from the threading (multithreading) to the asyncio approcach (concurrency) have fixed this issue and now the streaming system is ready to be used anywhere. + + - Flickering: + + Finally, I could found the cause of the flickering effect on the streaming system. + This flickering was appearing only when the streaming was created using the Widget object. + The cause seems to be a bug or a strange behavior from vtk. + Calling iren.MouseWheelForwardEvent() or iren.MouseWheelBackwardEvent() + inside of a thread without invoking the + Start method from a vtk instance produces a memory corruption. + Fortunately, I could fix this behavior and now the streaming system is + working without this glitch effect. FURY/Helios ^^^^^^^^^^^ -- `PR fury-gl/helios#24 - : `__ +3. `PR fury-gl/helios#24: `__ -This uses the -`PRfury-gl/fury#489: `__ to -give the network label feature to helios. Is possible to draw node -labels, update the colors, change the positions at runtime. In addition, -when a network layout algorithm is running this will automatically -update the node labels positions to follow the nodes across the screen. +This uses the `PRfury-gl/fury#489: `__ to give the network label feature to helios. Is possible to draw node labels, update the colors, change the positions at runtime. In addition, when a network layout algorithm is running this will automatically update the node labels positions to follow the nodes across the screen. |image1| -- `PR fury-gl/helios#23: - Merged. `__ +4. `PR fury-gl/helios#23 (merged): `__ -This PR granted compatibility between IPC Layouts and Windows. Besides -that , now is quite easier to create new network layouts using inter -process communication +This PR granted compatibility between IPC Layouts and Windows. Besides that , now is quite easier to create new network layouts using inter process communication Did I get stuck anywhere? ------------------------- diff --git a/docs/source/posts/2022/2022-09-15-week-13-blog.rst b/docs/source/posts/2022/2022-09-15-week-13-blog.rst index 3d8088c59..b1fbe9a83 100644 --- a/docs/source/posts/2022/2022-09-15-week-13-blog.rst +++ b/docs/source/posts/2022/2022-09-15-week-13-blog.rst @@ -15,6 +15,7 @@ This week I fixed all the issues with skeletal animations, and we got to see our - Implemented a hierarchical timeline system (i.e., one timeline for each bone, and the timeline will contain its parent timeline in a hierarchy). - I figured out that we don't need to apply the parent transform as we're applying it to the vertex data while forming the actor. So the skin matrix becomes + ``SkinMatrix = InverseBindPose * BoneDeform`` where ``BoneDeform = CurrentBoneTransform * ParentBonetransform``. Here's a preview using the ``CesiumMan`` model: diff --git a/docs/source/posts/2023/2023-01-29-final-report-mohamed.rst b/docs/source/posts/2023/2023-01-29-final-report-mohamed.rst index 68cf97c12..807518aa3 100644 --- a/docs/source/posts/2023/2023-01-29-final-report-mohamed.rst +++ b/docs/source/posts/2023/2023-01-29-final-report-mohamed.rst @@ -9,7 +9,7 @@
- fury + FURY
@@ -50,7 +50,7 @@ Modified Objectives * Adding a playback panel for controlling the timeline. * Billboard actor using the geometry shader. * Hierarchical animation support. -* Animating primitives of the same Fury actor separately. +* Animating primitives of the same FURY actor separately. * Color interpolators. Objectives Completed @@ -63,7 +63,7 @@ Objectives Completed * ``Animation`` Class * - The ``Animation`` class is the main part of the FURY animation module. It is responsible for keyframe animations for a single or a group of FURY actors. The ``Animation`` is able to handle multiple attributes and properties of Fury actors such as position, color, scale, rotation, and opacity. It is also capable of doing the following: + The ``Animation`` class is the main part of the FURY animation module. It is responsible for keyframe animations for a single or a group of FURY actors. The ``Animation`` is able to handle multiple attributes and properties of FURY actors such as position, color, scale, rotation, and opacity. It is also capable of doing the following: * Set animation keyframes and events. @@ -153,7 +153,7 @@ Objectives Completed * Billboard actor using the geometry shader - Fury already has a billboard actor implemented using two triangles to construct the billboard. But the new approach uses only one vertex and the canvas of the billboard is generated by the geometry shader. This approach is faster in initialization since only the center is needed and no additional computations to generate the primitive on the CPU side. Also, animating these new billboards using the method mentioned above in the previous objective is way much faster, and faster is one of the reasons why we use billboards. + FURY already has a billboard actor implemented using two triangles to construct the billboard. But the new approach uses only one vertex and the canvas of the billboard is generated by the geometry shader. This approach is faster in initialization since only the center is needed and no additional computations to generate the primitive on the CPU side. Also, animating these new billboards using the method mentioned above in the previous objective is way much faster, and faster is one of the reasons why we use billboards. *Pull Requests:* @@ -223,43 +223,43 @@ Timeline - Blog Post Link * - Week 0\ :raw-html:`
`\ (23-05-2022) - My journey till getting accepted into GSoC22 - - `FURY `_ - `Python `_ + - `FURY `__ - `Python `__ * - Week 1\ :raw-html:`
`\ (08-06-2022) - Implementing a basic Keyframe animation API - - `FURY `_ - `Python `_ + - `FURY `__ - `Python `__ * - Week 2\ :raw-html:`
`\ (28-06-2022) - Implementing non-linear and color interpolators - - `FURY `_ - `Python `_ + - `FURY `__ - `Python `__ * - Week 3\ :raw-html:`
`\ (04-07-2022) - Redesigning the API,\ :raw-html:`
` Implementing cubic Bezier Interpolator,\ :raw-html:`
` and making progress on the GPU side! - - `FURY `_ - `Python `_ + - `FURY `__ - `Python `__ * - Week 4\ :raw-html:`
`\ (11-07-2022) - Camera animation, :raw-html:`
`\ interpolation in GLSL, and a single Timeline! - - `FURY `_ - `Python `_ + - `FURY `__ - `Python `__ * - Week 5\ :raw-html:`
`\ (19-07-2022) - Slerp implementation, :raw-html:`
`\ documenting the Timeline, and adding unit tests - - `FURY `_ - `Python `_ + - `FURY `__ - `Python `__ * - Week 6\ :raw-html:`
`\ (25-07-2022) - Fixing the Timeline issues and equipping it with\ :raw-html:`
` more features - - `FURY `_ - `Python `_ + - `FURY `__ - `Python `__ * - Week 7\ :raw-html:`
`\ (01-08-2022) - Billboard spheres and implementing interpolators\ :raw-html:`
` using closures - - `FURY `_ - `Python `_ + - `FURY `__ - `Python `__ * - Week 8\ :raw-html:`
`\ (09-08-2022) - Back to the shader-based version of the Timeline - - `FURY `_ - `Python `_ + - `FURY `__ - `Python `__ * - Week 9\ :raw-html:`
`\ (16-08-2022) - Animating primitives of the same actor - - `FURY `_ - `Python `_ + - `FURY `__ - `Python `__ * - Week 10\ :raw-html:`
`\ (23-08-2022) - Supporting hierarchical animating - - `FURY `_ - `Python `_ + - `FURY `__ - `Python `__ * - Week 11\ :raw-html:`
`\ (30-08-2022) - Improving tutorials a little - - `FURY `_ - `Python `_ + - `FURY `__ - `Python `__ * - Week 12\ :raw-html:`
`\ (7-09-2022) - Adding new tutorials - - `FURY `_ - `Python `_ + - `FURY `__ - `Python `__ * - Week 13\ :raw-html:`
`\ (20-09-2022) - Keyframes animation is now a bit easier in FURY - - `FURY `_ - `Python `_ + - `FURY `__ - `Python `__ diff --git a/docs/source/posts/2023/2023-01-29-final-report-shivam.rst b/docs/source/posts/2023/2023-01-29-final-report-shivam.rst index 4e4b5bbac..92fc97639 100644 --- a/docs/source/posts/2023/2023-01-29-final-report-shivam.rst +++ b/docs/source/posts/2023/2023-01-29-final-report-shivam.rst @@ -25,8 +25,7 @@ Google Summer of Code Final Work Product - **Name:** Shivam Anand - **Organisation:** Python Software Foundation - **Sub-Organisation:** FURY -- **Project:** `FURY - glTF - Integration `__ +- **Project:** `FURY - glTF Integration `__ Proposed Objectives @@ -88,7 +87,7 @@ Exporting Scene as a glTF ************************* -The fury scene can contain multiple objects such as actors, cameras, +The FURY scene can contain multiple objects such as actors, cameras, textures, etc. We need to get the primitive information (such as Vertices, Triangles, UVs, Normals, etc.) from these objects and store them into a ``.bin`` file. Added methods that export these @@ -260,55 +259,36 @@ GSoC weekly blogs Timeline -------- - -.. list-table:: - :header-rows: 1 - - * - Date - - Description - - Blog Post Link - * - Week 0\ :raw-html:`
`\ (24-05-2022) - - My journey to GSoC 2022 - - `FURY `_ - `Python `_ - * - Week 1\ :raw-html:`
`\ (20-06-2022) - - A basic glTF Importer - - `FURY `_ - `Python `_ - * - Week 2\ :raw-html:`
`\ (29-06-2022) - - Improving Fetcher and Exporting glTF - - `FURY `_ - `Python `_ - * - Week 3\ :raw-html:`
`\ (04-07-2022) - - Fixing fetcher adding tests and docs - - `FURY `_ - `Python `_ - * - Week 4\ :raw-html:`
`\ (12-07-2022) - - Finalizing glTF loader - - `FURY `_ - `Python `_ - * - Week 5\ :raw-html:`
`\ (19-07-2022) - - Creating PR for glTF exporter and fixing the loader - - `FURY `_ - `Python `_ - * - Week 6\ :raw-html:`
`\ (25-07-2022) - - Extracting the animation data - - `FURY `_ - `Python `_ - * - Week 7\ :raw-html:`
`\ (01-08-2022) - - Fixing bugs in animations - - `FURY `_ - `Python `_ - * - Week 8\ :raw-html:`
`\ (09-08-2022) - - Fixing animation bugs - - `FURY `_ - `Python `_ - * - Week 9\ :raw-html:`
`\ (17-08-2022) - - First working skeletal animation prototype - - `FURY `_ - `Python `_ - * - Week 10\ :raw-html:`
`\ (25-08-2022) - - Multi-node skinning support - - `FURY `_ - `Python `_ - * - Week 11\ :raw-html:`
`\ (31-08-2022) - - Multiple transformations support and adding tests - - `FURY `_ - `Python `_ - * - Week 12\ :raw-html:`
`\ (08-09-2022) - - Adding skeleton as actors and fix global transformation - - `FURY `_ - `Python `_ - * - Week 13\ :raw-html:`
`\ (15-09-2022) - - Multi bone skeletal animations - - `FURY `_ - `Python `_ - * - Week 14\ :raw-html:`
`\ (28-09-2022) - - Morphing is here ! - - `FURY `_ - `Python `_ ++----------------------+-----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Date | Description | Blog Post Link | ++======================+===========================================================+===========================================================================================================================================================================================================+ +| Week 0 (24-05-2022) | My journey to GSoC 2022 | `FURY `__ - `Python `__ | ++----------------------+-----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 1 (20-06-2022) | A baic glTF Importer | `FURY `__ - `Python `__ | ++----------------------+-----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 2 (29-06-2022) | Improving Fetcher and Exporting glTF | `FURY `__ - `Python Blogs `__ | ++----------------------+-----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 3 (04-07-2022) | Fixing fetcher adding tests and docs | `FURY `__ - `Python `__ | ++----------------------+-----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 4 (12-07-2022) | Finalizing glTF loader | `FURY `__ -`Python`__ | ++----------------------+-----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 5 (19-07-2022) | Creating PR for glTF exporter and fixing the loader | `FURY `__ - `Python `__ | ++----------------------+-----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 6 (25-07-2022) | Extracting the animation data | `FURY `__ - `Python `__ | ++----------------------+-----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 7 (01-08-2022) | Fixing bugs in animations | `FURY `__ - `Python `__ | ++----------------------+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 8 (09-08-2022) | Fixing animation bugs | `FURY `__ - `Python `__ | ++----------------------+-----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 9 (17-08-2022) | First working skeletal animation prototype | `FURY `__ - `Python `__ | ++----------------------+-----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 10 (25-08-2022) | Multi-node skinning support | `FURY `__ - `Python `__ | ++----------------------+-----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 11 (31-08-2022) | Multiple transformations support and adding tests | `FURY `__ - `Python `__ | ++----------------------+-----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 12 (08-09-2022) | Adding skeleton as actors and fix global transformation | `FURY `__ - `Python `__| ++----------------------+-----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 13 (15-09-2022) | Multi bone skeletal animations | `FURY `__ - `Python `__ | ++----------------------+-----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 14 (28-09-2022) | Morphing is here ! | `FURY `__ - `Python `__ | ++----------------------+-----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/docs/source/posts/2023/2023-06-26-week-4-joaodellagli.rst b/docs/source/posts/2023/2023-06-26-week-4-joaodellagli.rst index 151b1c719..5fa694354 100644 --- a/docs/source/posts/2023/2023-06-26-week-4-joaodellagli.rst +++ b/docs/source/posts/2023/2023-06-26-week-4-joaodellagli.rst @@ -12,7 +12,7 @@ Welcome again to another weekly blogpost! Today, let's talk about the importance Last Week's Effort ----------------------- So, last week my project was struggling with some supposedly simple in concept, yet intricate in execution issues. If you recall from -my :doc:`last blogpost <2023-06-19-week-3-joaodellagli>`, I could not manage to make the Framebuffer Object setup work, as its method, +my :ref:`last blogpost <2023-06-19-week-3-joaodellagli>`, I could not manage to make the Framebuffer Object setup work, as its method, ``SetContext()``, wasn't being able to generate the FBO inside OpenGL. Well, after some (more) research about that as I also dived in my plan B, that involved studying numba as a way to accelerate a data structure I implemented on my PR `#783 `_, me and one of my mentors decided we needed a pair programming session, that finally happened on thursday. After that session, @@ -34,11 +34,13 @@ Apparently, for the FBO generation to work, it is first needed to initialize the This simple missing line of code was responsible for ending weeks of suffer, as after that, I called: + :: print("FBO of index:", FBO.GetFBOIndex()) print("Number of color attachments:", FBO.GetNumberOfColorAttachments()) That outputted: + :: FBO of index: 4 Number of color attachments: 1 diff --git a/docs/source/posts/2023/2023-06-27-week-4-tvcastillod.rst b/docs/source/posts/2023/2023-06-27-week-4-tvcastillod.rst index 5fd4e8735..00a8811cb 100644 --- a/docs/source/posts/2023/2023-06-27-week-4-tvcastillod.rst +++ b/docs/source/posts/2023/2023-06-27-week-4-tvcastillod.rst @@ -17,7 +17,7 @@ I made a second PR with the implementation of DTI uncertainty calculation and vi :width: 530 :align: center -I had to use some **dipy** functions, specifically: `estimate_sigma `_ for the noise variance calculation, `design_matrix `_ to get the b-matrix, and `tensor_prediction `_ for the signal estimation. The details of this calculations can be found `here `_. +I had to use some **DIPY** functions, specifically: `estimate_sigma `_ for the noise variance calculation, `design_matrix `_ to get the b-matrix, and `tensor_prediction `_ for the signal estimation. The details of this calculations can be found `here `_. What is coming up next? ----------------------- diff --git a/docs/source/posts/2023/2023-07-03-week-5-joaodellagli.rst b/docs/source/posts/2023/2023-07-03-week-5-joaodellagli.rst index 65236da69..bb00a0201 100644 --- a/docs/source/posts/2023/2023-07-03-week-5-joaodellagli.rst +++ b/docs/source/posts/2023/2023-07-03-week-5-joaodellagli.rst @@ -12,7 +12,7 @@ Hello everyone, time for another weekly blogpost! Today, we will talk about taki Last Week's Effort ------------------ After having the FBO properly set up, the plan was to finally *render* something to it. Well, I wished for a less bumpy road -at my :doc:`last blogpost <2023-06-26-week-4-joaodellagli>` but as in this project things apparently tend to go wrong, +at my :ref:`last blogpost <2023-06-26-week-4-joaodellagli>` but as in this project things apparently tend to go wrong, of course the same happened with this step. diff --git a/docs/source/posts/2023/2023-07-10-week-6-joaodellagli.rst b/docs/source/posts/2023/2023-07-10-week-6-joaodellagli.rst index 0cce36b45..7deb2db06 100644 --- a/docs/source/posts/2023/2023-07-10-week-6-joaodellagli.rst +++ b/docs/source/posts/2023/2023-07-10-week-6-joaodellagli.rst @@ -9,9 +9,11 @@ Week 6: Things are Starting to Build Up Hello everyone, time for a other weekly blogpost! Today, I will show you my current progress on my project and latest activities. +W What I did Last Week -------------------- -Last week I had the goal to implement KDE rendering to the screen (if you want to understand what this is, check my :doc:`last blogpost <2023-07-03-week-5-joaodellagli>`_). + +Last week I had the goal to implement KDE rendering to the screen (if you want to understand what this is, check my :ref:`last blogpost <2023-07-03-week-5-joaodellagli>`). After some days diving into the code, I finally managed to do it: .. image:: https://raw.githubusercontent.com/JoaoDell/gsoc_assets/main/images/buffer_compose.png @@ -29,6 +31,7 @@ to this week, so I had limited time to polish my code, which I plan to do better Where the Problem Was --------------------- + The KDE render basically works rendering the KDE of a point to a texture and summing that texture to the next render. For this to work, the texture, rendered to a billboard, needs to be the same size of the screen, otherwise the captured texture will include the black background. The problem I faced with that is that the billboard scaling isn't exactly well defined, so I had to guess for a fixed screen size @@ -52,6 +55,7 @@ to use the right texture coordinates and finally render the results you see abov This Week's Goals ----------------- + For this week, I plan to try a different approach Filipi, one of my mentors, told me to do. This approach was supposed to be the original one, but a communication failure lead to this path I am currently in. This approach renders each KDE calculation into its own billboard, and those are rendered together with additive blending. After this first pass, this render is captured into a texture and then rendered to diff --git a/docs/source/posts/2023/2023-07-17-week-7-tvcastillod.rst b/docs/source/posts/2023/2023-07-17-week-7-tvcastillod.rst index 99bff5fec..5c47506bd 100644 --- a/docs/source/posts/2023/2023-07-17-week-7-tvcastillod.rst +++ b/docs/source/posts/2023/2023-07-17-week-7-tvcastillod.rst @@ -9,14 +9,14 @@ Week 7: Adjustments on the Uncertainty Cones visualization What did I do this week? ------------------------ -I was told to refactor some parts of the uncertainty PR, since I was relying too much on **dipy** functions which is not good because it makes maintenance more difficult as **dipy** requires **FURY** for some functionalities. So I did some adjustments on the uncertainty function parameters and the corresponding tests, hopefully I managed to get with the most appropriate definition but I need to receive a first feedback to see how much I have to adjust the implementation. As I had to delete some relevant code lines inside the uncertainty calculation which consisted of preprocessing the data in order to define the necessary variables for the uncertainty formula, I was also suggested to make a tutorial of this new feature, so I can explain in detail how to obtain and adjust the necessary information, before passing it to the actor, and in general how and what is the purpose of this new function. +I was told to refactor some parts of the uncertainty PR, since I was relying too much on **DIPY** functions which is not good because it makes maintenance more difficult as **DIPY** requires **FURY** for some functionalities. So I did some adjustments on the uncertainty function parameters and the corresponding tests, hopefully I managed to get with the most appropriate definition but I need to receive a first feedback to see how much I have to adjust the implementation. As I had to delete some relevant code lines inside the uncertainty calculation which consisted of preprocessing the data in order to define the necessary variables for the uncertainty formula, I was also suggested to make a tutorial of this new feature, so I can explain in detail how to obtain and adjust the necessary information, before passing it to the actor, and in general how and what is the purpose of this new function. I also continued working on the ellipsoid tutorial, which I hope to finish this week so that I can ask for a first revision. What is coming up next? ----------------------- -I will finish defining some details of the tutorial so that it is ready for review, and now I will start working on the tutorial related to the uncertainty, while I receive feedback on the other PRs. Also, as preparation for the next step I will start exploring on how to address visualization of spherical harmonics for ODF glyphs visualization, I found that a previous GSoC participant at FURY started working on that and also did several work with raymarching and SDF (:doc:`here is a summary of the work <../2020/2020-08-24-final-work-lenix>`), so I will take a deeper look on that to see if I can get something useful I can start with. +I will finish defining some details of the tutorial so that it is ready for review, and now I will start working on the tutorial related to the uncertainty, while I receive feedback on the other PRs. Also, as preparation for the next step I will start exploring on how to address visualization of spherical harmonics for ODF glyphs visualization, I found that a previous GSoC participant at FURY started working on that and also did several work with raymarching and SDF (:doc:`here is a summary of the work <../2020/2020-08-24-final-work-lenix>`_), so I will take a deeper look on that to see if I can get something useful I can start with. Did I get stuck anywhere? ------------------------- diff --git a/docs/source/posts/2023/2023-07-24-week-8-joaodellagli.rst b/docs/source/posts/2023/2023-07-24-week-8-joaodellagli.rst index e74031109..ba0ad6f41 100644 --- a/docs/source/posts/2023/2023-07-24-week-8-joaodellagli.rst +++ b/docs/source/posts/2023/2023-07-24-week-8-joaodellagli.rst @@ -21,7 +21,7 @@ on how could this work, reaching two options: The first one would have the advantage of being simple and pretty straightforward, as a user would only need to call the actor and have it working on their hands, having the tradeoff of leaving some important steps for a clean API hidden and static. These steps I mention -are related to how this rendering works, as I have previously :doc:`showed you <2023-07-03-week-5-joaodellagli>`, it relies on post-processing effects, +are related to how this rendering works, as I have previously :ref:`showed you <2023-07-03-week-5-joaodellagli>`, it relies on post-processing effects, which need an offscreen rendering, that for example are done by the *callback functions*. In short, these functions are instructions the user gives to the interactor to run inside the interaction loop. Inside FURY there are tree diff --git a/docs/source/posts/2023/2023-07-31-week-9-joaodellagli.rst b/docs/source/posts/2023/2023-07-31-week-9-joaodellagli.rst index 90605dcc3..511c3cf86 100644 --- a/docs/source/posts/2023/2023-07-31-week-9-joaodellagli.rst +++ b/docs/source/posts/2023/2023-07-31-week-9-joaodellagli.rst @@ -71,7 +71,7 @@ That outputted the following (beautiful) results for a set of 1000 random points The third one is still being a trickier challenge. If you recall from my first blogposts, I spent something around *one month* trying to setup float framebuffer objects to FURY with VTK so I could use them in my project. After spending all of that time with no results, -me and Bruno, my mentor, :doc:`found a way <2023-07-03-week-5-joaodellagli.rst>` to do what we wanted to do, but using a different VTK class, +me and Bruno, my mentor, :ref:`found a way <2023-07-03-week-5-joaodellagli>` to do what we wanted to do, but using a different VTK class, `vtkWindowToImageFilter `_. Well, it was a good workaround back then and it lead me all the way here, however now it is costing a price. The float framebuffers were an important part of the project because they would allow us to pass *32-bit float information* from one shader to another, which would be important as they would allow the densities to diff --git a/docs/source/posts/2023/2023-08-14-week-11-joaodellagli.rst b/docs/source/posts/2023/2023-08-14-week-11-joaodellagli.rst index e3dc59bf1..9fbf55051 100644 --- a/docs/source/posts/2023/2023-08-14-week-11-joaodellagli.rst +++ b/docs/source/posts/2023/2023-08-14-week-11-joaodellagli.rst @@ -11,7 +11,8 @@ I was working on with my mentors. Last Week's Effort ------------------ -As I shared with you :doc:`last week <2023-08-07-week-10-joaodellagli>`, the first draft of my API was finally ready for review, as + +As I shared with you :ref:`last week <2023-08-07-week-10-joaodellagli>`, the first draft of my API was finally ready for review, as I finished tweaking some remaining details missing. I was tasked with finding a good example of the usage of the tools we proposed, and I started to do that, however after testing it with some examples, I figured out some significant bugs were to be fixed. Also, after some reviews and hints from some of my mentors and other GSoC contributors, we realised that some refactoring should be done, @@ -19,6 +20,7 @@ mainly focused on avoiding bad API usage from the user. So how did it go? ----------------- + Initially, I thought only one bug was the source of the issues the rendering presented, but it turned out to be two, which I will explain further. @@ -80,6 +82,7 @@ parameters passed. This Week's Goals ----------------- + Having that refactoring made, now I am awaiting for a second review so we could finally wrap it up and merge the first stage of this API. With that being done, I will write the final report and wrap this all up. diff --git a/docs/source/posts/2023/2023-08-16-week-11-tvcastillod.rst b/docs/source/posts/2023/2023-08-16-week-11-tvcastillod.rst index 503fbed41..76c88ed6c 100644 --- a/docs/source/posts/2023/2023-08-16-week-11-tvcastillod.rst +++ b/docs/source/posts/2023/2023-08-16-week-11-tvcastillod.rst @@ -9,7 +9,7 @@ Week 11 : Adjusting ODF implementation and looking for solutions on issues found What did I do this week? ------------------------ -I continued to experiment with the ODF glyph implementation. Thanks to one of my mentors I figured out how to get the missing data corresponding to the SH coefficients :math:`a^l_m` part of the function :math:`f(\theta, \phi)` described `here `_. I also was told to make sure to implement the correct SH basis since there are different definitions from the literature, I have to focus now in the one proposed by Descoteaux, described in `this paper `_, which is labeled in *dipy* as *descoteaux07*. To do this I had to make a small adjustment to the base implementation that I took as a reference, from which I obtained a first result using SH of order 4. +I continued to experiment with the ODF glyph implementation. Thanks to one of my mentors I figured out how to get the missing data corresponding to the SH coefficients :math:`a^l_m` part of the function :math:`f(\theta, \phi)` described `here `_. I also was told to make sure to implement the correct SH basis since there are different definitions from the literature, I have to focus now in the one proposed by Descoteaux, described in `this paper `_, which is labeled in *DIPY* as *descoteaux07*. To do this I had to make a small adjustment to the base implementation that I took as a reference, from which I obtained a first result using SH of order 4. .. image:: https://user-images.githubusercontent.com/31288525/260909561-fd90033c-018a-465b-bd16-3586bb31ca36.png :width: 600 @@ -24,7 +24,7 @@ For now, there are 3 things I will continue to work on: - The color and lighting. As these objects present curvatures with quite a bit of detail in some cases, this is something that requires more specific lighting work, in addition to having now not only one color but a color map. - The scaling. This is something I still don't know how to deal with. I had to adjust it manually for now, but the idea is to find a relationship between the coefficients and the final object size so it can be automatically scaled, or maybe there is a proper way to pre-process this data before passing it to the shaders to get the right result at once. -- How to pass the information of the coefficients efficiently. Right now I'm creating one actor per glyph since I'm using a uniform array to pass the coefficients, but the idea is to pass all the data at once. I found several ideas `here `_ of how to pass a list of values to the fragment shader directly, I just need to explore deeper how this can be done on **FURY**, and see which option is most suitable. +- How to pass the information of the coefficients efficiently. Right now I'm creating one actor per glyph since I'm using a uniform array to pass the coefficients, but the idea is to pass all the data at once. I found several ideas `ideas here `_ of how to pass a list of values to the fragment shader directly, I just need to explore deeper how this can be done on **FURY**, and see which option is most suitable. Did I get stuck anywhere? ------------------------- diff --git a/docs/source/posts/2023/2023-08-21-joaodellagli-final-report.rst b/docs/source/posts/2023/2023-08-21-joaodellagli-final-report.rst index 33650149a..b1842bffd 100644 --- a/docs/source/posts/2023/2023-08-21-joaodellagli-final-report.rst +++ b/docs/source/posts/2023/2023-08-21-joaodellagli-final-report.rst @@ -71,7 +71,7 @@ Objectives Completed properly, as some details seemed to be missing from the documentation, and asking the community haven't solved the problem as well. Reporting that to my mentors, which unsuccessfully tried themselves to make it work, they decided it was better if another path was taken, using `VTK's WindowToImageFilter `_ method as a workaround, described - in this `blogpost `_. This method helped the development of + in `my week5 blogpost `_. This method helped the development of three new functions to FURY, *window_to_texture()*, *texture_to_actor()* and *colormap_to_texture()*, that allow the passing of different kinds of textures to FURY's actor's shaders, the first one to capture a window and pass it as a texture to an actor, the second one to pass an external texture to an actor, and the third one to specifically pass a colormap as a texture to an @@ -160,6 +160,7 @@ Objectives Completed encapsulated inside the *ÈffectManager.kde()* method. It had the following look: .. code-block:: python + from fury.effect_manager import EffectManager from fury import window @@ -334,27 +335,27 @@ Timeline +=====================+====================================================+===========================================================================================================================================================================================================+ | Week 0 (29-05-2023) | The Beginning of Everything | `FURY `__ - `Python `__ | +---------------------+----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Week 1 (05-06-2022) | The FBO Saga | `FURY `__ - `Python `__ | +| Week 1 (05-06-2023) | The FBO Saga | `FURY `__ - `Python `__ | +---------------------+----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Week 2 (12-06-2022) | The Importance of (good) Documentation | `FURY `__ - `Python `__ | +| Week 2 (12-06-2023) | The Importance of (good) Documentation | `FURY `__ - `Python `__ | +---------------------+----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Week 3 (19-06-2022) | Watch Your Expectations | `FURY `__ - `Python `__ | +| Week 3 (19-06-2023) | Watch Your Expectations | `FURY `__ - `Python `__ | +---------------------+----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Week 4 (26-06-2022) | Nothing is Ever Lost | `FURY `__ - `Python `__ | +| Week 4 (26-06-2023) | Nothing is Ever Lost | `FURY `__ - `Python `__ | +---------------------+----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Week 5 (03-07-2022) | All Roads Lead to Rome | `FURY `__ - `Python `__ | +| Week 5 (03-07-2023) | All Roads Lead to Rome | `FURY `__ - `Python `__ | +---------------------+----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Week 6 (10-07-2022) | Things are Starting to Build Up | `FURY `__ - `Python `__ | +| Week 6 (10-07-2023) | Things are Starting to Build Up | `FURY `__ - `Python `__ | +---------------------+----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Week 7 (17-07-2022) | Experimentation Done | `FURY `__ - `Python `__ | +| Week 7 (17-07-2023) | Experimentation Done | `FURY `__ - `Python `__ | +---------------------+----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Week 8 (24-07-2022) | The Birth of a Versatile API | `FURY `__ - `Python `__ | +| Week 8 (24-07-2023) | The Birth of a Versatile API | `FURY `__ - `Python `__ | +---------------------+----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Week 9 (31-07-2022) | It is Polishing Time! | `FURY `__ - `Python `__ | +| Week 9 (31-07-2023) | It is Polishing Time! | `FURY `__ - `Python `__ | +---------------------+----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Week 10 (07-08-2022)| Ready for Review! | `FURY `__ - `Python `__ | +| Week 10 (07-08-2023)| Ready for Review! | `FURY `__ - `Python `__ | +---------------------+----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Week 11 (14-08-2022)| A Refactor is Sometimes Needed | `FURY `__ - `Python `__ | +| Week 11 (14-08-2023)| A Refactor is Sometimes Needed | `FURY `__ - `Python `__ | +---------------------+----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Week 12 (21-08-2022)| Now That is (almost) a Wrap! | `FURY `__ - `Python `__ | +| Week 12 (21-08-2023)| Now That is (almost) a Wrap! | `FURY `__ - `Python `__ | +---------------------+----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/docs/source/posts/2023/2023-08-21-week-12-joaodellagli.rst b/docs/source/posts/2023/2023-08-21-week-12-joaodellagli.rst index 3f8289135..3fc1c7b5f 100644 --- a/docs/source/posts/2023/2023-08-21-week-12-joaodellagli.rst +++ b/docs/source/posts/2023/2023-08-21-week-12-joaodellagli.rst @@ -28,12 +28,15 @@ Using that, I could set the typedhint of the `bandwidth` variable to `float` and So how did it go? ----------------- + All went fine with no difficult at all, thankfully. + The Next Steps -------------- + My next plans are, after having PR `#826 `_ merged, to work on the float encoding issue described in -:doc:`this blogpost<2023-07-31-week-9-joaodellagli>`. Also, I plan to tackle the UI idea once again, to see if I can finally give the user +:ref:`this blogpost <2023-07-31-week-9-joaodellagli>` . Also, I plan to tackle the UI idea once again, to see if I can finally give the user a way to control the intensities of the distributions. Wish me luck! diff --git a/docs/source/posts/2023/2023-08-24-final-report-tvcastillod.rst b/docs/source/posts/2023/2023-08-24-final-report-tvcastillod.rst index a1d730e1b..0b4bb04a1 100644 --- a/docs/source/posts/2023/2023-08-24-final-report-tvcastillod.rst +++ b/docs/source/posts/2023/2023-08-24-final-report-tvcastillod.rst @@ -96,14 +96,14 @@ The implementation is almost complete, but as it is a new addition that includes - **DTI uncertainty visualization (Under Review)** https://github.com/fury-gl/fury/pull/810 -**Future work:** A tutorial will be made explaining in more detail how to calculate the parameters needed for the uncertainty cones using **dipy** functions, specifically: `estimate_sigma `_ for the noise variance calculation, `design_matrix `_ to get the b-matrix, and `tensor_prediction `_ for the signal estimation. Additionally, when the ODF implementation is complete, uncertainty for this other reconstruction model is expected to be added, using semitransparent glyphs representing the mean directional information proposed by Tournier [3]_. +**Future work:** A tutorial will be made explaining in more detail how to calculate the parameters needed for the uncertainty cones using **DIPY** functions, specifically: `estimate_sigma `_ for the noise variance calculation, `design_matrix `_ to get the b-matrix, and `tensor_prediction `_ for the signal estimation. Additionally, when the ODF implementation is complete, uncertainty for this other reconstruction model is expected to be added, using semitransparent glyphs representing the mean directional information proposed by Tournier [3]_. ODF actor implemented with SDF ****************************** HARDI-based techniques require more images than DTI, however, they model the diffusion directions as probability distribution functions (PDFs), and the fitted values are returned as orientation distribution functions (ODFs). ODFs are more diffusion sensitive than the diffusion tensor and, therefore, can determine the structure of multi-directional voxels very common in the white matter regions of the brain [3]_. The current actor to display this kind of glyphs is the ``odf_slicer`` which, given an array of spherical harmonics (SH) coefficients renders a grid of ODFs, which are created from a sphere with a specific number of vertices that fit the data. -For the application of this model using the same SDF ray marching techniques, we need the data of the SH coefficients, which are used to calculate the orientation distribution function (ODF) described `here `_. Different SH bases can be used, but for this first approach we focus on ``descoteaux07`` (as labeled in dipy). After performing the necessary calculations, we obtain an approximate result of the current implementation of FURY, as seen below. +For the application of this model using the same SDF ray marching techniques, we need the data of the SH coefficients, which are used to calculate the orientation distribution function (ODF) described `here `_. Different SH bases can be used, but for this first approach we focus on ``descoteaux07`` (as labeled in DIPY). After performing the necessary calculations, we obtain an approximate result of the current implementation of FURY, as seen below. .. image:: https://user-images.githubusercontent.com/31288525/260909561-fd90033c-018a-465b-bd16-3586bb31ca36.png :width: 580 diff --git a/docs/source/posts/2023/2023-08-25-final-report-praneeth.rst b/docs/source/posts/2023/2023-08-25-final-report-praneeth.rst index 91824b8e2..f964e3c8a 100644 --- a/docs/source/posts/2023/2023-08-25-final-report-praneeth.rst +++ b/docs/source/posts/2023/2023-08-25-final-report-praneeth.rst @@ -47,6 +47,7 @@ Objectives Completed The ``SpinBoxUI`` element is essential for user interfaces as it allows users to pick a numeric value from a set range. While we had an active pull request (PR) to add this element, updates in the main code caused conflicts and required further changes for added features. At one point, we noticed that text alignment wasn't centered properly within the box due to a flaw. To fix this, we began a PR to adjust the alignment, but it turned into a larger refactoring of the ``TextBlock2D``, a core component connected to various parts. This was a complex task that needed careful handling. After sorting out the ``TextBlock2D``, we returned to the ``SpinBoxUI`` and made a few tweaks. Once we were confident with the changes, the PR was successfully merged after thorough review and testing. **Pull Requests:** + - **SpinBoxUI (Merged)** - https://github.com/fury-gl/fury/pull/499 .. image:: https://user-images.githubusercontent.com/64432063/263165327-c0b19cdc-9ebd-433a-8ff1-99e706a76508.gif @@ -76,6 +77,7 @@ Objectives Completed For more detailed insights into the individual steps and nuances of this process, you can refer to the comprehensive weekly blog post provided below. It delves into the entire journey of this ``TextBlock2D`` refactoring effort. **Pull Requests:** + - **Fixing Justification Issue - 1st Draft (Closed)** - https://github.com/fury-gl/fury/pull/790 - **Adding BoundingBox and fixing Justificaiton (Merged)** - https://github.com/fury-gl/fury/pull/803 - **Adding getters and setter for properties (Merged)** - https://github.com/fury-gl/fury/pull/830 @@ -113,6 +115,7 @@ Other Objectives There was an issue with the ``ComboBox2D`` functionality, where adding it to a ``TabUI`` caused all elements to open simultaneously, which shouldn't be the case. I tested various PRs addressing this problem and identified a suitable solution. I then helped the lead in reviewing the PR that fixed the issue, which was successfully merged. **Pull Requests:** + - **CardUI (Merged)** - https://github.com/fury-gl/fury/pull/398 - **ComboBox Flaw (Merged)** - https://github.com/fury-gl/fury/pull/768 @@ -124,9 +127,11 @@ Other Objectives - **Updating Broken Website Links:** + I addressed an issue with malfunctioning links in the Scientific Section of the website. The problem emerged from alterations introduced in PR `#769 `_. These changes consolidated demos and examples into a unified "auto_examples" folder, and a toml file was utilized to retrieve this data and construct examples. However, this led to challenges with the paths employed in website generation. My responsibility was to rectify these links, ensuring they accurately direct users to the intended content. **Pull Requests:** + - **Updating Broken Links (Merged)** - https://github.com/fury-gl/fury/pull/820 @@ -134,9 +139,11 @@ Objectives in Progress ---------------------- - **FileDialogUI:** + An existing ``FileDialog`` PR by Soham (`#294 `_) was worked upon. The primary task was to rebase the PR to match the current UI structure, resolving compatibility concerns with the older base. In PR `#832 `_, we detailed issues encompassing resizing ``FileDialog`` and components, addressing text overflow, fixing ``ZeroDivisionError``, and correcting ``ListBox2D`` item positioning. The PR is complete with comprehensive testing and documentation. Presently, it's undergoing review, and upon approval, it will be prepared for integration. **Pull Requests:** + - **Soham's FileDialog (Closed)** - https://github.com/fury-gl/fury/pull/294 - **FileDialogUI (Under Review)** - https://github.com/fury-gl/fury/pull/832 @@ -148,9 +155,11 @@ Objectives in Progress - **TreeUI:** + Continuing Antriksh's initial PR for ``TreeUI`` posed some challenges. Antriksh had set the foundation, and I picked up from there. The main issue was with the visibility of TreeUI due to updates in the ``set_visibility`` method of ``Panel2D``. These updates affected how ``TreeUI`` was displayed, and after investigating the actors involved, it was clear that the visibility features had changed. This took some time to figure out, and I had a helpful pair programming session with my mentor, Serge, to narrow down the problem. Now, I've updated the code to address this issue. However, I'm still a bit cautious about potential future problems. The PR is now ready for review. **Pull Requests:** + - **TreeUI (In Progress)** - https://github.com/fury-gl/fury/pull/821 @@ -168,49 +177,32 @@ GSoC Weekly Blogs Timeline -------- -.. list-table:: - :widths: 40 40 20 - :header-rows: 1 - - * - Date - - Description - - Blog Post Link - * - Week 0 (27-05-2023) - - Community Bounding Period - - `FURY `_ - `Python `_ - * - Week 1 (03-06-2023) - - Working with SpinBox and TextBox Enhancements - - `FURY `_ - `Python `_ - * - Week 2 (10-06-2023) - - Tackling Text Justification and Icon Flaw Issues - - `FURY `_ - `Python `_ - * - Week 3 (17-06-2023) - - Resolving Combobox Icon Flaw and TextBox Justification - - `FURY `_ - `Python `_ - * - Week 4 (24-06-2023) - - Exam Preparations and Reviewing - - `FURY `_ - `Python `_ - * - Week 5 (01-07-2023) - - Trying out PRs and Planning Ahead - - `FURY `_ - `Python `_ - * - Week 6 (08-07-2023) - - BoundingBox for TextBlock2D! - - `FURY `_ - `Python `_ - * - Week 7 (15-07-2023) - - Sowing the seeds for TreeUI - - `FURY `_ - `Python `_ - * - Week 8 (22-07-2023) - - Another week with TextBlockUI - - `FURY `_ - `Python `_ - * - Week 9 (29-07-2023) - - TextBlock2D is Finally Merged! - - `FURY `_ - `Python `_ - * - Week 10 (05-08-2023) - - Its time for a Spin-Box! - - `FURY `_ - `Python `_ - * - Week 11 (12-08-2023) - - Bye Bye SpinBox - - `FURY `_ - `Python `_ - * - Week 12 (19-08-2023) - - FileDialog Quest Begins! - - `FURY `_ - `Python `_ ++---------------------+--------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Date | Description | Blog Post Link | ++=====================+========================================================+========================================================================================================================================================================================================================+ +| Week 0 (27-05-2023) | Community Bounding Period | `FURY `__ - `Python `__ | ++---------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------+ +| Week 1 (03-06-2023) | Working with SpinBox and TextBox Enhancements | `FURY `__ - `Python `__ | ++---------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------+ +| Week 2 (10-06-2023) | Tackling Text Justification and Icon Flaw Issues | `FURY `__ - `Python `__ | ++---------------------+--------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 3 (17-06-2023) | Resolving Combobox Icon Flaw and TextBox Justification | `FURY `__ - `Python `__ | ++---------------------+--------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 4 (24-06-2023) | Exam Preparations and Reviewing | `FURY `__ - `Python `__ | ++---------------------+--------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 5 (01-07-2023) | Trying out PRs and Planning Ahead | `FURY `__ - `Python `__ | ++---------------------+--------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 6 (08-07-2023) | BoundingBox for TextBlock2D! | `FURY `__ - `Python `__ | ++---------------------+--------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 7 (15-07-2023) | Sowing the seeds for TreeUI | `FURY `__ - `Python `__ | ++---------------------+--------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 8 (22-07-2023) | Another week with TextBlockUI | `FURY `__ - `Python `__ | ++---------------------+--------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 9 (29-07-2023) | TextBlock2D is Finally Merged! | `FURY `__ - `Python `__ | ++---------------------+--------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 10 (05-08-2023)| Its time for a Spin-Box! | `FURY `__ - `Python `__ | ++---------------------+--------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 11 (12-08-2023)| Bye Bye SpinBox | `FURY `__ - `Python `__ | ++---------------------+--------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Week 12 (19-08-2023)| FileDialog Quest Begins! | `FURY `__ - `Python `__ | ++---------------------+--------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/docs/source/posts/2024/2024-06-26-week4-wachiou-bouraima.rst b/docs/source/posts/2024/2024-06-26-week4-wachiou-bouraima.rst index 2bb6def37..427695610 100644 --- a/docs/source/posts/2024/2024-06-26-week4-wachiou-bouraima.rst +++ b/docs/source/posts/2024/2024-06-26-week4-wachiou-bouraima.rst @@ -48,7 +48,7 @@ Based on feedback from my mentor `Serge Koudoro `_ Applying the ``warn_on_args_to_kwargs`` Decorator ------------------------------------------------ +------------------------------------------------- This week, I applied the ``warn_on_args_to_kwargs`` decorator to several modules, ensuring consistent usage and improved code quality. The modules updated include: diff --git a/docs/source/posts/2024/2024-07-01-week-4-robin.rst b/docs/source/posts/2024/2024-07-01-week-4-robin.rst index 0172bff7b..214bc1e52 100644 --- a/docs/source/posts/2024/2024-07-01-week-4-robin.rst +++ b/docs/source/posts/2024/2024-07-01-week-4-robin.rst @@ -48,7 +48,7 @@ Minor Sidequest This is in no way related to FURY, but it was fun so I thought I'd add it here :) -So after midterms, I decided to go back home, to maximally use my time I searched for things to do and found a local FOSS event (`link `_). It was done by FOSS United Kochi and it's one of the major FOSS events in my state (Kerala, India). Met some Pythonistas! Explained what FURY is to them. I also ended up finding some lore (`link `_) about how GNU/Linux spread in Kerala, India. Also found some old FOSS event pictures (`this `_ one is talking about Python, 2003 World of Python). This was my first FOSS event outside campus so it was fun :) +So after midterms, I decided to go back home, to maximally use my time I searched for things to do and found a local FOSS event: (`Kochi's FOSS `_). It was done by FOSS United Kochi and it's one of the major FOSS events in my state (Kerala, India). Met some Pythonistas! Explained what FURY is to them. I also ended up finding some lore (`click here to read `_) about how GNU/Linux spread in Kerala, India. Also found some old FOSS event pictures (`this `_ one is talking about Python, 2003 World of Python). This was my first FOSS event outside campus so it was fun :) What is coming up next week? diff --git a/docs/source/posts/2024/2024-07-01-week-5-robin.rst b/docs/source/posts/2024/2024-07-01-week-5-robin.rst index b785be5f0..4ea38f342 100644 --- a/docs/source/posts/2024/2024-07-01-week-5-robin.rst +++ b/docs/source/posts/2024/2024-07-01-week-5-robin.rst @@ -28,10 +28,10 @@ It makes life simple, every input going into the endpoint goes like this: .. code-block:: json { - "query": "Render a cube in fury", - "llm": "llama3-70b-8192", - "knn": "3", - "stream": False + "query": "Render a cube in fury", + "llm": "llama3-70b-8192", + "knn": "3", + "stream": false } Every response coming out will be like this: @@ -73,7 +73,7 @@ As mentioned above, I added ``Gemini`` models this week. They have a decent free 3) **LLM Benchmarking** -LLM Benchmarking is the process of evaluating the LLM output and giving a score. With this, making the model better will be simply a function of increasing the score. This area is still under development and the things I've tried here are the current standard procedures. To understand more about benchmarking, you can read `this `_, `this `_ and `this `_. This `course `_ is also amazing. +LLM Benchmarking is the process of evaluating the LLM output and giving a score. With this, making the model better will be simply a function of increasing the score. This area is still under development and the things I've tried here are the current standard procedures. To understand more about benchmarking, you can read: `RAG Evaluation `_, `Using LLM-as-a-judge 🧑‍⚖️ for an automated and versatile evaluation `_ and `Advanced RAG on Hugging Face documentation using LangChain `_. This `course `_ is also amazing. I'll anyways give a TL;DR: LLM benchmarking is essentially like writing an English Literature exam and getting the grades. Your evaluator may give you a 4 or a 5, and the reasoning can be varied. For the same answer, you may even get very varied results from 2 different evaluators! Two common rubrics they use are ``groundedness (whether the answer follows from the material)`` and ``completion (whether the answer is complete, whether it fully answers the question with respect to the material)``. These are the same rubrics we'll use for LLM evaluation. For code, it's different. The code should compile and do exactly what it should.