Master volume selector is editable after loading from SR

referenceImageGeometryRef is not set properly when loading from DICOM. Will look into that.
@fedorov When loading a segmentation into Slicer the user is required to select referenced series (if available) that will be loaded next to the segmentation into Slicer.
Assuming that both of the following series get loaded into Slicer, how would we know which one to set as the referenceImageGeometryRef?

One issue is, that both series PET WB_0 and the ... SUVbw have the same UID when looking at the subject hierarchy. That means that technically both could be the master volume which makes it even harder to decide which one is the most important one.

and

How do you want to handle this situation?
The attributes UID/DICOM* are initialized by SubjectHierarchy somehow.
Instead, we should use the attributes initialized by the DICOM plugins: https://github.com/QIICR/Slicer-PETDICOMExtension/blob/master/DICOMRWVMPlugin/DICOMRWVMPlugin.py#L280. This can be used to differentiate between the original PET volume, and the SUV-corrected PET volume, and prefer the SUV-corrected one as "the more important".
Subject hierarchy itself knows nothing about DICOM tags of course, all tags are initialized by the DICOM plugins.
@cpinter does Subject hierarchy expect/rely on the presence of any DICOM tags in any specific attributes?
To the best of my knowledge it doesn't rely on node attributes when it comes to DICOM tags, but it relies on SH item tags for certain things. These SH item attributes are populated by the DICOM import mechanism by calling this function https://github.com/Slicer/Slicer/blob/master/Modules/Scripted/DICOMLib/DICOMPlugin.py#L164 where basic tags are cached in the SH item attributes without any changes (see list of tags at the top of this function). SH does rely on these SH item tags (but not the ones in the data nodes) for DICOM export, and for parsing the DICOM references (if a series references another - as indicated in the loadable and then in the tag called GetDICOMReferencedInstanceUIDsAttributeName - then the referenced series are highlighted in the SH views on selection). But as the values of the tags are copied raw, and is straightforward which DICOM tag they came from I don't see any harm there.
Christian's question is completely valid though, and was something I raised myself at some point as well. I think only one of the loadables that refer to the same series should be checked when offering the references, and that should be the one with the highest confidence (which is usually the most specialized plugin that identifies a series as something it can load)
Assuming that both of the following series get loaded into Slicer, how would we know which one to set as the referenceImageGeometryRef?
As discussed today with @che85, here's the proposal how to deal with this:
- when loading an SR that references PET and SUV, load only the SUV corrected volume
- when loading SEG referencing PET and SUV, make two loadables, one for SEG+SUV, one for SEG+PET; make SEG+SUV selected by default, and SEG+PET not selected, but that could be changed by the used in the Advanced mode