AmpliVision is an open source program designed to Automate AMPLI rapid test workflows. Mainly, It is able to load and process AMPLI rapid test images from a specified folder, find the grid and Ampli blocks in the image, read the diagnostic result for each Ampli block, generate a synthetic dataset of images, train a CNN model to classify AMPLI tests with generated images, then run outlier detection.
- Installation
- Usage
- Pre-Defined Use Cases
- File Structure
- Contributing
- Implementing Your AMPLI Tests
- More Resources
- License
- Contact
Clone the repository:
git clone "https://github.com/mattynb/AmpliVision.git"
Ensure you have python3.11.9 and the compatible GPU-Enabled TensorFlow setup in your environment. Then, from the AmpliVision root directory run:
pip install -r AmpliVision/requirements.txt
Python AmpliVision USE_CASE DATASET TAG*
-
CORE
EXTRA
-
Determines what dataset will be used.
- MARKER - The Marker dataset used for proof of concept runs
- YOUR_TARGET
- _ - For use cases that do not need datasets. Such as history.
-
optional ID string. Defaults to dataset if None
CORE Use Cases
Example command to scan and extract MARKER data. The scanned images will be in data/scanned_MARKER and extracted results in data/results/DATE
Python AmpliVision scan MARKER My_Identifiable_TAG
python3 AmpliVision LENET scanned_MARKER MARKER
python3 AmpliVision PyOD scanned_MARKER MARKER
EXTRA Use Cases
python3 AmpliVision test scanned_MARKER MARKER
python3 AmpliVision check_data scanned_MARKER MARKER
python3 AmpliVision history scanned_MARKER MARKER
If you'd like to contribute to this project, please follow these guidelines:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes.
- Test your changes thoroughly.
- Create a pull request.
-
Add the folder with your AMPLI test images in data. Make sure each file's name start with the result. For example, a test that shows positive result for DENV4 should be named DENV4_...
-
Define the targets of your AMPLI rapid test in __main__.py. "YOUR_TARGET" is the placehoder implementation.
def manage_targets(dataset): """ assigns targets user wants the CNN to predict in specific datasets """ dataset = dataset.upper() if "MARKER" in dataset: TAG = 'MARKER' TARGETS = ['lung', 'thyroid', 'ovarian', 'prostate', 'skin', 'control', 'breast'] elif "YOUR_TARGET" in dataset: # Here is an example to show where you can assign your own targets to your dataset print(" YOUR_TARGET not implemented yet in manage_targets() [__main__.py file], exiting...") exit()
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions or need assistance, feel free to contact us:
We hope you find this repository useful for your automated Ampli needs!