Commit Graph

4209 Commits

Author SHA1 Message Date
Lawrence37
fe94a34d7d Merge pull request #7291 from Lawrence37/clear-pp3-bug-fix
Delete pp3 when clearing processing parameters
2025-02-09 12:08:19 -08:00
Lawrence37
fa4d0e1f24 Merge pull request #7265 from Lawrence37/info-font-size
Quick info font size
2025-02-01 11:44:32 -08:00
Lawrence Lee
1885f5d489 Improve proc params clear when XMP sync enabled
Always check the rank and color label in the XMP if XMP sync is enabled
when clearing the processing parameters. Allows the pp3 to be deleted
whenever possible, even if the rank or color label has been edited.
2025-01-20 12:53:07 -08:00
Lawrence Lee
367041e2e6 Fix processing params clear when XMP sync enabled
Fix caching of XMP when clearing processing parameters so that it knows
if the pp3 can be deleted without affecting the rank and color labels.
2025-01-20 12:49:36 -08:00
Lawrence Lee
d3dca005eb Merge branch 'dev' into clear-pp3-bug-fix 2025-01-19 12:50:55 -08:00
Desmis
a578423378 Abstract Profile - Contrast enhancement -- Selective Editing Cam16 and JzCzHz - improvments (#7111)
* Init levels trc GUI

* Levels TRC

* Complete with gamma based attenuation

* Limit RGB channel Slope with checkbox

* Improve GUI and code channel TRC

* Change default values - compexity levels RGB channels

* Relative gamma mode RGB channel TRC

* Change label and ponderation rolloff

* Change rolloff level

* Threshold attenuation

* Threshold attenuation 2 part

* GUI Link R G B

* Linked RGB with Green slope - RGB channels

* Set Freeman TM functions with ImProcFunctions

* First GUI Abstract profile highlight attenuation

* GUI AP part 2

* Restore olg GUI AP

* Expander AP primaries adn illuminant

* Disable RGB channel TRC

* Expander contrast AP

* Slider attenuation response

* Save work GUI local contrast

* Save GUI part 2 AP curve

* Local contrast GUI Abstract Profile

* Move Abstract profile in toolpanel and ICMpanel

* rtengine variable contrast

* Variable contrast 2

* Variable contrast engine 3

* Variable contrast engine 4

* Variable contrast engine

* Detail levels pyramid

* Engine residual contrast

* Residual contrast

* Change settings detail levels

* Expander refinement - new tooltips - low resid contrast

* Change contrast profile and labels

* Remove warning message GUI Gtk

* Gamutcontrol code - disabled

* Improve with calceffect

* Other improvement variable contrast

* Offset variable contrast

* Range offset - comment code

* Parametric inva fot lut

* Clean cmakelist.txt

* Change contrast profiles

* Comment code ipwavelet

* Added orthogonal Daubechies scaling D20

* Change strenght curve - tooltip Daubechies

* Forgotten changes

* Comment code

* Move variable in process - take into account highlight attenuation

* Display label maximum preview and preset selection

* Remove console message

* harmonize levels wavelets iplocallab

* Tooltips contrast enhancement

* Change tooltip Contrast profile

* Chnage tooltip Contrast

* Message warning preview size

* Change gamma TRC values in GUI

* Remove itanium architecture support for windows as PR 7105

* Change windows.yml and appimage.yml

* Windows.yml apseimprov

* Clean and comment ipwavelet

* Clean comment icmpanel.cc

* Harmonize local contrast wavelet Selective editing with Abstract profile

* Harmonize with AP - offset

* vanishing moment D20 - Selective editing wavelet

* Offset only in advanced mode

* GUI expander contrast enable and pyrwavtrc

* Clean and comment code

* merge with dev

* Prepare sigmoid based

* Contrast sigmoid GUI

* Skew sigmoid GUI

* Sigmoid tone mapper in iplocallab

* Change GUI settings

* White-point and black-point auto

* Change EvDCP to ALLNORAW as others events DCP

* Change default skew

* Change settings - enable scale Yb

* Display white point - advanced mode

* Improve GUI

* Clean unused variable

* new sigmoid Q in cam16

* Change tooltips and default sigmoid Q settings

* Sigmoid Jz

* Clean code Jz and sigmoid

* Harmonize Sigmoid Q and Sigmoid RGB

* Harmonize Sigmoid Jz

* Clean code

* Improve labels wit cd/m2

* Slope base Q methode first

* GUI slope based Q

* Change default settings and tooltips

* Change tooltips

* Clean code - change default setting

* Change default local contrast & wavelet to wavelet & basic mode

* Fixed bad assignation slopesmoq

* Improve sigmoid and slope based Q - GUI for Log encoding Color appearance

* Remove wrong change

* various small improvments

* Allows black and white AP and SDA in basic mode

* Change  the writing of wGamma and wSlope - attenuates the effect of the first 2 AP contrast profiles

* Clean code wgamma wslope

* Set curve Cam16 in basic mode

* Change position curve in GUI cam16

* Enable tonecurve1 in colorappearance & lighting in standard mode

* Fixed bug scale yb scene - ciecam curve - change default contrast enhancement

* not reset curve shape ciecam in strandard

* Change label Tone mapping operators and tooltips

* Change some labels and tooltips - Appearance - Mask and Mofifications - Recovery Based On Luminance Mask

* Forgotten changes

* Clean locallabtools2.cc

* Maxlevel wavelet minimum to 5

* Reset mask and modifications in SE wavelet and all tools in Global

* Show modified areas SE wavelet

* Tooltip show wavelets decomposition

* Fixed another bad behavior in Global - changes also in color & light for merge file

* Change behavior fullimage - global as in PR GHS

* Disable all mask and modifications in Global but remain active in fullimage and normal

* Set expander expanded = true

* Chane contrast enhancement coef

* Replace VBox trcWavVBox by ToolParamBlock trcWavFBox

* Forgotten code in icmpanel read pedited opacityShapeWLI - hope solve batch mode

* Change RGB Slope behavior with link

* No access to last level contrast enhancement

* Move Abstract Profile tooltip to title

The tooltip was popping up when the cursor was over almost any part of
the tool which was inconvenient. Now, the tooltip only appears when
hovering over the title.

* Improve Color Management expanders behavior

By default, collapse Abstract Profile and leave it's sub-expanders
expanded.

Keep the expanded state of all the sub-expanders during the editing
session.

Fix the right-click behavior. The clicked expander should be expanded
and all siblings, if any, should be collapsed.

* Fix RGB slope tone mapping RGB linkage

Synchronize the red, green, and blue values before updating the preview
to avoid using incorrect values to generate the preview.

* Fix SE CAM tone mapping slider defocus

Avoid unnecessarily hiding then showing the adjusters in tone mapping so
that focus is not lost while adjusting the adjusters.

* Delete history kslopesmo - remove IcmOpacityCurveWL

* change the tooltips as suggested by Lawrence

* Review L37 - change strengthjz strengthlc - MIDDLE_GREY MIDDLE_GREYjz - artifacts ciecam

* Change name Tone map freeman functions

* Remove gamutcont - rename localcont - change allocation memory wdspot

* Clean procparams

* remove sigmoidsenscie - logcieq

* Added * to three labels 'sigmoid' - change tooltip which shows the incompatibility with 5.11

* Forgotten correction suggested by Lawrence

* Compatibility 5.11 log encoding - sigmoid part 1

* Compatibility 5.11 part 2

* Compatibility 5.11 - step 3

* Compatibility 5.11 - step 4

* Compatibility 5.11 step xx

* Compatibility 5.11 - combobox operators Q and J

* Compatibility 5.11 Cam16 GUI first part

* Improve GUI Cam16 sigmoid compatibility

* Compatibility 5.11 Jz - sigmoid - step 1

* Compatibility 5.11 Jz gui step 2

* Compatibility 5.11 Jz GUI step x

* Compatibility 5.11 Jz - history - etc.

* Various change labels - history ...

* Improve GUI - hide show 5.11 5.12

* Jz 5.11 in iplocallab - step 1

* Compatibility 5.11 iplocallab cam16 step 1

* Improve GUI hide show 511 512

* Solved - I hope - GUI problem with tone mapper Q and J 5.11 and 5.12

* Compatibility 5.11 iplocallab Cam16 step 2

* Improve GUI compatibility 5.11 labels tooltips

* Small improvments GUI - labels - history...

* Fixed typo in paramsedited.cc clcurve issue 7283

* Change tooltips method 5.12 - 5.11 for cam16 and Jz  brightness Q or J

* Clean and refine code

* Various change dafult language  and CAM16 CAM02 replace by Cam16 Cam02

* Change modeQJ method for 5.11 in function ppversion

* Change labels as suggested by Wayne PR 7111

* Others changes suggested for label

* Change tooltips as suggested in PR

* Use unique pointer instead of manual management

* Update rtdata/languages/default

Co-authored-by: Lawrence37 <45837045+Lawrence37@users.noreply.github.com>

* Change all Cam16 references to CAM16

* Change convention uppercase and lowercase in frame - checkbox

* Improve tooltips for Tone Mapping Operators

* Another change CIECAM and uppercase lowercase in checkbox

* Remove appimage and windows yml

---------

Co-authored-by: Lawrence Lee <45837045+Lawrence37@users.noreply.github.com>
2025-01-19 07:52:32 +01:00
Lawrence Lee
187a0318d3 Fix pp3 deletion when clearing processing params
Fix comparison of original vs. current rank. The rank value can be -1,
which should be interpreted as 0. This allows proper assessment if the
rank has been changed. The pp3 is deleted if and only if the rank, color
label, and trash status are unchanged. pp3s were not getting deleted
because of the mismatch between the original rank (-1) and current rank
(0).

Also consider the rank and color label in the metadata and XMP sidecars.
If the rank and color label have not been edited in the current session
and the current values match the ones in the metadata and XMP sidecars,
the pp3 can be deleted.
2025-01-18 18:01:30 -08:00
Lawrence37
98752a2433 Merge pull request #7257 from Beep6581/fix-warnings-5.12
Compiler warning fixes
2024-12-26 22:26:11 -08:00
Lawrence37
ed7f2d0690 Merge pull request #7255 from digitalcarp/cleanup-includes
Get rid of relative include paths
2024-12-26 22:25:58 -08:00
Lawrence37
3c21dca522 Merge pull request #7253 from digitalcarp/framing
Add Framing Tool
2024-12-18 22:16:28 -08:00
Lawrence Lee
5fe1520c65 Set font size of quick info display
Use the main font size set in preferences.
2024-12-08 17:17:41 -08:00
Daniel Gao
a54aacca3f Switch framing tool events to use event mapper
* Removed hard coded events from ProcEventCode and RefreshMap
* Change HISTORY_MSG_* to HISTORY_MSG_FRAMING_*
2024-11-30 15:03:14 -05:00
Lawrence37
082d9ff4e8 Merge pull request #7242 from Lawrence37/batch-exif-reset-fix
Fix for all EXIF data getting selected
2024-11-24 16:12:55 -08:00
Lawrence37
98136d3738 Merge pull request #7235 from Lawrence37/fftw-blur-radius-fix
FFTW blur radius fix
2024-11-24 16:10:38 -08:00
Lawrence37
df5f1b31f7 Merge pull request #7231 from Beep6581/ukrainian
Ukrainian translation
2024-11-24 16:06:52 -08:00
Lawrence37
7d0ce2fbee Merge pull request #7224 from Lawrence37/rank-reset-fix
Fix for rank, color label, and trash status reset
2024-11-24 16:06:34 -08:00
Pandagrapher
77fefe90b3 Fix for review remarks 2024-11-23 18:07:13 +01:00
Lawrence Lee
29a344aef1 Fix some more compiler warnings 2024-11-18 23:42:33 -08:00
Daniel Gao
45bde1c999 Add uniform relative sizing method to framing tool 2024-11-18 15:33:55 -05:00
Daniel Gao
57ef07f3f6 Improve framing tool usability
* Rename "Resize" to "Resize & Framing" from discoverability
* Add ColorPreview class for displaying a solid color
* Add border color preview
2024-11-18 15:33:55 -05:00
Daniel Gao
4358c2d7a6 Fix computation errors in framing tool
* Compute image aspect ratio if required instead of leaving at 0
* Fix divide by zero error in computing framed size
* Compute resize scale based on original crop
* Reword "Current" aspect ratio to "As Image"
2024-11-18 15:33:55 -05:00
Daniel Gao
55480f40ea Fix framing tool batch mode behavior
* Add adjuster add/set options to preferences
* Update width/height limits
* Trim adjuster values
* Batch mode fixes
  * Display all settings with sensitivity
  * Add "(Unchanged)" option to combo boxes
  * Fix checked button toggle modes
2024-11-18 15:33:55 -05:00
Daniel Gao
7ccab91434 Implement drawing border for framing tool
* Draws border after all resize operations are complete
* Update the RGB sliders for 16-bit channels
2024-11-18 15:33:55 -05:00
Daniel Gao
b88ad569c2 Tweak framing tool GUI
* Set sensitivity of aspect ratio and orientation combo boxes
* Sensitivity determined by absolute/relative sizing method
* Show allow upscaling box for BBOX framing method
2024-11-18 15:33:54 -05:00
Daniel Gao
29945f4a35 Implement ProcEvents for framing tool
* Add new events to ProcEvents
* Add new events to refresh map under RESIZE category
* Add new strings for displaying events in history panel
* Hook up GUI events with emitting ProcEvents
2024-11-18 15:33:54 -05:00
Daniel Gao
757a0a032a Implement partial profile for framing tool
* Update partial profile load/save GUI to include framing tool
* Allows for loading/saving framing tool parameters from the clipboard
2024-11-18 15:33:54 -05:00
Daniel Gao
114a4680de Implement FramingParamsEdited operations
* Implements edited param manipulation operations for framing tool
2024-11-18 15:33:54 -05:00
Daniel Gao
d1148539bb Implement load/save for FramingParams
* Implement writing FramingParams to keyfile
* Implement reading FramingParams from keyfile
2024-11-18 15:33:54 -05:00
Daniel Gao
8e68eccb85 Add framing tool ProcParams
* Adds FramingParams parameter struct to ProcParams
* Implement saving and writing to struct from framing tool GUI
2024-11-18 15:33:53 -05:00
Daniel Gao
b472fbf2ab Add RAII listener blocking utility
* Added for ToolPanel listener and Adjuster
* Follows style of ConnectionBlocker for sigc::connection
2024-11-18 15:33:53 -05:00
Daniel Gao
03a73eb3a4 Add framing tool GUI
* 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
2024-11-18 15:33:53 -05:00
Daniel Gao
96ad7051cf Refactor aspect ratios out of crop.cc 2024-11-18 15:33:53 -05:00
Lawrence Lee
cf20964b59 Fix compiler warnings 2024-11-17 15:39:07 -08:00
Lawrence Lee
4e9ceff1e9 Merge remote-tracking branch 'origin/fix-warnings-5.9' into fix-warnings-5.12 2024-11-16 22:27:29 -08:00
Daniel Gao
711f274403 Get rid of relative include paths
* Use target_include_directories to specify include paths
* Specify project root (parent of rtgui and rtengine) as include path
* Replace relative includes with normal includes
2024-11-16 17:20:02 -05:00
Desmis
b73840cf3c Gamut compression - reduce artifacts resulting from out of gamut (#7205)
* First functions needs for ACES

* New file GUI compressgamut

* GUI first step

* GUI first step

* Gui step 2

* GUI procparams and paramsedit

* GUI read

* GUI step 4

* GUI step 5

* First tooltip

* Gamut compression tooltips

* Various GUI improvment

* History msg

* Comment code with Aces remarks

* First change improccoordinator and events

* Save work on matrix

* Compress gamut next work

* First try gamut compress

* Replace cout by printf in invertmatrix

* Change tooltips and events

* Added namespace std to iplab2rgb

* Comment code

* Active rtthumbnail

* Change tooltip

* Various improvment GUI and rolloff

* Added adobeRGB gamut

* Appimage windows yml

* Remove rttumbnail gamutcompr

* Change event to COMPR

* Change tooltip and verbose

* Restore raw de-haze history message

* Refactor ACES gamut compression functions

* Fix gamut compression color space history message

Correctly display the color space name.

* Add "unchanged" for gamut compression color space

Allow "unchanged" in batch mode.

* Fix gamut compression yellow distance for batch

* Update copyright for gamut compression GUI

* Fix gamut compression color space names

* Refactor gamut compression code

* Remove comment rtthumnail.cc - Acesp1 default

* Change matrix DCI-P3 - threshold maximum to 1 in GUI and in gamut compression - tooltips

* Change tooltip

* Clean code - change tooltips

* Remove appimage windows yml

---------

Co-authored-by: Lawrence Lee <45837045+Lawrence37@users.noreply.github.com>
2024-11-14 13:08:52 +01:00
Desmis
691fe80896 Revert "Generalized Hyperbolic Stretch in Selective Editing (#7210)" (#7250)
This reverts commit 16db6186dd.
2024-11-14 10:29:29 +01:00
Desmis
16db6186dd Generalized Hyperbolic Stretch in Selective Editing (#7210)
* GHS GUI first step

* GHS GUI first step

* GUI step 3

* Hide show ghsmethod

* Siril functions for ghs

* Init ghs in iplocallab

* ghs step 2

* ghs step 4

* Comment copyright Pixlnsight 2021

* Smooth highlights and tooltips

* Enabled saturation and luminance ghs mode

* First tooltip

* Ghs tooltips

* Remove wrong packstart inverssh

* Change labels and tooltips

* Disabled mask in global and other improvments

* Comment code

* appimage and windows yml ghs

* Change tooltip

* Ghsmethod hue and change tolltips

* Change tooltip

* Inverse Stretch step 1

* Inverse GHS

* GHS tooltips

* Change tooltips

* Change tooltip

* Linear black point

* Small change to blackpoint

* Change tooltip

* Clean and comment code

* forgotten GHS highlight attenuation msg in history

* Comment code with Transformation equations

* Change tooltip

* Wrong default value balck point

* Comment code iplocallab

* Ghs curve step 1

* GHS curve step 2

* Show GHS setting in a Curve Box

* Tooltip for ghs S curve

* Disabled warning in compilation simpleprocess

* Simplified code part 1

* Simplified code GHS graph part 2

* Improve black point with negatives values

* Improve BP and tooltip

* Listener enable only with GHS

* White point for GHS

* Change label and tooltip

* Improve behavior white point and black point

* Link sliders ghs_SP ghs_LP ghs_HP and change code to avoid balck screen

* hide unused button in diagonal curve GHS

* prevents the GHS representation in S from displaying artifacts if ghs-d=0

* Change tooltips

* Improvment and tooltips

* Forgotten tooltip

* Improve GUI GHS S curve - change tooltips

* Set transition gray areas in S curve GHS with values of the RT-spot

* Change label GHS

* setlogscale blackpoint and symmetry

* Set recursive reference enable by default in controlspotpanel

* Change lastlocalCurvesDir Dirghs in locallabtools and options - change labels

* Added in converttonormal ghsMode.. not sure if this is useful

* DIY to make GHS curve work without the choices

* Change RGB calculation with luminance function working profile

* 5 modes GHS method

* Label to show datas clipped Black point and White point

* Various change white point tooltips

* Bad behavior wp bp labels

* Small change to improccordinator call to ghschanged ghsbwchanged

* Set log scale ghs_D

* Hide Graduated filter if GHS enable

* Luminance Lab in ghsmethod

* Lab slope factor step 1

* Slope and Chromaticity GHS improvments

* Fixed bad sqrt line 17477 iplocallab

* Workaround linear GHS - re-enable Graduated filer GHS

* Change limits slope lab factor

* Ghs chromaticity Lab (Lch)

* Improve ghs chromaticity

* Change labels and tooltips Lab chroma

* Slope Lab to 100

* Noise and saturation RGB

* Saturation RGB standard and labels

* Change histogram and navigator panel without gamma when using working profile

* Remove gray in GHS curve

* Local contrast a minima

* Regularization stretch

* Improve Graduated Filter in all cases GHS Color and Light etc.

* Improves nlmeans to reduce noise after GHS

* Change to GF - tooltip Nlmeans

* Added oW oH tW tH etc.

* Added call GF

* tX tY for previewProps

* Comment code GF

* Improve local contrast ghs

* Change norm to norm2

* Improve GUI mode complexity and Lab GHS

* Show values BP WP in GUI

* Labgrid ghs step 1

* Labgrid for simulation GHS - step 2

* More points for Labgrid ghs

* Clean and comment code

* Fixed crash in inverse GHS white point - set to 10 points for GSH simulation

* Change to black point in inverse GHS

* Intilialize simulation with nothing if new spot

* Remove curve GHS - optimize code simulation - improve GUI

* set ghs default - fixed crash is case HP SP LP

* Fixed crash - I hope in inverse GHS

* Simplify WP and BP limits to avoid crash in inverse GHS

* Clean code with ghscurve - ghsshape

* Change tooltips

* Change to D - GUI - comment code

* Simulation with 4 more points

* Best simulation with point 0.05 and 0.95

* Clean code - change for crsah in Inverse GHS

* Show values WP and BP
2024-11-13 08:23:41 +01:00
Lawrence Lee
7bc69bc5dd Fix EXIF when resetting history with batch edit
Resetting the history to the first entry in the batch edit tab caused
all the EXIF keys to become selected. There should be no modifications
to the selection because EXIF editing is not available in batch edit
mode.
2024-11-09 21:14:40 -08:00
Lawrence Lee
9b16f407aa Fix blur radius when using the Fourier method
Fix the formula, adapt old pp3s, and change the maximum blur radius
where applicable.
2024-10-27 18:45:58 -07:00
Lawrence Lee
1d03fba1c4 Add Ukrainian translation
Provided by strange-sparrow in
https://github.com/Beep6581/RawTherapee/issues/7216.
2024-10-26 12:13:30 -07:00
Lawrence Lee
b16287ff6f Fix rank, color label, and trash status reset
The rank, color label, and trash status from a previous session would
reset after editing an image or clearing the processing profile.
2024-10-20 15:14:50 -07:00
Lawrence Lee
860306dc35 Allow reading more than 6 sub-frames
This allows all images to be read from a Canon burst raw file.

Refactor raw image source to use unique_ptr.
2024-10-06 18:01:40 -07:00
Desmis
00360a6dbb Remove GUI mask in Global mode (#7207)
* Hide GUI mask and recovery in global mode

* Disabled enamask in Global mode
2024-10-01 09:10:59 +02:00
Lawrence37
f8386306c9 Merge pull request #6689 from abrock/defish
De-fish
2024-09-27 21:48:55 -07:00
Desmis
348c8e8894 Improve Dehaze for Raw files - Raw black point (#7133)
* Show min raw values in console, #5769

* Speedup

* outsourced calculation of raw min values

* First try GUI

* Improve GUI

* Clean code

* Change behavior GUI

* First step GUI Xtrans

* Second step GUI Xtrans

* Last step X-trans black dehaze

* Appimage and windows yml poordeha

* disabled sliders R G B when dehaze enabled

* Remove idle_register autoblackchanged

* Changes suggested by Lawrence37 to improve double processing

* Remove yml appaimage windows

---------

Co-authored-by: Ingo Weyrich <heckflosse67@gmx.de>
2024-09-17 08:29:21 +02:00
Alexander Brock
53a64a9235 Make history event correctly show "Defish - Focal Length" when changing the focal length of the defish tool 2024-09-12 21:06:52 +02:00
Alexander Brock
ac7b3fc651 Add rtengine::ProcEvent for de-fishing 2024-09-11 17:39:59 +02:00
Alexander Brock
f6010c13c6 Add ADDSET functionality for scale parameter 2024-09-08 15:00:49 +02:00
Alexander Brock
69efe6ae5e Make the defish button the label of the defish frame 2024-09-04 22:54:16 +02:00