Clarity and Sharpening from Manuel Llorens #issue814

This commit is contained in:
jdc
2011-07-07 08:04:58 +02:00
parent 9ffdb41ddb
commit b024e815f6
24 changed files with 968 additions and 20 deletions

View File

@@ -90,8 +90,17 @@ void ProcParams::setDefaults () {
labCurve.acurve.push_back(DCT_Linear);
labCurve.bcurve.clear ();
labCurve.bcurve.push_back(DCT_Linear);
sharpening.enabled = true;
clarity.enabled = false;
clarity.clpasses = 2;
clarity.clstrength = 50.0;
clarity.enabledtwo = false;
clarity.mlstrength = 20.0;
clarity.uniformity = 50.0;
clarity.clthreechannels = false;
clarity.MLmicromatrix = false;
sharpening.enabled = false;
sharpening.radius = 1.0;
sharpening.amount = 90;
sharpening.threshold = 768;
@@ -326,7 +335,17 @@ int ProcParams::save (Glib::ustring fname) const {
keyFile.set_integer ("Sharpening", "DeconvAmount", sharpening.deconvamount);
keyFile.set_integer ("Sharpening", "DeconvDamping", sharpening.deconvdamping);
keyFile.set_integer ("Sharpening", "DeconvIterations", sharpening.deconviter);
//save clarity
keyFile.set_boolean ("Clarity", "Enabled", clarity.enabled);
keyFile.set_integer ("Clarity", "Clpasses", clarity.clpasses);
keyFile.set_double ("Clarity", "Clstrength", clarity.clstrength);
keyFile.set_boolean ("Clarity", "Clthreechannels", clarity.clthreechannels);
keyFile.set_boolean ("Clarity", "Enabledtwo", clarity.enabledtwo);
keyFile.set_double ("Clarity", "Mlstrength", clarity.mlstrength);
keyFile.set_double ("Clarity", "Uniformity", clarity.uniformity);
keyFile.set_boolean ("Clarity", "Matrix", clarity.MLmicromatrix);
// save colorBoost
keyFile.set_integer ("Color Boost", "Amount", colorBoost.amount);
keyFile.set_boolean ("Color Boost", "AvoidColorClipping", colorBoost.avoidclip);
@@ -615,7 +634,22 @@ if (keyFile.has_group ("Sharpening")) {
if (keyFile.has_key ("Sharpening", "DeconvDamping")) sharpening.deconvdamping = keyFile.get_integer ("Sharpening", "DeconvDamping");
if (keyFile.has_key ("Sharpening", "DeconvIterations")) sharpening.deconviter = keyFile.get_integer ("Sharpening", "DeconvIterations");
}
if (keyFile.has_group ("Clarity")) {
if (keyFile.has_key ("Clarity", "Enabled")) clarity.enabled = keyFile.get_boolean ("Clarity", "Enabled");
if (keyFile.has_key ("Clarity", "Clpasses")) clarity.clpasses = keyFile.get_integer ("Clarity", "Clpasses");
if (keyFile.has_key ("Clarity", "Clstrength")) clarity.clstrength = keyFile.get_double ("Clarity", "Clstrength");
if (keyFile.has_key ("Clarity", "Clthreechannels")) clarity.clthreechannels = keyFile.get_boolean ("Clarity", "Clthreechannels");
if (keyFile.has_key ("Clarity", "Enabledtwo")) clarity.enabledtwo = keyFile.get_boolean ("Clarity", "Enabledtwo");
if (keyFile.has_key ("Clarity", "Matrix")) clarity.MLmicromatrix = keyFile.get_boolean ("Clarity", "Matrix");
if (keyFile.has_key ("Clarity", "Mlstrength")) clarity.mlstrength = keyFile.get_double ("Clarity", "Mlstrength");
if (keyFile.has_key ("Clarity", "Uniformity")) clarity.uniformity = keyFile.get_double ("Clarity", "Uniformity");
}
// load colorBoost
if (keyFile.has_group ("Color Boost")) {
if (keyFile.has_key ("Color Boost", "Amount")) colorBoost.amount = keyFile.get_integer ("Color Boost", "Amount");
@@ -923,7 +957,15 @@ bool ProcParams::operator== (const ProcParams& other) {
&& labCurve.saturation == other.labCurve.saturation
&& labCurve.avoidclip == other.labCurve.avoidclip
&& labCurve.enable_saturationlimiter == other.labCurve.enable_saturationlimiter
&& labCurve.saturationlimit == other.labCurve.saturationlimit
&& labCurve.saturationlimit == other.labCurve.saturationlimit
&& clarity.enabled == other.clarity.enabled
&& clarity.clpasses == other.clarity.clpasses
&& clarity.clstrength == other.clarity.clstrength
&& clarity.enabledtwo == other.clarity.enabledtwo
&& clarity.mlstrength == other.clarity.mlstrength
&& clarity.uniformity == other.clarity.uniformity
&& clarity.MLmicromatrix == other.clarity.MLmicromatrix
&& clarity.clthreechannels == other.clarity.clthreechannels
&& sharpening.enabled == other.sharpening.enabled
&& sharpening.radius == other.sharpening.radius
&& sharpening.amount == other.sharpening.amount