Short Description
The SSIM is an index measuring the structural similarity between two images. It is valued between -1 and 1. When two images are nearly identical, their SSIM is close to 1. SSIM reference: Z. Wang, A. C. Bovik, H. R. Sheikh, E. P. Simoncelli (2004), Image quality assessment: from error visibility to structural similarity, IEEE Transactions on Image Processing, 13(4), 600-612.Documentation
With this plugin, you can compute a structured similarity index (SSIM) between two sequences.
These functions can be accessed:
- directly through the GUI (using a EzPlug interface),
- through the protocol editor provided by the Protocols plugin,
- from java (for plugin developers) or Javascript (using the Script Editor plugin): in these cases, see the documentation in the SSIMCalculator class for more details.
The SSIM is an index measuring the structural similarity between two images. It is valued between -1 and 1. When two images are nearly identical, their SSIM is close to 1.
Formula computing the SSIM between two sequences seq1 and seq2 at a given pixel or voxel P:
2*mu1(P)*mu2(P) + C1 2*cov(P) + C2 SSIM(P) = ------------------------ x ---------------------- mu1(P)^2 + mu2(P)^2 + C1 s1(P)^2 + s2(P)^2 + C2
With:
- mu1(P) and mu2(P): mean value of seq1 and seq2 computed over a small XY window located around P
- s1(P) and s2(P): standard deviation of seq1 and seq2 computed over the same window
- cov(P): covariance between seq1 and seq2 computed over the same window
- C1 = (K1*L)^2: regularization constant (should be as small as possible)
- C2 = (K2*L)^2: regularization constant (should be as small as possible)
- K1, K2: regularization parameters (must be >0)
- L: dynamic range of the pixel values (example: L=255 if the sequence is 8 bit encoded)
The default window is a Gaussian window with standard deviation 1.5 along both the X and the Y axis.
Reference:
Z. Wang, A. C. Bovik, H. R. Sheikh, E. P. Simoncelli (2004),
Image quality assessment: from error visibility to structural similarity,
IEEE Transactions on Image Processing, 13(4), 600-612.
This current implementation sticks as much as possible to the Matlab SSIM implementation provided by these authors at:
https://ece.uwaterloo.ca/~z70wang/research/ssim/