1 #ifndef OPENPOSE_FILESTREAM_W_COCO_JSON_SAVER_HPP
2 #define OPENPOSE_FILESTREAM_W_COCO_JSON_SAVER_HPP
10 template<
typename TDatums>
14 explicit WCocoJsonSaver(
const std::shared_ptr<CocoJsonSaver>& cocoJsonSaver);
23 std::shared_ptr<CocoJsonSaver> spCocoJsonSaver;
37 template<
typename TDatums>
39 spCocoJsonSaver{cocoJsonSaver}
43 template<
typename TDatums>
48 template<
typename TDatums>
53 template<
typename TDatums>
61 if (tDatums->size() > 1)
62 error(
"Function only ready for tDatums->size() == 1", __LINE__, __FUNCTION__, __FILE__);
68 const auto& tDatumPtr = tDatums->at(0);
70 spCocoJsonSaver->record(
71 tDatumPtr->poseKeypoints, tDatumPtr->poseScores, tDatumPtr->name, tDatumPtr->frameNumber);
79 catch (
const std::exception& e)
82 error(e.what(), __LINE__, __FUNCTION__, __FILE__);
static void printAveragedTimeMsOnIterationX(const std::string &key, const int line, const std::string &function, const std::string &file, const unsigned long long x=DEFAULT_X)
static const std::string timerInit(const int line, const std::string &function, const std::string &file)
static void timerEnd(const std::string &key)
virtual ~WCocoJsonSaver()
WCocoJsonSaver(const std::shared_ptr< CocoJsonSaver > &cocoJsonSaver)
void initializationOnThread()
void workConsumer(const TDatums &tDatums)
bool checkNoNullNorEmpty(const TPointerContainer &tPointerContainer)
COMPILE_TEMPLATE_DATUM(WPoseTriangulation)
OP_API void error(const std::string &message, const int line=-1, const std::string &function="", const std::string &file="")
void opLogIfDebug(const T &message, const Priority priority=Priority::Max, const int line=-1, const std::string &function="", const std::string &file="")