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: Add real-time mode to Isodose computation #223

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

cpinter
Copy link
Member

@cpinter cpinter commented Nov 29, 2022

Real-time mode can be enabled using the RealTime flag in the Isodose parameter node. When this flag is enabled, the following functions are prevented: use of subject hierarchy to organize the isodose model nodes, reporting of progress, batch processing, and update of dose color table from the isodose one. Instead, top-level isodose model nodes are re-used (by node name) at every computation. It is useful when isodose is needed to be computed on-the-fly for streamed dose data, when one set of isodose surfaces (the "current one") is all that is needed to be kept and displayed.

@cpinter
Copy link
Member Author

cpinter commented Nov 30, 2022

Let me fix the conflicts. Unfortunately in the project I added this feature for the latest SlicerRT did not compile on Ubuntu with gcc due to commit 220f766 and because of time constraints I could not deal with that yet.

Real-time mode can be enabled using the RealTime flag in the Isodose parameter node. When this flag is enabled, the following functions are prevented: use of subject hierarchy to organize the isodose model nodes, reporting of progress, batch processing, and update of dose color table from the isodose one. Instead, top-level isodose model nodes are re-used (by node name) at every computation. It is useful when isodose is needed to be computed on-the-fly for streamed dose data, when one set of isodose surfaces (the "current one") is all that is needed to be kept and displayed.
@cpinter
Copy link
Member Author

cpinter commented Nov 30, 2022

I resolved the conflicts but have some doubts about how much sense it makes now that there is only one isodose model node. The big time sink for real-time use (showing isodose while streaming) was the batch processing and the SH operations (deletions, reparentings). I'd like to test this branch with the real-time use case it is intended for.

@Sunderlandkyl do you have any ideas why the said commit (see in previous comment) causes build errors with gcc? It is OK on the dashboard and I don't have any clear idea, maybe you have a hunch. Otherwise I'll investigate once I get to it. Thanks!

@cpinter
Copy link
Member Author

cpinter commented Nov 30, 2022

By the way it may make sense to remove batch processing in any case, now that only one node is being touched.

@Sunderlandkyl
Copy link
Collaborator

Not sure why 220f766 would cause a build failure on gcc, what is the error? The commit itself just follows the changes made by this commit in Slicer: Slicer/Slicer@693c819. Is the gcc build using up-to-date Slicer source code?

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