* Added under the Resize tool like PR sharpening
* Adds FramingParams and FramingParamsEdited structs
* No parameter read/write implemented
* No support for batch mode
* No adjuster listeners implemented
* Signals and callback functions are defined but do nothing
File browser thumbnails for raw images start with a minimally-processed
images. These images are cached and image adjustments are applied on
top. The black level is "baked-into" the cached image. Therefore, to
reflect the black level adjustments in the thumbnail, one of two options
are required:
1. Cache an image before the black level is applied and process the
black level on top of this image.
2. Recreate the base image with the new black level and cache it.
The first option yields better performance when the user changes the
black level. However, it requires other base adjustments to be applied
every time, such as the camera multipliers. The second option requires
the base image to be recreated every time the black level is changed.
This commit implements the second option. It minimizes code changes, and
therefore possible bugs. It does add a performance penalty when the
black level changes, but the black level adjustment is rarely used.
* Change Preferences for observer whitebalance
* Change label white balance preferences
* Added Preferences 2 parameters Whitebalance auto correlation
* Add Preference Temperature correlation - sort and tooltip
* Change to rtengine cmakelist
* Apply patch from Lawrence37
* Small comment code
* Change defaut order prefrences wba
* Added force extra algoritm to Preferences
* Harmonize itcwb sorted
* Add fields to Preferences Itcwb
* Change settings precision Itcwb in Preferences
* Change tooltip Itcwb preferences
* First stage Itwcwb settings in main with pp3 and selction in preferences
* Second stage Itwcwb settings in main with pp3 and selction in preferences
* Third stage Itwcwb settings in main with pp3 and selction in preferences
* Add itcwb_fgreen student - green optimize
* Add Itcwb green range
* Itcwb history msg - first tooltips
* Remove force-extra because always used
* reused force-extra to use entire CIExy for sampling datas
* Removed inwanted text in console
* Set sensitive for Itcwbframe
* Various change - comment ..
* Small code review - chnage tooltips
* Remove settings itcwb_delta in Rawimagesource.cc to simplify
* Remove Itcwb Observer - put a single observer for everything - general - itcwb
* Fixed conflicts in colortemp.cc
* Various change - fixed bug - simplify
* Fixed limits for settings pp3 - chnage tooltip
* Clean unused code
* Put itcwb_findgreen in GUI
* Added checkbox 'Low sampling' to find the settings of 5.9
* Set Observer to Observer 10° - preferences default
* Missing setting Low sampling
* Show white balance multipliers
* Change default settings - Itcwb_sorted
* Move observer from preferences to WB
* Make observer selectable for camera WB
* Ensure observer checkbox is in sync with PP3
* Set default ITCWB low sampling for PP3s from <=5.9
Ensure temperature correlation white balance algorithm 1 is used when
opening edits from versions 5.9 and earlier.
* Removed unused White-balance frame in Preferences
* Comment some GUI sliders checkbox
* Removed all GUI itcwb in preferences and whitebalance
* Removed forgotten code in preferences
* Remove labels tooltips history Itcwb
---------
Co-authored-by: Lawrence Lee <45837045+Lawrence37@users.noreply.github.com>
Scaling is applied at the end of all geometric transformations, so it
would be more appropriate outside of the perspective correction tool.
Such an implementation would also work better with the auto-fit feature.
Add camera lens/sensor shift support with horizontal/vertical shift
adjusters.
Add shifting and rotation of corrected image. This allows
post-correction adjustments to be made more easily given the fixed image
canvas size.
Add scaling of final result. This also helps reduce frustrations with
the fixed image canvas size.
Replace field of view with focal length and crop factor. Use of focal
length and crop factor is more common than diagonal angular field of
view. The new adjusters should be more intuitive for most photographers.
The implementation of perspective correction uses a focal length
relative to the image dimensions. The existing code calculates that
focal length with trigonometry. The new code does it by multiplying
by a ratio.
Replace vertical bias with horizontal and vertical perspective
distortion recovery. Vertical bias is not intuitive as it causes
vertical lines to converge off-center if horizontal correction is
applied. The new adjusters perform perspective distortion on the
projection of the corrected image, allowing vertical/horizontal lines to
converge towards the center lines of the image.
Refactor perspective transformation math to use dynamically computed
homogeneous coordinate matrices instead of pre-calculated formulas. This
should add some overhead, but results in more maintainable code and
possible improved performance due to the reduced number of arithmetic
and assignments needed for each pixel.
Integrate new adjusters in the GUI. This includes fine granularity for
batch processing add/set modes and history.