/*========================================================================= medInria Copyright (c) INRIA 2013 - 2020. All rights reserved. See LICENSE.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. =========================================================================*/ #include // ///////////////////////////////////////////////////////////////// // registrationFactoryPrivate // ///////////////////////////////////////////////////////////////// class registrationFactoryPrivate { public: itk::ImageRegistrationFactory::Pointer m_Factory; }; // ///////////////////////////////////////////////////////////////// // registrationFactory // ///////////////////////////////////////////////////////////////// registrationFactory * registrationFactory::instance(){ if(!s_instance) s_instance = new registrationFactory(); return s_instance; } registrationFactory::registrationFactory( void ): d(new registrationFactoryPrivate()){d->m_Factory = itk::ImageRegistrationFactory::New();} registrationFactory::~registrationFactory( void ) { delete d; d = nullptr; } void registrationFactory::reset() { if (getGeneralTransform()->GetNumberOfTransformsInStack()>0) { d->m_Factory->Reset(); emit transformationStackReset(); } } void registrationFactory::setItkRegistrationFactory(itk::ImageRegistrationFactory::Pointer registrationFactory){ d->m_Factory = registrationFactory; } itk::ImageRegistrationFactory::Pointer registrationFactory::getItkRegistrationFactory(){ return d->m_Factory; } itk::GeneralTransform::Pointer registrationFactory::getGeneralTransform(){ return d->m_Factory->GetGeneralTransform(); } unsigned int registrationFactory::addTransformation(itk::Transform::Pointer arg,QString methodParameters){ int i= -1; i = getGeneralTransform()->InsertTransform(static_cast::ConstPointer>(arg)); if (i!=-1) emit transformationAdded(i,methodParameters); return i; } registrationFactory *registrationFactory::s_instance = nullptr;