Bug 408880 - bezier Curve error
Summary: bezier Curve error
Status: REPORTED
Alias: None
Product: digikam
Classification: Applications
Component: Plugin-Editor-Curves (show other bugs)
Version: 7.0.0
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-06-18 20:00 UTC by Alexandre Belz
Modified: 2023-10-15 12:34 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Screenshot (974.08 KB, image/png)
2019-06-18 20:00 UTC, Alexandre Belz
Details
Gimp bezier curve (876.58 KB, image/png)
2019-08-13 20:14 UTC, Alexandre Belz
Details
Darktable bezier curve (974.91 KB, image/png)
2019-08-13 20:14 UTC, Alexandre Belz
Details
Digikam 6.2.0 bezier curve (1.07 MB, image/png)
2019-08-13 20:15 UTC, Alexandre Belz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexandre Belz 2019-06-18 20:00:25 UTC
Created attachment 120985 [details]
Screenshot

SUMMARY
The Luminance curve is broken by the topmost darkpoint.

STEPS TO REPRODUCE
1. In curve module
2. Move the darkest red point slightly to the right
3. Add an intermediate handle red point close to it, slightly at the right , and above, to shed more lights in the shadows.

OBSERVED RESULT
The bezier curve is broken at the darkest handle point.

EXPECTED RESULT
The bzier curve should be continuous.

SOFTWARE/OS VERSIONS
Windows: Windows 10

ADDITIONAL INFORMATION
See attached sample
Comment 1 Alexandre Belz 2019-07-25 20:44:05 UTC
Hello, do you have any news about this critical bug ?
I'm using Darktable in the meanwhile...
Comment 2 Maik Qualmann 2019-07-26 04:47:13 UTC
Git commit df4f3ad134f9bd6b54b37826c9dfa15dd78b0641 by Maik Qualmann.
Committed on 26/07/2019 at 04:45.
Pushed by mqualmann into branch 'master'.

do not print curves points in the curve

M  +2    -2    core/libs/dimg/filters/curves/imagecurves.cpp

https://invent.kde.org/kde/digikam/commit/df4f3ad134f9bd6b54b37826c9dfa15dd78b0641
Comment 3 Maik Qualmann 2019-07-26 04:54:27 UTC
It is not perfect yet, it is possible that the curve does not pass through the control point. There are different strategies so that the curve also traverses all control points. In newer Gimp versions, the curve is stretched, but then leads to a toothed curve. Darktable and Krita lift the curve. But even with Dartable I can still set control points that are not traversed, also not perfect. We will revise the function in the near future, it will not affect the result.

Maik
Comment 4 Alexandre Belz 2019-08-12 14:27:25 UTC
I understand @Maik, but here it's not a complex curve with many points.
I'm just trying to setup a classical "S Curve" , with Black levels starting a higher than (0;0;0).
I succeeded to do it with Darktable but not with Digikam.

I've seen you've released a new code.
Should I retry with official release 6.2 recently published ?

Alex
Comment 5 caulier.gilles 2019-08-12 15:41:32 UTC
Please yes, try with current released 6.2.0, just to be sure. 

Thanks in advance

Gilles Caulier
Comment 6 Alexandre Belz 2019-08-13 20:13:30 UTC
Hello, 
I've just tried with 6.2.0 official, and I'm sorry, but it's still not good.
With similar S Curve/control points, I've attached screen capture for Digikam, Darktable, and GIMP.
* GIMP is perfect.
* Darktable is almost perfect (although whitest ending side is floating), 
* Digikam is not good : Curve is broken for high lights, and curve does not use all points for dark part.

I suggest that digikam get inspired by GIMP bezier curve :)
Comment 7 Alexandre Belz 2019-08-13 20:14:13 UTC
Created attachment 122103 [details]
Gimp bezier curve
Comment 8 Alexandre Belz 2019-08-13 20:14:52 UTC
Created attachment 122104 [details]
Darktable bezier curve
Comment 9 Alexandre Belz 2019-08-13 20:15:47 UTC
Created attachment 122105 [details]
Digikam 6.2.0 bezier curve
Comment 10 Alexandre Belz 2019-09-09 13:20:19 UTC
Hello guys, any news on that one ?
I'm using Darktable in the meanwhile.
Comment 11 Alexandre Belz 2020-08-03 11:10:35 UTC
I confirm that the "bug" persists in 7.0

Close points are badly managed.
We should get inspired by "the GIMP" Bezier handle management.
Comment 12 caulier.gilles 2023-10-15 12:34:36 UTC
@Alexandre Belz,


This problem still reproducible with the new digiKam 8.2.0 pre-release Windows
installer available at usual place:

https://files.kde.org/digikam/

This new bundle is based on last Qt framework 5.15.11 and KDE framework 5.110.

Thanks in advance

Gilles Caulier