Streamlined QA/QC and image review for annotations made in VARS and Tator.
Requirements: Python ≥ 3.10
- Clone this repository.
- Activate your Python virtual environment (optional).
- Install dependencies:
- macOS: Double-click
install.command, or runpip install -r requirements.txtin the terminal. - Windows: Double-click
install.bat, or runpip install -r requirements.txtin the terminal.
- macOS: Double-click
- Set environment variables. Without these, the app will not be able to access the VARS server or the DARC external review server. Environment variables can be set by creating a file named
.envin the root of the repository with the following content (replace the...with the appropriate values):
ANNOSAURUS_CLIENT_SECRET = '...'
_FLASK_ENV = '...'
APP_SECRET_KEY = '...'
DARC_REVIEW_API_KEY = '...'- Start the application:
- macOS: Double-click
start.command. The app will pull the latest changes and open in your web browser automatically. - Windows: Double-click
start.bat. The app will pull the latest changes and open in your web browser automatically.
- macOS: Double-click
- Select a platform (VARS or Tator) using the toggle at the top of the page.
- Enter a sequence number in the text field.
- To select multiple dives, select the
+icon to the right of the sequence number text field.
- To select multiple dives, select the
- Select either
QA/QCorImage Review.QA/QC: A checklist of QA/QC items will be displayed. Each item has a link to the specific check and a checkbox to keep track of progress. Checkbox progress is saved locally and persists after the application is shut down.Image Review: Every annotation record in the selected dive(s) that has an image reference will be displayed. Filtering and sorting these records is possible through the options at the top left and right of the screen.
- Log in with your Tator username and password.
- Select an Expedition from the dropdown.
- Select a Folder (deployment type):
dscm— dropcam deploymentssub— sub/transect deployments
- Select a Deployment from the dropdown. For sub/transect, also select a Transect.
- Select either
QA/QCorImage Review.
Both the QA/QC and Image Review sections have the ability to edit annotations directly in the browser.
To view annotations added for external review, select External Image Review in the top right corner.
The image reference page (/image-reference) provides a library of reference images for species concepts. These can be used during annotation QA/QC to verify identifications.
- Add records for external review via the
Add to external reviewpopup menu on theImage Reviewpage. The dropdown menu lists external reviewers that match the current record's phylum.- If the reviewer you want to add is not on the list, select
See all reviewers. A new tab will open that allows you to view and edit external reviewer information. Changes here are saved to the external reviewer database.
- If the reviewer you want to add is not on the list, select
- After choosing a reviewer and clicking
Save, the record will be saved to the external reviewer database and the comment in VARS will automatically be updated toAdded for review: [Reviewer name]. - After adding a record to the external review database, more options will appear in the record's information section.
Change reviewerallows you to assign a different reviewer to the record.Delete from external reviewwill remove the record from the external review database (the record will remain in the VARS database). TheAdded for reviewcomment will be automatically deleted.Reviewer commentswill display comments that the external reviewer has saved along with a timestamp of when the comment was written.
- Once a record has been added for external review, the reviewer can see all the images added for them by accessing their review page at https://darc.soest.hawaii.edu/review/REVIEWER-NAME (spaces or dashes between first & last names are both okay).
- Example: To share images for review with Test Reviewer, share the link https://darc.soest.hawaii.edu/review/Test-Reviewer
If you encounter the following error when attempting to start the application:
[2024-04-17 09:47:44 -1000] [47269] [INFO] Starting gunicorn 25.2.0
[2024-04-17 09:47:44 -1000] [47269] [ERROR] Connection in use: ('127.0.0.1', 8000)
[2024-04-17 09:47:44 -1000] [47269] [ERROR] Retrying in 1 second.
[2024-04-17 09:47:45 -1000] [47269] [ERROR] Connection in use: ('127.0.0.1', 8000)
[2024-04-17 09:47:45 -1000] [47269] [ERROR] Retrying in 1 second.
This means that port 8000 is already being used by another application (another instance of the review application). To fix:
- Find the process that is running the app by entering
ps aux | grep gunicornin the terminal. This will print a list of running processes on the machine that match the namegunicorn. There will most likely be 3 processes listed, the ones of interest end in--threads 3. - Try to kill each
--threads 3process by enteringkill PROCESS_NUMBERwherePROCESS_NUMBERis the first number from the left on the line of the process. - Confirm that all processes ending with
--threads 3have been killed by runningps aux | grep gunicornagain. If a process is still running, try killing it again. - Start the application.




