23 mitk::LabelSetImageSurfaceStampFilter::LabelSetImageSurfaceStampFilter() : m_ForceOverwrite(false)
25 this->SetNumberOfIndexedInputs(1);
26 this->SetNumberOfRequiredInputs(1);
29 mitk::LabelSetImageSurfaceStampFilter::~LabelSetImageSurfaceStampFilter()
33 void mitk::LabelSetImageSurfaceStampFilter::GenerateData()
36 this->SetNthOutput(0, this->GetInput(0));
40 if (m_Surface.IsNull())
47 surfaceToImageFilter->MakeOutputBinaryOn();
48 surfaceToImageFilter->SetInput(m_Surface);
49 surfaceToImageFilter->SetImage(inputImage);
50 surfaceToImageFilter->Update();
54 inputImage->DisconnectPipeline();
57 template <
typename TPixel,
unsigned int VImageDimension>
58 void mitk::LabelSetImageSurfaceStampFilter::ItkImageProcessing(itk::Image<TPixel, VImageDimension> *itkImage,
61 typedef itk::Image<TPixel, VImageDimension>
ImageType;
65 typename ImageType::Pointer itkResultImage = ImageType::New();
68 typedef itk::ImageRegionConstIterator<ImageType> SourceIteratorType;
69 typedef itk::ImageRegionIterator<ImageType> TargetIteratorType;
71 SourceIteratorType sourceIter(itkResultImage, itkResultImage->GetLargestPossibleRegion());
72 sourceIter.GoToBegin();
74 TargetIteratorType targetIter(itkImage, itkImage->GetLargestPossibleRegion());
75 targetIter.GoToBegin();
77 int activeLabel = (LabelSetInputImage->GetActiveLabel(LabelSetInputImage->GetActiveLayer()))->GetValue();
79 while (!sourceIter.IsAtEnd())
81 auto sourceValue =
static_cast<int>(sourceIter.Get());
82 auto targetValue =
static_cast<int>(targetIter.Get());
84 if ((sourceValue != 0) &&
86 !LabelSetInputImage->GetLabel(targetValue)->GetLocked()))
88 targetIter.Set(activeLabel);
94 catch (itk::ExceptionObject &e)
101 void mitk::LabelSetImageSurfaceStampFilter::GenerateOutputInformation()
105 itkDebugMacro(<<
"GenerateOutputInformation()");
106 if (inputImage.IsNull())
itk::Image< unsigned char, 3 > ImageType
#define AccessByItk_1(mitkImage, itkImageTypeFunction, arg1)
Image class for storing images.
void MITKCORE_EXPORT CastToItkImage(const mitk::Image *mitkImage, itk::SmartPointer< ItkOutputImageType > &itkOutputImage)
Cast an mitk::Image to an itk::Image with a specific type.
OutputType * GetOutput()
Get the output data of this image source object.