feat(rendering): Implement MIP_LABELMAP_BLEND mode for enhanced labelmap visualization#3103
feat(rendering): Implement MIP_LABELMAP_BLEND mode for enhanced labelmap visualization#3103floryst merged 6 commits intoKitware:masterfrom
Conversation
|
From your screen shots, it seems that the name of the mode shouldnt be labelmap_blend but more labelmap_edge or labelmap_contour. No? |
bruyeret
left a comment
There was a problem hiding this comment.
Hello, thank you for the contribution!
The rendering looks very nice
Most of my comments are about style / refactor
|
That's great, thanks @sedghi . |
|
@finetjul I guess i did what you requested |
|
Thanks! However, the purpose of a smaller gif is to reduce the size of the git repository, please do not create a separate commit, but squash it with the commit that introduce the gif. |
|
@finetjul Done |
|
🎉 This PR is included in version 31.2.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |

Context
This PR introduces a new blend mode for rendering labelmaps in the Maximum Intensity Projection (MIP) mode, called
MIP_LABELMAP_BLEND. This mode renders the labelmap segment edges, making them visible in the MIP rendering. It's particularly beneficial for medical imaging applications.The new blend mode leverages the recently implemented independent components feature in the volume rendering pipeline.
Here's a comparison of labelmap rendering in MIP:
Without the new blend mode:
With the new blend mode:
The new blend mode offers more compelling information for users, similar to advanced visualization softwares. I can privately provide videos demonstrating one such software rendering the same functionality.
Results
You can run the new example below
npm run example LabelmapMIPAnd you can switch between blendmodes (at line 38) to see the above effect.
The new blend mode has been tested with labelmaps, rendering labelmap segment edges visible in MIP rendering.
Key points:
This blend mode only functions when:
Algorithm overview:
Implementation evolution:
Changes
A new blend mode
MIP_LABELMAP_BLENDwas added to the constantsA new path was added to the vtkVolumeFS shader to handle the new blend mode
Documentation and TypeScript definitions were updated to match those changes
PR and Code Checklist
npm run reformatto have correctly formatted codeTesting