Reproduce:
- Load 3d+t Heart
- Change timestep
- Create new Segmentation
- Click on FastMarching3D
- CRASH
- Error message shows an error in Initialize function of the Fastmarching Filter
- Does not happen if timestep is kept 0
Reproduce:
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 :)