Displacement identification methods#

Simplified Optical Flow (SOF)#

[1] Javh, J., Slavič, J., & Boltežar, M. (2017). The subpixel resolution of optical-flow-based modal analysis. Mechanical Systems and Signal Processing, 88, 89–99. https://doi.org/10.1016/j.ymssp.2016.11.009

Lucas-Kanade (LK)#

[2] Lucas, B. D., & Kanade, T. (1981). An Iterative Image Registration Technique with an Application to Stereo Vision. In Proceedings of the 7th International Joint Conference on Artificial Intelligence - Volume 2 (pp. 674–679). San Francisco, CA, USA: Morgan Kaufmann Publishers Inc. Retrieved from http://dl.acm.org/citation.cfm?id=1623264.1623280

Directional DIC#

[3] Masmeijer T., Habtour E., Zaletelj K. & Slavič J. (2025). Directional DIC method with automatic feature selection. Mechanical Systems and Signal Processing, 224. https://doi.org/10.1016/j.ymssp.2024.112080

Digital Image Correlation (DIC)#

Full-field 2D Digital Image Correlation method using Inverse Compositional Gauss-Newton (IC-GN) optimization with the Zero Normalized Sum of Squared Differences (ZNSSD) criterion.

This method is a port of the pyDIC library by the LADISK research group (University of Ljubljana, Faculty of Mechanical Engineering) into the pyidi multi-point IDIMethod framework. The original implementation is available at ladisk/pyDIC and provides the algorithmic basis for this class (gradient kernel, Jacobians, steepest-descent images, Hessian, inverse-compositional warp update, ZNSSD error image). Please cite both the underlying algorithm and the pyDIC repository when using this method.

Two warp models are supported:

  • warp='affine' (default, 6 parameters): full first-order shape function with translation, normal strains, shear and rotation. Parameter vector [du/dx, du/dy, u, dv/dx, dv/dy, v].

  • warp='rigid' (3 parameters): translation and in-plane rotation. Parameter vector [u, v, phi].

In addition to the standard displacements array of shape (n_points, n_frames, 2), the method exposes the full converged warp parameters as self.warp_params of shape (n_points, n_frames, n_param). From the affine parameters one can directly recover in-plane strains and rotation, e.g.:

eps_xx   = idi.warp_params[..., 0]
eps_yy   = idi.warp_params[..., 4]
shear_xy = 0.5 * (idi.warp_params[..., 1] + idi.warp_params[..., 3])
rotation = 0.5 * (idi.warp_params[..., 3] - idi.warp_params[..., 1])  # rad

The implementation is a port of the pyDIC algorithm (ladisk/pyDIC) into the pyidi multi-point method framework.

[4] Baker, S., & Matthews, I. (2004). Lucas-Kanade 20 Years On: A Unifying Framework. International Journal of Computer Vision, 56(3), 221-255. https://doi.org/10.1023/B:VISI.0000011205.11775.fd

[5] Pan, B., Qian, K., Xie, H., & Asundi, A. (2009). Two-dimensional digital image correlation for in-plane displacement and strain measurement: a review. Measurement Science and Technology, 20(6), 062001. https://doi.org/10.1088/0957-0233/20/6/062001