https://github.com/seatonullberg/grains

Metallic and ceramic grain analysis made easy.

https://github.com/seatonullberg/grains

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 3 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.9%) to scientific vocabulary

Keywords

computer-vision materials-science opencv
Last synced: 5 months ago · JSON representation

Repository

Metallic and ceramic grain analysis made easy.

Basic Info
  • Host: GitHub
  • Owner: seatonullberg
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 344 KB
Statistics
  • Stars: 5
  • Watchers: 0
  • Forks: 2
  • Open Issues: 1
  • Releases: 0
Topics
computer-vision materials-science opencv
Created about 7 years ago · Last pushed over 6 years ago
Metadata Files
Readme License

README.md

grains

Summary

grains is a software package for tech savvy metallurgists and ceramists who are tired of counting grains by hand. The software reports information related to the size distribution of grains in a micrograph in both text and graphical formats. The goal of this project is to automate the process of grain analysis by applying modern computer vision algorithms.

Installation

grains can be installed easily through the terminal via:

$ pip install grains

To install grains from source for development:

$ git clone https://github.com/seatonullberg/grains.git
$ cd grains
$ pip install -r requirements.txt
$ pip install -e .

Usage

The following example showcases the basic functionality of grains as a software library. Please note that the image scale in this example is arbitrary as I have not yet found adequate validation data. Refer to the examples directory for the simple source code used to generate these results.

If you are more interested in using grains as a CLI, the results of this example can be replicated with the following command.

$ grains --h=<image height> --w=<image width> <path/to/image>

Input Image

alt text

Centroids Image - Default Settings

alt text

Area Histogram - Default Settings

alt text

Text Summarization - Default Settings

Automatically Generated by grains

Input filename: test_grains.jpg
Number of grains: 40
Grain area mean: 1631.55 um^2
Grain area variance: 1527136.86 um^2
Grain area standard deviation: 1235.77 um^2

Roadmap

  • ~~Grain counter with OpenCV~~

  • ~~Size distribution analysis~~

  • ~~Calculate average grain size in accordance with ASTM E112~~

  • ~~Wrap functionality into a simple CLI~~

  • ~~Package for pip install~~

  • Validate performance and construct test cases

  • Make official release on Github

Citation

If you use this software in a publication please cite me using the following BibTeX format.

@Misc{,
    author = {R. Seaton Ullberg},
    title = {{grains}: Automatic Grain Analysis Tool},
    year = {2019--},
    url = "https://github.com/seatonullberg/grains",
    note = {[Online; accessed <today>]}
}

Owner

  • Name: Seaton Ullberg
  • Login: seatonullberg
  • Kind: user
  • Location: Gainesville, FL

Materials Science and Engineering PhD candidate at the University of Florida

GitHub Events

Total
Last Year

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 24
  • Total Committers: 3
  • Avg Commits per committer: 8.0
  • Development Distribution Score (DDS): 0.458
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Seaton s****g@g****m 13
Seaton Ullberg 3****g 7
seatonullberg s****g@u****u 4
Committer Domains (Top 20 + Academic)
ufl.edu: 1

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 1
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: less than a minute
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • seatonullberg (1)
Pull Request Authors
  • seatonullberg (1)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 28 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 1
  • Total maintainers: 1
pypi.org: grains
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 28 Last month
Rankings
Dependent packages count: 10.0%
Stargazers count: 21.5%
Dependent repos count: 21.8%
Forks count: 22.6%
Average: 23.3%
Downloads: 40.3%
Maintainers (1)
Last synced: 6 months ago

Dependencies

requirements.txt pypi
  • Click *
  • matplotlib *
  • numpy *
  • opencv-python *
  • scipy *
setup.py pypi
  • Click *