Giter Site home page Giter Site logo

sedaoturak / normalization-frc Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 5.63 MB

Simple desktop application for normalization of tensile/compression test data of fiber reinforced composites

License: MIT License

Python 100.00%
composite-manufacturing composite-materials composites database fiber-reinforced-composite gui-application imageanalysis opencv pyqt5 pyqt5-desktop-application

normalization-frc's Introduction

Desktop Application for Normalization of Fiber Reinforced Composites

Here is a simple desktop application to calculate the normalized values of uniaxial tensile/compression test data of fiber reinforced composites (FRC).

The raw test data after either uniaxial tensile or uniaxial compression test must be normalized with a specific fiber volume fraction. The reason of this practice is to equally evaluate the mechanical behavior of FRCs panels regardless of fiber volume fraction due to possible variations that may occur in different batches (for further information: Composite Materials Handbook ).

This desktop application takes raw test data and normalizes it by using the actual fiber volume fraction measured from the cross-section image of the sample, taken by optical microscope or SEM (scanning electron microscope). After uploading the raw data, a database file is generated in SQL format and all data is transferred to this database. Later on, the data is fetched from this database to be used in the calculations. After uploading the cross-section image, the fiber content is found by using Binary and Triangle threshold algorithms in OpenCV library. According to normalizing volume fraction given by the user, the tensile strength and the elastic modulus is calculated according to ASTM D3039 test standard. These values are shown in a separate window together with actual volume fraction of the sample.

In terms of engineering and practical aspect, this kind of application may enable easier and faster calculation of the normalized mechanical properties and the volume fraction, which are critical design variables for a structural part, during manufacturing and quality control operations. If the samples are inspected by microstructure examination during production, calculating these values by utilizing this application may save material and time costs in addition to enabling easier calculations by minimizing the human input and automating the process.

I had started this project 3 years ago when I took a course on Python. In this project, I aimed to practice PyQT5 for GUI creation, OpenCV for image analysis, SQlite for database management together with object-oriented programming (OOP).

The steps showing how the application works are shown in the workflow below.

How to Use

After installing the dependencies in requirements.txt (which only consists of PyQt5, numpy and matplotlib), run main.py file. A window shown below will appear.

  1. Upload the test data (the file should be in csv format and the headers of the columns should be "Strain" and "Stress".)
  2. Upload the cross section image of the sample
  3. Enter the fiber volume fraction at which the normalization will be done (be sure press OK)
  4. Press "Normalize" button

TODO

  • Embedding the windows for the plot of normalized stress-strain and the normalized values in the main window
  • Tick sign for uploaded files
  • Option for different file formats
  • Fetching the data in the original file regardless of the column headers
  • Error messages for wrong file formats or actions

normalization-frc's People

Contributors

sedaoturak avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.