Skip to content

Instantly share code, notes, and snippets.

@hrj
Last active November 4, 2016 19:19
Show Gist options
  • Save hrj/5f2b9084bc55c8645b1160a0686474f5 to your computer and use it in GitHub Desktop.
Save hrj/5f2b9084bc55c8645b1160a0686474f5 to your computer and use it in GitHub Desktop.
DSSIM comparison for chroma lossiness PR to FLIF
import scala.sys.process._
import java.nio.file.Files
import java.nio.file.Paths
val flif1 = args(0)
val flif2 = args(1)
val imgBase = args(2)
val images = Seq("ls", "-1", imgBase).lineStream.filter(_.endsWith(".png")).toList
def fileSize(p: String) = Files.size(Paths.get(p))
def dssim(i1: String, i2: String) = {
val out = Seq("dssim", i1, i2).!!
out.split("\t")(0).toFloat
}
images.foreach { img =>
for (q <- 0 until 100 by 20) {
val fullImgPath = imgBase + "/"+ img
val img1 = s"out/$img-1-$q.flif"
val img2 = s"out/$img-2-$q.flif"
val img1png = s"out/$img-1-$q.png"
val img2png = s"out/$img-2-$q.png"
Seq(flif1, s"-Q$q", fullImgPath, img1).!
Seq(flif2, s"-Q$q", fullImgPath, img2).!
Seq(flif1, img1, img1png).!
Seq(flif2, img2, img2png).!
val dssim1 = dssim(fullImgPath, img1png)
val dssim2 = dssim(fullImgPath, img2png)
println(Seq(img, q, fileSize(fullImgPath), fileSize(img1), fileSize(img2), dssim1, dssim2, f"${(dssim2 - dssim1)}%.5f").mkString(", "))
}
}
file-name quality PNG size flifOld flifNew dssimOld dssimNew dssimNew - dssimOld
001.png 0 1537493 97648 93396 0.00582657 0.00634014 0.00051
001.png 20 1537493 126305 120512 0.00396856 0.00436162 0.00039
001.png 40 1537493 172604 164124 0.0024979 0.00275667 0.00026
001.png 60 1537493 238545 224571 0.00136031 0.00152923 0.00017
001.png 80 1537493 423787 391088 3.8276E-4 4.8973E-4 0.00011
002.png 0 1701731 100197 93426 0.00678944 0.00781722 0.00103
002.png 20 1701731 127217 117854 0.00478065 0.00559833 0.00082
002.png 40 1701731 173148 159699 0.00301477 0.00362109 0.00061
002.png 60 1701731 254002 232829 0.00146704 0.00184992 0.00038
002.png 80 1701731 478743 442775 3.4644E-4 4.6753E-4 0.00012
003.png 0 1494379 107313 95212 0.00462562 0.007048 0.00242
003.png 20 1494379 133528 118117 0.00337549 0.0051911 0.00182
003.png 40 1494379 173231 151997 0.0022412 0.00352452 0.00128
003.png 60 1494379 233056 199339 0.00137391 0.00214797 0.00077
003.png 80 1494379 426005 358921 4.611E-4 7.5671E-4 0.00030
004.png 0 2256292 232594 215143 0.00723536 0.01014066 0.00291
004.png 20 2256292 303863 282843 0.00443979 0.00662815 0.00219
004.png 40 2256292 380514 352094 0.00251847 0.00395676 0.00144
004.png 60 2256292 515335 471165 0.00110215 0.0019029 0.00080
004.png 80 2256292 789473 707483 2.8637E-4 5.3454E-4 0.00025
005.png 0 2117213 217699 196902 0.00708489 0.00976736 0.00268
005.png 20 2117213 276751 251594 0.00453814 0.00643646 0.00190
005.png 40 2117213 355311 321129 0.00267203 0.00392472 0.00125
005.png 60 2117213 490165 439886 0.00122463 0.00192758 0.00070
005.png 80 2117213 794776 711072 3.2084E-4 5.1525E-4 0.00019
006.png 0 2175386 196792 184119 0.00476801 0.00601262 0.00124
006.png 20 2175386 252732 236180 0.00306398 0.00402015 0.00096
006.png 40 2175386 322238 299981 0.00189416 0.0025345 0.00064
006.png 60 2175386 427526 394035 0.00102805 0.00140852 0.00038
006.png 80 2175386 688100 623173 3.2416E-4 4.8321E-4 0.00016
007.png 0 1917308 297113 294359 0.00385892 0.00408107 0.00022
007.png 20 1917308 362092 358063 0.00159373 0.00177376 0.00018
007.png 40 1917308 403967 398113 0.00114913 0.0012951 0.00015
007.png 60 1917308 501587 492132 4.7966E-4 5.8538E-4 0.00011
007.png 80 1917308 674555 652822 1.435E-4 1.9902E-4 0.00006
008.png 0 1311191 72831 68980 0.00368807 0.00404985 0.00036
008.png 20 1311191 92282 86743 0.00279305 0.00309979 0.00031
008.png 40 1311191 118823 110232 0.00203662 0.00230261 0.00027
008.png 60 1311191 160674 143925 0.00145859 0.00170359 0.00025
008.png 80 1311191 319896 281642 5.0957E-4 6.6251E-4 0.00015
009.png 0 1659647 126823 119607 0.0072576 0.00860324 0.00135
009.png 20 1659647 169882 160042 0.00467225 0.00584078 0.00117
009.png 40 1659647 214666 200871 0.00292307 0.00382851 0.00091
009.png 60 1659647 300174 278540 0.00154797 0.00207766 0.00053
009.png 80 1659647 520173 470929 3.9803E-4 6.3343E-4 0.00024
010.png 0 1795603 169280 154862 0.00665602 0.00951368 0.00286
010.png 20 1795603 219763 202314 0.00437188 0.00655133 0.00218
010.png 40 1795603 282410 258291 0.00258925 0.00409181 0.00150
010.png 60 1795603 387180 350397 0.00131799 0.00220926 0.00089
010.png 80 1795603 636148 567544 3.7367E-4 6.3257E-4 0.00026
011.png 0 1819304 132348 122182 0.00436422 0.00543566 0.00107
011.png 20 1819304 168257 155186 0.00325258 0.004088 0.00084
011.png 40 1819304 216887 198283 0.00224934 0.00286289 0.00061
011.png 60 1819304 299606 269413 0.00145701 0.00183611 0.00038
011.png 80 1819304 551257 501085 4.6393E-4 5.8223E-4 0.00012
012.png 0 2160786 228483 208626 0.00609335 0.00892198 0.00283
012.png 20 2160786 289533 265111 0.00366725 0.00575511 0.00209
012.png 40 2160786 370084 336137 0.00202111 0.00331508 0.00129
012.png 60 2160786 500683 450460 8.7328E-4 0.0015182 0.00064
012.png 80 2160786 778978 696880 2.2576E-4 3.9942E-4 0.00017
013.png 0 2344318 243228 225052 0.00594549 0.00826572 0.00232
013.png 20 2344318 312315 290452 0.0037844 0.00559613 0.00181
013.png 40 2344318 386054 356117 0.00237248 0.00354932 0.00118
013.png 60 2344318 518088 470004 0.00116246 0.0018445 0.00068
013.png 80 2344318 830614 741261 3.0689E-4 4.8596E-4 0.00018
014.png 0 1752873 108474 97647 0.00704686 0.00875403 0.00171
014.png 20 1752873 139877 126056 0.00490347 0.00626281 0.00136
014.png 40 1752873 191502 172651 0.00298974 0.00399832 0.00101
014.png 60 1752873 279219 249874 0.00149434 0.00211116 0.00062
014.png 80 1752873 534773 472612 4.008E-4 6.1758E-4 0.00022
015.png 0 1844464 166311 159123 0.00729347 0.00865485 0.00136
015.png 20 1844464 214228 204229 0.00464564 0.00571173 0.00107
015.png 40 1844464 272985 258820 0.0028114 0.00357148 0.00076
015.png 60 1844464 364361 341845 0.00133592 0.00180918 0.00047
015.png 80 1844464 579183 528610 3.4732E-4 5.2217E-4 0.00017
016.png 0 980767 57034 49060 0.00412826 0.00559839 0.00147
016.png 20 980767 69674 60160 0.00327718 0.0044241 0.00115
016.png 40 980767 93297 80147 0.00240771 0.00318233 0.00077
016.png 60 980767 128342 108999 0.00153536 0.00201802 0.00048
016.png 80 980767 264868 230334 4.9646E-4 6.8714E-4 0.00019
017.png 0 1663182 106719 94619 0.00641775 0.00870429 0.00229
017.png 20 1663182 130167 115073 0.00483288 0.00664574 0.00181
017.png 40 1663182 172090 151800 0.0032609 0.00449762 0.00124
017.png 60 1663182 242181 210903 0.00185228 0.00259398 0.00074
017.png 80 1663182 480899 420925 5.0587E-4 8.0375E-4 0.00030
018.png 0 2127549 134108 120292 0.0097419 0.01150316 0.00176
018.png 20 2127549 178955 160980 0.00633826 0.00772019 0.00138
018.png 40 2127549 251737 227823 0.00362274 0.00461242 0.00099
018.png 60 2127549 359333 323385 0.00177178 0.00236898 0.00060
018.png 80 2127549 648685 577927 4.9109E-4 6.9888E-4 0.00021
019.png 0 1743628 68551 55103 0.00739475 0.00913658 0.00174
019.png 20 1743628 85919 68250 0.00620866 0.00770516 0.00150
019.png 40 1743628 119396 93442 0.00489269 0.0059835 0.00109
019.png 60 1743628 198078 153515 0.00303897 0.00381139 0.00077
019.png 80 1743628 545839 441176 7.1752E-4 0.0010895 0.00037
020.png 0 1926133 147380 132681 0.00657792 0.01035445 0.00378
020.png 20 1926133 182779 163532 0.00473421 0.00774083 0.00301
020.png 40 1926133 231691 203662 0.00307338 0.00517077 0.00210
020.png 60 1926133 318708 277358 0.00163907 0.00284656 0.00121
020.png 80 1926133 578086 502517 5.0828E-4 9.3464E-4 0.00043
021.png 0 2213937 107102 97498 0.00918837 0.01025674 0.00107
021.png 20 2213937 139315 125583 0.00751812 0.00847626 0.00096
021.png 40 2213937 204652 184158 0.00562602 0.00644242 0.00082
021.png 60 2213937 337191 305485 0.00298495 0.00353491 0.00055
021.png 80 2213937 642159 585630 8.0016E-4 0.00103091 0.00023
022.png 0 1998054 182968 162264 0.00910387 0.01268806 0.00358
022.png 20 1998054 233878 208106 0.00588524 0.00891433 0.00303
022.png 40 1998054 307227 271673 0.00338785 0.00548389 0.00210
022.png 60 1998054 425222 370341 0.00160064 0.00288373 0.00128
022.png 80 1998054 713955 597985 4.1663E-4 8.2064E-4 0.00040
023.png 0 1521455 62220 55231 0.00392371 0.00513527 0.00121
023.png 20 1521455 78531 69289 0.00325454 0.00413775 0.00088
023.png 40 1521455 105986 92797 0.00263861 0.00323089 0.00059
023.png 60 1521455 157441 135303 0.00188677 0.00225766 0.00037
023.png 80 1521455 405433 361410 4.8203E-4 6.1173E-4 0.00013
024.png 0 1903409 151960 142405 0.00703784 0.00844955 0.00141
024.png 20 1903409 195596 182749 0.00451983 0.00567235 0.00115
024.png 40 1903409 251309 234120 0.00266865 0.00351588 0.00085
024.png 60 1903409 343043 315185 0.00123887 0.00176764 0.00053
024.png 80 1903409 565686 509671 3.2785E-4 5.3426E-4 0.00021
025.png 0 2171838 162737 148877 0.00802966 0.01027602 0.00225
025.png 20 2171838 210596 194501 0.00515236 0.00679685 0.00164
025.png 40 2171838 281381 260327 0.00308411 0.00409968 0.00102
025.png 60 2171838 402043 371018 0.00136564 0.00191121 0.00055
025.png 80 2171838 687479 632138 3.3827E-4 4.7875E-4 0.00014
026.png 0 2102574 203149 183660 0.00618619 0.00880656 0.00262
026.png 20 2102574 254937 231434 0.00402405 0.00597104 0.00195
026.png 40 2102574 321191 290856 0.00244759 0.0037354 0.00129
026.png 60 2102574 439913 395763 0.00117264 0.00194242 0.00077
026.png 80 2102574 722898 646737 3.1823E-4 5.4492E-4 0.00023
027.png 0 2015306 103993 96225 0.01311957 0.01377102 0.00065
027.png 20 2015306 142711 132076 0.00909647 0.00961201 0.00052
027.png 40 2015306 224204 209688 0.00547803 0.00586348 0.00039
027.png 60 2015306 349340 324380 0.00244087 0.00270171 0.00026
027.png 80 2015306 627456 581719 6.2665E-4 7.1401E-4 0.00009
028.png 0 1644849 157286 132321 0.0124194 0.01841682 0.00600
028.png 20 1644849 201092 170255 0.00847055 0.01311321 0.00464
028.png 40 1644849 271885 230764 0.0049329 0.00815492 0.00322
028.png 60 1644849 377147 319329 0.00240765 0.00442881 0.00202
028.png 80 1644849 638565 542653 6.2549E-4 0.00133609 0.00071
029.png 0 2057595 166556 147401 0.00536096 0.00786421 0.00250
029.png 20 2057595 209262 183926 0.00408075 0.00615725 0.00208
029.png 40 2057595 272580 236476 0.00300027 0.00453559 0.00154
029.png 60 2057595 387773 329472 0.00174857 0.00276495 0.00102
029.png 80 2057595 734590 610635 3.9763E-4 7.4837E-4 0.00035
030.png 0 1859526 136559 122710 0.00343413 0.0045374 0.00110
030.png 20 1859526 175195 158671 0.00242519 0.00325196 0.00083
030.png 40 1859526 226627 204537 0.00164774 0.00217267 0.00052
030.png 60 1859526 303817 269797 0.00110216 0.00143695 0.00033
030.png 80 1859526 543191 477663 4.5606E-4 5.9146E-4 0.00014
031.png 0 1886674 160309 147733 0.00548768 0.00676371 0.00128
031.png 20 1886674 205853 190452 0.00343328 0.00441826 0.00098
031.png 40 1886674 269369 248469 0.00205603 0.00264723 0.00059
031.png 60 1886674 371838 341170 9.6249E-4 0.00127987 0.00032
031.png 80 1886674 613552 560753 2.7279E-4 3.6422E-4 0.00009
032.png 0 1327392 43701 40723 0.00459764 0.00524528 0.00065
032.png 20 1327392 54681 50439 0.00399972 0.00448999 0.00049
032.png 40 1327392 74830 68346 0.00334799 0.0036775 0.00033
032.png 60 1327392 114967 102487 0.00237851 0.00260644 0.00023
032.png 80 1327392 352842 311358 5.7384E-4 7.1275E-4 0.00014
033.png 0 1570824 78721 72797 0.00983675 0.01078517 0.00095
033.png 20 1570824 105048 96650 0.00673267 0.00756331 0.00083
033.png 40 1570824 149603 137500 0.00412904 0.00474438 0.00062
033.png 60 1570824 228599 207835 0.0019549 0.00237655 0.00042
033.png 80 1570824 431260 391372 5.1796E-4 6.8739E-4 0.00017
034.png 0 1502611 114955 100923 0.00673644 0.00996436 0.00323
034.png 20 1502611 141878 124378 0.00483065 0.00734861 0.00252
034.png 40 1502611 183867 160788 0.00307113 0.00477546 0.00170
034.png 60 1502611 252969 219268 0.00167088 0.00265858 0.00099
034.png 80 1502611 461332 401304 4.4319E-4 8.1856E-4 0.00038
035.png 0 1612342 90401 77066 0.00636968 0.01026048 0.00389
035.png 20 1612342 112609 95651 0.00472817 0.00772578 0.00300
035.png 40 1612342 146650 123858 0.00310471 0.00507113 0.00197
035.png 60 1612342 207484 172002 0.00175887 0.00295423 0.00120
035.png 80 1612342 406300 335475 5.2127E-4 9.6097E-4 0.00044
036.png 0 1812512 141880 130967 0.00690578 0.00903613 0.00213
036.png 20 1812512 178424 164488 0.00505152 0.00677752 0.00173
036.png 40 1812512 227241 206835 0.00340607 0.0046209 0.00121
036.png 60 1812512 327837 293363 0.00178972 0.00251876 0.00073
036.png 80 1812512 601262 529298 4.7139E-4 7.3373E-4 0.00026
037.png 0 1810568 110633 98946 0.00682748 0.0086531 0.00183
037.png 20 1810568 134947 119626 0.00574995 0.00725081 0.00150
037.png 40 1810568 178582 155973 0.0046924 0.00580074 0.00111
037.png 60 1810568 262249 225947 0.00307457 0.00380726 0.00073
037.png 80 1810568 554623 491204 7.8958E-4 0.00109724 0.00031
038.png 0 1086308 41091 36344 0.00488332 0.00660872 0.00173
038.png 20 1086308 50943 44324 0.00397659 0.00533758 0.00136
038.png 40 1086308 69318 59462 0.00290757 0.00382766 0.00092
038.png 60 1086308 99271 82613 0.00190561 0.00248914 0.00058
038.png 80 1086308 252578 210635 5.7084E-4 8.6046E-4 0.00029
039.png 0 1943348 153322 140897 0.00687426 0.00858431 0.00171
039.png 20 1943348 195957 179994 0.00448173 0.00584537 0.00136
039.png 40 1943348 252317 232093 0.00278425 0.00366936 0.00089
039.png 60 1943348 354058 323823 0.00137341 0.00191512 0.00054
039.png 80 1943348 610132 555062 3.6415E-4 5.4307E-4 0.00018
040.png 0 1619469 79868 71071 0.00530257 0.00709339 0.00179
040.png 20 1619469 99835 88941 0.00403931 0.00547015 0.00143
040.png 40 1619469 136322 121008 0.00286675 0.00380943 0.00094
040.png 60 1619469 203950 180046 0.00166105 0.00218211 0.00052
040.png 80 1619469 453689 407760 4.1327E-4 5.8622E-4 0.00017
041.png 0 1277331 68048 62159 0.00604953 0.00716434 0.00111
041.png 20 1277331 85127 77004 0.0045559 0.00542763 0.00087
041.png 40 1277331 113149 102981 0.0030245 0.00366278 0.00064
041.png 60 1277331 166082 149716 0.00168065 0.00203775 0.00036
041.png 80 1277331 361587 328770 4.1631E-4 5.6784E-4 0.00015
042.png 0 1793853 100152 89552 0.00599567 0.00813913 0.00214
042.png 20 1793853 125182 112211 0.00473179 0.00633233 0.00160
042.png 40 1793853 166693 148908 0.0035664 0.00468037 0.00111
042.png 60 1793853 251729 225941 0.00200962 0.00266689 0.00066
042.png 80 1793853 516718 465321 4.5648E-4 6.9911E-4 0.00024
043.png 0 1959903 113750 107571 0.00973292 0.0103399 0.00061
043.png 20 1959903 158538 149597 0.00607455 0.00658863 0.00051
043.png 40 1959903 213896 201150 0.00351413 0.00394864 0.00043
043.png 60 1959903 320432 297682 0.00162351 0.0018894 0.00027
043.png 80 1959903 578100 526447 4.4263E-4 5.9463E-4 0.00015
044.png 0 1803513 100358 91376 0.00654861 0.00766293 0.00111
044.png 20 1803513 125581 113410 0.00473168 0.00563542 0.00090
044.png 40 1803513 165733 148676 0.00309196 0.00374127 0.00065
044.png 60 1803513 244830 217776 0.00164841 0.00205338 0.00040
044.png 80 1803513 501147 452889 4.6454E-4 6.2818E-4 0.00016
045.png 0 1300872 61340 53148 0.00355689 0.00506131 0.00150
045.png 20 1300872 76206 65603 0.00279914 0.00392153 0.00112
045.png 40 1300872 101738 86919 0.00206732 0.00281892 0.00075
045.png 60 1300872 143744 118185 0.00141673 0.00189636 0.00048
045.png 80 1300872 316212 268137 5.0089E-4 6.8963E-4 0.00019
046.png 0 1684127 94906 88192 0.00640895 0.00751579 0.00111
046.png 20 1684127 123967 114794 0.00476938 0.0056454 0.00088
046.png 40 1684127 170196 157533 0.00328979 0.00392025 0.00063
046.png 60 1684127 254798 234501 0.00180782 0.00220239 0.00039
046.png 80 1684127 496592 453349 4.6701E-4 6.1333E-4 0.00015
047.png 0 1706395 117340 111712 0.00756842 0.00821889 0.00065
047.png 20 1706395 152926 145157 0.0050743 0.00561654 0.00054
047.png 40 1706395 196475 185810 0.00316584 0.00353853 0.00037
047.png 60 1706395 275950 257241 0.00158592 0.00182691 0.00024
047.png 80 1706395 495429 457614 4.2813E-4 5.0565E-4 0.00008
048.png 0 1787373 158326 151501 0.0061736 0.00702877 0.00086
048.png 20 1787373 201372 192338 0.00405229 0.00478195 0.00073
048.png 40 1787373 253412 240675 0.00250072 0.00305062 0.00055
048.png 60 1787373 341499 320327 0.00118133 0.00150806 0.00033
048.png 80 1787373 548582 506396 3.0883E-4 4.2715E-4 0.00012
049.png 0 1903025 80078 70478 0.01017062 0.01101489 0.00084
049.png 20 1903025 106177 92662 0.0079631 0.00881476 0.00085
049.png 40 1903025 155217 134726 0.00573937 0.00642485 0.00069
049.png 60 1903025 261379 226247 0.00323138 0.00371284 0.00048
049.png 80 1903025 662484 576393 8.0857E-4 0.00103196 0.00022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment