Page MenuHomePhabricator

Start modelling button inactive
Closed, ResolvedPublic

Description

It was found that the "start modelling" button in the DCE MRI Perfusion DataFit View and the Generic Data Fitting View is sometimes inactive despite all the relevant fields being set. In this task details are collected, this behaviour is further examined and the bugs causing this behaviour will be corrected for.

Event Timeline

kompan triaged this task as Normal priority.Jul 25 2024, 10:25 AM
kompan created this task.

I could narrow the occurence of the inactive "Start modelling" button down some more:

The same behaviour is seen for the DCE MRI Perfusion DataFit View and the Generic Data Fitting View. When the Selected Time Series field is auto-selected for the first time from a dataset the Data Manager, the "Start modelling" button does not become active even if all the relevant fields are set. When changing the input of the Selected Time Series field to a nother dataset, the button becomes active.
Furthermore, when the View was is a state where the button was active and the Workbench is closed and restarted the problem is not encountered anymore.
When the auto-select option for the Selected Time Series the SetAutoSelectNewNodes option is set to false, the problem also does not occur.

When SetAutoSelectNewNodes is set to true, the function should be emitting "CurrentSelectionChanged" which is connected to "OnImageNodeSelectionChanged". In case the views are open initially and have no Selected Time Series set and a dataset afterwards is loaded into the Data Manager, the dataset will be autoselected and "CurrentSelectionChanged" is emitted as expected. All good here.
However, when the dataset is loaded first into the Data Manager whilst the views are closed and then the views are opened, the "CurrentSelectionChanged" signal does not get emitted and hence the "OnImageNodeSelectionChanged" is not called and and the m_selectedImage is null. In this case the "Start Modelling" button stays inactive.

An easy fix would be to just disable the autoselect mode and make sure the user has to manually load the data. Otherwise we need to make sure that the "CurrentSelectionChanged" signal is emitted in both described scenarios.

@floca : Would you consider this to be hotfix (since for the second case the view is not straightforwardly usable)? Or is it for now enough to e.g. point it out in the nightly documentation and fix it for the next release?)

It is a known "bug"/design flow of the Selection widget. If you use the auto select option, you have to set it to true *after* the storage is set and the events are connected. Then it works.

See e.g. QmitkSegmentationView::CreateQtPartControl line 632ff

See also the documentation remarks in QmitkSingleNodeSelectionWidget, that point to that fact.

kompan claimed this task.