Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

If the total image isn't read, theres a strange bug where reading in
custom subsets that extend all the way to the edge of the image
boundary will cause an error that says the image read failed. This commmit
fixes that issue.

Git stats


Failed to load latest commit information.
Latest commit message
Commit time
October 6, 2022 14:47
February 17, 2023 10:05
October 23, 2022 06:28
February 17, 2023 10:05
December 20, 2018 08:44
October 28, 2019 07:30


Pushing DIC technology to new levels, together

DICe (pronounced /dīs/ as in "roll the dice") is an open source digital image correlation (DIC) tool intended for use as a module in an external application or as a standalone analysis code. Its primary capabilities are computing full-field displacements and strains from sequences of digital images and rigid body motion tracking of objects. The images analyzed are typically of a material sample undergoing a characterization experiment, but DICe is also useful for other applications (for example, trajectory tracking). DICe is machine portable (Windows, Linux, and Mac) and can be effectively deployed on a high performance computing platform (DICe uses MPI parallelism as well as threaded on-core parallelism). Capabilities from DICe can be invoked through a customized library interface, via source code integration of DICe classes or through a standalone executable.

There are two ways to install and use DICe. If you are on a Windows or Mac OS and simply want to install DICe and use it there are package installers available on the release page. If you are using Linux or would like to make your own custom modifications to DICe, you can build DICe and the DICe GUI using the instructions on the documentation page below.

Although the GUI is expanding with each new version, only the basic use cases for 2d and stereo DIC are currently available as options in the GUI. To use DICe for trajectory tracking, or to enable some of the advanced features like the regularized global methods, the command line interface needs to be used. Instructions are given in the tutorials for how to enable options like these. A good way to get started is to use the GUI to set up some basic input files and then modify these files as necessary to enable more advanced features.

screen shot 2017-05-16 at 8 38 14 am


DICe is different than other available DIC codes in the following ways:

First, subsets can be of arbitrary shape. This enables tracking of oblong objects that otherwise would not be trackable with a square subset.

DICe also incudes a robust simplex optimization method that does not use image gradients (this method is useful for data sets that are impossible to analyze with the traditional Lucas-Kanade-type algorithms, for example, objects without speckles, images with low contrast, and small subset sizes < 10 pixels).

Lastly, DICe also includes a well-posed global DIC formulation that addresses instabilities associated with the saddle-point problem in DIC (This capability will be released later this year).

For more technical information see:


How To Videos

2D analysis:

Stereo analysis:

2D tracking:

General Use, Tips for DIC, and Other Resources

The International DIC Society (iDICs) provides a number of helpful resources related to DIC, for example a comprehesive guide on best practives,, as well as conferences and workshops related to DIC. Go to for more information.

Command Line Use Tutorials

Releases (and Installers)

Windows and Mac OS package installers for DICe can be found here. To install DICe on Linux, it must be built from source following the instructions here.

Contributing to DICe

Fork the DICe repo, develop new algorithms and send us a pull request. We suggest the following guidelines be followed to keep a high degree of software quality:

  • Ensure that all existing tests pass with your changes applied
  • Create tests for new features
  • Document code with Doxygen formatted comments
  • Have your changes reviewed by an objective party
  • Use descriptive commit messages

Reporting Bugs or Requesting New Features

Use the issues link above to report bugs and request new features.

Citing DICe:

DZ Turner, Digital Image Correlation Engine (DICe) Reference Manual, Sandia Report, SAND2015-10606 O, 2015