Skip to main content

A digital image correlation toolkit

Project description

µ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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

muDIC-0.2.1.tar.gz (48.1 kB view details)

Uploaded Source

Built Distribution

muDIC-0.2.1-py3-none-any.whl (62.1 kB view details)

Uploaded Python 3

File details

Details for the file muDIC-0.2.1.tar.gz.

File metadata

  • Download URL: muDIC-0.2.1.tar.gz
  • Upload date:
  • Size: 48.1 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for muDIC-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b496970727e989116bf90c9e6d403be181c333355739c607b7e90051e50fa4a7
MD5 9676864747959f6a2f6fb4ddc36d1c7a
BLAKE2b-256 789540ec5568fc0016ad68b1294531a5a19198e4c6ce1c4a957ba47714a6ce34

See more details on using hashes here.

File details

Details for the file muDIC-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: muDIC-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 62.1 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for muDIC-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 74a08e54ff625f4bd472f636133fca52780bb812bd98ad702e022664e96751d1
MD5 70741c885c4fbe2429d1768f78dd0f61
BLAKE2b-256 2ce869b90801e3222418608c841d0b5000104b41f5bf78753c14b19474cb11ef

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page