Revise perspective transformation to remove hard-coded angular field of
view and horizontal perspective axis of rotation. Add vertical bias
parameter to retain ability to perform vertical perspective
transformation independent of the horizontal perspective axis of
rotation. Add field of view parameter as a tentative method for
specifying angular field of view.
The current implementation of perspective transformation applies
horizontal perspective transformation in such a way that preserves the
orientation of a horizontal line going through the center of the image.
In common use cases, horizontal lines such as the horizon do not go
through the center of the image. In such cases, the horizontal
perspective axis of rotation should not be parallel to the image's
y-axis. This commit makes the axis of rotation dependent on the vertical
parameter.
The two axes of rotation should be placed at the appropriate distance
from the image in order to prevent stretched or compressed proportions.
In the current implementation, the axes are at a fixed relative distance
from the image. This commit adds the ability to specify the distance in
the form of the diagonal angular field of view.
Added performance improvements suggested by heckflosse. Lowered median sampling step from 7 to 5 since calculation is now much faster.
Added support for Fuji X-Trans raw files.
Applied SSE2 patch provided by @heckflosse, improves performance in main processing loop.
Moved film negative processing stuff in its own compilation unit.
Code cleanup: removed redundant omp directives.
Added check for dead pixels, going above threshold after inversion. ST_BAYER only for now.
Reverted leftover hack in cropwindow.cc
Allows to specify various "regions" of the image with masks, and to correct
for hue, saturation and lightness.
Inspired by the existing L*a*b* grid (in turn taken from darktable)
Based on the paper:
"Single Image Haze Removal Using Dark Channel Prior" by He, Sun and Tang
using a guided filter for the "soft matting" of the transmission map