ITKElastix icon indicating copy to clipboard operation
ITKElastix copied to clipboard

[Progress Bars] Including them to show status of iterations for each parameter

Open prerakmody opened this issue 4 years ago • 5 comments

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

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.

prerakmody avatar Oct 16 '20 10:10 prerakmody

“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 avatar Oct 16 '20 10:10 stefanklein

@stefanklein @mstaring @N-Dekker are itk::IterationEvent's emitted on iteration (or can we add this?) and emit this from the itk::ElastixRegistrationMethod class?

thewtex avatar Oct 21 '20 00:10 thewtex

I do not know by heart, we would need to do a search for IterationEvent through the elastix code

mstaring avatar Oct 21 '20 08:10 mstaring

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.

stefanklein avatar Oct 21 '20 09:10 stefanklein

Hi, Is there a planned updated on this? I believe the 3D Slicer extension of Elastix could also use such an option.

prerakmody avatar Feb 05 '21 17:02 prerakmody