made lensfun-based correction compatible with auto fill mode

This commit is contained in:
Alberto Griggio 2017-09-10 22:02:43 +02:00
parent 489b641c8b
commit e4ba4d19f5
7 changed files with 2 additions and 35 deletions

View File

@ -969,10 +969,6 @@ double ImProcFunctions::getTransformAutoFill (int oW, int oH, const LensCorrecti
return 1;
}
if (pLCPMap && !pLCPMap->supportsAutoFill()) {
return 1;
}
double scaleU = 2, scaleL = 0.001; // upper and lower border, iterate inbetween
do {

View File

@ -140,7 +140,6 @@ class LensCorrection {
public:
virtual ~LensCorrection() {}
virtual void correctDistortion(double &x, double &y, int cx, int cy, double scale) const = 0;
virtual bool supportsAutoFill() const = 0;
virtual bool supportsCA() const = 0;
virtual void correctCA(double &x, double &y, int channel) const = 0;
virtual void processVignetteLine(int width, int y, float *line) const = 0;
@ -167,7 +166,6 @@ public:
void correctDistortion(double &x, double &y, int cx, int cy, double scale) const; // MUST be the first stage
bool supportsCA() const { return enableCA; }
bool supportsAutoFill() const { return true; }
void correctCA(double& x, double& y, int channel) const;
void processVignetteLine(int width, int y, float *line) const;
void processVignetteLine3Channels(int width, int y, float *line) const;

View File

@ -72,6 +72,8 @@ void LFModifier::correctDistortion(double &x, double &y, int cx, int cy, double
x -= cx;
y -= cy;
}
x *= scale;
y *= scale;
}

View File

@ -34,7 +34,6 @@ public:
bool ok() const;
void correctDistortion(double &x, double &y, int cx, int cy, double scale) const;
bool supportsAutoFill() const { return false; }
bool supportsCA() const { return false; }
void correctCA(double &x, double &y, int channel) const {}
void processVignetteLine(int width, int y, float *line) const;

View File

@ -39,7 +39,6 @@ LensProfilePanel::LensProfilePanel () :
useCAChanged(false),
isRaw(true),
metadata(nullptr),
lensgeomLcpFill(nullptr),
useLensfunChanged(false),
lensfunAutoChanged(false),
lensfunCameraChanged(false),
@ -220,7 +219,6 @@ void LensProfilePanel::read(const rtengine::procparams::ProcParams* pp, const Pa
corrOff->set_active(true);
}
setAutoFill();
enableListener ();
conUseDist.block(false);
}
@ -516,8 +514,6 @@ void LensProfilePanel::onCorrModeChanged()
mode = M("GENERAL_UNCHANGED");
}
setAutoFill();
if (listener) {
listener->panelChanged(EvLensCorrMode, mode);
}
@ -537,23 +533,6 @@ bool LensProfilePanel::checkLensfunCanCorrect(bool automatch)
}
void LensProfilePanel::setAutoFill()
{
if (lensgeomLcpFill) {
bool b = lensgeomLcpFill->disableListener();
if (corrLensfunAuto->get_active() || corrLensfunManual->get_active()) {
lensgeomLcpFill->getFill()->set_active(true);
lensgeomLcpFill->getFill()->set_sensitive(false);
} else {
lensgeomLcpFill->getFill()->set_sensitive(true);
}
if (b) {
lensgeomLcpFill->enableListener();
}
}
}
//-----------------------------------------------------------------------------
// LFDbHelper
//-----------------------------------------------------------------------------

View File

@ -40,7 +40,6 @@ protected:
bool allowFocusDep;
bool isRaw;
const rtengine::ImageMetaData* metadata;
LensGeometry *lensgeomLcpFill;
Gtk::RadioButton::Group corrGroup;
Gtk::RadioButton *corrOff;
@ -87,7 +86,6 @@ protected:
bool setLensfunCamera(const Glib::ustring &make, const Glib::ustring &model);
bool setLensfunLens(const Glib::ustring &lens);
bool checkLensfunCanCorrect(bool automatch);
void setAutoFill();
public:
@ -102,10 +100,6 @@ public:
void onUseDistChanged();
void onUseVignChanged();
void onUseCAChanged();
void setLensGeomRef( LensGeometry *foo)
{
lensgeomLcpFill = foo ;
};
void setBatchMode(bool yes);

View File

@ -53,7 +53,6 @@ ToolPanelCoordinator::ToolPanelCoordinator () : ipc (nullptr), hasChanged (false
colortoning = Gtk::manage (new ColorToning ());
lensgeom = Gtk::manage (new LensGeometry ());
lensProf = Gtk::manage (new LensProfilePanel ());
lensProf->setLensGeomRef (lensgeom);
distortion = Gtk::manage (new Distortion ());
rotate = Gtk::manage (new Rotate ());
vibrance = Gtk::manage (new Vibrance ());