Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,21 @@ authors:
- name: Samuel J. Cooper
orcid: 0000-0003-4055-6903
title: "Prediction of Microstructural Representativity from a Single Image"
doi: arXiv:2410.19568v1
url: "https://arxiv.org/abs/2410.19568v1"
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: arXiv:2410.19568v1
journal: "arXiV preprint"
month: 8
- 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: 2024
year: 2025
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[Try it out!](https://www.imagerep.io/)

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](https://microlib.io/) 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 [preprint](https://arxiv.org/abs/2410.19568).
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](https://microlib.io/) 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](https://advanced.onlinelibrary.wiley.com/doi/10.1002/advs.202414149).

If you use this ImageRep in your research, [please cite us](CITATION.cff).

Expand All @@ -17,10 +17,11 @@ This method can be used via the [website (imagerep.io)](https://www.imagerep.io/
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)

- **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 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

Expand All @@ -31,11 +32,11 @@ These instructions are for installing and running the method locally. They assum
### Preliminaries

Install [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) (ideally via a manager like [nvm](https://github.com/nvm-sh/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

0. Setup a [virtual environment in Python](https://docs.python.org/3/library/venv.html) and activate it (not necessary but recommended)
Expand All @@ -55,13 +56,12 @@ python -m flask --app server run

The server should now be running on `http://127.0.0.1:500` and listening for requests!


3. If you want to reproduce (all) the figures, you'll need `pytorch` and some additional dependencies. It may be worth using [conda](https://www.anaconda.com/) to install `pytorch` as this will interact correctly with your GPU. Run

```
pip install -r requirements_dev.txt
```


### Install & run the frontend

0. Install the JS libraries needed to build and run the frontend. Install Yarn (and npm first if needed)
Expand All @@ -86,4 +86,4 @@ yarn && yarn start

```
python tests/tests.py
```
```
2 changes: 2 additions & 0 deletions frontend/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,8 @@ const App = () => {
setSelectedConf(95);
setErrorState({ msg: "", stackTrace: "" });
setShowWarning("");
setNImgs(0);
allImageInfos.current = [];
};

const changePhase = () => {
Expand Down
4 changes: 3 additions & 1 deletion frontend/src/components/Menu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -483,7 +483,9 @@ const Result = ({ allImageInfos }: { allImageInfos: ImageLoadInfo[] }) => {
</ListGroup.Item>
<ListGroup.Item>
Full details can be found in the{" "}
<a href="https://arxiv.org/abs/2410.19568v1">paper</a>
<a href="https://advanced.onlinelibrary.wiley.com/doi/10.1002/advs.202414149">
paper
</a>
</ListGroup.Item>
</ListGroup>
</Accordion.Body>
Expand Down
5 changes: 4 additions & 1 deletion frontend/src/components/Popups.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,10 @@ export const MoreInfo = () => {

<p>
Full details can be found in the{" "}
<a href="https://arxiv.org/abs/2410.19568v1">paper</a>.
<a href="https://advanced.onlinelibrary.wiley.com/doi/10.1002/advs.202414149">
paper
</a>
.
</p>
<p>
Source code is available{" "}
Expand Down