Maven plugins
Anchor uses several key libaries via Maven plugins:
-
Project Lombok to reduce boilerplate code and duplication of code. Note its key features.
-
spotless to automatically restyle Java code to match the Google Java Style Guide.
Java libraries
-
Apache Commons for utility functions and classes.
-
Guava for additional data structures and algorithms.
-
ONNX Runtime for inference of deep learning models.
-
OpenCV (specifically the OpenPNP distribution for Java) for image processing and I/O.
-
Bioformats for image I/O.
-
metadata-extractor for image metadata I/O.
-
ImageJ for image processing functions.
-
VavR for additional functional programming constructs.
Python libraries
-
scikit-learn for classical Machine Learning algorithms.
-
PyTorch and PyTorch Lightning for scripts to train CNN models.
-
TensorFlow for exporting to TensorBoard.
-
Plotly for data visualization.