![]() |
digiKam Developer Documentation
Professional Photo Management with the Power of Open Source
|
Public Types | |
enum | FilterMode { ScanAll , ScanNew , TrainNew , TrainAll , TrainRemove , TrainReset } |
enum | WriteMode { NormalWrite , OverwriteAllFaces , OverwriteUnconfirmed } |
![]() | |
enum | MLPipelineNotification { notifySkipped , notifyProcessed } |
typedef struct Digikam::MLPipelineFoundation::_MLPipelinePerformanceProfile | MLPipelinePerformanceProfile |
typedef SharedQueue< MLPipelinePackageFoundation * > | MLPipelineQueue |
enum | MLPipelineStage { Finder , Loader , Extractor , Classifier , Trainer , Writer , None } |
Public Member Functions | |
FacePipelineBase (const FaceScanSettings &_settings) | |
![]() | |
virtual void | cancel () |
bool | hasFinished () const |
virtual bool | start () |
Protected Member Functions | |
bool | commonFaceThumbnailExtractor (const QString &pipelineName, QThread::Priority stagePriority, MLPipelineFoundation::MLPipelineStage thisStage, MLPipelineFoundation::MLPipelineStage nextStage, bool trainingQualityCheck=false) |
bool | commonFaceThumbnailLoader (const QString &pipelineName, QThread::Priority stagePriority, MLPipelineFoundation::MLPipelineStage thisStage, MLPipelineFoundation::MLPipelineStage nextStage) |
double | detectBlur (const cv::Mat &cvGrayImage) const |
double | detectNoise1 (const cv::Mat &cvGrayImage) const |
double | detectNoise2 (const cv::Mat &cvGrayImage) const |
bool | enqueue (MLPipelineQueue *thisQueue, MLPipelinePackageFoundation *package) override |
bool | useForTraining (const cv::Rect origSize, const cv::Mat &image) |
![]() | |
virtual void | addMoreWorkers ()=0 |
bool | addWorker (const MLPipelineStage &stage) |
bool | checkMoreWorkers (int totalItemCount, int currentItemCount, bool useFullCpu) |
virtual bool | classifier ()=0 |
void | clearAllQueues () |
void | clearQueue (MLPipelineQueue *thisQueue) |
virtual MLPipelinePackageFoundation * | dequeue (MLPipelineQueue *thisQueue) |
void | emitSignalUpdateItemCount (const qlonglong itemCount) |
Helper methods to perform signal emitting through the MLPIPELINE_FINDER_END mocro with the moc processor. | |
virtual bool | extractor ()=0 |
virtual bool | finder ()=0 |
virtual bool | loader ()=0 |
virtual void | notify (MLPipelineNotification notification, const QString &_name, const QString &_path, const QString &_displayData, int _processed, const DImg &_thumbnail) |
virtual void | notify (MLPipelineNotification notification, const QString &_name, const QString &_path, const QString &_displayData, int _processed, const QIcon &_thumbnail) |
virtual void | notify (MLPipelineNotification notification, const QString &_name, const QString &_path, const QString &_displayData, int _processed, const QImage &_thumbnail) |
void | pipelinePerformanceEnd (const MLPipelineStage &stage, int totalItemCount, QElapsedTimer &timer) |
void | pipelinePerformanceEnd (const MLPipelineStage &stage, QElapsedTimer &timer) |
void | pipelinePerformanceStart (const MLPipelineStage &stage, QElapsedTimer &timer) |
MLPipelinePackageFoundation * | queueEndSignal () const |
void | showPipelinePerformance () const |
void | stageEnd (MLPipelineStage thisStage, MLPipelineStage nextStage) |
void | stageStart (QThread::Priority threadPriority, MLPipelineStage thisStage, MLPipelineStage nextStage, MLPipelineQueue *&thisQueue, MLPipelineQueue *&nextQueue) |
virtual bool | trainer ()=0 |
void | waitForStart () |
virtual bool | writer ()=0 |
Protected Attributes | |
double | blurThreshold = 4.87f |
DNNModelBase * | detectorModel = nullptr |
float | minThumbnailSize = 0.33f |
double | noiseThreshold1 = 3.7 |
double | noiseThreshold2 = 1.89 |
FaceScanSettings | settings |
![]() | |
bool | cancelled = false |
QAtomicInteger< int > | itemsProcessed = 0 |
quint64 | maxBufferSize = 2147483648 |
2 GB default | |
QMutex | mutex |
QMap< MLPipelineStage, MLPipelinePerformanceProfile > | performanceProfileList |
QMap< MLPipelineStage, MLPipelineQueue * > | queues |
QThreadPool * | threadPool = nullptr |
QMutex | threadStageMutex |
const int | throttledQueueDepth = 1 |
QAtomicInteger< int > | totalItemCount = 0 |
quint64 | usedBufferSize = 0 |
QList< QFutureWatcher< bool > * > | watchList |
Additional Inherited Members | |
![]() | |
void | finished () |
Emitted when the last package has finished processing. | |
void | processed (const MLPipelinePackageNotify::Ptr &package) |
Emitted when one package has finished processing. | |
void | processing (const MLPipelinePackageNotify::Ptr &package) |
Emitted when one package begins processing. | |
void | progressValueChanged (float progress) |
void | scheduled () |
Emitted when processing is scheduled. | |
void | signalAddMoreWorkers () |
void | signalUpdateItemCount (const qlonglong itemCount) |
void | skipped (const MLPipelinePackageNotify::Ptr &package) |
Emitted when one or several packages were skipped, usually because they have already been scanned. | |
void | started (const QString &message) |
Emitted when processing has started. | |
|
overrideprotectedvirtual |
Reimplemented from Digikam::MLPipelineFoundation.