ssimsort 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (349) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +18 -0
  3. data/bin/ssimsort +7 -0
  4. data/lib/array.rb +16 -0
  5. data/lib/main.rb +51 -0
  6. data/pics/2013-01-06-192950.jpg +0 -0
  7. data/pics/2013-01-06-192955.jpg +0 -0
  8. data/pics/2013-01-06-225315.jpg +0 -0
  9. data/pics/2013-01-06-225325.jpg +0 -0
  10. data/pics/2013-01-06-225340.jpg +0 -0
  11. data/pics/2013-01-10-151030.jpg +0 -0
  12. data/pics/2013-01-10-151057.jpg +0 -0
  13. data/pics/2013-01-10-151318.jpg +0 -0
  14. data/pics/2013-01-10-151329.jpg +0 -0
  15. data/pics/2013-01-10-151333.jpg +0 -0
  16. data/pics/2013-01-10-151338.jpg +0 -0
  17. data/pics/2013-01-10-151343.jpg +0 -0
  18. data/pics/2013-01-10-151355.jpg +0 -0
  19. data/pics/2013-01-10-151359.jpg +0 -0
  20. data/pics/2013-01-10-151406.jpg +0 -0
  21. data/pics/2013-01-10-151411.jpg +0 -0
  22. data/pics/2013-01-10-151417.jpg +0 -0
  23. data/pics/2013-01-10-151426.jpg +0 -0
  24. data/pics/2013-01-10-151430.jpg +0 -0
  25. data/pics/2013-01-10-151434.jpg +0 -0
  26. data/pics/2013-01-14-172946.jpg +0 -0
  27. data/pics/2013-01-14-173030.jpg +0 -0
  28. data/pics/2013-01-14-173036.jpg +0 -0
  29. data/pics/2013-01-14-173044.jpg +0 -0
  30. data/pics/2013-01-14-173101.jpg +0 -0
  31. data/pics/2013-01-14-173112.jpg +0 -0
  32. data/pics/2013-01-14-173123.jpg +0 -0
  33. data/pics/2013-01-14-173144.jpg +0 -0
  34. data/pics/2013-01-14-173203.jpg +0 -0
  35. data/pics/2013-01-14-173210.jpg +0 -0
  36. data/pics/2013-01-14-173217.jpg +0 -0
  37. data/pics/2013-01-14-173222.jpg +0 -0
  38. data/pics/2013-01-14-173227.jpg +0 -0
  39. data/pics/2013-01-14-173231.jpg +0 -0
  40. data/pics/2013-01-14-173237.jpg +0 -0
  41. data/pics/2013-02-17-133343.jpg +0 -0
  42. data/pics/2013-02-17-133349.jpg +0 -0
  43. data/pics/2013-02-17-235428.jpg +0 -0
  44. data/pics/2013-02-17-235446.jpg +0 -0
  45. data/pics/2013-02-22-161810.jpg +0 -0
  46. data/pics/2013-02-22-161816.jpg +0 -0
  47. data/pics/2013-03-22-190446.jpg +0 -0
  48. data/pics/2013-03-22-190459.jpg +0 -0
  49. data/pics/2013-03-22-190505.jpg +0 -0
  50. data/pics/2013-03-22-190523.jpg +0 -0
  51. data/pics/2013-03-22-190528.jpg +0 -0
  52. data/pics/2013-03-22-190532.jpg +0 -0
  53. data/pics/2013-03-22-190538.jpg +0 -0
  54. data/pics/2013-03-22-190545.jpg +0 -0
  55. data/pics/2013-03-22-190549.jpg +0 -0
  56. data/pics/2013-03-22-190554.jpg +0 -0
  57. data/pics/2013-03-22-190558.jpg +0 -0
  58. data/pics/2013-03-22-190602.jpg +0 -0
  59. data/pics/2013-03-22-190614.jpg +0 -0
  60. data/pics/2013-03-22-191027.jpg +0 -0
  61. data/pics/2013-03-22-191040.jpg +0 -0
  62. data/pics/2013-03-22-191110.jpg +0 -0
  63. data/pics/2013-03-22-191117.jpg +0 -0
  64. data/pics/2013-03-22-191128.jpg +0 -0
  65. data/pics/2013-03-22-191134.jpg +0 -0
  66. data/pics/2013-03-24-012428.jpg +0 -0
  67. data/pics/2013-03-24-012443.jpg +0 -0
  68. data/pics/2013-04-07-120046.jpg +0 -0
  69. data/pics/2013-04-07-120106.jpg +0 -0
  70. data/pics/2013-04-16-190532.jpg +0 -0
  71. data/pics/2013-04-16-190538.jpg +0 -0
  72. data/pics/2013-04-16-190557.jpg +0 -0
  73. data/pics/2013-04-16-190612.jpg +0 -0
  74. data/pics/2013-04-16-193452.jpg +0 -0
  75. data/pics/2013-04-16-193504.jpg +0 -0
  76. data/pics/2013-04-16-193510.jpg +0 -0
  77. data/pics/2013-04-16-193521.jpg +0 -0
  78. data/pics/2013-04-16-193527.jpg +0 -0
  79. data/pics/2013-04-16-193534.jpg +0 -0
  80. data/pics/2013-04-18-092747.jpg +0 -0
  81. data/pics/2013-04-18-161934.jpg +0 -0
  82. data/pics/2013-04-19-190112.jpg +0 -0
  83. data/pics/2013-04-19-190118.jpg +0 -0
  84. data/pics/2013-04-19-190127.jpg +0 -0
  85. data/pics/2013-04-19-190132.jpg +0 -0
  86. data/pics/2013-04-19-190138.jpg +0 -0
  87. data/pics/2013-04-19-190143.jpg +0 -0
  88. data/pics/2013-04-19-190201.jpg +0 -0
  89. data/pics/2013-04-19-190213.jpg +0 -0
  90. data/pics/2013-04-19-190218.jpg +0 -0
  91. data/pics/2013-04-19-190227.jpg +0 -0
  92. data/pics/2013-04-19-190235.jpg +0 -0
  93. data/pics/2013-04-24-093729.jpg +0 -0
  94. data/pics/2013-04-24-093735.jpg +0 -0
  95. data/pics/2013-04-24-093740.jpg +0 -0
  96. data/pics/2013-05-02-094521.jpg +0 -0
  97. data/pics/2013-05-02-102928.jpg +0 -0
  98. data/pics/2013-05-02-102940.jpg +0 -0
  99. data/pics/2013-05-02-102947.jpg +0 -0
  100. data/pics/2013-05-07-182548.jpg +0 -0
  101. data/pics/2013-05-07-182555.jpg +0 -0
  102. data/pics/2013-05-07-182717.jpg +0 -0
  103. data/pics/2013-05-07-182723.jpg +0 -0
  104. data/pics/2013-05-07-182812.jpg +0 -0
  105. data/pics/2013-05-07-182834.jpg +0 -0
  106. data/pics/2013-05-07-183013.jpg +0 -0
  107. data/pics/2013-05-07-183018.jpg +0 -0
  108. data/pics/2013-05-07-183026.jpg +0 -0
  109. data/pics/2013-05-07-183058.jpg +0 -0
  110. data/pics/2013-05-10-215249.jpg +0 -0
  111. data/pics/2013-05-10-215258.jpg +0 -0
  112. data/pics/2013-06-05-014136.jpg +0 -0
  113. data/pics/2013-06-05-014156.jpg +0 -0
  114. data/pics/2013-06-05-014201.jpg +0 -0
  115. data/pics/2013-06-05-014206.jpg +0 -0
  116. data/pics/2013-06-05-014220.jpg +0 -0
  117. data/pics/2013-06-05-014240.jpg +0 -0
  118. data/pics/2013-06-05-014244.jpg +0 -0
  119. data/pics/2013-06-05-014251.jpg +0 -0
  120. data/pics/2013-06-05-014259.jpg +0 -0
  121. data/pics/2013-06-05-014306.jpg +0 -0
  122. data/pics/2013-06-05-014511.jpg +0 -0
  123. data/pics/2013-06-05-014516.jpg +0 -0
  124. data/pics/2013-06-05-014521.jpg +0 -0
  125. data/pics/2013-06-05-014527.jpg +0 -0
  126. data/pics/2013-06-05-014532.jpg +0 -0
  127. data/pics/2013-06-05-014545.jpg +0 -0
  128. data/pics/2013-06-05-014550.jpg +0 -0
  129. data/pics/2013-06-05-014603.jpg +0 -0
  130. data/pics/2013-06-05-014643.jpg +0 -0
  131. data/pics/2013-06-05-014649.jpg +0 -0
  132. data/pics/2013-06-05-014655.jpg +0 -0
  133. data/pics/2013-06-05-014703.jpg +0 -0
  134. data/pics/2013-06-05-014710.jpg +0 -0
  135. data/pics/2013-07-03-204458.jpg +0 -0
  136. data/pics/2013-07-03-204526.jpg +0 -0
  137. data/pics/2013-07-03-204820.jpg +0 -0
  138. data/pics/2013-07-03-204835.jpg +0 -0
  139. data/pics/2013-07-09-011236.jpg +0 -0
  140. data/pics/2013-07-09-011250.jpg +0 -0
  141. data/pics/2013-07-17-103839.jpg +0 -0
  142. data/pics/2013-07-17-103855.jpg +0 -0
  143. data/pics/2013-07-17-105643.jpg +0 -0
  144. data/pics/2013-07-17-110042.jpg +0 -0
  145. data/pics/2013-07-17-110347.jpg +0 -0
  146. data/pics/2013-07-17-110406.jpg +0 -0
  147. data/pics/2013-07-17-185222.jpg +0 -0
  148. data/pics/2013-07-29-201944.jpg +0 -0
  149. data/pics/2013-07-31-022916.jpg +0 -0
  150. data/pics/2013-08-01-082013.jpg +0 -0
  151. data/pics/2013-08-02-105438.jpg +0 -0
  152. data/pics/2013-08-02-105443.jpg +0 -0
  153. data/pics/2013-08-02-105449.jpg +0 -0
  154. data/pics/2013-08-02-170205.jpg +0 -0
  155. data/pics/2013-08-02-170547.jpg +0 -0
  156. data/pics/2013-08-02-170555.jpg +0 -0
  157. data/pics/2013-08-05-010634.jpg +0 -0
  158. data/pics/2013-08-05-010643.jpg +0 -0
  159. data/pics/2013-08-05-010652.jpg +0 -0
  160. data/pics/2013-08-05-010658.jpg +0 -0
  161. data/pics/2013-08-05-010705.jpg +0 -0
  162. data/pics/2013-08-06-143841.jpg +0 -0
  163. data/pics/2013-08-06-144418.jpg +0 -0
  164. data/pics/2013-08-06-144428.jpg +0 -0
  165. data/pics/2013-08-06-144443.jpg +0 -0
  166. data/pics/2013-08-06-144525.jpg +0 -0
  167. data/pics/2013-08-09-161656.jpg +0 -0
  168. data/pics/2013-08-09-161702.jpg +0 -0
  169. data/pics/2013-08-13-155524.jpg +0 -0
  170. data/pics/2013-08-21-231609.jpg +0 -0
  171. data/pics/2013-08-22-230303.jpg +0 -0
  172. data/pics/2013-08-22-230310.jpg +0 -0
  173. data/pics/2013-08-23-110559.jpg +0 -0
  174. data/pics/2013-09-04-121650.jpg +0 -0
  175. data/pics/2013-09-04-121657.jpg +0 -0
  176. data/pics/2013-09-04-121713.jpg +0 -0
  177. data/pics/2013-09-04-121758.jpg +0 -0
  178. data/pics/2013-09-04-121816.jpg +0 -0
  179. data/pics/2013-09-04-121839.jpg +0 -0
  180. data/pics/2013-09-05-152750.jpg +0 -0
  181. data/pics/2013-09-05-152829.jpg +0 -0
  182. data/pics/2013-09-05-152846.jpg +0 -0
  183. data/pics/2013-09-15-233945.jpg +0 -0
  184. data/pics/2013-09-15-234710.jpg +0 -0
  185. data/pics/2013-09-15-235245.jpg +0 -0
  186. data/pics/2013-09-16-000203.jpg +0 -0
  187. data/pics/2013-09-16-000207.jpg +0 -0
  188. data/pics/2013-09-16-000215.jpg +0 -0
  189. data/pics/2013-09-16-001005.jpg +0 -0
  190. data/pics/2013-09-16-001515.jpg +0 -0
  191. data/pics/2013-09-16-003202.jpg +0 -0
  192. data/pics/2013-09-18-115403 (1).jpg +0 -0
  193. data/pics/2013-09-18-115403.jpg +0 -0
  194. data/pics/2013-09-18-115404 (1).jpg +0 -0
  195. data/pics/2013-09-18-115404.jpg +0 -0
  196. data/pics/2013-09-18-115405 (1).jpg +0 -0
  197. data/pics/2013-09-18-115405 (2).jpg +0 -0
  198. data/pics/2013-09-18-115405.jpg +0 -0
  199. data/pics/2013-09-18-115407.jpg +0 -0
  200. data/pics/2013-09-18-115815.jpg +0 -0
  201. data/pics/2013-09-18-115822.jpg +0 -0
  202. data/pics/2013-09-18-115828.jpg +0 -0
  203. data/pics/2013-09-18-115833.jpg +0 -0
  204. data/pics/2013-09-18-124611.jpg +0 -0
  205. data/pics/2013-09-18-124616.jpg +0 -0
  206. data/pics/2013-09-18-124621.jpg +0 -0
  207. data/pics/2013-09-18-124650.jpg +0 -0
  208. data/pics/2013-09-18-124707.jpg +0 -0
  209. data/pics/2013-09-18-124714.jpg +0 -0
  210. data/pics/2013-09-21-184024.jpg +0 -0
  211. data/pics/2013-09-22-122715.jpg +0 -0
  212. data/pics/2013-09-28-153447.jpg +0 -0
  213. data/pics/2013-09-28-153458.jpg +0 -0
  214. data/pics/2013-09-28-153510.jpg +0 -0
  215. data/pics/2013-09-28-153520.jpg +0 -0
  216. data/pics/2013-09-28-153529.jpg +0 -0
  217. data/pics/2013-09-28-153535.jpg +0 -0
  218. data/pics/2013-09-29-131722.jpg +0 -0
  219. data/pics/2013-09-29-131728.jpg +0 -0
  220. data/pics/2013-09-29-131734.jpg +0 -0
  221. data/pics/2013-10-19-214859.jpg +0 -0
  222. data/pics/2013-10-21-183055.jpg +0 -0
  223. data/pics/2013-10-21-183103.jpg +0 -0
  224. data/pics/2013-10-21-183119.jpg +0 -0
  225. data/pics/2013-10-22-161908.jpg +0 -0
  226. data/pics/2013-10-22-180328.jpg +0 -0
  227. data/pics/2013-10-22-180333.jpg +0 -0
  228. data/pics/2013-10-22-180338.jpg +0 -0
  229. data/pics/2013-10-22-180343.jpg +0 -0
  230. data/pics/2013-10-22-180347.jpg +0 -0
  231. data/pics/2013-10-25-154155.jpg +0 -0
  232. data/pics/2013-10-25-154212.jpg +0 -0
  233. data/pics/2013-10-25-154217.jpg +0 -0
  234. data/pics/2013-10-25-154225.jpg +0 -0
  235. data/pics/2013-10-25-154238.jpg +0 -0
  236. data/pics/2013-10-25-154246.jpg +0 -0
  237. data/pics/2013-10-25-213812.jpg +0 -0
  238. data/pics/2013-10-26-234651.jpg +0 -0
  239. data/pics/2013-10-26-234655.jpg +0 -0
  240. data/pics/2013-10-26-234701.jpg +0 -0
  241. data/pics/2013-10-26-234713.jpg +0 -0
  242. data/pics/2013-10-26-234721.jpg +0 -0
  243. data/pics/2013-10-29-160443.jpg +0 -0
  244. data/pics/2013-10-29-160447.jpg +0 -0
  245. data/pics/2013-10-29-160451.jpg +0 -0
  246. data/pics/2013-10-29-160456.jpg +0 -0
  247. data/pics/2013-10-29-160511.jpg +0 -0
  248. data/pics/2013-10-30-122243.jpg +0 -0
  249. data/pics/2013-10-30-122252.jpg +0 -0
  250. data/pics/2013-10-30-122300.jpg +0 -0
  251. data/pics/2013-11-02-215843.jpg +0 -0
  252. data/pics/2013-11-02-215851.jpg +0 -0
  253. data/pics/2013-11-02-215942.jpg +0 -0
  254. data/pics/2013-11-02-220012.jpg +0 -0
  255. data/pics/2013-11-02-220017.jpg +0 -0
  256. data/pics/2013-11-02-220023.jpg +0 -0
  257. data/pics/2013-11-02-220029.jpg +0 -0
  258. data/pics/2013-11-02-220035.jpg +0 -0
  259. data/pics/2013-11-03-034514.jpg +0 -0
  260. data/pics/2013-11-03-034518.jpg +0 -0
  261. data/pics/2013-11-03-034543.jpg +0 -0
  262. data/pics/2013-11-03-034551.jpg +0 -0
  263. data/pics/2013-11-05-171053.jpg +0 -0
  264. data/pics/2013-11-05-171058.jpg +0 -0
  265. data/pics/2013-11-05-171108.jpg +0 -0
  266. data/pics/2013-11-05-171127.jpg +0 -0
  267. data/pics/2013-11-05-182642.jpg +0 -0
  268. data/pics/2013-11-05-182655.jpg +0 -0
  269. data/pics/2013-11-05-182730.jpg +0 -0
  270. data/pics/2013-11-05-182736.jpg +0 -0
  271. data/pics/2013-11-05-182855.jpg +0 -0
  272. data/pics/2013-11-05-182901.jpg +0 -0
  273. data/pics/2013-11-05-182906.jpg +0 -0
  274. data/pics/2013-11-05-182912.jpg +0 -0
  275. data/pics/2013-11-05-182921.jpg +0 -0
  276. data/pics/2013-11-05-182932.jpg +0 -0
  277. data/pics/2013-11-05-182940.jpg +0 -0
  278. data/pics/2013-11-05-182945.jpg +0 -0
  279. data/pics/2013-11-05-182950.jpg +0 -0
  280. data/pics/2013-11-05-183002.jpg +0 -0
  281. data/pics/2013-11-05-183009.jpg +0 -0
  282. data/pics/2013-11-05-183013.jpg +0 -0
  283. data/pics/2013-11-05-183018.jpg +0 -0
  284. data/pics/2013-11-05-183022.jpg +0 -0
  285. data/pics/2013-11-05-183027.jpg +0 -0
  286. data/pics/2013-11-05-183033.jpg +0 -0
  287. data/pics/2013-11-05-183037.jpg +0 -0
  288. data/pics/2013-11-05-183041.jpg +0 -0
  289. data/pics/2013-11-05-183107.jpg +0 -0
  290. data/pics/2013-11-05-183149.jpg +0 -0
  291. data/pics/2013-11-05-183154.jpg +0 -0
  292. data/pics/2013-11-05-183207.jpg +0 -0
  293. data/pics/2013-11-05-183210.jpg +0 -0
  294. data/pics/2013-11-05-183214.jpg +0 -0
  295. data/pics/2013-11-05-183219.jpg +0 -0
  296. data/pics/2013-11-05-183319.jpg +0 -0
  297. data/pics/2013-11-05-190310.jpg +0 -0
  298. data/pics/2013-11-05-190315.jpg +0 -0
  299. data/pics/2013-11-05-190332_1.jpg +0 -0
  300. data/pics/2013-11-05-190332_2.jpg +0 -0
  301. data/pics/2013-11-05-190332_3.jpg +0 -0
  302. data/pics/2013-11-05-190332_4.jpg +0 -0
  303. data/pics/2013-11-05-190356_1.jpg +0 -0
  304. data/pics/2013-11-05-190356_2.jpg +0 -0
  305. data/pics/2013-11-05-190356_3.jpg +0 -0
  306. data/pics/2013-11-05-190356_4.jpg +0 -0
  307. data/pics/2013-11-05-190506_1.jpg +0 -0
  308. data/pics/2013-11-05-190506_2.jpg +0 -0
  309. data/pics/2013-11-05-190515_1.jpg +0 -0
  310. data/pics/2013-11-05-190515_2.jpg +0 -0
  311. data/pics/2013-11-05-190515_3.jpg +0 -0
  312. data/pics/2013-11-05-190539_1.jpg +0 -0
  313. data/pics/2013-11-05-190539_2.jpg +0 -0
  314. data/pics/2013-11-05-190539_3.jpg +0 -0
  315. data/pics/2013-11-05-190539_4.jpg +0 -0
  316. data/pics/2013-11-05-190616_1.jpg +0 -0
  317. data/pics/2013-11-05-190616_2.jpg +0 -0
  318. data/pics/2013-11-05-190616_3.jpg +0 -0
  319. data/pics/2013-11-05-190616_4.jpg +0 -0
  320. data/pics/2013-11-05-190632_1.jpg +0 -0
  321. data/pics/2013-11-05-190632_2.jpg +0 -0
  322. data/pics/2013-11-05-190632_3.jpg +0 -0
  323. data/pics/2013-11-05-190632_4.jpg +0 -0
  324. data/pics/2013-11-05-190649_1.jpg +0 -0
  325. data/pics/2013-11-05-190649_2.jpg +0 -0
  326. data/pics/2013-11-10-031757.jpg +0 -0
  327. data/pics/2013-11-18-223011.jpg +0 -0
  328. data/pics/2013-11-18-223049.jpg +0 -0
  329. data/pics/2013-11-18-223056.jpg +0 -0
  330. data/pics/2013-11-18-223107.jpg +0 -0
  331. data/pics/2013-11-18-223120.jpg +0 -0
  332. data/pics/2013-11-20-192428.jpg +0 -0
  333. data/pics/2013-11-20-192440.jpg +0 -0
  334. data/pics/2013-11-21-130544.jpg +0 -0
  335. data/pics/2013-11-21-130602.jpg +0 -0
  336. data/pics/2013-11-21-130612.jpg +0 -0
  337. data/pics/2013-11-21-130618.jpg +0 -0
  338. data/pics/2013-11-21-130624.jpg +0 -0
  339. data/pics/2013-11-21-130630.jpg +0 -0
  340. data/pics/2013-11-21-130636.jpg +0 -0
  341. data/pics/Mah face.jpg +0 -0
  342. data/pics/balls.jpg +0 -0
  343. data/pics/cawkballs2.jpg +0 -0
  344. data/pics/cawkballz.jpg +0 -0
  345. data/pics/feet.jpg +0 -0
  346. data/pics/mah.jpg +0 -0
  347. data/pics/mahface2.jpg +0 -0
  348. data/ssimsort.gemspec +17 -0
  349. metadata +419 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9d474e8a2b445d7be76008689d6a53fd569fe07d
4
+ data.tar.gz: 96310e969b9347869195bc45fa8ecebae19de4f9
5
+ SHA512:
6
+ metadata.gz: 3bc858ac61bf7db56e23a874e916f6c508aaee59a054795fb12cfd3cb4613c0ba05808976e6992d5fdc1db009a4eac61c57aaabb79a8b24f5026705a24976d5c
7
+ data.tar.gz: f3051dc4fe04deea95cf6ffdaaf1b3ea9ecd71dd37f112886c56ef0598d00fed43ecb768cbb101594fe8e839dfcb2c44b8ebd3c79f4eac88342fe4beccae5a3c
data/README.md ADDED
@@ -0,0 +1,18 @@
1
+ #Ssimsort
2
+
3
+
4
+ *Requires* : RMagick
5
+
6
+ *Install ssimsort* :
7
+
8
+ ~~~
9
+ gem install ssimsort
10
+ ~~~
11
+
12
+ *Use ssim as an executable* :
13
+
14
+ ~~~
15
+ $ ssim <INPUT>, <OUTPUT>, <TOLERANCE>
16
+
17
+ #Tolerance is a number between 0.0 and 1.0 that defines how similar the images you want to sort will be, 1.0 being the exact same image.
18
+ ~~~
data/bin/ssimsort ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ root = File.expand_path("../..", __FILE__)
4
+ require "#{root}/lib/main.rb"
5
+
6
+
7
+ SsimSort.sort(ARGV[0],ARGV[1],*ARGV[2])
data/lib/array.rb ADDED
@@ -0,0 +1,16 @@
1
+ class Array
2
+
3
+ def covariance
4
+ sx, sy, sp = 0.0, 0.0, 0.0
5
+ return sx if empty?
6
+ target = first.respond_to?(:to_ary) ? self :
7
+ self.class.new(size) { |i| [i + 1, at(i)] }
8
+ target.each { |x, y|
9
+ sx += x
10
+ sy += y
11
+ sp += x * y
12
+ }
13
+ (sp - sx * sy / size) / size
14
+ end
15
+
16
+ end
data/lib/main.rb ADDED
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ module SsimSort
4
+
5
+ root = File.expand_path("../..", __FILE__)
6
+ require "numeric_array"
7
+ require "#{root}/lib/array.rb"
8
+ require "RMagick"
9
+ require "fileutils"
10
+ include Magick
11
+
12
+ def SsimSort.cov(x,y)
13
+ return x.zip(y).covariance
14
+ end
15
+
16
+
17
+ def SsimSort.get_lum(img,px=100)
18
+ img = img.scale(px,px)
19
+ lum_average = img.get_pixels(0, 0, img.columns, img.rows).map do |p|
20
+ p.to_HSL[2]
21
+ end
22
+ return lum_average
23
+ end
24
+
25
+
26
+ def SsimSort.ssim(file1,file2)
27
+ cA,cB = 0, 0
28
+ x,y = get_lum(ImageList.new(file1)), get_lum(ImageList.new(file2))
29
+ var_x, var_y = x.variance, y.variance
30
+ moy_x, moy_y = x.mean, y.mean
31
+ a = (2*moy_x*moy_y+cA)*(2*(cov(x,y))+cB)
32
+ b = (moy_x**2+moy_y**2+cA)*(var_x+var_y+cB)
33
+ (a/b) < 0 ? 0 : (a/b).round(3)
34
+ end
35
+
36
+
37
+ def SsimSort.sort(input_path,output_path,tolerance=0.8)
38
+ formats = /(.jpg$|.png$|.JPG$|.PNG$|.gif$|.bmp$|.BMP$)/
39
+ files = Dir.entries(ARGV[0]).map {|file| File.absolute_path("#{ARGV[0]}/#{file}")}
40
+ files.select!{|f| formats=~ f}
41
+ set = files.combination(2).to_a
42
+ set.each do |file1,file2|
43
+ path = "#{ARGV[1]}/#{file1.split("/").last}/"
44
+ dir = FileUtils.makedirs(path) unless File.exists?(path)
45
+ simil = SsimSort.ssim(file1,file2)
46
+ simil < tolerance ? next : FileUtils.cp(file2,path)
47
+ end
48
+ end
49
+
50
+ end
51
+
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file