RedHenLab / RapidAnnotator-2.0

With Red Hen Lab’s Rapid Annotator we try to enable researchers worldwide to annotate large chunks of data in a very short period of time with least effort possible and try to get started with minimal training.
GNU General Public License v2.0
14 stars 19 forks source link

Elan experiment type #66

Closed rrrokhtar closed 1 year ago

rrrokhtar commented 1 year ago

Description

Elan experiment: is a new category of experiments (extension to video experiment) that is needed to be added to rapid annotator that allows multiple and infinite count of annotations for each level. New analogies (for elan experiment):

The structure of each annotation entry will be as the following (description of database changes): Note: Database schema updated image is added in docs folder ElanAnnotation:

Review of what is the replacement: each selected label was recorded as a single record in AnnotationInfo table. For elan it is instead of keeping a single record for each entry (as they are infinite; not limited to the count of labels inside each level) it was better to use a json type So far, data is a json type contains the following:

{
"levelId01": [{"startTime": 0.01, "endTime": 0.036, "text": "Anythingcan be here"}]
}

It is an object contains (levels/tiers ids of the experiment as keys and for each tierId it contains an array which is the content of annotations) Sample view explained image that image is represneted as the following:

{
  "34": [
    {
      "text": "label 1",
      "endTime": 6.5,
      "startTime": 0
    },
    {
      "text": "label 3",
      "endTime": 19.25,
      "startTime": 10.0625
    }
  ],
  "35": [
    {
      "text": "dsa",
      "endTime": 15,
      "startTime": 2.4375
    }
  ]

Results is exported in 2 ways

  1. All results of the experiment at once in a tabular format contains the following columns (['File Name', 'Annotator', 'Tier Name', 'Annotation Text', 'Start Time (sec)', 'End Time (sec)']) as (csv, xlsx)
  2. Export a .eaf (elan file format) of a specific user's annotation for a specific file

User interface changes:

2keybind


Functions

Complete demo (video) for annotation to export results!

https://user-images.githubusercontent.com/39674365/193145851-a3e37263-7374-4298-8047-6e70850644fa.mp4

In case of facing a problem with watching the video on Github you can find it on Youtube

Things need to be discussed

peteruhrig commented 1 year ago

This looks very good! I think we should however add a few ways of making this faster. In particular, I'm thinking about being able to use keys to select tiers and annotations. Do you think that is possible?

rrrokhtar commented 1 year ago

@peteruhrig
Yes, it is possible! Would you recommend it to add a new field for each tier as a key for it! or simply using the index number of each level, i.e., clicking on "1" leads to selection of the first level and etc. (I think it is better).

peteruhrig commented 1 year ago

I personally think that index number is fine. The question is whether the selection of tier should also be hotkey-able. If so, shall we take the letters of the alphabet, i.e. first tier is "a", second is "b"?

rrrokhtar commented 1 year ago

That's fine, but it may lead to a conflict in case of another label having the same key! so I guess the numbers only for the tiers and letters for the labels may ensure non-conflicts!

rrrokhtar commented 1 year ago

Update:

tiershortcut

peteruhrig commented 1 year ago

Tiny change request: Can you put the numbers in front of the Tiers? And another question: Also, can we have selectable annotations? Or do we always have to type the annotation text? I have not fully thought this through, maybe an annotation without text would be a better option for this. What is your take?

rrrokhtar commented 1 year ago

@peteruhrig

Yes sure, they are also indexed at the key-bindings dialog

image

And updated them to attach the shortcut key beside each tier on the timeline

image


The labels are selectable annotations and have their own shortcut-keys as used in the standard experiment

image image

peteruhrig commented 1 year ago

That's good, but would require the user to remember these, and often the experimenter and the annotator are not the same person, so we need to have it visible in the annotation dialogue.

rrrokhtar commented 1 year ago

The dialog which contains the shortcut-keys is on the annotation page (so it is viewable from the annotator) Do you mean that or something else? The thing would be kept in mind the label's shortcut keys I think key-bindings button kbsc

peteruhrig commented 1 year ago

Ah, I did not see a key bindings button. But I'm not convinced it will be great to have the key bindings displayed as an overlay, when we can just add them to the tiers and labels (e.g. in square brackets, or at the beginning of the line followed by a colon).

peteruhrig commented 1 year ago

But you know what, I'll merge it at this state, and then we'll play around and see how it goes.