After looking into the materials challenge, we realized that our backgrounds in image processing as well as elegant UIs made for a perfect way to gather information about microstructures and display it in a way that could allow for simple, autonomous analysis.
What it does
Our project is split into two parts:
First, using the provided datasets and python's OpenCV library, we use image processing to detect grain boundaries and different phases of images. This information is used to calculate various traits of the sample presented (such as the grain size, distribution, and phase fractions). This information is displayed in our web app using flask and bulma.
With our Selenium web scraper, we scrape the NIMS (the National Institute for Materials Science Japan) for microstructures. Then, using an automated photoshop workflow, they're cropped and organized based on magnification. These images are now ready to be processed using the aforementioned techniques.
How we built it
We built our project mainly through good communication. We split up tasks and trusted each other to uphold our ends of the project. We all decided to communicate with each other frequently to ensure we were on the same page and aware of the status of our projects.
Challenges we ran into
- Putting the pieces together: because we didn't all have skills conducive to a full Python project, our group had to learn flask to accommodate our skills and work through the challenges we faced.
- Grain boundary detection: some images (especially from our own scraped datasets) were very hard to analyze. Getting around this required some fine tuning of our algorithms and a lot of time.
Accomplishments that we're proud of
We're proud to have:
- Learned how to web scrape
- Practiced the materials skills we built up in engineering
- Worked together in a group of three but still have created an amazing project
What we learned
- How to better communicate our status with our parts of the project to ensure mutual success
- To take it easy
- How to best solve issues when we're struggling with identical code bases (it's probably an environment problem)
What's next for MicroScan
For Version 2.0, MicroScan will:
- directly integrate the scraper into its codebase
- have more advanced detection and analysis of microstructure images *Use better kernel technology for grain boundary detection *Develop image analysis techniques to better analyze heavily curtained data (given curtain information)