ITKElastix
ITKElastix copied to clipboard
[Progress Bars] Including them to show status of iterations for each parameter
Issue
- Working with large 3D volumes leads to a time consuming registration process.
Proposed Solution
- Having a progress bar (like tqdm) would be a useful indicator of how long the registration shall be running for
- The MaximumNumberOfIterations flag of the optimizer in the parameter files could be used to indicate the current status of each parameter.
Example
- The 3D CT, monomodal (for head and neck) preset contains two parameter maps
Risks
- I am not sure if the iterations for the optimization process actually reaches the MaximumNumberOfIterations every single time.
- Though I have seen the following message in the logs
-
Time spent in resolution 1 (ITK initialization and iterating): 77.464 s. Stopping condition: Maximum number of iterations has been reached.
-
“I am not sure if the iterations for the optimization process actually reaches the MaximumNumberOfIterations every single time”-> for the default optimizer, it does. Cheers, Stefan
@stefanklein @mstaring @N-Dekker are itk::IterationEvent
's emitted on iteration (or can we add this?) and emit this from the itk::ElastixRegistrationMethod
class?
I do not know by heart, we would need to do a search for IterationEvent through the elastix code
We do use iterationEvents. These are dispatched by the Optimizers, and in fact they are used by Elastix to trigger the call to the AfterEachIteration functions in each component. Perhaps it makes sense to throw a new ElastixAfterEachIteration event after having called these AfterEachIteration functions in all components, such that external users can subscribe to these specific events. (I would favour that instead of using the IterationEvents of thrown by the (itk::)Optimizer, since that is kind of an internal process, and it would be ambiguous whether the external users receive that event before or after elastix calls the AfterEachIteration functions). Best, Stefan
From: Marius Staring [email protected] Sent: Wednesday, October 21, 2020 10:01 AM To: InsightSoftwareConsortium/ITKElastix [email protected] Cc: S. Klein [email protected]; Mention [email protected] Subject: Re: [InsightSoftwareConsortium/ITKElastix] [Progress Bars] Including them to show status of iterations for each parameter (#77)
I do not know by heart, we would need to do a search for IterationEvent through the elastix code
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FInsightSoftwareConsortium%2FITKElastix%2Fissues%2F77%23issuecomment-713385679&data=04%7C01%7Cs.klein%40erasmusmc.nl%7Cce293dbf8e084cd7701b08d875976306%7C526638ba6af34b0fa532a1a511f4ac80%7C0%7C0%7C637388640347276667%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=8y%2BQzz3leIqQOXHyvao32svMhqTwSDt9WIdToVZ5DeI%3D&reserved=0, or unsubscribehttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAAF2LNM56CBEOCX6LMAEUTDSL2IKBANCNFSM4STEDB4Q&data=04%7C01%7Cs.klein%40erasmusmc.nl%7Cce293dbf8e084cd7701b08d875976306%7C526638ba6af34b0fa532a1a511f4ac80%7C0%7C0%7C637388640347276667%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=wuFTh0KlxCs3AVluhYwbF4jiTbS%2BNpBIpUqC%2BuYTewU%3D&reserved=0.
Hi, Is there a planned updated on this? I believe the 3D Slicer extension of Elastix could also use such an option.