Skip to main content

µDIC: A Python toolkit for Digital Image Correlation (DIC)

CircleCI codecov Documentation StatusPyPI version

Overview

This project aims at providing a “batteries included” toolkit for digital image correlation in Python. The functionality you need to perform digital image correlation on experimental data as well as for doing virtual experiments are included.

alt textalt text

Typical usage is demonstrated in the examples located in the /Examples folder.

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

Release notes

The following changes were done in version 0.2.0:

  • Added Q4 element support
  • Q4 elements are now the default
  • Removed uneccessary scaling when images are deformed using displacement functions
  • Added quiver plots for displacements
  • Python 2.7 is no longer supported
  • Removed Perlin noise support as the package is only available for Python 2.7
  • Various bug fixes (See commit history)

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 3.7 and need all dependencies listen in requirements.txt

Installing

Installing by a package manager:

Make sure you have Python 3 installed with pip and virtualenv

Make new folder and use a terminal to make a virtual environment:

$ python -m venv env
$ source env/bin/activate #On Linux and Mac OS
$ env\Scripts\activate.bat #On Windows

We can now install µDIC inside this environment using pip

$ pip install muDIC

Now, lets run all the tests included by using nosetests

$ nosetests muDIC

Installing by cloning the repos:

Start to clone this repo to your preferred location:

$ cd /path/to/project/
$ 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:

$ cd /path/to/muDIC
$ python -m venv env
$ source ./env/bin/activate #On Linux and Mac OS
$ env\Scripts\activate.bat #On Windows
$ pip install -r requirements.txt

Running the tests

The tests should always be launched to check your installation.

If you installed by a package manager:

$ nosetests muDIC #Note capital cases

If you cloned the repo:

$ cd /path/to/muDIC/
$ nosetests

Documentation

Documentation is found here: 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 µDIC: An open-source toolkit for digital image correlation

Release files for muDIC 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for muDIC 0.2.1
File Size Uploaded
muDIC-0.2.1.tar.gz 48.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for muDIC 0.2.1
File Interpreter ABI Platform
muDIC-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 110.2 kB

Release files / muDIC-0.2.1.tar.gz

Download URL muDIC-0.2.1.tar.gz
Size 48.1 kB
Tags Source
SHA-256 checksum
How to use checksums
b496970727e989116bf90c9e6d403be181c333355739c607b7e90051e50fa4a7
BLAKE2b-256 checksum
How to use checksums
789540ec5568fc0016ad68b1294531a5a19198e4c6ce1c4a957ba47714a6ce34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.3

Release files / muDIC-0.2.1-py3-none-any.whl

Download URL muDIC-0.2.1-py3-none-any.whl
Size 62.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
74a08e54ff625f4bd472f636133fca52780bb812bd98ad702e022664e96751d1
BLAKE2b-256 checksum
How to use checksums
2ce869b90801e3222418608c841d0b5000104b41f5bf78753c14b19474cb11ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.3

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

1 release file

0.1.0

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page