EISy-as-Py / hardy

Handling Arbitrary Recognition of Data! y not?
MIT License
10 stars 4 forks source link

Build Status Coverage Status Documentation Status Anaconda-Server Badge Anaconda-Server Badge Anaconda-Server Badge

DOI

Project HARDy

"HARDy: Handling Arbitrary Recognition of Data in python" A package to assist in discovery, research, and classification of YOUR data, no matter who you are!

Project Objective

Numerical and visual transformation of experimental data to improve its classification and cataloging

This project was part of DIRECT Capstone Project at University of Washington and was presented at the showcase, follow this link for the presentation

Requirements:

Package HARDy has following main dependencies:

  1. Python = 3.7
  2. Tensorflow = 2.0

The detailed list of dependencies is reflected in the environment.yml file

Installation:

The package HARDy can be installed using following command:

conda install -c pozzorg hardy

Alternatively, you can also install it using the GitHub repository in following steps:

*Please note that currently v1.0 is the most stable release

  1. In your terminal, run git clone https://github.com/EISy-as-Py/hardy.git
  2. Change the directory to hardy root directory, by running cd hardy
  3. Run git checkout v1.0
  4. Run python setup.py install
  5. To check installation run, python -c "import hardy" in your terminal

For other methods of installation like using environment file and installation using pip, please visit Installation page.

Usage:

HARDy uses Keras for training Convolutional Neural Network & Keras-tuner for the hyperparameter optimization. The flow of information is shown in image below:

information flow of how the package works

An example jupyter notebook to run HARDy using single script is available at this link Example Notebook

To perform various transformations, training Neural Network and Hyperparameter Optimization, Hardy utilizes following .yaml configuration files:

The instructions for modifying or writing your own configuration file can be accessed by clicking on the configuration files listed above.

The notebooks and documentations can also be accessed at this link Documentations

Visualization

In order to increase the density of data presented to the convolutional neural network and add a visual transformation of the data, we adopted a new plotting technique that takes advantage of how images are read by computers. Using color images, we were able to encode the experimental data in the pixel value, using different series per each image channel. The results are data- dense images, which are also pretty to look at.

 details on the proposed visual transformation to increased the images data density

Mission:

We have been commissioned by Professor Lilo Pozzo to create a new tool for research and discovery, For her lab and for high throughput researchers everywhere. Our vision of the final product: