dice icon indicating copy to clipboard operation
dice copied to clipboard

Determining Quality of Solution

Open cb022 opened this issue 3 years ago • 6 comments

I am trying to find more information on the GAMMA parameter, which according to the documentation is the correlation coefficient between the reference photo and all subsequent deformed image subsets. It is stated that 0 indicates a perfect match, but it is unclear what an acceptable or high confidence cutoff value should be. Where can I find the equation used to calculate gamma or more information about this parameter?

Thanks!

cb022 avatar Oct 20 '22 14:10 cb022

You can find the gamma calculation on line 324 of this file: https://github.com/dicengine/dice/blob/master/src/base/DICe_Subset.cpp

As far as an acceptable value, we typically consider anything over 0.5 to be a failed correlation. The nice thing about gamma is that it's usually only small if the correlation is spot on, for example you either get low values of gamma after the correlation ~0.01 or high values ~1.8.

dicengine avatar Oct 20 '22 14:10 dicengine

Thank you! I understood based on the publication "An Overview of the Gradient-Based Local DIC Formulation for Motion Estimation in DICe" that the correlation is calculated using the least squares minimization problem. However, I am getting gamma values that are negative, which should not be the case since the difference is squared. Can you provide some insight into this?

Thanks!

cb022 avatar Oct 20 '22 16:10 cb022

The GAMMA SIGMA and BETA fields are automatically set to -1.0 when a subset fails correlation due to some error (either exceeded max iterations, or had unphysical solution, or other issues). The values for gamma are from 0.0 to 2.0 otherwise. There is a field called STATUS_FLAG that lists a code for why the subset failed. The values for the STATUS_FLAG field are listed in DICe.h https://github.com/dicengine/dice/blob/master/src/base/DICe.h

dicengine avatar Oct 20 '22 20:10 dicengine

This was very helpful, thank you!

cb022 avatar Oct 21 '22 16:10 cb022

Where can I find information to determine the quality of the solution for the Global analysis method? It seems that correlation parameters are not provided as outputs.

cb022 avatar Oct 21 '22 17:10 cb022

As you said, the global methods don't calculate the same quality metrics as the subset based methods in DICe. One metric that you could use is to look at the residual fields in the exodus output (either the GLOBAL_GRAY_DIFF or RESIDUAL fields). I don't have any rules of thumb for you in regards to what constitutes good or bad values in these fields, but you might be able to judge that based on how the fields vary across your problem of interest. The global methods in DICe haven't seem much development in a while and they were never used with as much rigor as the subset-based methods. We mostly implemented the global method to explore research on how to regularize DIC and compare to subset-based methods.

dicengine avatar Oct 24 '22 14:10 dicengine