52 const QRect& applyRect,
72 }
catch (
const std::bad_alloc&) {
73 if (buff)
delete buff;
78 }
catch (
const std::bad_alloc&) {
86 const int size = fin - begin;
87 const int progressOffset = int(std::ceil(std::log2(size / 100)));
88 const int progressMask = (1 << progressOffset) - 1;
89 const int numProgressSteps = size >> progressOffset;
90 int pointsProcessed = 0;
92 progressUpdater->
setRange(0, numProgressSteps);
94 for (
float* it = begin; it < fin; it++) {
95 if (*it > threshold) {
97 }
else if (*it < -threshold) {
103 if (!(pointsProcessed & progressMask)) {
104 progressUpdater->
setValue(pointsProcessed >> progressOffset);
KisWaveletNoiseReduction()
~KisWaveletNoiseReduction() override
KisFilterConfigurationSP defaultConfiguration(KisResourcesInterfaceSP resourcesInterface) const override
KisConfigWidget * createConfigurationWidget(QWidget *parent, const KisPaintDeviceSP dev, bool useForMasks) const override
void processImpl(KisPaintDeviceSP device, const QRect &applyRect, const KisFilterConfigurationSP config, KoUpdater *progressUpdater) const override
void setValue(int value) override
void setRange(int minimum, int maximum) override
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
const KoID FiltersCategoryEnhanceId("enhance_filters", ki18nc("The category of enhancement filters, like sharpen. Verb.", "Enhance"))
#define BEST_WAVELET_THRESHOLD_VALUE
void setSupportsThreading(bool v)
virtual KisFilterConfigurationSP factoryConfiguration(KisResourcesInterfaceSP resourcesInterface) const
void setSupportsPainting(bool v)