This repository is used for the PlosOne publication Assessing Ethiopian Nile tilapia physiognomy with machine learning by Wilfried Wöber, Manuel Curto, Papius Tibihika, Paul Meulenbroek, Esayas Alemayehu, Lars Mehnen, Harald Meimberg and Peter Sykacek
# NT_BodyParts
This repository is used for the publication Assessing Ethiopian Nile tilapia physiognomy with machine learning by Wilfried Wöber, Manuel Curto, Papius Tibihika, Paul Meulenbroek, Esayas Alemayehu, Lars Mehnen, Harald Meimberg and Peter Sykacek
The data analysis is fully controlable with the run.bash script in the root directory.
Usage: bash run.sh [-I] [-i] [-G] [-g] [-P] [-C] [-c] [-N] [-n] [-R]"
I... Install framework in VE
i... Install R. Neals package
G... Do GP-LVM
g... Estimate GP-LVM features
P... Do GPS (Procrustes) with R and Python
C... Apply GPC to data
c... Apply HMC to data
N... Apply CNN classification
n... Estimate CNN visualization
R... Remove all installed and estimated files
# OS information and test settings
This package was tested unter Ubuntu 16.04 with a Python2.7 and 3.5 installations (Python2.7 for CNN processing and Python3.5 for the remaining processing) as well as CUDA 9.0 drivers. The main processing hardware was a NVIDIA 1080Ti and a Intel i9-7900X CPU. If you do not have the appropriate hardware/software, you may have to adapt the scripts to be fully functional on your system. Please see the **requirement files in the ''Python''** folder for used software versions.
**Note:** that the installation of the deep CNN libs may fail due to your hardware and driver settings.
**Note:** we use Python virtual environments in our scripts. You have to install the envitronments using the installation functionality of our run script in order to run all scripts. The installation will fail if you do not have Python virtualenv package installed.
Additionally, we used
* bash for script handling and basic data manipulation
* pdfjam and pdfcrop for pdf result handling
* cran R for GPA (the Paper data is based on the R implementation, our Python implementation is the default in this repo)
## Troubleshooting for installation
The installation may fail due to a Python instalaltion different to ours. We currently update the insta …