void LabelContourImageFilterITK::labelContourImageFilterITK() { backgroundValue_.setVolume(inport1_.getData()); if (!enableProcessing_.get()) { outport1_.setData(inport1_.getData(), false); return; } typedef itk::Image<T, 3> InputImageType1; typedef itk::Image<T, 3> OutputImageType1; typename InputImageType1::Pointer p1 = voreenToITK<T>(inport1_.getData()); //Filter define typedef itk::LabelContourImageFilter<InputImageType1, OutputImageType1> FilterType; typename FilterType::Pointer filter = FilterType::New(); filter->SetInput(p1); filter->SetFullyConnected(fullyConnected_.get()); filter->SetBackgroundValue(backgroundValue_.getValue<T>()); observe(filter.GetPointer()); try { filter->Update(); } catch (itk::ExceptionObject &e) { LERROR(e); } Volume* outputVolume1 = 0; outputVolume1 = ITKToVoreenCopy<T>(filter->GetOutput()); if (outputVolume1) { transferRWM(inport1_.getData(), outputVolume1); transferTransformation(inport1_.getData(), outputVolume1); outport1_.setData(outputVolume1); } else outport1_.setData(0); }
void LabelOverlayImageFilterITK::labelOverlayImageFilterITK() { backgroundValue_.setVolume(inport1_.getData()); typedef itk::Image<T, 3> InputImageType1; typedef itk::Image<S, 3> InputImageType2; typedef itk::Image<itk::CovariantVector<uint8_t,3>, 3> OutputImageType1; typename InputImageType1::Pointer p1 = voreenToITK<T>(inport1_.getData()); typename InputImageType2::Pointer p2 = voreenToITK<S>(inport2_.getData()); //Filter define typedef itk::LabelOverlayImageFilter<InputImageType1, InputImageType2, OutputImageType1> FilterType; typename FilterType::Pointer filter = FilterType::New(); filter->SetInput(p1); filter->SetLabelImage(p2); filter->SetOpacity(opacity_.get()); filter->SetBackgroundValue(backgroundValue_.getValue<T>()); observe(filter.GetPointer()); try { filter->Update(); } catch (itk::ExceptionObject &e) { LERROR(e); } Volume* outputVolume1 = 0; outputVolume1 = ITKVec3ToVoreenVec3Copy<uint8_t>(filter->GetOutput()); if (outputVolume1) { transferRWM(inport1_.getData(), outputVolume1); transferTransformation(inport1_.getData(), outputVolume1); outport1_.setData(outputVolume1); } else outport1_.setData(0); }