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/

Resources needing this

Leave a Review

Leave a review
Cancel review
View full changelog
Close changelog

Changelog

  • Version 2.1.2.0 • Released on: 2013-11-15 16:55:12
    Download
    Description:

    Fix deprecation warnings.

  • Version 2.1.1.0 • Released on: 2013-05-27 13:52:57
    Download
    Description:

    Add: use the SequenceBuilder class provided in the Icy Kernel.

  • Version 2.1.0.0 • Released on: 2013-04-22 13:06:19
    Download
    Description:

    Fix: code clean up

  • Version 2.0.2.0 • Released on: 2012-08-16 14:05:11
    Download
    Description:

    Fix: Add scrollbars in the help frame.

  • Version 2.0.1.0 • Released on: 2012-07-10 11:36:45
    Download
    Description:

    Fix: begin/endUpdate when allocating a sequence

  • Version 2.0.0.0 • Released on: 2012-06-21 10:34:10
    Download
    Description:

    Add: support for blocks

  • Version 1.4.1.0 • Released on: 2012-04-24 10:49:13
    Download
    Description:

    fix: Broken compatibility issue due to the last update of Filter Toolbox

  • Version 1.4.0.0 • Released on: 2012-03-15 13:55:53
    Download
    Description:

    Add: Improve the SSIMCalculator API. The inputs can now be double arrays instead of complete sequences.

  • Version 1.3.1.0 • Released on: 2012-03-02 17:56:06
    Download
    Description:

    Fix: wrong value used for sigmaX in calculations

  • Version 1.3.0.0 • Released on: 2012-03-02 17:37:48
    Download
    Description:

    Fix: SSIMCalculator is now thread-safe

  • Version 1.2.1.0 • Released on: 2012-03-02 11:08:29
    Download
    Description:

    fix: do not pollute System.err when an invalid parameter or entry is set by the user (the error dialog is enough)

  • Version 1.2.0.0 • Released on: 2012-03-02 10:58:07
    Download
    Description:

    fix: - bug due to FilterToolbox update v2.0.5
    new: - SSIMParameter component to parametrize a SSIMCalculator object through a GUI

  • Version 1.1.1.0 • Released on: 2012-02-13 10:13:51
    Download
    Description:

    fix: bug with EzPlug 1.6

  • Version 1.1.0.0 • Released on: 2011-11-29 17:50:47
    Download
    Description:

    Add: interrupt a SSIM computation in progress

  • Version 1.0.0.1 • Released on: 2011-11-24 17:05:59
    Download
    Description:

    Add: threading

  • Version 1.0.0.0 • Released on: 2011-11-09 11:20:11
    Download