scalableminds / webknossos

Visualize, share and annotate your large 3D images online
https://webknossos.org
GNU Affero General Public License v3.0
124 stars 23 forks source link

Mappings implementation #1241

Closed boergens closed 7 years ago

boergens commented 8 years ago

I don't understand super well yet what we would need them for.. perhaps you can explain next time we talk :-)

Log Time

tmbo commented 8 years ago

From @jfrohnhofen:

Current state of the implementation:

Manually adding / manipulating mappings (for now):

Todos:

Switching to multilayer mappings:

boergens commented 8 years ago

B can be simplified in a two-step process: 1) map all IDs to some canonical identifier of that equivalence class (currently the minimum) —> B’ = [[1, 10], [1, 5, 10], [5, 15]] 2) merge equivalence classes with shared members (non-empty intersections) —> B’’ = [[1, 5, 10, 15]]

I'm not sure that it is a common use case that B would have non empty intersections.. has this ever occurred? Perhaps we can hangout with Manuel and Alessandro to discuss

jfrohnhofen commented 8 years ago

If we are sure, that this is never going to happen, this would certainly simplify things. However, if in case it accidentally did happen then, the behavior would be kind of ill defined. Can we also assume/ensure, that the new mapping always references each equivalence class in the parent by its smallest member? Then, the no normalization would be needed at all. Also, we probably want a mechanism to ensure that a mapping can no longer be updated, once it serves as a parent to another mapping. Or is that a use case?

Best

Johannes

Johannes Frohnhofen

johannes.frohnhofen@scalableminds.com mailto:johannes.frohnhofen@scalableminds.com http://scm.io http://scm.io/

scalableminds UG (haftungsbeschränkt) & Co. KG Amtsgericht Potsdam, HRA 5753 Geschäftsführer: Tom Bocklisch, Tom Herold, Norman Rzepka, Thomas Werkmeister

Am 17.06.2016 um 10:27 schrieb Kevin Michael Boergens notifications@github.com:

B can be simplified in a two-step process: 1) map all IDs to some canonical identifier of that equivalence class (currently the minimum) —> B’ = [[1, 10], [1, 5, 10], [5, 15]] 2) merge equivalence classes with shared members (non-empty intersections) —> B’’ = [[1, 5, 10, 15]]

I'm not sure that it is a common use case that B would have non empty intersections.. has this ever occurred? Perhaps we can hangout with Manuel and Alessandro to discuss

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/scalableminds/oxalis/issues/1241#issuecomment-226830532, or mute the thread https://github.com/notifications/unsubscribe/ABn4WVXB_6D52fYkSGnunidDjue03TBQks5qMtjqgaJpZM4IjHgT.

boergens commented 8 years ago

I think with mappings it's safe to assume that they have been created by someone competent. But we should first discuss more what the actual use cases of mappings are

jfrohnhofen commented 7 years ago

@kevinbbb87 do you think there is anything left to be done here? as far as I remember, the discussion above was mostly about multi-level mappings. I suggest we start a new discussion as soon as this becomes relevant.