本文整理汇总了C++中typenamefiltertype::Pointer::AddObserver方法的典型用法代码示例。如果您正苦于以下问题:C++ Pointer::AddObserver方法的具体用法?C++ Pointer::AddObserver怎么用?C++ Pointer::AddObserver使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类typenamefiltertype::Pointer
的用法示例。
在下文中一共展示了Pointer::AddObserver方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: _run
medAbstractJob::medJobExitStatus medItkErodeImageProcess::_run()
{
typedef itk::Image<inputType, 3> ImageType;
typename ImageType::Pointer in = dynamic_cast<ImageType *>((itk::Object*)(this->input()->data()));
if(in.IsNotNull())
{
typedef itk::BinaryBallStructuringElement<inputType, 3> KernelType;
typedef itk::GrayscaleErodeImageFilter<ImageType, ImageType, KernelType> FilterType;
typename FilterType::Pointer filter = FilterType::New();
m_filter = filter;
KernelType kernel;
kernel.SetRadius(this->kernelRadius()->value());
kernel.CreateStructuringElement();
filter->SetKernel(kernel);
filter->SetInput(in);
itk::CStyleCommand::Pointer callback = itk::CStyleCommand::New();
callback->SetClientData((void*)this);
callback->SetCallback(medItkErodeImageProcess::eventCallback);
filter->AddObserver(itk::ProgressEvent(), callback);
try
{
filter->Update();
}
catch(itk::ProcessAborted &e)
{
return medAbstractJob::MED_JOB_EXIT_CANCELLED;
}
medAbstractImageData *out= dynamic_cast<medAbstractImageData *>(medAbstractDataFactory::instance()->create(this->input()->identifier()));
out->setData(filter->GetOutput());
this->setOutput(out);
return medAbstractJob::MED_JOB_EXIT_SUCCESS;
}
return medAbstractJob::MED_JOB_EXIT_FAILURE;
}