Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hybrid task with nml #4198

Merged
merged 24 commits into from
Nov 28, 2019
Merged

Hybrid task with nml #4198

merged 24 commits into from
Nov 28, 2019

Conversation

youri-k
Copy link
Contributor

@youri-k youri-k commented Jul 23, 2019

  • blocked by performance problems of creating/duplicating volume tracings

URL of deployed dev instance (used for testing):

  • https://___.webknossos.xyz

Steps to test:

  • create explorative annotation as baseAnnotation and copy the id
  • create new task with the copied id as baseAnnotationId
  • get task and see the baseAnnotation

Issues:


@youri-k
Copy link
Contributor Author

youri-k commented Jul 23, 2019

Frontend ToDo:

  • show field for baseAnnotation in non-bulk view
  • adapt the json format to "baseAnnotation": {"baseId": "id"}

@youri-k youri-k requested a review from jstriebel July 23, 2019 14:47
@philippotto
Copy link
Member

front-end is done!

Copy link
Member

@daniel-wer daniel-wer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code LGTM 👍

Things I noticed:

  • (If I create a hybrid task type, then a task with that task type and open that task, I'm only allowed to do volume actions (it's also displayed as type volume in the info tab). Did I miss a step here to get a proper hybrid task?)
  • (In the dashboard/tasks view, only a volumebadge is shown for hybrid tasks, but both skeleton and volume should be shown.)
  • I see - Both of the above points are solved if the base annotation is a hybrid tracing instead of a volume tracing - that's probably fair for now.
  • If I supply a base annotation that is a hybrid tracing to a task with a volume task type, the resulting task is a hybrid task. So basically the base annotation tracing type overwrites the task type tracing type. That is, because the frontend decides what type of tracing there is (and what type of actions the user can take), based on whether there is a skeleton and/or volume tracing present. I would say that is alright for now, but we should probably fix that at some point, it seems un-intuitive.

@philippotto
Copy link
Member

philippotto commented Jul 25, 2019

Thank you for the thorough testing @daniel-wer! I didn't notice that the base annotation type takes precedence. However, I'd suggest to fix this already in this PR, since I think it's a likely scenario that hybrid tasks should be created and the base annotation is only a skeleton. The other direction ("create skeleton task and base is hybrid") might be less likely, but I think that should be even easier to fix, @youri-k?

So, I guess these two to dos remain for the back end:

  • if a hybrid base annotation is provided for a skeleton or volume task, only the respective skeleton or volume tracing should be written into the task base (thus, preventing that the task turns into a hybrid)
  • if a non-hybrid base annotation is provided for a hybrid task, then the back end should create an empty tracing for the missing companion tracing

@youri-k Do you agree with this plan?

@CLAassistant
Copy link

CLAassistant commented Jul 25, 2019

CLA assistant check
All committers have signed the CLA.

Copy link
Member

@fm3 fm3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While I agree that it is quite dubious to fill the optional tracingid fields in the BaseAnnotation objects, I also see that the nearby alternatives are more tedious. Please add a changelog entry before merging

@philippotto
Copy link
Member

@fm3 @youri-k Do you think we can land this? As far as I know, the most recent performance logging showed that this is no longer blocked. Is this correct?

@fm3
Copy link
Member

fm3 commented Nov 13, 2019

I’d possibly add a warning to the user that this is a slow operation, and should not be done with too many tasks at a time, something like this. What do you think @philippotto ? Apart from that, I guess we can merge and deploy.

@youri-k youri-k merged commit 6440fa7 into master Nov 28, 2019
@fm3 fm3 deleted the hybrid-task-with-nml branch March 20, 2020 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Hybrid tasks with given segmentation Hybrid tasks with given NML
7 participants