Stellenbosch University DIC Code
You are accessing a very early release of the Stellenbosch University DIC Code called SUN-DIC. Currently this code has the following key features and limitations. Please forward any problems and/or suggestions for improvement to the author. More detailed information about the implementation will be provided at a later stage.
- Can currently only deal with 2D planar problems (a stereo version is planned)
- Can only specify a rectangular region of interest (ROI), but an all black background in the image pair can be used to deal with irregularly shaped domains
- There are currently no GUI available for the code
- Completely open source using standard Python libraries wherever possible
- Make use of the zero-mean normalized sum of squared differences (ZNSSD) correlation criterion
- Have an advanced starting strategy for automatically creating initial guesses at a small number of starting points using the Akaze feature detection algorithm
- Have both linear (affine) and quadratic shape functions available
- Have both an inverse compositional Gauss-Newton (IC-GN) and an inverse compositional Levenberg-Marquardt (IC-LM) solver implemented
- Have both an absolute and relative update strategy when considering multiple image pairs
- Calculate both displacements and strains
- Strains are calculated using a Savitzky-Golay smoothing operations
- Parallel computing
- Clone the repository
- Create a virtual environment
- Activate the virtual environment
- Install the required packages contained in the
requirements.txtfile Below are some pointers how to achieve this using either python/pip or anacoda
- Create a new virtual environment for use with this package
python3 -m venv sundic
- Activate the virtual environment
source sundic/bin/activate
- Download and install the package
git clone https://github.com/gventer/SUN-DIC.git
pip install ./SUN-DIC
- Create a new virtual environment for use with this package
conda create -n sundic pip
- Activate the virtual environment
conda activate sundic
- Download and install the package
git clone https://github.com/gventer/SUN-DIC.git
pip install ./SUN-DIC
- Open the
test_sundic.ipynbJupyter Notebook for a detailed and complete working example - Open this from the main SUN-DIC directory and be sure to use the virtual environment you created above
- Note that the general work flow is to modify the
setting.inifile, perform the DIC analysis and finally to post-process the results
API Documentation can be found at the following github pages:
https://gventer.github.io/SUN-DIC
- The SUN-DIC analysis code is based on work done by Ed Brisley as part of his MEng degree at Stellenbosch University. His MEng thesis is available at the Stellenbosch University library (https://scholar.sun.ac.za/items/7a519bf5-e62b-45cb-82f1-11f4969da23a)
- The interpolator used is
fast_interpwritten by David Stein and available under the Apache 2.0 license at: https://github.com/dbstein/fast_interp - The Savitsky-Golay 2D smoothing algorithm is from the scipy cookbook available at: https://scipy-cookbook.readthedocs.io/items/SavitzkyGolay.html
This project is licensed under the MIT License - see the LICENSE file for details