catmaid / CATMAID

Collaborative Annotation Toolkit for Massive Amounts of Image Data
https://catmaid.org
GNU General Public License v3.0
188 stars 57 forks source link

Replace the concept of "neuron name" with an annotation meta-annotated as "neuron name". #1559

Open acardona opened 7 years ago

acardona commented 7 years ago

The "neuron name" concept must be replaced by an annotations-only approach. We all need the reliability of names that don't change.

One possible, and I think VERY GOOD solution to the general problem of the "neuron name" vs "annotation" disjunction is the following: add a migration to REMOVE neuron names, transforming them all into annotations that are meta-annotated with "neuron name". Then, make the default setting be that annotations meta-annotated as "neuron name" are used for rendering the neuron name. In this way, even when merging two neurons both names will be displayed together, prompting a fix.

All neurons whose current name matches "^neuron \d+$" would be left without a name, which defaults to the skeleton ID for rendering the name. This rather difficult to memorize name would encourage renaming it to something better.

In the future, when a user sets the name of a neuron, all the user would actually be doing is adding a name (not editing / removing the existing one(s)), by virtue of adding an annotation that is meta-annotated as "neuron name". As discussed above, there can be multiple annotations for the same neuron, all meta-annotated as "neuron name". Choosing the "Own annotations annotated with" neuron name would make it all work individually for each user. No more neuron naming clashes among users.

To smooth the transition, the current neuron name dialog can be replaced by the annotation dialog, with the meta-annotation pre-populated with "neuron name".

(copying text from #1326)

acardona commented 7 years ago

Changed priority to high. This is a real issue affecting workflows right now, with many contributors not understanding that renaming neurons is (1) unnecessary, given annotations and the composition of neuron names from multiple sources and (2) essential to keep a stable handle onto a neuron for scripts and analysis in general.