Commit 659370e6b96bd37fb1749c203a4367317784b623

Authored by Josh Klontz
1 parent 9240e10e

cleaned up Context

sdk/openbr_plugin.cpp
@@ -667,20 +667,6 @@ void Object::init(const File &file_) @@ -667,20 +667,6 @@ void Object::init(const File &file_)
667 } 667 }
668 668
669 /* Context - public methods */ 669 /* Context - public methods */
670 -br::Context::Context()  
671 -{  
672 - QCoreApplication::setOrganizationName(COMPANY_NAME);  
673 - QCoreApplication::setApplicationName(PRODUCT_NAME);  
674 - QCoreApplication::setApplicationVersion(PRODUCT_VERSION);  
675 -  
676 - parallelism = std::max(1, QThread::idealThreadCount());  
677 - blockSize = parallelism * ((sizeof(void*) == 4) ? 128 : 1024);  
678 - quiet = verbose = false;  
679 - currentStep = totalSteps = 0;  
680 - enrollAll = false;  
681 - backProject = false;  
682 -}  
683 -  
684 int br::Context::blocks(int size) const 670 int br::Context::blocks(int size) const
685 { 671 {
686 return std::ceil(1.f*size/blockSize); 672 return std::ceil(1.f*size/blockSize);
@@ -757,13 +743,11 @@ bool br::Context::checkSDKPath(const QString &sdkPath) @@ -757,13 +743,11 @@ bool br::Context::checkSDKPath(const QString &sdkPath)
757 743
758 void br::Context::initialize(int argc, char *argv[], const QString &sdkPath) 744 void br::Context::initialize(int argc, char *argv[], const QString &sdkPath)
759 { 745 {
760 - qRegisterMetaType< QList<float> >();  
761 - qRegisterMetaType< QList<int> >();  
762 - qRegisterMetaType< br::Transform* >();  
763 - qRegisterMetaType< QList<br::Transform*> >();  
764 - qRegisterMetaType< cv::Mat >(); 746 + if (Globals == NULL) {
  747 + Globals = new Context();
  748 + Globals->init(File());
  749 + }
765 750
766 - if (Globals == NULL) Globals = new Context();  
767 Globals->coreApplication = QSharedPointer<QCoreApplication>(new QCoreApplication(argc, argv)); 751 Globals->coreApplication = QSharedPointer<QCoreApplication>(new QCoreApplication(argc, argv));
768 initializeQt(sdkPath); 752 initializeQt(sdkPath);
769 753
@@ -772,13 +756,27 @@ void br::Context::initialize(int argc, char *argv[], const QString &amp;sdkPath) @@ -772,13 +756,27 @@ void br::Context::initialize(int argc, char *argv[], const QString &amp;sdkPath)
772 MPI_Init(&argc, &argv); 756 MPI_Init(&argc, &argv);
773 MPI_Cobr_rank(MPI_CObr_WORLD, &rank); 757 MPI_Cobr_rank(MPI_CObr_WORLD, &rank);
774 MPI_Cobr_size(MPI_CObr_WORLD, &size); 758 MPI_Cobr_size(MPI_CObr_WORLD, &size);
775 - if (!Quiet) qDebug() << "OpenBR distributed process" << rank << "of" << size; 759 + if (!quiet) qDebug() << "OpenBR distributed process" << rank << "of" << size;
776 #endif // BR_DISTRIBUTED 760 #endif // BR_DISTRIBUTED
777 } 761 }
778 762
779 void br::Context::initializeQt(QString sdkPath) 763 void br::Context::initializeQt(QString sdkPath)
780 { 764 {
781 - if (Globals == NULL) Globals = new Context(); 765 + if (Globals == NULL) {
  766 + Globals = new Context();
  767 + Globals->init(File());
  768 + }
  769 +
  770 + QCoreApplication::setOrganizationName(COMPANY_NAME);
  771 + QCoreApplication::setApplicationName(PRODUCT_NAME);
  772 + QCoreApplication::setApplicationVersion(PRODUCT_VERSION);
  773 +
  774 + qRegisterMetaType< QList<float> >();
  775 + qRegisterMetaType< QList<int> >();
  776 + qRegisterMetaType< br::Transform* >();
  777 + qRegisterMetaType< QList<br::Transform*> >();
  778 + qRegisterMetaType< cv::Mat >();
  779 +
782 qInstallMsgHandler(messageHandler); 780 qInstallMsgHandler(messageHandler);
783 781
784 // Search for SDK 782 // Search for SDK
sdk/openbr_plugin.h
@@ -34,6 +34,7 @@ @@ -34,6 +34,7 @@
34 #include <QSharedPointer> 34 #include <QSharedPointer>
35 #include <QString> 35 #include <QString>
36 #include <QStringList> 36 #include <QStringList>
  37 +#include <QThread>
37 #include <QTime> 38 #include <QTime>
38 #include <QVariant> 39 #include <QVariant>
39 #include <QVector> 40 #include <QVector>
@@ -394,6 +395,7 @@ public: @@ -394,6 +395,7 @@ public:
394 395
395 private: 396 private:
396 template <typename T> friend struct Factory; 397 template <typename T> friend struct Factory;
  398 + friend class Context;
397 void init(const File &file); /*!< \brief Initializes the plugin's properties from the file's metadata. */ 399 void init(const File &file); /*!< \brief Initializes the plugin's properties from the file's metadata. */
398 }; 400 };
399 401
@@ -439,16 +441,16 @@ public: @@ -439,16 +441,16 @@ public:
439 BR_PROPERTY(QString, path, "") 441 BR_PROPERTY(QString, path, "")
440 442
441 /*! 443 /*!
442 - * \brief The maximum number of templates to process in parallel. 444 + * \brief The number of threads to use.
443 */ 445 */
444 - Q_PROPERTY(int blockSize READ get_blockSize WRITE set_blockSize RESET reset_blockSize)  
445 - BR_PROPERTY(int, blockSize, 1) 446 + Q_PROPERTY(int parallelism READ get_parallelism WRITE set_parallelism RESET reset_parallelism)
  447 + BR_PROPERTY(int, parallelism, std::max(1, QThread::idealThreadCount()))
446 448
447 /*! 449 /*!
448 - * \brief The number of threads to use. 450 + * \brief The maximum number of templates to process in parallel.
449 */ 451 */
450 - Q_PROPERTY(int parallelism READ get_parallelism WRITE set_parallelism RESET reset_parallelism)  
451 - BR_PROPERTY(int, parallelism, 0) 452 + Q_PROPERTY(int blockSize READ get_blockSize WRITE set_blockSize RESET reset_blockSize)
  453 + BR_PROPERTY(int, blockSize, parallelism * ((sizeof(void*) == 4) ? 128 : 1024))
452 454
453 /*! 455 /*!
454 * \brief true if backProject should be used instead of project (the algorithm should be inverted) 456 * \brief true if backProject should be used instead of project (the algorithm should be inverted)
@@ -515,8 +517,6 @@ public: @@ -515,8 +517,6 @@ public:
515 QHash<QString,int> classes; /*!< \brief Used by classifiers to associate text class labels with unique integers IDs. */ 517 QHash<QString,int> classes; /*!< \brief Used by classifiers to associate text class labels with unique integers IDs. */
516 QTime startTime; /*!< \brief Used to estimate timeRemaining(). */ 518 QTime startTime; /*!< \brief Used to estimate timeRemaining(). */
517 519
518 - Context();  
519 -  
520 /*! 520 /*!
521 * \brief Returns the suggested number of partitions \em size should be divided into for processing. 521 * \brief Returns the suggested number of partitions \em size should be divided into for processing.
522 * \param size The length of the list to be partitioned. 522 * \param size The length of the list to be partitioned.