A free 2D & 3D DIC (Digital Image Correlation) MOIRE software

The current version is V0.960.

[You must login first to see the software] 

This software contains lots of robust functions for image analysis and processing, deformation, shape, and motion measurement. However, since most users are interested in DIC, the videos below show only how to use DIC. Please be noted that the menu in the newest version is slightly different from the one in the video. Opticist.org needs your comments and input to make this DIC program better. 

The software is developed with Visual C++ 2015, you may need to install Visual C++ 2015 Redistributable Package (included in the zip file) first before run the program.

The software has 32-bit (X86) version and 64-bit (x64) version. Please use the X64 version unless your Windows OS is 32-bit.

Link to 2D DIC manual: https://www.dropbox.com/s/dp7a2hspee8neak/2DDIC_manual.pdf?dl=0

Here are two demo video clips of the software.

Dear Ghulam Can you share

Dear Ghulam

Can you share your source code of Digital Image Correlation in Matlab with me?

thank you!


Help regarding installation of the Software

I have downloaded the software and am trying to install it.... But i dont know why, it is not getting installed. As soon as i try to install it, it shuts down. I also installed the Visual C++ before trying with the DIC software.......Can somebody please guide me regarding this.....

strain data on reference and deformed image

What is the difference between having the strain on the deformed image or the reference image? I should have one strain data between the deformed and the reference image , why there are two strain data ?

RE: strain data on reference and deformed image

Reference image shows U displacement, and target one shows V results.

need help so badly

I am a new user; please I need help so badly. I am working on a research and I should find the strain field. I have images for tension test, the size of images are (4310X2868) gray scale with 256 colors. Once I run the code it gives me negative values for strain in V displacement. I should not have negative values because it is tension test. I resized the images using irfanview to (600X399) but I still have the same problem. The results are not satisfied. One more issue, I strain calculation there is an order “Differential Gage Input” “Differential Gage Value” what is this value and what I should use ? the default value is 10 so do I use 10? Is this code is good to find the displacement and strain in metal plate elastic region under tension test ?? Can anyone solve my problem please? Note: the original images were NEF format then I converted it to DNG then TIFF to BMP.

One more thing, the metal plate connections that I am using has slots or holes all around. Is this okay and will not affect the code and the results?<?xml:namespace prefix = o />

Thanks in advance

out of memory

Hello Admin,
when i click on ok for the box of Load E/B from an image (Rcmd) then i get a message say Out of memory.

what is the memory of the computer i should have please ?




Displacement of points

Hi all,

I would like to measure the displacement of few points on the image.

Is it possible to do it by selecting few points only or give position of these points in terms of X and Y and the measure their displacement in deformed image. 

Please suggest me.

Thank you.

Ghulam Mubashar Hassan.

RE: Displacement of points

Our web site seems having a bug: it cannot handle your ID well. I have changed your ID from gmjally to 21101141.

For your question, you can perform a full-field analysis, and get the results at those points of your interest.  To get the "real" DIC results at those points, you can set "Calculation step" (unde TAB "Subset II") to 1. 

Thank you. 

Thank you.

I have reference and deformed images. The links are



MOIRE DIC does not work on it. I increased the subset size to 41 but it does not work. I know that deformation is much smaller than 4 pixels in it. Image Correlation function in matlab works fine with it. 

I will appreciate if you may please share the reasons. 

Thank you.

RE: Thank you.

The patterns are not typical ones for DIC. They need larger subset, try 61 or larger. You may also want to use "manual searching" for initial guess. I tested with 61 and manual searching, the program works well.  

In addition, you can try changing other parameters to get ideal results. 

BTW, our new SIFT+iRANSAC also works well with these two images. We will release the new version later this month.



Have you released new version. May I have a link of it. 

Thank you.


Image Output

Is there a way to change the output of an image or combine the two to have vertical and horizontal displacement in one output?

RE: Image Output

The software has a simple function to plot the deformed shape, but not to show the resultant displacements in color map.  You can output the U- and V-field displacements, and write a simple Matlab code to get your desired results.

Accuracy Validation

[This comment was posted by gmjally, and format has been corrected by Admin]


I am trying to validate the resutls of all existing DIC software/toolbox. I am starting with 2D DIC. I am trying to validate this software but am not getting good results as it proposes on website (accuraccy more than 0.01 of a pixel). I am using all procedures mentioned in video and documentation.

I am generating digital images with random patterns and adding known desplacements using mechanics equations. The images have varying displacements. 

I am trying to find displacement of each pattern(speckle). 

Using MOIRE, I am getting displacements for half of an image but cannot recognize displacement for rest of the image, while I know that entire image has displacement.

Can anyone help me that where am I going wrong or what will be correct procedure. 

I have done the same with Matlab DIC and another software and it works well. Any imput will be highly appreciated.

Thank you.


RE: Accuracy Validation

Please upload the images so that we can investigate the reason.

RE: Images used for validation Analysis

Your user ID contains a keyword that affects the display of the web pages, so I deleted your message.

In regard to your question, the reason is that you did not use a boundary/edge file. 

Accuracy Validation

Hmm. yes, I found those images wierd on web page. Thanks for removing. I can send you link of them if you need.

Regarding problem, I am drawing or selecting boundary/edge from selection options on left hand panel. Then on selection, I ask to use current E/B condition. 

I do the same process for same image at low resolution i.e. 500X500 and it works well. 

I have changed the subset size too but it did not help the cause.

I have observing that MOIRE DIC does not work well with high resolution images i.e. 2000X2000, 1000X1000 (with some images, it works else usually not).

Please share your thoughts.

Thank you.




Thank you for your software. I am trying to determine displacement of pixels between two images, and I have been able to import the images and conduct the DIC analysis, however the unit output says Unit:system, not mm as the demo video shows. How can I change the units to be in mm?

Thank you!

RE: Unit:system

The unit is pixel.

What is the difference

What is the difference between the two image outputs? Is one vertical and one horizontal displacement? Is there a way to change the output of an image or combine the two to have vertical and horizontal displacement in one output (if that is, in fact what they are)?

errors in camera calibration

Hello, I'm trying to use the software, and there are two problems:

1.Firstly I chose 20 images, there was an application error:"The instruction at "0x7c918f71"referenced memory at "0x40a53895".The memory could not be "written"."; but if I chose only 5 images, OK.

2. Then when proceeding the photos, there is always a Reminder and Warning!:"The program failed to detect all the centroids correctly. Do you want to modify some parameters and try again"...

Could you please tell me what should I do?

Great thanks for you help in advance!!

RE: errors in camera calibration

Make sure that you have good images. You can find samples here: http://opticist.org/node/160

Calibration board for camera calibration

Hello, I've read your paper which presents an advanced geometric camera calibration method, and I would like to try it. As there isn't calibration board with concentric circles in my lab, is it possible to use a board with just some circles? Will the accuracy suffers?

Thanks a lot in advance!!

RE: Calibration board for camera calibration

Print the pattern (a Word file) enclosed in the zip file, and attach it to a flat plate/board. You can use a regular paper, but it can be much better if you have a full-sheet shipping label.

thanks a lot

Thanks for your response so rapide!!!


And the calibration board you use in the paper is also made in this way, right?

Problems with boundary condicitons

Hello! Thanks for this great software! I'll use it in my PhD studies of composite materials. 

I have found a problem with the definition of boundaries, in fact, the DIC analysis is done outside of boundary condition and not inside them. More strange is the fact that i've been using it one day and it worked well but after that, i cant do a correct DIC analysis due to boundary problems. 


RE: Problems with boundary condicitons

Please make sure that the boundaries or borders are closed, and there is no "leaking". If this does not help, try to select the seed point manually as follows: in the "Analysis Parameter" dialog, under tab "Adv II", check "Manual seed selection". If necessary, you can also check "Manual searching" for initial guess (under tab "Guess").

Thanks for your speed! I

Thanks for your speed!

I create the boundary using rectangle tool so i think that a possible leaking is not the problem. However, I'm going to use the options you've told me. I hope that it'll work. Thanks you very much!

Boundary problems

I've just try all of your option and I have always the same problem...

Missing Help Files

Hello, I downloaded the software, and it runs, but the help files are all empty.  How can I get those?


Thank you.

ZNCC coefficient distribution image

How can I make a ZNCC(or ZNSSD) coefficient distribution image, like the
ones presented in figure 8e and 10c of the article "Genuine full field
deformation measurement of an object with complex shape using
reliability-guided digital image correlation"?

This will help me make an
evaluation of the quality of the correlation.

Any help will be highly appreciated since I'm not able to find a command in Moire that can save or generate this particular image.

Thanks in advance

RE: ZNCC coefficient distribution image

The coefficients are intermediate results, so we do not provide a way to show them. We can add a few lines in the code to generate an image for this. Please wait for the next release.

RE: ZNCC coefficient distribution image

A simple function has been added. To see the coefficient (not ZNCC, but the one you are using) map, under tab [Adv 1], check [Show advanced control dialog (e.g., trimming)]. After the analysis, you can find the map in the windows temporary folder. This function will be improved later.

Correlation coefficients output

First of all I would deeply thank you for sharing "free of charge" this fine piece of software.I'm a University user of DIC methods and at the moment I'm making a thourough comparison of an in-house developed software and yours. My question is:"how can make a correlation coefficient image like the ones you published in the Optic express journal"?I'm also developing a tutorial for the basic function of your software, would you be interested in evaluating it and publishing it on your site? Thanks in advance

RE: Correlation coefficients output

Your first question is not clear to me. Do you mean how to make speckle pattern on the object or how to make simulation pattern? We appreciate your work and are more than happy to publish the tutorial on the website.

ZNCC coefficient distribution image

Thanks for your quick reply. I rephrase my question. What I want to do is make a ZNCC(or ZNSSD) coefficient distribution image, like the ones presented in figure 8e and 10c of the article "Genuine full field deformation measurement of an object with complex shape using reliability-guided digital image correlation".This will help me make en evaluation of the quality of the correlation.

Thanks in advance

strain data save


Thank you very much for share the very good software.

But is there a bug in strain data saving? The contour of strain is OK, but the saved data become zero in a large part region?  I use the version 0.953.

Anyone else encountered this? 

And how to solve this problem?

Thank you very much! Best wishes!

RE: strain data save

Thanks for pointing this out. The original program saves strains at every pixel, including the points out of region of interest. This is why there are so many zeros.  The program has been updated to make the corrections (0.953b).


Thank you very much for your software.

I start to get results with 2D DIC, but would like to know how to proceed with 3D.

I managed to calibrate the dual camara setting, but how to get 3D results? 

get two sets of reference and deformed images, shall I produce 2D
displacements for each set and then combine the results?, if so how to

Or shall I load the two sets and manage the images in a particular order?

Please let me know the way to follow my reserch with your soft.

Thank You for your time!!

Stereo calibration

The calibration tool has a checkbox for stereo - can it also calculate the fundemental/extrinsic matrix and baseline between stereo cameras?

The procedure isn't described in the calibration pdf.

Yes, it has all the information.

We will provide a manual on this later when we have more free time. Right now, we are busy with other work. If you want to do sterero calibration, you can do calibration one by one first. Since our camera calibration gives very good accuracy, the difference is not big.

Thank you -will look forward

Thank you - will look forward to it!

Since you app doesn't log image coords for the found circles, I use the camera+lens matrix from your app and then the opencv stereo calib  routines.


3D DIC is currently under testing and will be substantially improved. Therefore,  it is a little bit tricky to use the function. Here is briefly how it works:

Suppose you have four images: 1L, 1R, 2L, 2R (L:left camera, R; right camera). You need to first calibrate the R camera and then the L camera (so that L will be first in the database). Next, open 2R, 2L, 1R, 1L in this particular order to let 1L be the overalll reference image. After that, create a boundary file based on 1L. 
When conducting 3D DIC, the rest work can normally be done automatically. Finally, the program will ask you to save results twice (because there are two sets of image pairs).


Dear Admin,

I have followed your instructions for performing
3d DIC, but with no success.

I can make 2D between any pair of images but no
wander which combination of loading I try always the result is crash,
some times due to no enough  points or no boundary.

Follows a link to the four images and the
calibration file, done  in the order the program reads the
calibration files, first L and then R, as

I am using version 0.953d.

Please could you try to make the 3D DIC to know
what is my mistake?

If you allow a
suggestion, It would be nice in future versions if the lines of the
boundaries are drawn in a different colour or thicker to help
identifying the ends during drawing.

Thanking you for your work,



Hi, I'm first to use this software. Do you know how to get the displacement or strain data from pictures? 

I use metal specimens which do not have patterns showed in the Demo video. How could I treat the specimen when I deal with metal specimens ?

Thank you!

Malware warning


I get a malware warning when I try to download the .zip file in Chrome.

Anyone else encountered this?

The software is safe

We promise that the software is safe.

three point pairs


I really appreciate you in providing such great software.

I have several questions about the software and my images. My images are deformed and rotated with a small angle (i.e. 10 degrees).

1. when I use manual initial guess, I need to pick up three points pairs. i want to know if these points can be any points in a good contrast region. I saw your previous comments  " the first ref point is the seed point, do not change it". what's that mean.

2.I selected ROI using rectangle boundary tools, however, after calculation, there is no colorful image or very small colorful image in the ROI, most of them is black and white. what is problem?

3. what is the actual meaning of subset size and calculation step? 

Thank you very much.


three point pairs

If the rotation is small, there is no need to select three points. One point is ok. Our newest version allows fully automatic analysis (i.e., there is no need for initial guess no matter the deformation and rotation are large or not). We are testing the new version right now, and will update the software very soon.

In regard to ROI, the best way is to generate a ROI boundary/edge file.

Subset Size defines the size of the area being used for pixel motion detection. Calculation Step (increment) allows us to calculate only a portion of the points to reduce the calculation time.

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer