Author: post
Date: 2010-02-12 22:39:02 +0100 (Fri, 12 Feb 2010)
New Revision: 3179

Modified:
   trunk/librawstudio/rs-settings.c
   trunk/librawstudio/rs-settings.h
   trunk/plugins/lensfun/lensfun.c
   trunk/src/application.c
   trunk/src/rs-batch.c
   trunk/src/rs-cache.c
   trunk/src/rs-preview-widget.c
   trunk/src/rs-save-dialog.c
   trunk/src/rs-toolbox.c
Log:
Lensfun: Adjust range to be -1.0 to 1.0 & make dark vignetting more sensitive. 
Rename internal parameter from vignetting_k2 to vignetting, since it no longer 
has any relation to the k2 parameter.

Modified: trunk/librawstudio/rs-settings.c
===================================================================
--- trunk/librawstudio/rs-settings.c    2010-02-12 21:22:00 UTC (rev 3178)
+++ trunk/librawstudio/rs-settings.c    2010-02-12 21:39:02 UTC (rev 3179)
@@ -55,7 +55,7 @@
        PROP_DENOISE_CHROMA,
        PROP_TCA_KR,
        PROP_TCA_KB,
-       PROP_VIGNETTING_K2,
+       PROP_VIGNETTING,
        PROP_CHANNELMIXER_RED,
        PROP_CHANNELMIXER_GREEN,
        PROP_CHANNELMIXER_BLUE
@@ -125,9 +125,9 @@
                        -0.5, 0.5, 0.0, G_PARAM_READWRITE)
        );
        g_object_class_install_property(object_class,
-               PROP_VIGNETTING_K2, g_param_spec_float(
-                       "vignetting_k2", _("Vignetting"), _("Vign"),
-                       -1.5, 1.5, 0.0, G_PARAM_READWRITE)
+               PROP_VIGNETTING, g_param_spec_float(
+                       "vignetting", _("Vignetting"), _("Vign"),
+                       -1.0, 1.0, 0.0, G_PARAM_READWRITE)
        );
        g_object_class_install_property(object_class,
                PROP_CHANNELMIXER_RED, g_param_spec_float(
@@ -192,7 +192,7 @@
                CASE(DENOISE_CHROMA, denoise_chroma);
                CASE(TCA_KR, tca_kr);
                CASE(TCA_KB, tca_kb);
-               CASE(VIGNETTING_K2, vignetting_k2);
+               CASE(VIGNETTING, vignetting);
                CASE(CHANNELMIXER_RED, channelmixer_red);
                CASE(CHANNELMIXER_GREEN, channelmixer_green);
                CASE(CHANNELMIXER_BLUE, channelmixer_blue);
@@ -229,7 +229,7 @@
                CASE(DENOISE_CHROMA, denoise_chroma);
                CASE(TCA_KR, tca_kr);
                CASE(TCA_KB, tca_kb);
-               CASE(VIGNETTING_K2, vignetting_k2);
+               CASE(VIGNETTING, vignetting);
                CASE(CHANNELMIXER_RED, channelmixer_red);
                CASE(CHANNELMIXER_GREEN, channelmixer_green);
                CASE(CHANNELMIXER_BLUE, channelmixer_blue);
@@ -293,8 +293,8 @@
        if (mask & MASK_TCA_KB)
                rs_object_class_property_reset(object, "tca_kb");
 
-       if (mask & MASK_VIGNETTING_K2)
-               rs_object_class_property_reset(object, "vignetting_k2");
+       if (mask & MASK_VIGNETTING)
+               rs_object_class_property_reset(object, "vignetting");
 
        if (mask & MASK_CHANNELMIXER_RED)
                rs_object_class_property_reset(object, "channelmixer_red");
@@ -396,7 +396,7 @@
        SETTINGS_COPY(DENOISE_CHROMA, denoise_chroma);
        SETTINGS_COPY(TCA_KR, tca_kr);
        SETTINGS_COPY(TCA_KB, tca_kb);
-       SETTINGS_COPY(VIGNETTING_K2, vignetting_k2);
+       SETTINGS_COPY(VIGNETTING, vignetting);
        SETTINGS_COPY(CHANNELMIXER_RED, channelmixer_red);
        SETTINGS_COPY(CHANNELMIXER_GREEN, channelmixer_green);
        SETTINGS_COPY(CHANNELMIXER_BLUE, channelmixer_blue);

Modified: trunk/librawstudio/rs-settings.h
===================================================================
--- trunk/librawstudio/rs-settings.h    2010-02-12 21:22:00 UTC (rev 3178)
+++ trunk/librawstudio/rs-settings.h    2010-02-12 21:39:02 UTC (rev 3179)
@@ -51,8 +51,7 @@
        MASK_CHANNELMIXER_GREEN = (1<<13),
        MASK_CHANNELMIXER_BLUE = (1<<14),
        MASK_CHANNELMIXER = MASK_CHANNELMIXER_RED | MASK_CHANNELMIXER_GREEN | 
MASK_CHANNELMIXER_BLUE,
-       MASK_VIGNETTING_K2  = (1<<15),
-       MASK_VIGNETTING     = MASK_VIGNETTING_K2,
+       MASK_VIGNETTING  = (1<<15),
        MASK_ALL            = 0x00ffffff,
 } RSSettingsMask;
 
@@ -71,7 +70,7 @@
        gfloat denoise_chroma;
        gfloat tca_kr;
        gfloat tca_kb;
-       gfloat vignetting_k2;
+       gfloat vignetting;
        gfloat channelmixer_red;
        gfloat channelmixer_green;
        gfloat channelmixer_blue;

Modified: trunk/plugins/lensfun/lensfun.c
===================================================================
--- trunk/plugins/lensfun/lensfun.c     2010-02-12 21:22:00 UTC (rev 3178)
+++ trunk/plugins/lensfun/lensfun.c     2010-02-12 21:39:02 UTC (rev 3179)
@@ -48,9 +48,7 @@
        gfloat aperture;
        gfloat tca_kr;
        gfloat tca_kb;
-       gfloat vignetting_k1;
-       gfloat vignetting_k2;
-       gfloat vignetting_k3;
+       gfloat vignetting;
        gboolean distortion_enabled;
 
        lfLens *selected_lens;
@@ -76,9 +74,7 @@
        PROP_APERTURE,
        PROP_TCA_KR,
        PROP_TCA_KB,
-       PROP_VIGNETTING_K1,
-       PROP_VIGNETTING_K2,
-       PROP_VIGNETTING_K3,
+       PROP_VIGNETTING,
        PROP_DISTORTION_ENABLED,
 };
 
@@ -154,21 +150,11 @@
                        -1, 1, 0.0, G_PARAM_READWRITE)
        );
        g_object_class_install_property(object_class,
-               PROP_VIGNETTING_K1, g_param_spec_float(
-                       "vignetting_k1", "vignetting_k1", "vignetting_k1",
-                       -1, 2, 0.0, G_PARAM_READWRITE)
-       );
-       g_object_class_install_property(object_class,
-               PROP_VIGNETTING_K2, g_param_spec_float(
-                       "vignetting_k2", "vignetting_k2", "vignetting_k2",
+               PROP_VIGNETTING, g_param_spec_float(
+                       "vignetting", "vignetting", "vignetting",
                        -1.5, 1.5, 0.0, G_PARAM_READWRITE)
        );
        g_object_class_install_property(object_class,
-               PROP_VIGNETTING_K3, g_param_spec_float(
-                       "vignetting_k3", "vignetting_k3", "vignetting_k3",
-                       -1, 2, 0.0, G_PARAM_READWRITE)
-       );
-       g_object_class_install_property(object_class,
                PROP_DISTORTION_ENABLED, g_param_spec_boolean(
                        "distortion_enabled", "distortion_enabled", 
"distortion_enabled",
                   FALSE, G_PARAM_READWRITE)
@@ -190,9 +176,7 @@
        lensfun->aperture = 5.6;
        lensfun->tca_kr = 0.0;
        lensfun->tca_kb = 0.0;
-       lensfun->vignetting_k1 = 0.0;
-       lensfun->vignetting_k2 = 0.0;
-       lensfun->vignetting_k3 = 0.0;
+       lensfun->vignetting = 0.0;
        lensfun->distortion_enabled = FALSE;
 
        /* Initialize Lensfun database */
@@ -234,15 +218,9 @@
                case PROP_TCA_KB:
                        g_value_set_float(value, lensfun->tca_kb);
                        break;
-               case PROP_VIGNETTING_K1:
-                       g_value_set_float(value, lensfun->vignetting_k1);
+               case PROP_VIGNETTING:
+                       g_value_set_float(value, lensfun->vignetting);
                        break;
-               case PROP_VIGNETTING_K2:
-                       g_value_set_float(value, lensfun->vignetting_k2);
-                       break;
-               case PROP_VIGNETTING_K3:
-                       g_value_set_float(value, lensfun->vignetting_k3);
-                       break;
                case PROP_DISTORTION_ENABLED:
                        g_value_set_boolean(value, lensfun->distortion_enabled);
                        break;
@@ -288,20 +266,10 @@
                        lensfun->tca_kb = g_value_get_float(value);
                        rs_filter_changed(RS_FILTER(lensfun), 
RS_FILTER_CHANGED_PIXELDATA);
                        break;
-               case PROP_VIGNETTING_K1:
-                       lensfun->vignetting_k1 = g_value_get_float(value);
+               case PROP_VIGNETTING:
+                       lensfun->vignetting = g_value_get_float(value);
                        rs_filter_changed(RS_FILTER(lensfun), 
RS_FILTER_CHANGED_PIXELDATA);
                        break;
-               case PROP_VIGNETTING_K2:
-                       /* FIXME: only have one vignetting input */
-                       lensfun->vignetting_k1 = g_value_get_float(value);
-                       lensfun->vignetting_k2 = g_value_get_float(value);
-                       rs_filter_changed(RS_FILTER(lensfun), 
RS_FILTER_CHANGED_PIXELDATA);
-                       break;
-               case PROP_VIGNETTING_K3:
-                       lensfun->vignetting_k3 = g_value_get_float(value);
-                       rs_filter_changed(RS_FILTER(lensfun), 
RS_FILTER_CHANGED_PIXELDATA);
-                       break;
                case PROP_DISTORTION_ENABLED:
                        lensfun->DIRTY = TRUE;
                        lensfun->distortion_enabled = 
g_value_get_boolean(value);
@@ -475,9 +443,7 @@
                {
                        g_debug("Lensfun: Lens not found or lens is disabled. 
Using neutral lense.");
                        
-                       if (ABS(lensfun->tca_kr) + ABS(lensfun->tca_kb) +
-                               ABS(lensfun->vignetting_k1) + 
ABS(lensfun->vignetting_k2) + ABS(lensfun->vignetting_k3)
-                               < 0.001) 
+                       if (ABS(lensfun->tca_kr) + ABS(lensfun->tca_kb) + 
ABS(lensfun->vignetting) < 0.001) 
                        {
                                rs_filter_response_set_image(response, input);
                                g_object_unref(input);
@@ -539,16 +505,19 @@
                }
 
                /* Set vignetting */
-               if (ABS(lensfun->vignetting_k1) > 0.01f || 
ABS(lensfun->vignetting_k2) > 0.01f)
+               if (ABS(lensfun->vignetting) > 0.01f)
                {
                        lfLensCalibVignetting vignetting;
                        vignetting.Model = LF_VIGNETTING_MODEL_PA;
                        vignetting.Distance = 1.0;
                        vignetting.Focal = lensfun->focal;
                        vignetting.Aperture = lensfun->aperture;
-                       vignetting.Terms[0] = -lensfun->vignetting_k1 * 0.5;
-                       vignetting.Terms[1] = -lensfun->vignetting_k2 * 0.05;
-                       vignetting.Terms[2] = -lensfun->vignetting_k3 * 0.015;
+                       gfloat vign = -lensfun->vignetting * 1.5;
+                       if (vign > 0.0f)
+                               vign *= 4.0f;
+                       vignetting.Terms[0] = vign * 0.5;
+                       vignetting.Terms[1] = vign * 0.03;
+                       vignetting.Terms[2] = vign * 0.005;
                        lf_lens_add_calib_vignetting((lfLens *) 
lensfun->selected_lens, &vignetting);
                } else
                {

Modified: trunk/src/application.c
===================================================================
--- trunk/src/application.c     2010-02-12 21:22:00 UTC (rev 3178)
+++ trunk/src/application.c     2010-02-12 21:39:02 UTC (rev 3179)
@@ -91,7 +91,7 @@
                                "aperture", meta->aperture,
                                "tca_kr", 
rs->photo->settings[rs->current_setting]->tca_kr,
                                "tca_kb", 
rs->photo->settings[rs->current_setting]->tca_kb,
-                               "vignetting_k2", 
rs->photo->settings[rs->current_setting]->vignetting_k2,
+                               "vignetting", 
rs->photo->settings[rs->current_setting]->vignetting,
                                NULL);
                        g_object_unref(lens);
                }
@@ -208,7 +208,7 @@
                        "aperture", meta->aperture,
                        "tca_kr", photo->settings[snapshot]->tca_kr,
                        "tca_kb", photo->settings[snapshot]->tca_kb,
-                       "vignetting_k2", 
photo->settings[snapshot]->vignetting_k2,
+                       "vignetting", photo->settings[snapshot]->vignetting,
                        NULL);
                g_object_unref(lens);
        }

Modified: trunk/src/rs-batch.c
===================================================================
--- trunk/src/rs-batch.c        2010-02-12 21:22:00 UTC (rev 3178)
+++ trunk/src/rs-batch.c        2010-02-12 21:39:02 UTC (rev 3179)
@@ -552,7 +552,7 @@
                                                        "aperture", 
meta->aperture,
                                                        "tca_kr", 
photo->settings[setting_id]->tca_kr,
                                                        "tca_kb", 
photo->settings[setting_id]->tca_kb,
-                                                       "vignetting_k2", 
photo->settings[setting_id]->vignetting_k2,
+                                                       "vignetting", 
photo->settings[setting_id]->vignetting,
                                                        NULL);
                                g_object_unref(lens);
                        }

Modified: trunk/src/rs-cache.c
===================================================================
--- trunk/src/rs-cache.c        2010-02-12 21:22:00 UTC (rev 3178)
+++ trunk/src/rs-cache.c        2010-02-12 21:39:02 UTC (rev 3179)
@@ -133,8 +133,8 @@
                xmlTextWriterWriteFormatElement(writer, BAD_CAST "tca_kr", 
"%f", rss->tca_kr);
        if (mask & MASK_TCA_KB)
                xmlTextWriterWriteFormatElement(writer, BAD_CAST "tca_kb", 
"%f", rss->tca_kb);
-       if (mask & MASK_VIGNETTING_K2)
-               xmlTextWriterWriteFormatElement(writer, BAD_CAST 
"vignetting_k2", "%f", rss->vignetting_k2);
+       if (mask & MASK_VIGNETTING)
+               xmlTextWriterWriteFormatElement(writer, BAD_CAST "vignetting", 
"%f", rss->vignetting);
        if (mask & MASK_CURVE && rss->curve_nknots > 0)
        {
                gint i;
@@ -247,11 +247,11 @@
                        rss->tca_kb =  rs_atof((gchar *) val);
                        xmlFree(val);
                }
-               else if ((!xmlStrcmp(cur->name, BAD_CAST "vignetting_k2")))
+               else if ((!xmlStrcmp(cur->name, BAD_CAST "vignetting")))
                {
-                       mask |= MASK_VIGNETTING_K2;
+                       mask |= MASK_VIGNETTING;
                        val = xmlNodeListGetString(doc, cur->xmlChildrenNode, 
1);
-                       rss->vignetting_k2 =  rs_atof((gchar *) val);
+                       rss->vignetting =  rs_atof((gchar *) val);
                        xmlFree(val);
                }
                else if ((!xmlStrcmp(cur->name, BAD_CAST "curve")))

Modified: trunk/src/rs-preview-widget.c
===================================================================
--- trunk/src/rs-preview-widget.c       2010-02-12 21:22:00 UTC (rev 3178)
+++ trunk/src/rs-preview-widget.c       2010-02-12 21:39:02 UTC (rev 3179)
@@ -2241,15 +2241,15 @@
                        {
                                gfloat tca_kr = 0.0;
                                gfloat tca_kb = 0.0;
-                               gfloat vignetting_k2 = 0.0;
+                               gfloat vignetting = 0.0;
                                
g_object_get(preview->photo->settings[preview->snapshot[view]], "tca_kr", 
&tca_kr, NULL);
                                
g_object_get(preview->photo->settings[preview->snapshot[view]], "tca_kb", 
&tca_kb, NULL);
-                               
g_object_get(preview->photo->settings[preview->snapshot[view]], 
"vignetting_k2", &vignetting_k2, NULL);
+                               
g_object_get(preview->photo->settings[preview->snapshot[view]], "vignetting", 
&vignetting, NULL);
 
                                
rs_filter_set_recursive(preview->filter_end[view],
                                                        "tca_kr", tca_kr,
                                                        "tca_kb", tca_kb,
-                                                       "vignetting_k2", 
vignetting_k2,
+                                                       "vignetting", 
vignetting,
                                                        NULL);
                        }
                }

Modified: trunk/src/rs-save-dialog.c
===================================================================
--- trunk/src/rs-save-dialog.c  2010-02-12 21:22:00 UTC (rev 3178)
+++ trunk/src/rs-save-dialog.c  2010-02-12 21:39:02 UTC (rev 3179)
@@ -281,7 +281,7 @@
                        "aperture", meta->aperture,
                        "tca_kr", 
dialog->photo->settings[dialog->snapshot]->tca_kr,
                        "tca_kb", 
dialog->photo->settings[dialog->snapshot]->tca_kb,
-                       "vignetting_k2", 
dialog->photo->settings[dialog->snapshot]->vignetting_k2,
+                       "vignetting", 
dialog->photo->settings[dialog->snapshot]->vignetting,
                        NULL);
                g_object_unref(lens);
        }

Modified: trunk/src/rs-toolbox.c
===================================================================
--- trunk/src/rs-toolbox.c      2010-02-12 21:22:00 UTC (rev 3178)
+++ trunk/src/rs-toolbox.c      2010-02-12 21:39:02 UTC (rev 3179)
@@ -63,9 +63,9 @@
 #define NCHANNELMIXER (3)
 
 const static BasicSettings lens[] = {
-       { "tca_kr",         0.001 },
-       { "tca_kb",         0.001 },
-       { "vignetting_k2",  0.01 },
+       { "tca_kr",         0.025 },
+       { "tca_kb",         0.025 },
+       { "vignetting",  0.025},
 };
 #define NLENS (3)
 


_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit

Reply via email to