{"action":"opened","issue":{"url":"https://api.github.com/repos/ilastik/ilastik/issues/1182","labels_url":"https://api.github.com/repos/ilastik/ilastik/issues/1182/labels{/name}","comments_url":"https://api.github.com/repos/ilastik/ilastik/issues/1182/comments","events_url":"https://api.github.com/repos/ilastik/ilastik/issues/1182/events","html_url":"https://github.com/ilastik/ilastik/issues/1182","id":129458203,"number":1182,"title":"Handle attempted resolution of mergers 1-pixel segments gracefully","user":{"login":"chaubold","id":16854,"avatar_url":"https://avatars.githubusercontent.com/u/16854?v=3","gravatar_id":"","url":"https://api.github.com/users/chaubold","html_url":"https://github.com/chaubold","followers_url":"https://api.github.com/users/chaubold/followers","following_url":"https://api.github.com/users/chaubold/following{/other_user}","gists_url":"https://api.github.com/users/chaubold/gists{/gist_id}","starred_url":"https://api.github.com/users/chaubold/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chaubold/subscriptions","organizations_url":"https://api.github.com/users/chaubold/orgs","repos_url":"https://api.github.com/users/chaubold/repos","events_url":"https://api.github.com/users/chaubold/events{/privacy}","received_events_url":"https://api.github.com/users/chaubold/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ilastik/ilastik/labels/bug","name":"bug","color":"fc2929"},{"url":"https://api.github.com/repos/ilastik/ilastik/labels/tracking","name":"tracking","color":"02d7e1"}],"state":"open","locked":false,"assignee":{"login":"chaubold","id":16854,"avatar_url":"https://avatars.githubusercontent.com/u/16854?v=3","gravatar_id":"","url":"https://api.github.com/users/chaubold","html_url":"https://github.com/chaubold","followers_url":"https://api.github.com/users/chaubold/followers","following_url":"https://api.github.com/users/chaubold/following{/other_user}","gists_url":"https://api.github.com/users/chaubold/gists{/gist_id}","starred_url":"https://api.github.com/users/chaubold/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chaubold/subscriptions","organizations_url":"https://api.github.com/users/chaubold/orgs","repos_url":"https://api.github.com/users/chaubold/repos","events_url":"https://api.github.com/users/chaubold/events{/privacy}","received_events_url":"https://api.github.com/users/chaubold/received_events","type":"User","site_admin":false},"milestone":null,"comments":0,"created_at":"2016-01-28T13:50:35Z","updated_at":"2016-01-28T13:50:35Z","closed_at":null,"body":"If tracking decides that a 1-pixel segment contains more than 1 object, merger resolving tries to fit K>1 clusters in there (using GMM or falling back to K-means). This cannot work as there's only 1 pixel to label. \r\n\r\nThen ilastik tries to paint all detections according to the color of their predecessors in the previous frame, which is obviously not present as no new segment could be created. Then ilastik crashes with the following log:\r\n\r\n```\r\n  File \"/Users/chaubold/opt/miniconda/envs/ilastik-master/ilastik-meta/ilastik/ilastik/applets/tracking/conservation/conservationTrackingGui.py\", line 234, in _track\r\n    force_build_hypotheses_graph = False\r\n  File \"/Users/chaubold/opt/miniconda/envs/ilastik-master/ilastik-meta/ilastik/ilastik/applets/tracking/conservation/opConservationTracking.py\", line 297, in track\r\n    self.EventsVector.setValue(events, check_changed=False)\r\n  File \"/Users/chaubold/opt/miniconda/envs/ilastik-master/ilastik-meta/lazyflow/lazyflow/slot.py\", line 110, in call_in_setup_context\r\n    return func(self, *args, **kwargs)\r\n  File \"/Users/chaubold/opt/miniconda/envs/ilastik-master/ilastik-meta/lazyflow/lazyflow/slot.py\", line 1123, in setValue\r\n    self.partner.setValue(value, notify, check_changed)\r\n  File \"/Users/chaubold/opt/miniconda/envs/ilastik-master/ilastik-meta/lazyflow/lazyflow/slot.py\", line 110, in call_in_setup_context\r\n    return func(self, *args, **kwargs)\r\n  File \"/Users/chaubold/opt/miniconda/envs/ilastik-master/ilastik-meta/lazyflow/lazyflow/slot.py\", line 1189, in setValue\r\n    self.setDirty(slice(None))\r\n  File \"/Users/chaubold/opt/miniconda/envs/ilastik-master/ilastik-meta/lazyflow/lazyflow/slot.py\", line 110, in call_in_setup_context\r\n    return func(self, *args, **kwargs)\r\n  File \"/Users/chaubold/opt/miniconda/envs/ilastik-master/ilastik-meta/lazyflow/lazyflow/slot.py\", line 936, in setDirty\r\n    c.setDirty(roi)\r\n  File \"/Users/chaubold/opt/miniconda/envs/ilastik-master/ilastik-meta/lazyflow/lazyflow/slot.py\", line 110, in call_in_setup_context\r\n    return func(self, *args, **kwargs)\r\n  File \"/Users/chaubold/opt/miniconda/envs/ilastik-master/ilastik-meta/lazyflow/lazyflow/slot.py\", line 942, in setDirty\r\n    self.operator.propagateDirty(self, (), roi)\r\n  File \"/Users/chaubold/opt/miniconda/envs/ilastik-master/ilastik-meta/ilastik/ilastik/applets/tracking/conservation/opConservationTracking.py\", line 311, in propagateDirty\r\n    super(OpConservationTracking, self).propagateDirty(inputSlot, subindex, roi)\r\n  File \"/Users/chaubold/opt/miniconda/envs/ilastik-master/ilastik-meta/ilastik/ilastik/applets/tracking/base/opTrackingBase.py\", line 189, in propagateDirty\r\n    self._setLabel2Color()\r\n  File \"/Users/chaubold/opt/miniconda/envs/ilastik-master/ilastik-meta/ilastik/ilastik/applets/tracking/base/opTrackingBase.py\", line 344, in _setLabel2Color\r\n    assert l not in label2color[int(i) + time_range[0]]\r\nAssertionError\r\n\r\nERROR 2016-01-28 14:28:27,271 log_exception 8353 5054656512 Error during tracking.  See above error traceback.\r\n```\r\nWe should catch this error and inform the user about this problem, but still display the remaining tracking result."}}