A digital image correlation toolkit
Project description
µDIC
A python toolkit for Digital Image Correlation (DIC)
Overview
This package provides a "batteries included" toolkit for 2D digital image correlation. The intended use in in the field of material research, for non-contact strain measurements. The implementation is based on B-splines, providing a very flexible framework where various degrees of continuity can be enforced etc.
Typical usage is demonstrated in the provided examples
This toolkit includes the following:
- Image reader tools
- Virtual lab
- Speckle image generators
- Image deformation tools
- Noise injection
- Image down-sampling
- B-spline finite elements
- Arbitrary polynomial order
- Knot vectors can be manipulated
- Meshing tools:
- A light weight GUI for structured meshing
- Image correlation routines:
- Non linear least squares solver
- Post processor
- Calculates most popular strain measures
- Light weight visualization
- Logging
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
This toolkit is tested on Python 2.7x an 3.7 and need all dependencies listen in requirements.txt
Installing
Installing by a package manager:
Installing by cloning the repos:
Start to clone this repo to your preferred location:
$ git init
$ git clone https://github.com/PolymerGuy/muDIC.git
We recommend that you always use virtual environments, either by virtualenv or by Conda env
Virtual env:
$ virtualenv myproject
$ source /myproject/bin/activate
$ pip install -r requirements.txt
Conda env:
$ conda create -n envname python=2.7
$ source activate envname
$ conda install --yes --file requirements.txt
You can now run an example:
$ python path_to_muDIC/Examples/phantomImages.py
Running the tests
The tests should always be launched to check your installation. These tests are integration and unit tests:
$ unittests /tests
Documentation
Documentation is hosted by: LINK TO READ THE DOCS
Our motivation
The motivation for this work was the need for a transparent code which could be modified and extended easily, without digging deep into C or C++ source code. The implementation is pure python with the exception of third-party packages such as Scipy, Numy etc.
Contributing
Clone the repository, add your changes, add new tests and you are ready for a pull request
Authors
- Sindre Olufsen - Implementation - PolymerGuy
- Marius Endre Andersen - Wrote the Matlab code which was the starting point for this project
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Citing this project
This project is described in the following paper and citation is highly appreciated
[THE AWESOME PAPER TO BE PUBLISHED]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.