dicengine / dice

Digital Image Correlation Engine (DICe): a stereo DIC application that runs on Mac, Windows, and Linux
Other
340 stars 125 forks source link

Phase Information #273

Open cb022 opened 1 year ago

cb022 commented 1 year ago

Hello,

I was wondering if DICe is capable of incorporating both the phase and intensity information of the pixels for subset tracking/deformation vector estimation.

Thanks!

dicengine commented 1 year ago

That's not something we've explored or implemented, but let me know what you have in mind and I could give you some pointers as to how hard it would be to include phase information.

cb022 commented 1 year ago

DIC_phase_amp.pdf I am attaching a paper that describes the approach really well. I am using DICe on OCT images which inherently have very different speckle patterns than images used for standard materials. Including phase information as shown in section 4, Fig. 1 significantly improves accuracy of displacement field tracking.

dicengine commented 1 year ago

If I understand the techniques in the paper above, what you're look for is some what to use phase information to correct for speckle splitting that happens in the deformed image. Is that correct? If so, there are already several image processing tools in DICe based on FFTs that might be useful. It might also be straightforward to introduce another method in the image class that applies the correction in a similar fashion to how image gradients are calculated at each step, or filtering is applied. I haven't spent much time studying the paper, but it seems like it wouldn't terribly hard to do.

cb022 commented 1 year ago

Thanks for getting back to me on this! Yes, that is correct. Which DICe processing tools would you recommend I look into? Is there a way to incorporate the phase information I have, or would that require creating a new method in the image class?

dicengine commented 1 year ago

It would probably be best as a new method in the DICe::Image class. If you can write out a specific algorithm I can help you figure out the best way to implement it.