lib/simulacrum/diff/rmagick.rb in simulacrum-0.1.1 vs lib/simulacrum/diff/rmagick.rb in simulacrum-0.3.0
- old
+ new
@@ -1,27 +1,29 @@
+# encoding: UTF-8
require 'RMagick'
require_relative '../diff'
module Simulacrum
- class RmagicDiff < Simulacrum::Diff
- def delta_percent
+ # The RMagicDiff class implements image diffing using ImageMagick
+ class RMagicDiff < Simulacrum::Diff
+ def delta
@delta * 100
end
private
def compare
a = Magick::Image.read(@a_path)
b = Magick::Image.read(@b_path)
- @image, @delta = compare_images(a, b)
+ @image, @delta = square_root_mean_squared(a, b)
end
- def compare_images(a, b)
+ def square_root_mean_squared(a, b)
# Calculate the Square Root Mean Squared Error for the comparison of the
# two images.
#
- # Gets the color difference for each pixel, and square it, average all the
- # squared differences, then return the square root.
+ # Gets the color difference for each pixel, and square it, average all
+ # the squared differences, then return the square root.
#
# http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=17284
a[0].compare_channel(b[0], Magick::MeanSquaredErrorMetric)
end
end