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>
This commit is contained in:
Desmis
2024-11-14 13:08:52 +01:00
committed by GitHub
parent 691fe80896
commit b73840cf3c
20 changed files with 1059 additions and 2 deletions

View File

@@ -101,6 +101,9 @@ const std::vector<ToolTree> COLOR_PANEL_TOOLS = {
{
.id = Tool::WHITE_BALANCE,
},
{
.id = Tool::COMPRESSGAMUT_TOOL,
},
{
.id = Tool::VIBRANCE,
},
@@ -309,6 +312,7 @@ ToolPanelCoordinator::ToolPanelCoordinator (bool batch) : ipc (nullptr), favorit
vibrance = Gtk::manage(new Vibrance());
colorappearance = Gtk::manage(new ColorAppearance());
whitebalance = Gtk::manage(new WhiteBalance());
compressgamut = Gtk::manage (new Compressgamut ());
vignetting = Gtk::manage(new Vignetting());
retinex = Gtk::manage(new Retinex());
gradient = Gtk::manage(new Gradient());
@@ -576,6 +580,8 @@ std::string ToolPanelCoordinator::getToolName(Tool tool)
return ImpulseDenoise::TOOL_NAME;
case Tool::DEFRINGE_TOOL:
return Defringe::TOOL_NAME;
case Tool::COMPRESSGAMUT_TOOL:
return Compressgamut::TOOL_NAME;
case Tool::SPOT:
return Spot::TOOL_NAME;
case Tool::DIR_PYR_DENOISE:
@@ -1937,6 +1943,8 @@ FoldableToolPanel *ToolPanelCoordinator::getFoldableToolPanel(Tool tool) const
return impulsedenoise;
case Tool::DEFRINGE_TOOL:
return defringe;
case Tool::COMPRESSGAMUT_TOOL:
return compressgamut;
case Tool::SPOT:
return spot;
case Tool::DIR_PYR_DENOISE: