Skip to content
Snippets Groups Projects
Commit 559e5188 authored by Paul McCarthy's avatar Paul McCarthy
Browse files

Fixes and tweaks to volumelabels and fixlabels modules

parent b82b4c40
No related branches found
No related tags found
No related merge requests found
...@@ -252,7 +252,7 @@ def saveLabelFile(allLabels, ...@@ -252,7 +252,7 @@ def saveLabelFile(allLabels,
# The first line - the melodic directory name # The first line - the melodic directory name
if dirname is not None: if dirname is not None:
lines.append(op.abspath(dirname)) lines.append(dirname)
# A line for each component # A line for each component
for i, labels in enumerate(allLabels): for i, labels in enumerate(allLabels):
......
...@@ -8,6 +8,8 @@ ...@@ -8,6 +8,8 @@
manage labels associated with the volumes of an :class:`.Image`. This class manage labels associated with the volumes of an :class:`.Image`. This class
is primarily used for managing component classifications of a is primarily used for managing component classifications of a
:class:`.MelodicImage`. :class:`.MelodicImage`.
See also the :func:`.fixlabels` module for loading/saving melodic label files.
""" """
...@@ -22,7 +24,8 @@ log = logging.getLogger(__name__) ...@@ -22,7 +24,8 @@ log = logging.getLogger(__name__)
class VolumeLabels(notifier.Notifier): class VolumeLabels(notifier.Notifier):
"""The ``VolumeLabels`` class is a convenience class for managing a """The ``VolumeLabels`` class is a convenience class for managing a
collection of classification labels fgor the volumes of an :class:`.Image`. collection of classification labels for the volumes of an :class:`.Image`.
The ``VolumeLabels`` class refers to *volumes* as *components*, because The ``VolumeLabels`` class refers to *volumes* as *components*, because
it was originally written to manage classification labels associated wirh it was originally written to manage classification labels associated wirh
the components of a Melodic analysis. the components of a Melodic analysis.
...@@ -230,8 +233,12 @@ class VolumeLabels(notifier.Notifier): ...@@ -230,8 +233,12 @@ class VolumeLabels(notifier.Notifier):
labels.remove(label) labels.remove(label)
comps .remove(component) comps .remove(component)
self.__components[label] = comps if len(comps) == 0:
self.__labels[ component] = labels self.__components.pop(label, None)
else:
self.__components[label] = comps
self.__labels[component] = labels
log.debug('Label removed from component: {} <-> {}'.format(component, log.debug('Label removed from component: {} <-> {}'.format(component,
label)) label))
...@@ -273,12 +280,12 @@ class VolumeLabels(notifier.Notifier): ...@@ -273,12 +280,12 @@ class VolumeLabels(notifier.Notifier):
def addComponent(self, label, component): def addComponent(self, label, component):
"""Adds the given label to the given component. """ """Adds the given label to the given component. """
self.addLabel(component, label) return self.addLabel(component, label)
def removeComponent(self, label, component, notify=True): def removeComponent(self, label, component, notify=True):
"""Removes the given label from the given component. """ """Removes the given label from the given component. """
self.removeLabel(component, label, notify) return self.removeLabel(component, label, notify)
def clearComponents(self, label): def clearComponents(self, label):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment