void AbstractPlayer::ProcessFrame(const cv::Mat &frame, const QTime &time) { QImage *img; if (frame.channels() == 3) { img = new QImage(MatColor2QImage(frame)); } else { img = new QImage(MatGray2QImage(frame)); } emit FrameProcessed(img, current_frame_, time); }
void QmitkFramesRegistrationJob::OnMapAlgorithmEvent(::itk::Object *, const itk::EventObject &event) { const map::events::AlgorithmEvent *pAlgEvent = dynamic_cast<const map::events::AlgorithmEvent *>(&event); const map::events::AlgorithmIterationEvent *pIterationEvent = dynamic_cast<const map::events::AlgorithmIterationEvent *>(&event); const map::events::AlgorithmWrapperEvent *pWrapEvent = dynamic_cast<const map::events::AlgorithmWrapperEvent *>(&event); const map::events::AlgorithmResolutionLevelEvent *pLevelEvent = dynamic_cast<const map::events::AlgorithmResolutionLevelEvent *>(&event); const map::events::InitializingAlgorithmEvent *pInitEvent = dynamic_cast<const map::events::InitializingAlgorithmEvent *>(&event); const map::events::StartingAlgorithmEvent *pStartEvent = dynamic_cast<const map::events::StartingAlgorithmEvent *>(&event); const map::events::StoppingAlgorithmEvent *pStoppingEvent = dynamic_cast<const map::events::StoppingAlgorithmEvent *>(&event); const map::events::StoppedAlgorithmEvent *pStoppedEvent = dynamic_cast<const map::events::StoppedAlgorithmEvent *>(&event); const map::events::FinalizingAlgorithmEvent *pFinalizingEvent = dynamic_cast<const map::events::FinalizingAlgorithmEvent *>(&event); const map::events::FinalizedAlgorithmEvent *pFinalizedEvent = dynamic_cast<const map::events::FinalizedAlgorithmEvent *>(&event); const itk::ProgressEvent *pProgressEvent = dynamic_cast<const itk::ProgressEvent *>(&event); const mitk::FrameRegistrationEvent *pFrameRegEvent = dynamic_cast<const mitk::FrameRegistrationEvent *>(&event); const mitk::FrameMappingEvent *pFrameMapEvent = dynamic_cast<const mitk::FrameMappingEvent *>(&event); if (pProgressEvent) { emit FrameProcessed(m_helper->GetProgress()); } else if (pFrameRegEvent) { emit FrameRegistered(m_helper->GetProgress()); } else if (pFrameMapEvent) { emit FrameMapped(m_helper->GetProgress()); } else if (pInitEvent) { emit AlgorithmStatusChanged(QString("Initializing algorithm ...")); } else if (pStartEvent) { emit AlgorithmStatusChanged(QString("Starting algorithm ...")); } else if (pStoppingEvent) { emit AlgorithmStatusChanged(QString("Stopping algorithm ...")); } else if (pStoppedEvent) { emit AlgorithmStatusChanged(QString("Stopped algorithm ...")); if (!pStoppedEvent->getComment().empty()) { emit AlgorithmInfo(QString("Stopping condition: ") + QString::fromStdString(pStoppedEvent->getComment())); } } else if (pFinalizingEvent) { emit AlgorithmStatusChanged(QString("Finalizing algorithm and results ...")); } else if (pFinalizedEvent) { emit AlgorithmStatusChanged(QString("Finalized algorithm ...")); } else if (pIterationEvent) { const IIterativeAlgorithm *pIterative = dynamic_cast<const IIterativeAlgorithm *>(this->m_spLoadedAlgorithm.GetPointer()); map::algorithm::facet::IterativeAlgorithmInterface::IterationCountType count = 0; bool hasCount = false; if (pIterative && pIterative->hasIterationCount()) { hasCount = true; count = pIterative->getCurrentIteration(); } emit AlgorithmIterated(QString::fromStdString(pIterationEvent->getComment()), hasCount, count); } else if (pLevelEvent) { const IMultiResAlgorithm *pResAlg = dynamic_cast<const IMultiResAlgorithm *>(this->m_spLoadedAlgorithm.GetPointer()); map::algorithm::facet::MultiResRegistrationAlgorithmInterface::ResolutionLevelCountType count = 0; bool hasCount = false; QString info = QString::fromStdString(pLevelEvent->getComment()); if (pResAlg && pResAlg->hasLevelCount()) { count = pResAlg->getCurrentLevel() + 1; hasCount = true; info = QString("Level #") + QString::number(pResAlg->getCurrentLevel() + 1) + QString(" ") + info; } emit LevelChanged(info, hasCount, count); } else if (pAlgEvent && !pWrapEvent) { emit AlgorithmInfo(QString::fromStdString(pAlgEvent->getComment())); } }