Inspiration

We want to showcase the power of AI in the medical industry. We think there is a lot of room for improvement

What it does

APP demo - https://www.youtube.com/watch?v=xbZUBd_1fSQ Presentation - https://www.youtube.com/watch?v=trTC5IrCSWA A doctor/ patient can make an account on our web app and then he can go to the "scans" page and upload an x-ray/ MRI of a specific organ. Our AI algorithms will detect if a disease is present in that scan.

How I built it

Front-end:

The app is made with HTML, CSS, and javascript. For the landing page, we used anime.js for the animation, it is mainly a template from GitHub, adapted to out color scheme. For the register and login page, we used bootstrap for the modern design and responsive nature. The form is a flask-wtf form. For the dashboard, we used a bootstrap dashboard as it is easy to add responsive, boxes with different dimensions, along with all the other design elements bootstrap offers. For the charts we used Chart.Js. Some illustrations are made by us ( in adobe illustrator ), and others are taken from undraw.

Backend:

This is a dynamic web app that uses artificial intelligence so this makes it a very complex the app when it comes to the backend part. We used the python programming language as it is very easy to program with it and is probably the best programming language for data science. Python also has some very good web engines. We used the Jinja template engine used by Flask in python. Flask is a very good choice in this case as it is highly customizable has many useful libraries and is very well documented. For the forms, we used - Flask-WTF For the login dynamic - Flask-login For the database, we use a Postgres link connection with Flask-SQLaclhemy We also need a background worker for Artificial Intelligence algorithms as they take a long time and making the user wait is not an option in this case, especially if they have a slow internet connection. As a python client, we used Redis and RQ workers to send background jobs in the queue. For the artificial intelligence algorithms, we used, ( along with popular linear algebra libraries like NumPy ), the TensorFlow library which is the most popular neural network library and it provides powerful algorithms like ResNet50, which we used to train the Brain Tumor and Pneumonia algorithms. The datasets come from Kaggle. Brain tumor dataset: https://www.kaggle.com/navoneel/brain-mri-images-for-brain-tumor-detection Pneumonia dataset: https://www.kaggle.com/c/rsna-pneumonia-detection-challenge We had to show the results in a web page and we did that by making a waiting web page that refreshes every 10 seconds and therefore sends a request every 10 seconds, in that request, we also check if the background job is ready. If it is ready to take the output, ( the image ha to be converted to bytes encoded in utf-8 as this is the safe and sure way of transferring images through workers). We hosted our app with Heroku ( paid for hobby plan so the app won’t sleep) as it is very easy to use workers, postgress, make multiple uploads, etc.

Challenges I ran into

Worker management, algorithm training time.

Accomplishments that I'm proud of

The entire app is fully functional

What I learned

How to use TensorFlow for image classification in a fast way

What's next for MYAID

So much more, many more algorithms should be added, drug discovery algorithms should be added, and many more

Share this project:

Updates