#pragma once /*========================================================================= 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 #include #include #include #include class medMorphomathOperationProcessNodePrivate { public: dtkComposerTransmitterReceiver radius; dtkComposerTransmitterReceiver input; dtkComposerTransmitterEmitter output; }; template medMorphomathOperationProcessNode::medMorphomathOperationProcessNode(void) : dtkComposerNodeObject(), d(new medMorphomathOperationProcessNodePrivate()) { this->appendReceiver(&d->input); this->appendReceiver(&d->radius); this->appendEmitter (&d->output); } template medMorphomathOperationProcessNode::~medMorphomathOperationProcessNode(void) { } template void medMorphomathOperationProcessNode::run(void) { if (d->radius.isEmpty() || d->input.isEmpty()) { qDebug() << Q_FUNC_INFO << "The input is not set. Aborting."; return; } else { medAbstractMorphomathOperationProcess* filter = this->object(); if(this->object()) { filter->setInput(d->input.data()); filter->kernelRadius()->setValue(d->radius.data()); filter->run(); d->output.setData(filter->output()); qDebug()<<"filtering done"; } } }