From: tama3 Date: Mon, 16 Jul 2007 01:41:42 +0000 (+0000) Subject: update compareDetails routine. Using ComparisonPair class X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=9c0a714c8fcf75f6f364f22d4ffdee267f7b55e4;p=stigmata%2Fstigmata-core.git update compareDetails routine. Using ComparisonPair class git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/stigmata/trunk@167 acee48c3-7b26-0410-bdac-b3d0e5314bbc --- diff --git a/src/main/java/jp/naist/se/stigmata/Stigmata.java b/src/main/java/jp/naist/se/stigmata/Stigmata.java index 5cbc4cc..9e7fa04 100644 --- a/src/main/java/jp/naist/se/stigmata/Stigmata.java +++ b/src/main/java/jp/naist/se/stigmata/Stigmata.java @@ -230,33 +230,11 @@ public final class Stigmata{ public double compareDetails(BirthmarkSet h1, BirthmarkSet h2, BirthmarkEnvironment environment){ operationStart(OperationType.COMPARE_DETAIL_BIRTHMARKS); - - List list = new ArrayList(); - int count = 0; - for(Iterator i = h1.birthmarkTypes(); i.hasNext(); ){ - String type = i.next(); - Birthmark b1 = h1.getBirthmark(type); - Birthmark b2 = h2.getBirthmark(type); - - double similarity = Double.NaN; - if(b1 != null && b2 != null){ - BirthmarkSpi spi = environment.getService(type); - BirthmarkComparator comparator = spi.getComparator(); - - similarity = comparator.compare(b1, b2); - count++; - } - list.add(similarity); - } - - double similarity = 0d; - for(Double d: list){ - if(d.doubleValue() != Double.NaN){ - similarity += d.doubleValue(); - } - } + ComparisonPair pair = new ComparisonPair(h1, h2, environment); + double sim = pair.calculateSimilarity(); operationDone(OperationType.COMPARE_DETAIL_BIRTHMARKS); - return similarity / count; + + return sim; } private BirthmarkExtractor[] createExtractors(String[] birthmarkTypes, BirthmarkEnvironment environment){