imagerep
Prediction of microstructural representativity from a single image
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: wiley.com -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.9%) to scientific vocabulary
Keywords
Repository
Prediction of microstructural representativity from a single image
Basic Info
- Host: GitHub
- Owner: tldr-group
- License: bsd-3-clause
- Language: Python
- Default Branch: main
- Homepage: https://www.imagerep.io/
- Size: 5.81 MB
Statistics
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 6
- Releases: 1
Topics
Metadata Files
README.md
ImageRep
Here we introduce the 'ImageRep' method for fast phase fraction representativity estimation from a single microstructural image. This is achieved by calculating the Two-Point Correlation (TPC) function of the image, combined with a data-driven analysis of the MicroLib dataset. By applying a statistical framework that utilizes both data sources, we can establish the uncertainty in the phase fraction in the image with a given confidence, and the image size that would be needed to meet a given target uncertainty. Further details are provided in our paper.
If you use this ImageRep in your research, please cite us.
Usage:
This method can be used via the website (imagerep.io) or as python package - see example.ipynb.
NB: the website may run out of memory for large volumes (>1000x1000x1000) - if this happens run the method locally or contact us
Limitations:
- This is not the only source of uncertainty! Other sources i.e, segmentation uncertainty, also contribute and may be larger
- For multi-phase materials, this method estimates the uncertainty in phase-fraction of a single (chosen) phase, counting all the others as a single phase (i.e, a binary microstructure)
- Not validated for for images smaller than 200x200 or 200x200x200
- Not validated for large integral ranges/features sizes (>70 px)
- Not designed for periodic structures
- 'Length needed for target uncertainty' is an intentionally conservative estimate - retry when you have measured the larger sample to see a more accurate estimate of that uncertainty
Local Installation Instructions
These instructions are for installing and running the method locally. They assume a UNIX enviroment (mac or linux), but adapting for Windows is straightforward. Note you will need 2 terminals, one for the frontend local server and one for the backend local server.
Preliminaries
Install npm (ideally via a manager like nvm) if you want to run the website. Clone this repo and change directory:
git clone https://github.com/tldr-group/Representativity && cd Representativity
Install & run the backend
- Setup a virtual environment in Python and activate it (not necessary but recommended)
- Install the repo as a local package:
pip install -e .
NOTE: this is all you need to do if you wish to use the method via the python package. To run the website locally, follow the rest of the instructions.
- With your virtual environment activated, and inside the
representativity/directory, run
python -m flask --app server run
The server should now be running on http://127.0.0.1:500 and listening for requests!
- If you want to reproduce (all) the figures, you'll need
pytorchand some additional dependencies. It may be worth using conda to installpytorchas this will interact correctly with your GPU. Run
pip install -r requirements_dev.txt
Install & run the frontend
- Install the JS libraries needed to build and run the frontend. Install Yarn (and npm first if needed)
npm install --g yarn
- Build and run:
yarn && yarn start
- Navigate to
http://localhost:8080/(the browser should do this automatically).
Testing Instructions
- Run (with your virtual enviroment activated!)
python tests/tests.py
Owner
- Name: tldr group
- Login: tldr-group
- Kind: organization
- Location: United Kingdom
- Website: https://tldr-group.github.io/#/
- Repositories: 3
- Profile: https://github.com/tldr-group
The Tools for Learning, Design and Research (tldr) group is a multidisciplinary team based in the Dyson school of Design engineering at Imperial College London.
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this model, please cite it as below."
authors:
- name: Amir Dahari
orcid: 0000-0003-0142-8597
- name: Ronan Docherty
orcid: 0000-0002-7332-0924
- name: Steve Kench
orcid: 0000-0002-7263-6724
- name: Samuel J. Cooper
orcid: 0000-0003-4055-6903
title: "Prediction of Microstructural Representativity from a Single Image"
doi: https://doi.org/10.1002/advs.202414149
url: "https://advanced.onlinelibrary.wiley.com/doi/10.1002/advs.202414149"
preferred-citation:
type: article
authors:
- name: Amir Dahari
orcid: 0000-0003-0142-8597
- name: Ronan Docherty
orcid: 0000-0002-7332-0924
- name: Steve Kench
orcid: 0000-0002-7263-6724
- name: Samuel J. Cooper
orcid: 0000-0003-4055-6903
doi: https://doi.org/10.1002/advs.202414149
journal: "Advanced Science"
month: 7
title: "Prediction of Microstructural Representativity from a Single Image"
year: 2025
GitHub Events
Total
- Create event: 7
- Release event: 1
- Issues event: 15
- Delete event: 3
- Issue comment event: 17
- Push event: 31
- Pull request review event: 5
- Pull request review comment event: 4
- Pull request event: 12
Last Year
- Create event: 7
- Release event: 1
- Issues event: 15
- Delete event: 3
- Issue comment event: 17
- Push event: 31
- Pull request review event: 5
- Pull request review comment event: 4
- Pull request event: 12
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 4
- Total pull requests: 8
- Average time to close issues: N/A
- Average time to close pull requests: 25 days
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 0.38
- Merged pull requests: 4
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 4
- Pull requests: 8
- Average time to close issues: N/A
- Average time to close pull requests: 25 days
- Issue authors: 1
- Pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 0.38
- Merged pull requests: 4
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- amirDahari1 (10)
Pull Request Authors
- amirDahari1 (6)
- rmdocherty (4)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v3 composite
- actions/setup-python v3 composite
- @babel/core ^7.18.13 development
- @babel/preset-env ^7.18.10 development
- @babel/preset-react ^7.18.6 development
- @babel/preset-typescript ^7.18.6 development
- @pmmmwh/react-refresh-webpack-plugin ^0.5.7 development
- @testing-library/react ^13.3.0 development
- @types/node ^18.7.13 development
- @types/react 18.0.17 development
- @types/react-dom 18.0.6 development
- @types/underscore ^1.11.4 development
- @typescript-eslint/eslint-plugin ^5.35.1 development
- @typescript-eslint/parser ^5.35.1 development
- babel-loader ^8.2.5 development
- copy-webpack-plugin ^11.0.0 development
- css-loader ^6.7.1 development
- dotenv ^16.0.2 development
- dotenv-webpack ^8.0.1 development
- eslint ^8.22.0 development
- eslint-plugin-react ^7.31.0 development
- file-loader ^6.2.0 development
- fork-ts-checker-webpack-plugin ^7.2.13 development
- friendly-errors-webpack-plugin ^1.7.0 development
- html-webpack-plugin ^5.5.0 development
- image-webpack-loader ^8.1.0 development
- postcss-loader ^7.0.1 development
- postcss-preset-env ^7.8.0 development
- process ^0.11.10 development
- rimraf ^3.0.2 development
- sass ^1.54.5 development
- sass-loader ^13.0.2 development
- style-loader ^3.3.1 development
- tailwindcss ^3.1.8 development
- ts-loader ^9.3.1 development
- typescript ^4.8.2 development
- webpack ^5.74.0 development
- webpack-cli ^4.10.0 development
- webpack-dev-server ^4.10.0 development
- webpack-dotenv-plugin ^2.1.0 development
- webpack-merge ^5.8.0 development
- bootstrap 5.2.3
- pako ^2.1.0
- react 18.2.0
- react-bootstrap 2.7.4
- react-dom 18.2.0
- react-refresh 0.14.0
- react-router-dom 6.14.2
- underscore ^1.13.6
- 1051 dependencies
- flake8 ==6.1.0 development
- ipykernel ==6.26.0 development
- matplotlib ==3.8.1 development
- numpy ==1.26.4 development
- porespy * development
- pyparadiso * development
- scikit-image ==0.22.0 development
- scikit-learn ==1.3.1 development
- scipy ==1.13.1 development
- tifffile ==2024.7.2 development
- torch ==2.3.1 development
- flake8 ==6.1.0
- ipykernel ==6.26.0
- matplotlib ==3.8.1
- numpy ==1.26.4
- scikit-image ==0.22.0
- scikit-learn ==1.3.1
- scipy ==1.13.1
- tifffile ==2024.7.2