File indexing completed on 2024-05-26 04:33:07
0001 /* 0002 * This file is part of the KDE project 0003 * 0004 * SPDX-FileCopyrightText: 2005 Cyrille Berger <cberger@cberger.net> 0005 * SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef KIS_WAVELET_NOISE_REDUCTION_H 0009 #define KIS_WAVELET_NOISE_REDUCTION_H 0010 0011 #include <vector> 0012 0013 #include <filter/kis_filter.h> 0014 0015 #define BEST_WAVELET_THRESHOLD_VALUE 7.0 0016 0017 /** 0018 @author Cyrille Berger 0019 */ 0020 class KisWaveletNoiseReduction : public KisFilter 0021 { 0022 public: 0023 KisWaveletNoiseReduction(); 0024 0025 ~KisWaveletNoiseReduction() override; 0026 0027 public: 0028 0029 void processImpl(KisPaintDeviceSP device, 0030 const QRect& applyRect, 0031 const KisFilterConfigurationSP config, 0032 KoUpdater* progressUpdater 0033 ) const override; 0034 KisConfigWidget * createConfigurationWidget(QWidget* parent, const KisPaintDeviceSP dev, bool useForMasks) const override; 0035 0036 static inline KoID id() { 0037 return KoID("waveletnoisereducer", i18n("Wavelet Noise Reducer")); 0038 } 0039 0040 private: 0041 KisFilterConfigurationSP defaultConfiguration(KisResourcesInterfaceSP resourcesInterface) const override; 0042 }; 0043 0044 #endif