Class: Tsumetogi::DiffStrategies::HighAccuracy

Inherits:
Base
  • Object
show all
Defined in:
lib/tsumetogi/diff_strategies/high_accuracy.rb

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Tsumetogi::DiffStrategies::Base

Instance Method Details

#after_matchObject



26
27
28
29
30
# File 'lib/tsumetogi/diff_strategies/high_accuracy.rb', line 26

def after_match
  @images.each do |_, image|
    image.destroy! if image
  end
end

#after_reference(ref, index) ⇒ Object



36
37
38
39
# File 'lib/tsumetogi/diff_strategies/high_accuracy.rb', line 36

def after_reference(ref, index)
  @images[ref].destroy!
  @images[ref] = nil
end

#before_matchObject



22
23
24
# File 'lib/tsumetogi/diff_strategies/high_accuracy.rb', line 22

def before_match
  @images = {}
end

#before_reference(ref, index) ⇒ Object



32
33
34
# File 'lib/tsumetogi/diff_strategies/high_accuracy.rb', line 32

def before_reference(ref, index)
  @images[ref] ||= Magick::Image.read(ref).first
end

#difference(reference, target) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/tsumetogi/diff_strategies/high_accuracy.rb', line 13

def difference(reference, target)
  @images[target] ||= Magick::Image.read(target).first
  ref = @images[reference]
  tar = @images[target]

  _, normalized_mean_error, _ = ref.difference(tar)
  normalized_mean_error
end