Currently our code base is inconsistent regarding the way a set of DataNodes are returned. We have at least 3 prominent styles.
itk::VectorContainer<unsigned int, DataNode::Pointer> (e.g. DataStorage::SetOfObjectes) std::vector<DataNode::ConstPointer> QList<DataNode::Pointer>
Variant 1 is used in the context of the data storage.
Variant 2 was used e.g. heavily when the statistics where reworked in 2018/2019 and in code parts without Qt.
Variant 3 is used everywhere near Blueberry and plugins and BlueBerry selections. (This is the reason e.g. while all the new selection widgets use this type).
- We will move the helper functions that convert between const and non-const node pointers for V1<->V2 to mitkCore to use vor everyone. The conversion with same constness is easy anyways.
- We will move the helper functions that convert between V2<->V3 to QtWidgets module to be accessible for all that use Qt.
The helper functions where so far introduced by ralf in the StatisticsUI module.