From c621a2305d0e4734b5741869689f9ed0fbbfecf9 Mon Sep 17 00:00:00 2001 From: bibhabasumohapatra Date: Wed, 15 Dec 2021 22:36:17 +0530 Subject: [PATCH 1/3] first commit --- tests/ignite/metrics/test_ssim.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/ignite/metrics/test_ssim.py b/tests/ignite/metrics/test_ssim.py index ae62768eda4..549f873e961 100644 --- a/tests/ignite/metrics/test_ssim.py +++ b/tests/ignite/metrics/test_ssim.py @@ -81,7 +81,7 @@ def _test_ssim(y_pred, y, data_range, kernel_size, sigma, gaussian, use_sample_c skimg_y, win_size=kernel_size, sigma=sigma, - multichannel=True, + channel_axis=3, gaussian_weights=gaussian, data_range=data_range, use_sample_covariance=use_sample_covariance, @@ -142,7 +142,7 @@ def update(engine, i): np_true, win_size=11, sigma=1.5, - multichannel=True, + channel_axis=3, gaussian_weights=True, data_range=1.0, use_sample_covariance=False, @@ -161,7 +161,7 @@ def update(engine, i): np_pred = y_pred.permute(0, 2, 3, 1).cpu().numpy() np_true = np_pred * 0.65 - true_res = ski_ssim(np_pred, np_true, win_size=7, multichannel=True, gaussian_weights=False, data_range=1.0) + true_res = ski_ssim(np_pred, np_true, win_size=7, channel_axis=3, gaussian_weights=False, data_range=1.0) assert pytest.approx(res, abs=tol) == true_res From 9c1f74d4b654b0b40ab2a66513e6ec1b059f0d3f Mon Sep 17 00:00:00 2001 From: bibhabasumohapatra Date: Thu, 16 Dec 2021 09:33:58 +0530 Subject: [PATCH 2/3] changing channel_axis to -1 for multichannel argument --- tests/ignite/metrics/test_ssim.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/ignite/metrics/test_ssim.py b/tests/ignite/metrics/test_ssim.py index 549f873e961..61deadf2558 100644 --- a/tests/ignite/metrics/test_ssim.py +++ b/tests/ignite/metrics/test_ssim.py @@ -81,7 +81,7 @@ def _test_ssim(y_pred, y, data_range, kernel_size, sigma, gaussian, use_sample_c skimg_y, win_size=kernel_size, sigma=sigma, - channel_axis=3, + channel_axis=-1, gaussian_weights=gaussian, data_range=data_range, use_sample_covariance=use_sample_covariance, @@ -142,7 +142,7 @@ def update(engine, i): np_true, win_size=11, sigma=1.5, - channel_axis=3, + channel_axis=-1, gaussian_weights=True, data_range=1.0, use_sample_covariance=False, @@ -161,7 +161,7 @@ def update(engine, i): np_pred = y_pred.permute(0, 2, 3, 1).cpu().numpy() np_true = np_pred * 0.65 - true_res = ski_ssim(np_pred, np_true, win_size=7, channel_axis=3, gaussian_weights=False, data_range=1.0) + true_res = ski_ssim(np_pred, np_true, win_size=7, channel_axis=-1, gaussian_weights=False, data_range=1.0) assert pytest.approx(res, abs=tol) == true_res From 3830727fbfca72d6aac9454ce215b9eff5787aec Mon Sep 17 00:00:00 2001 From: bibhabasumohapatra Date: Thu, 16 Dec 2021 23:32:16 +0530 Subject: [PATCH 3/3] deprecate permute(0,2,3,1) instead use channel_axis=1 that is (B,C,H,W) --- tests/ignite/metrics/test_ssim.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/ignite/metrics/test_ssim.py b/tests/ignite/metrics/test_ssim.py index 61deadf2558..baaa6972af4 100644 --- a/tests/ignite/metrics/test_ssim.py +++ b/tests/ignite/metrics/test_ssim.py @@ -74,14 +74,14 @@ def _test_ssim(y_pred, y, data_range, kernel_size, sigma, gaussian, use_sample_c ssim.update((y_pred, y)) ignite_ssim = ssim.compute() - skimg_pred = y_pred.permute(0, 2, 3, 1).cpu().numpy() + skimg_pred = y_pred.cpu().numpy() skimg_y = skimg_pred * 0.8 skimg_ssim = ski_ssim( skimg_pred, skimg_y, win_size=kernel_size, sigma=sigma, - channel_axis=-1, + channel_axis=1, gaussian_weights=gaussian, data_range=data_range, use_sample_covariance=use_sample_covariance, @@ -135,14 +135,14 @@ def update(engine, i): assert "ssim" in engine.state.metrics res = engine.state.metrics["ssim"] - np_pred = y_pred.permute(0, 2, 3, 1).cpu().numpy() + np_pred = y_pred.cpu().numpy() np_true = np_pred * 0.65 true_res = ski_ssim( np_pred, np_true, win_size=11, sigma=1.5, - channel_axis=-1, + channel_axis=1, gaussian_weights=True, data_range=1.0, use_sample_covariance=False, @@ -159,9 +159,9 @@ def update(engine, i): assert "ssim" in engine.state.metrics res = engine.state.metrics["ssim"] - np_pred = y_pred.permute(0, 2, 3, 1).cpu().numpy() + np_pred = y_pred.cpu().numpy() np_true = np_pred * 0.65 - true_res = ski_ssim(np_pred, np_true, win_size=7, channel_axis=-1, gaussian_weights=False, data_range=1.0) + true_res = ski_ssim(np_pred, np_true, win_size=7, channel_axis=1, gaussian_weights=False, data_range=1.0) assert pytest.approx(res, abs=tol) == true_res