Page MenuHomePhabricator

[Segmentation] Crash on FastMarching3D tool when loading 4D data
Closed, ResolvedPublic

Description

Reproduce:

  1. Load 3d+t Heart
  2. Change timestep
  3. Create new Segmentation
  4. Click on FastMarching3D
  5. CRASH
  • Error message shows an error in Initialize function of the Fastmarching Filter
  • Does not happen if timestep is kept 0

Event Timeline

thomass created this task.
thomass moved this task from Backlog to Segmentation on the MITK (v2021.02) board.

If timestep != 0, the m_CurrentTimeStep is changed with SetCurrentTimeStep(t). In this function Initalize() is called without the m_SmoothFilter initialized before. m_SmoothFilter equals nullptr.

I totally forgot to claim the task but I also worked on it *sigh*. Your fix in D346 solves the problem, but I wondered if function initialize() should really be called if the activated() has not been called yet. An alternative would be to have an additional flag "m_activated" or likewise.

What I also wondered (this was the main reason I hesitated with commiting): I am not entirely familiar with that stepper used in the GUI of the fast marching but I wondered if the implementation can also cause problems when dealing with timesteps/timepoints?

@thomass Shold we land my solution now, or did you take care in a better way (which would be totaly fine)? In the later case it would make sense that you claim the task and we scrap my D346.

I would suggest that you land it for now since it solves the bug and I will create another task in which I also take a look into the stepper problem. But both is fine for me :)