DiamondLightSource / SuRVoS

(Su)per (R)egion (Vo)lume (S)egmentaton workbench
Apache License 2.0
25 stars 5 forks source link

Parent-child function causes program to crash #50

Open MicheleCD opened 5 years ago

MicheleCD commented 5 years ago

This issue was reported by Charlene at the UCL Institute of Archaeology.

"We can't seem to get the parent-child function to work on any of our datasets. When we go to select the tab it crashes immediately. Any ideas or help would be much appreciated."

Aha! Link: https://dls1.aha.io/features/D-27

srikanthnagella commented 5 years ago

Which version of SurVos are you using and which operating system?

f-silva-archaeo commented 5 years ago

We are using v1.1.1, downloaded from the anaconda3 channel, on Ubuntu.

f-silva-archaeo commented 5 years ago

It happens when, in the Annotations pane, we click on the box to open the panel to select the parent label from a prior level.

And here's the traceback

Traceback (most recent call last): File "/home/fabpsilva/anaconda3/lib/python3.6/site-packages/survos/plugins/annotations.py", line 653, in on_request_parent current_index = self.levels.keys().index(level) AttributeError: 'odict_keys' object has no attribute 'index' Aborted (core dumped)

srikanthnagella commented 5 years ago

Why not try 1.1.2 Let me know if that solves the issue. I have tried in Redhat and it worked fine.

f-silva-archaeo commented 5 years ago

We've tried it on 1.1.2 last week, when we realised there was a new version. The same problem occurs.

srikanthnagella commented 5 years ago

Is there anyway you can share your survos workspace? or recreate the problem with steps?

imaluengo commented 5 years ago

This would be fixed for Python 3.x by replacing:

self.levels.keys().index(level)

With

list(self.levels.keys()).index(level)

In line 653.

Apologies I couldnt reply earlier.

srikanthnagella commented 5 years ago

Fixed this in the latest release.

f-silva-archaeo commented 5 years ago

I just tried it on 1.1.3 and the problem is still there. The traceback is also the same.

I can't send you any of the workspaces as they are several gigabytes in size.

The steps are simple: once segmentation is done for a single level (Level 0) with two labels. We then create a second level of two labels both of which are to be children of one of the labels in Level 0. When we click on the button that opens the dialog to select the parent label SuRVoS crashes to the terminal with the traceback reported above.

We are indeed using anaconda with python 3.6