fracsuite

A small toolkit for analyzing fracture patterns on glass plys.

https://github.com/leonbohmann/fracture-suite

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: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.0%) to scientific vocabulary

Keywords

analysis fracture fracture-patterns glass tempered-glass
Last synced: 6 months ago · JSON representation ·

Repository

A small toolkit for analyzing fracture patterns on glass plys.

Basic Info
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 19
Topics
analysis fracture fracture-patterns glass tempered-glass
Created over 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme Citation

README.md

Version Total Downloads DOI

For citation please use: @software{fracture-suite, author = {Leon Bohmann}, title = {fracsuite v1}, data = 2024-03, version = {1.0.0}, doi = {10.5281/zenodo.10758208}, url = {https://github.com/leonbohmann/fracture-suite/tree/masterrelease} }

Backend plot of analyzer, displaying original and preprocessed image and detected cracks

How it works

:warning: This is deprecated. The documentation will be updated in the future!

Several steps are necessary to analyze a fracture scan: 1. Cropping of input image (optional) 1. Analyze the image and find the biggest rectangular shape 2. Perspective transform the image, so that the rectangle is filling the extents 2. Preprocessing 1. Gaussian Blur + (optional) Resize of the input image 2. Adaptive Threshold 3. Contour detection 1. Find all contours on the preprocessed image 2. Filter Contours, remove all: 1. Whose perimeter is too small 2. Whose area is way too large (25000px²) 4. Create stencil with the found contours 1. This helps to quickly remove all contours that lie within a bigger contour 2. Draw all contours onto a new image (resulting image will display the cracks) 5. Skeletonization #1 1. Skeletonize the stencil to minimize the crack width to 1px wide lines 2. Use Erode/Dilate (closing kernel) to connect gaps in contours (this will widen the 1px wide lines) 6. Skeletonization #2 1. Skeletonize the image again to retrieve the crack middle lines 7. (enabled by default) Remove splinters, whose are is all black in the original image and fill those spaces 8. Contour detection #2 1. Now with minimal fuzziness, run the splinter detection again 9. Create splinters from resulting contour list

A couple of outputs are saved to a directory next to the input image. These are:

  • Contour plot of recognized splinters (you have to zoom in, contour thickness is 1px)
  • Filled plot of splinters
  • Figures
    • Splinter size distribution
    • Splinter relative share distribution
    • Voronoi overview
    • Fracture Intensity overlay

Installation

bat pip install fracsuite

Usage (:warning: 0.1.7 only!)

Use the module directly

bat py -m fracsuite.splinters "path/to/image"

For details see: API Docs

Create a script

```python from fracsuite.splinters.analyzer import Analyzer, AnalyzerConfig

image = r"Path/to/some/image.bmp"

config = AnalyzerConfig()

size of cropped image (if cropping is needed)

config.cropsize = (4000,4000)

analyzer = Analyzer(image, config) ```

Owner

  • Name: Leon Bohmann
  • Login: leonbohmann
  • Kind: user
  • Location: Darmstadt, Germany
  • Company: TU Darmstadt

Programming before being able to walk. Civil Engineer at TU Darmstadt.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: "Bohmann"
    given-names: "Leon"
doi: 10.5281/zenodo.8369155
title: "fracsuite"
version: 0.2.0
date-released: 2024-02-24
url: "https://github.com/leonbohmann/fracture-suite"

GitHub Events

Total
Last Year

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 137 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 22
  • Total maintainers: 1
pypi.org: fracsuite

Package to help analyze fracture patterns on broken glass plys.

  • Versions: 22
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 137 Last month
Rankings
Dependent packages count: 7.6%
Forks count: 30.3%
Average: 36.6%
Stargazers count: 39.3%
Dependent repos count: 69.3%
Maintainers (1)
Last synced: 7 months ago