digiKam
Loading...
Searching...
No Matches
dnnmodelbase.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2024-10-13
7 * Description : digiKam DNNModelNet base class
8 *
9 * SPDX-FileCopyrightText: 2024 by Michael Miller <michael underscore miller at msn dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QMutex>
20#include <QVersionNumber>
21#include <QPair>
22
23// Local includes
24
25#include "digikam_opencv.h"
26#include "digikam_export.h"
27#include "filesdownloader.h"
28#include "dnnmodeldefinitions.h"
30
31namespace Digikam
32{
33
34class DIGIKAM_EXPORT DNNModelBase
35{
36
37public:
38
39 explicit DNNModelBase(const DNNModelInfoContainer& _info);
40 virtual ~DNNModelBase() = default;
41
42
43 // ---------- public members ----------
44
49 float getThreshold(int uiThreshold = DNN_MODEL_THRESHOLD_NOT_SET) const;
50 DownloadInfo getDownloadInformation() const;
51
55 const QString getModelPath() const;
56
57public:
58
59 bool modelLoaded = false;
61 QMutex mutex;
62
63protected:
64
66
67 bool checkFilename() const;
68 const QPair<int, int> getBackendAndTarget() const;
69
70private:
71
72 DNNModelBase() = delete;
73 virtual bool loadModel() = 0;
74};
75
76} // namespace Digikam
Definition dnnmodelbase.h:35
virtual ~DNNModelBase()=default
QMutex loaderMutex
Definition dnnmodelbase.h:65
QMutex mutex
mutex to sigle-thread model during critical processing functions.
Definition dnnmodelbase.h:61
const DNNModelInfoContainer info
information about the model.
Definition dnnmodelbase.h:60
Definition dnnmodelinfocontainer.h:33
Definition filesdownloader.h:34
Definition datefolderview.cpp:34