It would be hard to tell what and how many empty segments segmentationsLogic.ImportLabelmapToSegmentationNode should create. We could add an option that would create an empty segment for each entry defined in the color node associated with the input labelmap. But this would be quite a special case, so I’m not sure if it would worth the time to implement.
Instead DICOMSegmentationPlugin could be updated so that if _importSegmentAndRemoveLabel returns an empty segmentation then it adds a new segment (using segmentationNode.GetSegmentation().AddSegment(...)).