| 865 | } |
| 866 | |
| 867 | void mitk::MultiLabelSegmentation::RemoveLabelFromMap(LabelValueType pixelValue) |
| 868 | { |
| 869 | if (m_LabelMap.find(pixelValue) == m_LabelMap.end()) mitkThrow()<<"Invalid state of instance. RemoveLabelFromMap was called for unknown label id. invalid label id: "<<pixelValue; |
| 870 | |
| 871 | auto groupID = this->GetGroupIndexOfLabel(pixelValue); |
| 872 | |
| 873 | this->ReleaseLabel(m_LabelMap[pixelValue]); |
| 874 | //now remove the label entry itself |
| 875 | m_LabelMap.erase(pixelValue); |
| 876 | m_LabelToGroupMap.erase(pixelValue); |
| 877 | auto labelsInGroup = m_GroupToLabelMap[groupID]; |
| 878 | labelsInGroup.erase(std::remove(labelsInGroup.begin(), labelsInGroup.end(), pixelValue), labelsInGroup.end()); |
| 879 | m_GroupToLabelMap[groupID] = labelsInGroup; |
| 880 | } |
| 881 | |
| 882 | void mitk::MultiLabelSegmentation::RemoveLabels(const LabelValueVectorType& vectorOfLabelPixelValues) |
| 883 | { |
no test coverage detected