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.
This project is maintained by rrrokhtar
Red Hen’s Rapid Annotator provides a platform to users to annotate large chunks of data in a short span of time and with least possible efforts. It provides the features of annotating images/videos/audios/text during collaborative situation also. With Red Hen Lab’s we will try to enable users to visualize the progress of each annotator separately and annotators can notify experimenter when the annotation is finished to make the annotation work more efficient.
In 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.
I have been continuing working on Red Hen Lab’s Rapid Annotator after work done by Gulshan Kumar and Vaibhav Gubta at GSoC’s 20, 19 and 18.
When I go to a new experiment and click on its settings immediately
without making any uploads to this experiment (empty experiment) it
leads to unexpected behavior;
“UnboundLocalError: local variable ‘pngImageB64String’ referenced
before assignment”
The logs and screenshot describes it more. It gets Internal Server
Error in production mode, and in debug mode it is as follows.
When adding/removing annotators to an experiment in a some quick way (I did that just for testing the functionality but I found that), it leads to adding the same user twice sometimes which is not logical. Is it alright or not very important to look for fixing it?
Export results to sheet of an experiment works only as “.xlsx” files
and “csv” doesn’t work, it leads to unexpected behavior
“UnboundLocalError: local variable ‘app’ referenced before
assignment”, screenshot attached below shows that.
I found that due to missing import as I discovered I will submit a
pull request to solve that.
Currently the loading time of viewing a large experiment is very big as Dr. Peter mentioned to me and Gulshan, I have reviewed the code base and found an issue in the pagination behavior it takes processing time for the whole data, while it is expected to be done only on the portion of data which will be displayed to the user as per page request. So I will work on that to optimize that time and make lazy-loading instead of the current.
This pull requests solves this issue Unexpected behavior when
adding or removing annotators at an experiment
#47
It is a simple solution as I found the location reloading in
unnecessary and making the unexpected behavior because immediate
reloading makes the code in an inconsistent state and I didn’t get
what is their purpose so commenting them fixed that issue.
This pull request is a complementary to the latest pull request which is merged I discovered there is a problem when removing all annotators, the alert was causing some problems so I have solved it.
This pull request solves View large experiments and results viewing take very long time #51
Left side is after being fixed, right side is before.
Added a new column to the concordance experiments exporting results
“Video Snippet Annotated” which is simply the same as Video Snippet
but with start and end modified based on the experiment’s display
time [before_time and after_time]
By applying the following equations
new_start = video_snippet_start - exp.display_caption.before_time
new_end = video_snippet_end + exp.display_caption.after_time
and replacing those with the existing on the video snippet using regular expression.
Making the reordering of current existing annotation levels was a hard and need to open each annotation level to check what number is given for that and then keep all of them in your mind to make a new level or just change an existing annotation level ‘s level number so In this pull request proposing an easier way to do that as explained in the following screenshot.
Multichoice annotation process and viewing results
Export results at long-format (New exporting results format)
Export results at wide-format (New exporting results format)
Optimized the existing exporting results time
This pull request contains database changes and new added package to apply them you need that
# to install flask-migrate package
pip3 install -r requirements.txt
# Initialize the flask-migrate files.
flask db init
# Make a migration, it is like commit it and a comment beside.
flask db migrate -m "Initial migration." # OR just add your comment right there
# Then apply your migration to the database, it is like push.
flask db upgrade
To allow experimenter modifying the results exported file (at wide format) and continue from the point they have edited their results to a new experiment. for example removing a row from the sheet (file)
2.Concordance experiment (it creates a new concordance file based on
the given results file)
this due to the hard coded id sent when len(annotators) = 0 at line 73 @RapidAnnotator-2.0/rapidannotator/modules/add_experiment/views.py
The following pull request adding is an adds-on to the current annotation process system to allow the experiment get more information about the data and use them with their process of information and features extraction and get more intuition about which part of the data is meant for this annotation
This feature meant to be used by the experimenter in the step of modeling and preprocessing.
Image experiments
VIA Vgg images
annotators, I have integrated the images part to Rapid
annotator
Audio/Video Built a time controller for selecting a time
start and end of the video those controllers (buttons and
ion-slider
manages the video running duration and starting and ending
time
Text experiments extended the current base highlighting
feature of concordance to be able to use on the normal
experiment also
Filtering view results based on a specific annotation level or annotation level label
Re-uploading an experiment and continue to based on the results exported in wide format feature
Integrated VIA and added audio/video controllers for time range from scratch as well as extended the highlighting feature and fixed a lot of bugs while working on those tasks which I call the annotations adds-on and add it into the database, I would like to explain what structure has been followed