Mercurial > hg > forks > geeqie
changeset 2328:ad005c02001a
Allow to configure rotation invariance
author | Klaus Ethgen <Klaus@Ethgen.de> |
---|---|
date | Fri, 13 May 2016 16:44:10 +0100 |
parents | 6131063eae87 |
children | ef31eba71c15 |
files | src/options.c src/options.h src/preferences.c src/rcfile.c src/similar.c |
diffstat | 5 files changed, 10 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/options.c Fri May 13 13:43:41 2016 +0100 +++ b/src/options.c Fri May 13 16:44:10 2016 +0100 @@ -38,6 +38,7 @@ options->dnd_icon_size = 48; options->duplicates_similarity_threshold = 99; + options->rot_invariant_sim = TRUE; options->file_filter.disable = FALSE; options->file_filter.show_dot_directory = FALSE;
--- a/src/options.h Fri May 13 13:43:41 2016 +0100 +++ b/src/options.h Fri May 13 16:44:10 2016 +0100 @@ -29,6 +29,7 @@ gboolean update_on_time_change; guint duplicates_similarity_threshold; + gboolean rot_invariant_sim; gint open_recent_list_maxsize; gint dnd_icon_size;
--- a/src/preferences.c Fri May 13 13:43:41 2016 +0100 +++ b/src/preferences.c Fri May 13 16:44:10 2016 +0100 @@ -290,6 +290,7 @@ options->image.exif_proof_rotate_enable = c_options->image.exif_proof_rotate_enable; options->duplicates_similarity_threshold = c_options->duplicates_similarity_threshold; + options->rot_invariant_sim = c_options->rot_invariant_sim; options->tree_descend_subdirs = c_options->tree_descend_subdirs; @@ -1888,11 +1889,12 @@ pref_checkbox_new_int(group, _("Mouse wheel scrolls image"), options->mousewheel_scrolls, &c_options->mousewheel_scrolls); - group = pref_group_new(vbox, FALSE, _("Miscellaneous"), GTK_ORIENTATION_VERTICAL); + group = pref_group_new(vbox, FALSE, _("Similarities"), GTK_ORIENTATION_VERTICAL); pref_spin_new_int(group, _("Custom similarity threshold:"), NULL, 0, 100, 1, options->duplicates_similarity_threshold, (int *)&c_options->duplicates_similarity_threshold); - + pref_checkbox_new_int(group, _("Rotation invariant duplicate check"), + options->rot_invariant_sim, &c_options->rot_invariant_sim); #ifdef DEBUG group = pref_group_new(vbox, FALSE, _("Debugging"), GTK_ORIENTATION_VERTICAL);
--- a/src/rcfile.c Fri May 13 13:43:41 2016 +0100 +++ b/src/rcfile.c Fri May 13 16:44:10 2016 +0100 @@ -281,6 +281,7 @@ WRITE_NL(); WRITE_BOOL(*options, progressive_key_scrolling); WRITE_NL(); WRITE_UINT(*options, duplicates_similarity_threshold); + WRITE_NL(); WRITE_BOOL(*options, rot_invariant_sim); WRITE_SEPARATOR(); WRITE_NL(); WRITE_BOOL(*options, mousewheel_scrolls); @@ -543,6 +544,7 @@ if (READ_BOOL(*options, update_on_time_change)) continue; if (READ_UINT_CLAMP(*options, duplicates_similarity_threshold, 0, 100)) continue; + if (READ_BOOL(*options, rot_invariant_sim)) continue; if (READ_BOOL(*options, progressive_key_scrolling)) continue;
--- a/src/similar.c Fri May 13 13:43:41 2016 +0100 +++ b/src/similar.c Fri May 13 16:44:10 2016 +0100 @@ -348,8 +348,7 @@ gdouble image_sim_compare(ImageSimilarityData *a, ImageSimilarityData *b) { - gboolean test_transformations = TRUE; /* could be a function parameter */ - gint max_t = (test_transformations ? 8 : 1); + gint max_t = (options->rot_invariant_sim ? 8 : 1); gint t; gdouble score, max_score = 0; @@ -407,8 +406,7 @@ */ gdouble image_sim_compare_fast(ImageSimilarityData *a, ImageSimilarityData *b, gdouble min) { - gboolean test_transformations = TRUE; /* could be a function parameter */ - gint max_t = (test_transformations ? 8 : 1); + gint max_t = (options->rot_invariant_sim ? 8 : 1); gint t; gdouble score, max_score = 0;