From 0a34dea844a54a8ec0ce05b773b9e1cc4216bc06 Mon Sep 17 00:00:00 2001 From: Matt Clifford Date: Wed, 7 Aug 2024 11:49:48 +0100 Subject: [PATCH] RMSE to docs --- docs/_build/doctrees/IQM_Vis.metrics.doctree | Bin 97632 -> 108008 bytes docs/_build/doctrees/environment.pickle | Bin 446606 -> 448269 bytes docs/_build/html/IQM_Vis.metrics.html | 41 ++++++++++++++++++ .../html/_modules/IQM_Vis/examples/kodak.html | 3 +- .../_build/html/_modules/IQM_Vis/metrics.html | 3 ++ .../html/_modules/IQM_Vis/metrics/IQMs.html | 30 +++++++++++++ docs/_build/html/genindex.html | 4 ++ docs/_build/html/objects.inv | Bin 8765 -> 8795 bytes docs/_build/html/searchindex.js | 2 +- 9 files changed, 81 insertions(+), 2 deletions(-) diff --git a/docs/_build/doctrees/IQM_Vis.metrics.doctree b/docs/_build/doctrees/IQM_Vis.metrics.doctree index f5965da12c6c15bbda4847e2ddfdc807c2302fdc..019a6c584920eb433e6aa66f6e173490a8102ef6 100644 GIT binary patch delta 6269 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 Zq1LJ&rsAN=)>orj^;TC`)P4Af_&=l{PTBwf delta 4330 zcma)9dr*|u73W;QW#zSq2)O(0Q+X-4s8M{NAT<$*gs3P+{nK)yukM^8#*ZvcItnnc}90=dbm5=V>jZCPLAN;pel)dz;MDXDoS>Qe~6*ffU!hi{LBHvDS>97baz z*f72ZlCbY6*xQk4gK;2Vf43MnCxJ`ahB(B-bXl|^7w_}FB46#-zn3qJ{_^^U3LMb~ z9>WG3B;vlYP#{M1mkVk}iJ|>jM*OV5-0?o|u%Qr!iK$A2KOSG=ltt$fajgwf{Nt*Q2ih=9XPvCHBMeyr*X zGdY7PqK_SKZUVc!_HBj8vCHd=hCwEt@_%t)P}ZeLqyonk)WYN%1}#64ngGIJylFt;PY;QGY)dKfSC4Xi%dJEI$I2&MBbeu(j1&Jk>bG99?1P| z;^hfo9pO-^9`2AyBZnrKKF++WES9qGcgXgwUQDQf@zy6a*F=ZhvELsbWQrrE2@YBO zSvL6bdOqZYKCpByN$>T(Hp(Kh9rE~8zsTT&Y)D~FpY%_&kXM-Rfl9GXyR}-mRV%hT zdE!tQYe^5btTe?YUBzCpMO$7SZdtdl=sU&VIEF*Ud=!`GSHrztt-&Zh*e%7zpd*Zgd^raPV<*$B-FN z1VR|NVkQ*DJ>py$fyjWfrCOe`&cM?%sO|?;L8(YGWbx9H_-+onoi)MoWGvvOeesrWtyKz>WSZ$yu5$5B36XNmxXJNW%(+P@S&Hkta znP^~Z7Tt*#=TeEjp|jKTvkvlz4sx}jgM7hIK^`GRp&*f!y2?1ndV_;pDlU>Ub0>%^ zBsAQGD@TJ9{ke2&{$y|~aA89()%{n7yuEpN+s8plPT5(SYW0#5!VV32iEd`672bi-+Kw&5Cf{;f#0aPA zb3~56QvpxukH@N0#gk6e>IOYcD#BY`c#PV^N!ml!M4gBTcOoLK&z)t$jb)fqH4-mb zp+@53omY0Qw+QljZ#+DK<4mZhjr6DF;8hc9VSmt*9hq@^I0#(|HL4WUW%!o~R_t8^ zO>mM~M~f4zRbTewPWh!d9WLn)pZ56h^tmVD27hq!goJM}e*zT1UCsIpJJ_Xzms~L2 z4w%QBTrdILSW8!64+lrpvWr4~z1YVW$sEP#8?Npvb&S2&S8BJDuT-YI^--yH5U~)f z*)BDl{$2;GM24$-E{$_>leLavE+<(f{N5C^Txv8`5~0yVgeS&wmmW>aTpF)B5(&p^ zAn${BvIkzQhVUZ7coCsl1(mpB66C{FtSf^Y@f7LgQFT}wKA;T~VZ*0_hEFQPIl^ql z`I8}U&>#L^2Us0BK!hD2LZb@~Xb1L%I}n^)ceEF`U21X>p~(feHUG^nel@tBBpw=E zV_fRK6;P6Ca1C~=oMyYbb845Z2V?PrbVigK?Y}G zFwTDsV&Zpql?&h2d}_y{*`=paGee`M(rF4pcjVJTdZ|9b2?4(iCU|=MkhAIGh&SgleR!c%o?p|T}Y87!JMgWMw9-Z zd-PjyrAH5u^IIS_KJ0s~2QTfS0<7_MGdoRk zs|%b6p904k;Zu5qPyHGAQd?tS9tDB9{}aH3vEK~>b4LU7wFc%|H!$Rs0;YvcgwhmN zDr3nJ4NM`g6flK8-4v-$wLj<^m1TbK?ijNhJ{6+g*U@_qT#c+QXXY{vVp$*%*brzk zFLPh)A)Wwmy zyg*Z6IqAYF`(bj-Nw(r_sienGrQBn&VblTGG~^!tgWx{_<_rAr;0G_gMCgZ~E6O_c zURr(6Kfm|Mq@(GPw80w(z%5StF!mrU%wP^q%BqE?-~!-oYo6yHE^2ct<;>jf?T`nd G68;Cu7aRKk diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle index cb7b3a0c7dcb23e5a40c7414ef6c4af69342dca1..5f20ebe8482e8a728fdc905db00bd9bceb0e8b75 100644 GIT binary patch delta 31063 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 BAy@za delta 30686 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 l@3w4a!R@WF|0x%lmnmh%LSubmodules +
+class IQM_Vis.metrics.IQMs.RMSE(return_image=False)[source]
+

Bases: object

+
+
Root Mean Squared Error between two images. Images must have the same

dimensions

+
+
+
+
Parameters
+

return_image (bool) – Whether to return the image (Defaults to False which +will return a scalar value)

+
+
+
+
+__call__(im_ref, im_comp, **kwargs)[source]
+

When an instance is called

+
+
Parameters
+
    +
  • im_ref (np.array) – Reference image

  • +
  • im_comp (np.array) – Comparison image

  • +
  • **kwargs – Arbitrary keyword arguments

  • +
+
+
Returns
+

+
RMSE (scalar if return_image is False, image if

return_image is True)

+
+
+

+
+
Return type
+

score (np.array)

+
+
+
+ +
+
class IQM_Vis.metrics.IQMs.SSIM(return_image=False)[source]
diff --git a/docs/_build/html/_modules/IQM_Vis/examples/kodak.html b/docs/_build/html/_modules/IQM_Vis/examples/kodak.html index a795291..af056a3 100644 --- a/docs/_build/html/_modules/IQM_Vis/examples/kodak.html +++ b/docs/_build/html/_modules/IQM_Vis/examples/kodak.html @@ -101,7 +101,8 @@

Source code for IQM_Vis.examples.kodak

     image_list.sort()
 
     metrs = IQM_Vis.metrics.get_all_metrics()
-    metrs.pop('1-MS_SSIM')
+    if '1-MS_SSIM' in metrs:
+      metrs.pop('1-MS_SSIM')
     data = IQM_Vis.dataset_holder(image_list,
                                   metrs,
                                 #   IQM_Vis.metrics.get_all_metric_images()
diff --git a/docs/_build/html/_modules/IQM_Vis/metrics.html b/docs/_build/html/_modules/IQM_Vis/metrics.html
index a73996b..029338c 100644
--- a/docs/_build/html/_modules/IQM_Vis/metrics.html
+++ b/docs/_build/html/_modules/IQM_Vis/metrics.html
@@ -86,6 +86,7 @@
   

Source code for IQM_Vis.metrics

 from IQM_Vis.metrics.IQMs import (MAE, 
                    MSE, 
+                   RMSE,
                    SSIM, 
                    MS_SSIM, 
                    LPIPS, 
@@ -109,6 +110,7 @@ 

Source code for IQM_Vis.metrics

         'DISTS': DISTS(),
         'LPIPS': LPIPS(),
         'MAE': MAE(),
+        'RMSE': RMSE(),
     }
     return all_metrics
@@ -124,6 +126,7 @@

Source code for IQM_Vis.metrics

     'SSIM': SSIM(return_image=True),
     # 'MS_SSIM': MS_SSIM(return_image=True),
     'MAE': MAE(return_image=True),
+    'RMSE': RMSE(return_image=True),
     }
     return all_metrics
diff --git a/docs/_build/html/_modules/IQM_Vis/metrics/IQMs.html b/docs/_build/html/_modules/IQM_Vis/metrics/IQMs.html index 32ce6b7..ca30a4d 100644 --- a/docs/_build/html/_modules/IQM_Vis/metrics/IQMs.html +++ b/docs/_build/html/_modules/IQM_Vis/metrics/IQMs.html @@ -166,6 +166,36 @@

Source code for IQM_Vis.metrics.IQMs

             return L2
         else:
             return L2.mean()
+ +
[docs]class RMSE: + '''Root Mean Squared Error between two images. Images must have the same + dimensions + + Args: + return_image (bool): Whether to return the image (Defaults to False which + will return a scalar value) + ''' + def __init__(self, return_image=False): + self.return_image = return_image + +
[docs] def __call__(self, im_ref, im_comp, **kwargs): + '''When an instance is called + + Args: + im_ref (np.array): Reference image + im_comp (np.array): Comparison image + **kwargs: Arbitrary keyword arguments + + Returns: + score (np.array): RMSE (scalar if return_image is False, image if + return_image is True) + ''' + _check_shapes(im_ref, im_comp) + L2 = np.square(im_ref - im_comp) + if self.return_image: + return np.sqrt(L2) + else: + return np.sqrt(L2.mean())
[docs]class SSIM: '''Structural Similarity Index Measure between two images. Images must have diff --git a/docs/_build/html/genindex.html b/docs/_build/html/genindex.html index 00f5d00..d92e579 100644 --- a/docs/_build/html/genindex.html +++ b/docs/_build/html/genindex.html @@ -133,6 +133,8 @@

_

  • (IQM_Vis.metrics.IQMs.NLPD method)
  • (IQM_Vis.metrics.IQMs.one_over_PSNR method) +
  • +
  • (IQM_Vis.metrics.IQMs.RMSE method)
  • (IQM_Vis.metrics.IQMs.SSIM method)
  • @@ -1035,6 +1037,8 @@

    R

    • resize_to_longest_side() (in module IQM_Vis.utils.image_utils) +
    • +
    • RMSE (class in IQM_Vis.metrics.IQMs)
    • rotation() (in module IQM_Vis.transformations.transforms)
    • diff --git a/docs/_build/html/objects.inv b/docs/_build/html/objects.inv index 103aa512c28b1a45575e8a7ccfd0a9ba0f493cac..6e8a1dab2594d08370d0824740b11b74be7a63c6 100644 GIT binary patch delta 8671 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 delta 8649 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