Bug 225723

Summary: simple sharpen is awfully slow
Product: [Applications] digikam Reporter: Johannes Wienke <languitar>
Component: Plugin-Editor-SharpenAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles, kenjarvis
Priority: NOR    
Version: 1.2.0   
Target Milestone: ---   
Platform: Arch Linux   
OS: Unspecified   
Latest Commit: Version Fixed In: 4.3.0
Sentry Crash Report:

Description Johannes Wienke 2010-02-06 14:55:24 UTC
Version:           trunk (using KDE 4.3.4)
Installed from:    Archlinux Packages

The code for the simple sharpen tool is awfully slow and takes ages to compute a single image or even a really small preview region.
Comment 1 Andi Clemens 2011-03-09 11:24:27 UTC
The same for the blur filter... it was faster before, but somehow we removed the cimg functionality again. CImg was up to 10 times faster...
Comment 2 caulier.gilles 2011-11-16 14:30:13 UTC
*** Bug 278540 has been marked as a duplicate of this bug. ***
Comment 3 caulier.gilles 2011-11-16 14:31:17 UTC
Andi,

If you have an algorithm faster to include in source code, let's me hear.

The current one, if i remember, come from gimp...

Gilles Caulier
Comment 4 Andi Clemens 2011-11-16 21:33:59 UTC
I don't know any algorithm from scratch, but I changed blur and sharpen to the CImg version back in 2009. We removed it again, but why...? I can not remember.

Andi
Comment 5 caulier.gilles 2011-11-17 06:55:11 UTC
For 2 reasons :

1/ CImg algorithm is not cancellable. It's mandatory in editor, especially if large image are processed.
2/ CImg API is deprecated. CImg.h is old now in digiKam core. CImg have been forked in GMic project which break whole API/ABI. For that, we have a problem with all Greystoration tools in digiKam. We need to port all to GMic, and it's not simple.

Some algorithm can be taken in ImageMagick for ex. This one support already 16 bits color depth. I already do that with unsharp-mask algorithm.

Gilles
Comment 6 caulier.gilles 2014-09-02 13:44:03 UTC
This entry is fixed since 4.2.0 release due to use Multicore support with Sharp algorithm.

Gilles Caulier