# ALVINN

Anatomy Lab Visual Identification Neural Net (A.L.V.I.N.N) is a f7 based app for using a computer vision neural net model to identify anatomical structures in photographic imagery.

## Install
* **Android:** Download the latest Android apk in [packages](https://gitea.azgeorgis.net/Georgi_Lab/ALVINN_f7/packages) and open the downloaded file to install.
* **iOS:** To do
* **Web app:** Download the latest Web zip file in [packages](https://gitea.azgeorgis.net/Georgi_Lab/ALVINN_f7/packages) and extract the files to a folder location available via web access then visit that location in your web browser.
* **Run from source:** Clone this repository and in the root directory run `npm install` followed by `npm start`.  For more information see [f7 info](f7_info.md).

## Quick Start
1. From the main screen of the app, select the menu icon in the upper left corner and go to `Settings`.
1. Make sure that `Use external server` option is selected and fill in address and port parameters to connect to a back end serving the ALVINN models (Doods2 is the default backend).
1. Save the settings and return to the main screen.
1. Select the region of the body you want to identify structures from.
1. In the region page, click on the camera icon to take a new picture or load a picture from storage. When the picture load, any identifiable structures will be listed as tags below the image.
1. Click on each tag to see the structure highlighted in the image.

## Advanced Features
### Detection Parameters
After an image has been loaded and structure detection has been performed, the detection parameters can be adjusted using the third detection menu button (eye).
This button will make three tools available:
1. Confidence slider: You can use the slider to change the confidence threshold for identifying structures.
The default threshold is 50% confidence.
1. Refresh detections: If there has been a permanent change to the structures detections, such as deleting a tag, the detection list can be reset to its original state.
1. Structure list: you can view a list of all the structures available for detection in that region and select/deselect individual structures for detection.

### Submitting Images
If all of the detection tags that are currently visible have been viewed, then the final button (cloud upload) on the detection menu will be enabled.
This button will cause the image and the verified structures to be uploaded to the ALVINN project servers where that data will be available for further training of the neural net.
If after the image has been uploaded, the available detection tags change, then the option to re-upload the image will be available if all the new tags have been viewed and verified.