From a19c39b594491a48d446e64e769ef78afc05c8ac Mon Sep 17 00:00:00 2001 From: JeanGabrielArgaud Date: Fri, 20 Feb 2026 12:04:19 +0100 Subject: [PATCH 1/2] fix: individual values for uniqueness metric when structure mathcer fingerprint is chosen --- src/lemat_genbench/metrics/uniqueness_metric.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/lemat_genbench/metrics/uniqueness_metric.py b/src/lemat_genbench/metrics/uniqueness_metric.py index 545f7de9..2cf2492b 100644 --- a/src/lemat_genbench/metrics/uniqueness_metric.py +++ b/src/lemat_genbench/metrics/uniqueness_metric.py @@ -183,7 +183,10 @@ def compute( is_unique = False # individual_values.append(min_distance) if is_unique: + individual_values.append(1.0) # Unique structures get a value of 1.0 count_unique += 1 + else: + individual_values.append(0.0) # Duplicates get a value of 0.0 return MetricResult( metrics={ From f5f50365886ae16d4e83fb56fe633abcace9348b Mon Sep 17 00:00:00 2001 From: JeanGabrielArgaud Date: Fri, 20 Feb 2026 16:23:59 +0100 Subject: [PATCH 2/2] fix: undo previous commit + add a docstring to explain individual_indices meaning for UniquenessMetric --- src/lemat_genbench/metrics/uniqueness_metric.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/lemat_genbench/metrics/uniqueness_metric.py b/src/lemat_genbench/metrics/uniqueness_metric.py index 2cf2492b..5d4253a9 100644 --- a/src/lemat_genbench/metrics/uniqueness_metric.py +++ b/src/lemat_genbench/metrics/uniqueness_metric.py @@ -149,6 +149,11 @@ def compute( Object containing the uniqueness metrics and computation metadata. The result will have a custom 'fingerprints' attribute containing the computed fingerprints for successful structures. + + **Note**: In this metric result the 'individual_values' will + represent the uniqueness contribution of each structure + (1.0 for unique structures, and 1/count for duplicates), + rather than a traditional per-structure metric. """ start_time = time.time() @@ -183,10 +188,7 @@ def compute( is_unique = False # individual_values.append(min_distance) if is_unique: - individual_values.append(1.0) # Unique structures get a value of 1.0 count_unique += 1 - else: - individual_values.append(0.0) # Duplicates get a value of 0.0 return MetricResult( metrics={