Skip to content
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

ENH: Arbitrary Resection Volumetry Calculation #227

Conversation

RuoyanMeng
Copy link
Collaborator

@RuoyanMeng RuoyanMeng commented Apr 21, 2023

#236, #238 solved

…exibility

1. Enable ROI selection and corresponding volume calculation for users; 2. Automatically display the table view once the calculation is completed; 3. Maintain the state of primary variables to minimize recomputation.
EssentialVolumetry Computation and Part of the Advanced functions
…reasing usability and flexibility

1. Now users can calculate ROI volume for any case, with or without resection, using either vascular segments, single resection or multiple resections. 2. The UI is more intuitive, with basic functions for simple resection volumetry, Use-All-Resections and Vascular-segments as advanced parameters.
@RuoyanMeng RuoyanMeng marked this pull request as ready for review May 3, 2023 11:24
@RuoyanMeng
Copy link
Collaborator Author

Hi @RafaelPalomar, I update the UI and functionality:

  1. Now users can calculate ROI volume for any case, with or without resection, using either vascular segments, single resection or multiple resections.
  2. The UI is more intuitive, with basic functions for simple resection volumetry, Use-All-Resections and Vascular-segments as advanced parameters.

Could you try it and give me some feedback?

Bezier surface is controlled by 16 points and the diagonal points pairs ([0,5,10,15] and [3,6,9,12]) would create the longest Bezier curve within the Bezier surface. The idea is approximate the two diagonal Bezier lines' length of the bezier surface, then divided by minimal voxel space to get a resolution, so that when the Bezier surface polygon is cutting through voxels we have at least one vertex in each voxel. Then when we label the voxels we can get a safe barrier for region growing.
Description: 1. Total Volume calculation tool for any segmentation. User can place Points for ROI segments and get volume very fast; 2. Introduce resection as advanced feature; 3. Enhanced interaction experience, eg. multi segments selection
@RuoyanMeng
Copy link
Collaborator Author

RuoyanMeng commented May 26, 2023

The latest commit contains big changes in the code structure and UI.

  • Move the code from live.py and liverResectionLogic to an independent module.
  • New design for segmentation and its segments choice, now you can do multi-selection on whatever segments you are interested in.
  • Including "Resection" in volume calculation is an advanced feature now. In this version, only "single resection" or "All resection" options are there, will add multi-selection in the future.

@RafaelPalomar
Copy link
Collaborator

@RuoyanMeng, here there is an example of use of normalized device coordinates for a given actor. (I haved not tried) but this should help you representing your actors in terms of final coordinates in the range 0-1, so you easily scale the resectogram. Let me know when this is ready for review.

https://examples.vtk.org/site/Cxx/Annotation/MultiLineText/

@RuoyanMeng
Copy link
Collaborator Author

#226 solved

RuoyanMeng and others added 6 commits June 21, 2023 16:02
This is a workaround and is linked to ALiver-research/Slicer-Liver#242
This add missing event connections between sliders and spin boxes on
grid division/thickness widgets
This commit simplifies the user interface and adds tooltips to some of
the widgets.
@RafaelPalomar RafaelPalomar merged commit 1d35239 into ALive-research:develop Jun 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants