digiKam Developer Documentation
Professional Photo Management with the Power of Open Source
Loading...
Searching...
No Matches
Digikam::AutotagsPipelineBase Class Reference
+ Inheritance diagram for Digikam::AutotagsPipelineBase:

Public Member Functions

 AutotagsPipelineBase (const AutotagsScanSettings &_settings)
 
virtual void bqmSendOne (QScopedPointer< DMetadata > &_bqmMeta, const ItemInfo &info, const QUrl &outputUrl, const DImg &image)
 
virtual void notify (MLPipelineNotification notification, const QString &_name, const QString &_path, const QString &_displayData, int _processed, const DImg &_thumbnail) override
 
virtual void notify (MLPipelineNotification notification, const QString &_name, const QString &_path, const QString &_displayData, int _processed, const QIcon &_thumbnail) override
 
virtual void notify (MLPipelineNotification notification, const QString &_name, const QString &_path, const QString &_displayData, int _processed, const QImage &_thumbnail) override
 
virtual bool start () override
 
- Public Member Functions inherited from Digikam::MLPipelineFoundation
virtual void cancel ()
 
bool hasFinished () const
 

Protected Member Functions

bool enqueue (MLPipelineQueue *thisQueue, MLPipelinePackageFoundation *package) override
 
- Protected Member Functions inherited from Digikam::MLPipelineFoundation
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 MLPipelinePackageFoundationdequeue (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
 
void pipelinePerformanceEnd (const MLPipelineStage &stage, int totalItemCount, QElapsedTimer &timer)
 
void pipelinePerformanceEnd (const MLPipelineStage &stage, QElapsedTimer &timer)
 
void pipelinePerformanceStart (const MLPipelineStage &stage, QElapsedTimer &timer)
 
MLPipelinePackageFoundationqueueEndSignal () 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

const QList< AlbumRootInfoalbumRoots
 
AutotagsClassifierBaseautotagsClassifier = nullptr
 
QScopedPointer< DMetadatabqmMeta
 
QUrl bqmOutputUrl
 
QSemaphore bqmSemaphore
 
DNNModelNetmodel = nullptr
 
AutotagsScanSettings settings
 
- Protected Attributes inherited from Digikam::MLPipelineFoundation
bool cancelled = false
 
QAtomicInteger< int > itemsProcessed = 0
 
quint64 maxBufferSize = 2147483648
 2 GB default
 
QMutex mutex
 
QMap< MLPipelineStage, MLPipelinePerformanceProfileperformanceProfileList
 
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

- Public Types inherited from Digikam::MLPipelineFoundation
enum  MLPipelineNotification { notifySkipped , notifyProcessed }
 
typedef struct Digikam::MLPipelineFoundation::_MLPipelinePerformanceProfile MLPipelinePerformanceProfile
 
typedef SharedQueue< MLPipelinePackageFoundation * > MLPipelineQueue
 
enum  MLPipelineStage {
  Finder , Loader , Extractor , Classifier ,
  Trainer , Writer , None
}
 
- Signals inherited from Digikam::MLPipelineFoundation
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.
 

Member Function Documentation

◆ enqueue()

bool Digikam::AutotagsPipelineBase::enqueue ( MLPipelineQueue thisQueue,
MLPipelinePackageFoundation package 
)
overrideprotectedvirtual

Reimplemented from Digikam::MLPipelineFoundation.

◆ notify() [1/3]

void Digikam::AutotagsPipelineBase::notify ( MLPipelineNotification  notification,
const QString &  _name,
const QString &  _path,
const QString &  _displayData,
int  _processed,
const DImg _thumbnail 
)
overridevirtual

Reimplemented from Digikam::MLPipelineFoundation.

◆ notify() [2/3]

void Digikam::AutotagsPipelineBase::notify ( MLPipelineNotification  notification,
const QString &  _name,
const QString &  _path,
const QString &  _displayData,
int  _processed,
const QIcon &  _thumbnail 
)
overridevirtual

Reimplemented from Digikam::MLPipelineFoundation.

◆ notify() [3/3]

void Digikam::AutotagsPipelineBase::notify ( MLPipelineNotification  notification,
const QString &  _name,
const QString &  _path,
const QString &  _displayData,
int  _processed,
const QImage &  _thumbnail 
)
overridevirtual

Reimplemented from Digikam::MLPipelineFoundation.

◆ start()

bool Digikam::AutotagsPipelineBase::start ( )
overridevirtual

Reimplemented from Digikam::MLPipelineFoundation.