-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(ViewportActionMenu): window level per viewport / new patient info / colorbars/ 3D presets and 3D volume rendering #3963
Conversation
…tion to new ViewportActionCorners component (#3796)
✅ Deploy Preview for ohif-platform-docs canceled.
|
✅ Deploy Preview for ohif-dev canceled.
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #3963 +/- ##
==========================================
- Coverage 46.23% 44.37% -1.87%
==========================================
Files 78 80 +2
Lines 1276 1334 +58
Branches 312 327 +15
==========================================
+ Hits 590 592 +2
- Misses 548 589 +41
- Partials 138 153 +15
... and 9 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we need the dropdown for the window level anymore, just use a simple radioButton like zoom or pan
<img width="430" alt="CleanShot 2024-03-27 at 11 20 42@2x" src="https://github.com/OHIF/Viewe
The issue i sent over slack for color bar sticking around with old colors
CleanShot.2024-03-27.at.09.14.56.mp4
I don't think the icon is correct color in the inverted viewports
![CleanShot 2024-03-27 at 11 24 23@2x](https://private-user-images.githubusercontent.com/7490180/317331198-21cf2fa4-bfcd-453c-ae1e-fcebf15325cc.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NzcyNzQsIm5iZiI6MTczOTk3Njk3NCwicGF0aCI6Ii83NDkwMTgwLzMxNzMzMTE5OC0yMWNmMmZhNC1iZmNkLTQ1M2MtYWUxZS1mY2ViZjE1MzI1Y2MucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTlUMTQ1NjE0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YzFiNTcwYmE4NjE2MzhkZGUzY2I4ZGE2ZTQzYjc3NmMzYTJiNzQ3NWFlYmY4NDE5M2ZiNTRkMTNkYzY1Y2FlNCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.SLNu5ZAzLb24KaKSnu7HA0h6WHszxyyS3e4X_TXFN-s)
it probably should be the same color as the text, see text overlay on how we detect background is inverted and accordingly use a separate color for texts
when inverted color the colorbar tickers should be black or something they are white seems like , it is not readable
![CleanShot 2024-03-27 at 11 25 39@2x](https://private-user-images.githubusercontent.com/7490180/317331697-2f2548e8-4da9-47ef-a3a4-2bfce95101bc.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NzcyNzQsIm5iZiI6MTczOTk3Njk3NCwicGF0aCI6Ii83NDkwMTgwLzMxNzMzMTY5Ny0yZjI1NDhlOC00ZGE5LTQ3ZWYtYTNhNC0yYmZjZTk1MTAxYmMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTlUMTQ1NjE0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MmZhNDAyZWE2ZTA2NDM2ODQyYzRlMjJkMGY4N2FhMGI1NjQ2OTI0MmFhZGNiNTM2MDhkZDgzNDk0NjVkNzQwOSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.YSvjblZIaGj0W7Ovc6YgS_LfD9TlsoWlRNZ1YUyuqU8)
we should probably have another toggle that is invert background so that when the LUT is changed, the user can toggle the background to black to make it work
![CleanShot 2024-03-27 at 11 26 53@2x](https://private-user-images.githubusercontent.com/7490180/317332280-8cf542ee-e455-4edd-9bc4-62468a4b8e3d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NzcyNzQsIm5iZiI6MTczOTk3Njk3NCwicGF0aCI6Ii83NDkwMTgwLzMxNzMzMjI4MC04Y2Y1NDJlZS1lNDU1LTRlZGQtOWJjNC02MjQ2OGE0YjhlM2QucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTlUMTQ1NjE0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZjBiZjFkNzQwYmY4ZWFhOWU5OWVkNTdhYWQzYzVjZDNmMWUyMTgxMWUyMmE2MzMwOGRmOWJlNmY1MjA3OTViYiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.y5WjP1WH3tqt4hTpOOOySiuEw22DbqnWCPLFp9sVhMU)
something weird happens when you set PT preset, seems like the winodw level does not work after that. maybe it is related to the weird binary image after the preset selection.
CleanShot.2024-03-27.at.11.28.35.mp4
Not sure why we don't show the dates for the cor, sag ct
![CleanShot 2024-03-27 at 11 29 42@2x](https://private-user-images.githubusercontent.com/7490180/317333173-5ab20862-c619-4168-aae8-914c560b9615.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NzcyNzQsIm5iZiI6MTczOTk3Njk3NCwicGF0aCI6Ii83NDkwMTgwLzMxNzMzMzE3My01YWIyMDg2Mi1jNjE5LTQxNjgtYWFlOC05MTRjNTYwYjk2MTUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTlUMTQ1NjE0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YTQxMmE2ODc2MjQwZjE5MjFhMDUzNTNlM2M5YjA0OWFlZDUwNDczZjQ3Y2M2NWE1ODJmMDRjMGUyYTIxNTAyNCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.r-WNxEKcUba9u-pnCh1hKGumQQvk1CfhDW7BEaQwLfQ)
we should not show I: for the reconstructed views since they are not instance
number
I should not be able to select overlay texts
![CleanShot 2024-03-27 at 11 30 49@2x](https://private-user-images.githubusercontent.com/7490180/317333615-d41dc4a3-59e0-4912-be51-c21ac8f37255.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NzcyNzQsIm5iZiI6MTczOTk3Njk3NCwicGF0aCI6Ii83NDkwMTgwLzMxNzMzMzYxNS1kNDFkYzRhMy01OWUwLTQ5MTItYmU1MS1jMjFhYzhmMzcyNTUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTlUMTQ1NjE0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9OWJkYzlmZDMxMzhmODI1N2UzMzA1MDc2ZWFlN2VjYjE3ZWUzZjY2NmI2ZTUyMjY4NTJjMTU0ZDg2MGM5OTRiYiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.dYgMeBRdT5k9I7mlfE91T_HbtnN93UaCnmlcBoht3HI)
we don't need PT fusion color map after this PR and also remove the dropdown for window level presets for tmtv as well
![CleanShot 2024-03-27 at 11 31 37@2x](https://private-user-images.githubusercontent.com/7490180/317333874-0584f069-36ae-4aa4-b3a1-a0c90a84f515.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NzcyNzQsIm5iZiI6MTczOTk3Njk3NCwicGF0aCI6Ii83NDkwMTgwLzMxNzMzMzg3NC0wNTg0ZjA2OS0zNmFlLTRhYTQtYjNhMS1hMGM5MGE4NGY1MTUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTlUMTQ1NjE0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MTQ1YWZlZjUyNjZjOTU2OTAyZGY4ZWYxMjI1OTlkZDk3NGQ0ZGI4MTZjY2NkMzIxN2EyZmEyZDRiNGQ0YjQ5MyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.DhHl4AO8MObNSBCioGK1AvmkK7J969eRHDxHhTbuH1M)
color bar for tmtv is weird
![CleanShot 2024-03-27 at 11 32 45@2x](https://private-user-images.githubusercontent.com/7490180/317334256-ae2ad580-5182-4f25-a87a-485ef6a3be89.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NzcyNzQsIm5iZiI6MTczOTk3Njk3NCwicGF0aCI6Ii83NDkwMTgwLzMxNzMzNDI1Ni1hZTJhZDU4MC01MTgyLTRmMjUtYTg3YS00ODVlZjZhM2JlODkucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTlUMTQ1NjE0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Mjc2ZGI5YWJjZDcxNGIwZGMyZmUyYTZmNThiZThiZDk1M2U5Y2UwZGFlZjJkZDliZGJjYjJlNjk0NGQ0YmQwNiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.O2fWLY2oj13ncnOU6jwiqJtvv4Rv1MDLMOII3ATllN8)
logo seems like is a bit to the right, ask Dan, IMO it should align with the left of the viewport grid
similar to how the right side is aligned
![CleanShot 2024-03-27 at 11 33 51@2x](https://private-user-images.githubusercontent.com/7490180/317334599-a07c8608-5468-40e9-8dd1-b1d187747775.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NzcyNzQsIm5iZiI6MTczOTk3Njk3NCwicGF0aCI6Ii83NDkwMTgwLzMxNzMzNDU5OS1hMDdjODYwOC01NDY4LTQwZTktOGRkMS1iMWQxODc3NDc3NzUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTlUMTQ1NjE0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Yjg2ZTE4MGVhYjVkMTUxN2YyNjY0ODgxZWU3NDZkOGI4MjAwY2JlNTVmZjBmNzBiNjU3YTJlZDRhNDkxMzJkNiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.fuoTf8NjyM7wtJ2OOQz5Eh8FJ_Rji8_aRQ_-HlKn8bQ)
the right side vertical bar also seems black, maybe is wrong? ask Dan
(Not your PR) can we fix this as well
![CleanShot 2024-03-27 at 11 34 33@2x](https://private-user-images.githubusercontent.com/7490180/317334884-e4731389-8f25-42c1-b030-35ede4b84564.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NzcyNzQsIm5iZiI6MTczOTk3Njk3NCwicGF0aCI6Ii83NDkwMTgwLzMxNzMzNDg4NC1lNDczMTM4OS04ZjI1LTQyYzEtYjAzMC0zNWVkZTRiODQ1NjQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTlUMTQ1NjE0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9OTllNWY4YmMzMWI3OGNiM2U1NDA3Y2JlZWQ2YmJkNGNiM2VhNzMxMWVjYThhZGI4OWRiNWY2NjY0NjE3ZGQyOCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.fsKL347Sb7JJnDHSJXGjZM_GVzM2Phx4hX7iTorGMWU)
Fixed
Comments
I don't understand what needs to be fixed?
Change the colormap using the tool, then go into 1x1 and comeback out, the sync is broken... This affected my MPR as well when you change the colormap in none MPR then go into MPR, it goes back to grayscale, it wasn't like this before |
1 failed test on run #3785 ↗︎Details:
|
Test | Artifacts | |
---|---|---|
OHIF HP > Should navigate next/previous stage |
Test Replay
Screenshots
Video
|
Review all test suite changes for PR #3963 ↗︎
…o / colorbars/ 3D presets and 3D volume rendering (OHIF#3963) Co-authored-by: Joe Boccanfuso <[email protected]>
👏👏👏 Big shoutout to @jbocce for kicking off the work on this fantastic feature! 💯 👏👏
ViewportActionMenu, Patient Info Header, 3D Presets and more
This PR will address several feature requests with and design changes
Major changes are:
Viewport Action Menu
A fully customizable action menu, where you can define your own window level presets per modality, colormaps, 3D presets.
Customizing the existing presets can be done using the
customizationService
:An example below:
For window level, the array of presets follows this structure:
You can add the modalities you require, and the window/level values for each preset.
Colormaps
You can now change the colormap for the viewport using the action menu, not only that, you are also able to change colormaps on fusion viewports, and pick which modality you'd like to change the colormap for.
Regular viewport:
Fusion viewport:
Colormaps Previews
You can also preview colormaps before selecting them, by toggling the preview colormap toggle, which gives you a chance to see if the colormap works for you before selecting it:
Colorbars
Colorbars are being introduced to OHIF. They are interactive and can be used to manipulate the VOI on stack and volume viewports. They also support fusion viewports with PT/CT displaysets, and turn into dual mode, each colorbar controlling it's respective displayset.
Regular viewport:
Fusion viewport:
Responsive to colormap changes
Colorbars also respond to colormap changes, as seen here:
The colorbar state is maintained during the lifecycle of the viewport.
3D Rendering
The viewport action menu also allows you to manipulate the currently displayed 3D volume, offering a varity of options such as presets, quality, and more. I will showcase each feature below:
Rendering presets
There's several presets to choose from, depending on your use case.
Rendering Quality
Shift
Shade
Ambient
Diffuse
Specular
New Patient Info Header
The new patient info header displays information about the patient for the currently displayed study.
It also includes safe guards where there are multiple patients loading into the viewer, if the following case is detected, the header will only render a text that indicates there's multiple patients, to avoid assuming it's a single patient.
The patient info header contains 3 configuration options that you can pick from and set in your
appConfig
located indefault.js
visible
: the patient info header will always be visible and it's in expanded state.visibleCollapsed
: the patient info header will be visible, but it's initial state is collapsed, a user would have to click on it to expand it.disabled
: the patient info header will not be shown.