Skip to content

iitis/frasta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FRASTA-toolbox

FRASTA-toolbox is an open-source desktop application for fracture-surface topography analysis based on the FRASTA (Fracture Surface Topography Analysis) methodology. The software supports interactive import, preprocessing, alignment, and comparative analysis of opposing fracture surfaces represented as structured 3D grids.

The toolbox provides tools for masking, interpolation-based hole filling, manual surface alignment with live difference maps, and cross-sectional profile analysis with synchronized 2D and 3D visualization. It is designed to support reproducible fracture-surface analysis workflows and to translate established FRASTA concepts into a practical, accessible research tool.

FRASTA-toolbox is implemented in Python using PyQt5 and pyqtgraph, and is intended for use in materials science, fracture mechanics, tribology, biomedical engineering, and related research domains.

Input data format

FRASTA-toolbox currently supports structured grid data exported as text-based XYZ files, where each row corresponds to a single grid point (X, Y, Z). Additional internal formats (NPZ, HDF5) are supported for faster reload and reproducible workflows.

Typical workflow (GUI)

  1. Import one or more fracture-surface scans in CSV (XYZ grid) format.
  2. Apply basic preprocessing:
    • define region of interest (ROI),
    • adjust value range using histogram thresholding,
    • fill missing data if necessary.
  3. Align two opposing fracture surfaces using interactive translation and rotation.
  4. Place cross-sectional profiles to inspect local deviations and contacts.

Configuration

Windows

  • create virtual environment: python -m venv .venv

  • activate: .venv\Scripts\activate.bat

  • instal packages: .venv\Scripts\pip.exe install -r requirements.txt

  • generating of requirements.txt: .venv\Scripts\pip.exe freeze > requirements.txt

Linux

  • create virtual environment: python -m venv .venv

  • activate: sh .venv/bin/activate

  • instal packages: ./.venv/bin/pip install -r requirements.txt

  • generating of requirements.txt: ./.venv/bin/pip freeze > requirements.txt

Other useful commands:

  • creating distribution package: ./.venv/bin/python -m PyInstaller --add-data "icons;icons" main.py

  • running tests: ./.venv/bin/python -m pytest -v -s

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages