Home Schedule Documents Technologies Wiki
boat

Technologies

This page describes the technologies we chose and implemented our product with and justifications for why we chose them.


Languages and Frameworks

The two langagues we chose to write our software in were Python and MATLAB. Python communicates with MATLAB to get the masks for the given images using the MATLAB Engine API.

MATLAB

MATLAB was used to create the binary masks for the dust analysis. For the Rock Type E analysis, a binary mask is created, where white represents dust and black represents rock. The functions that create this mask returned a binary mask image and a RGB mask image. However, we only use the binary mask image that is returned for our

Python

Python was used to develop the GUI the user interacts with as well as third party libraries that Python can use to analyzed the images for dust.

pandas
pandas is an open source, BSD-licensed library that provides high-performance, easy-to-use data structures and data analysis tools for Python. The pandas dataframe is used to store the after image, the paired before image, the image group they belong to, and the output analyzed image. This allows all the images to exist as their own image without needing to know about each other.
Numpy
The images are stored as Numpy arrays to be manipulated by OpenCV functions.
OpenCV
OpenCV was used to manipulate the Numpy arrays in Python.

Repos

The code that was used to create our product was stored on a GitHub repository. Other members on the team were encouraged to approve a branch made by another team member before merging onto the master branch.