File indexing completed on 2025-01-05 03:51:42
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2004-08-24 0007 * Description : a tool to reduce CCD noise. 0008 * 0009 * SPDX-FileCopyrightText: 2004-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0010 * 0011 * SPDX-License-Identifier: GPL-2.0-or-later 0012 * 0013 * ============================================================ */ 0014 0015 #ifndef DIGIKAM_EDITOR_NOISE_REDUCTION_TOOL_H 0016 #define DIGIKAM_EDITOR_NOISE_REDUCTION_TOOL_H 0017 0018 // Local includes 0019 0020 #include "editortool.h" 0021 0022 using namespace Digikam; 0023 0024 namespace DigikamEditorNoiseReductionToolPlugin 0025 { 0026 0027 class NoiseReductionTool : public EditorToolThreaded 0028 { 0029 Q_OBJECT 0030 0031 public: 0032 0033 explicit NoiseReductionTool(QObject* const parent); 0034 ~NoiseReductionTool() override; 0035 0036 private: 0037 0038 void readSettings() override; 0039 void writeSettings() override; 0040 void preparePreview() override; 0041 void prepareFinal() override; 0042 void setPreviewImage() override; 0043 void setFinalImage() override; 0044 void analyserCompleted() override; 0045 0046 private Q_SLOTS: 0047 0048 void slotResetSettings() override; 0049 void slotLoadSettings() override; 0050 void slotSaveAsSettings() override; 0051 void slotEstimateNoise(); 0052 0053 private: 0054 0055 class Private; 0056 Private* const d; 0057 }; 0058 0059 } // namespace DigikamEditorNoiseReductionToolPlugin 0060 0061 #endif // DIGIKAM_EDITOR_NOISE_REDUCTION_TOOL_H