16 #include "itkBinaryThresholdImageFilter.h" 17 #include "itkConstantPadImageFilter.h" 21 this->SetNumberOfIndexedInputs(2);
22 this->SetNumberOfRequiredInputs(2);
23 m_BinaryFilter =
false;
25 m_PadConstant = -32766;
26 m_LowerThreshold = -32766;
27 m_UpperThreshold = -32765;
40 ImageType::Pointer itkImage = ImageType::New();
50 double outputOrigin[3];
51 itk::SizeValueType padLowerBound[3];
52 itk::SizeValueType padUpperBound[3];
55 for (i = 0; i < 3; ++i)
57 outputOrigin[i] = referenceOrigin[i];
59 padLowerBound[i] =
static_cast<unsigned long>((origin[i] - referenceOrigin[i]) / spacing[i] + 0.5);
61 padUpperBound[i] = referenceImage->GetDimension(i) - image->GetDimension(i) - padLowerBound[i];
66 itkImage->SetOrigin(outputOrigin);
68 typedef itk::ConstantPadImageFilter<ImageType, ImageType> PadFilterType;
69 PadFilterType::Pointer padFilter = PadFilterType::New();
70 padFilter->SetInput(itkImage);
71 padFilter->SetConstant(m_PadConstant);
72 padFilter->SetPadLowerBound(padLowerBound);
73 padFilter->SetPadUpperBound(padUpperBound);
81 typedef itk::Image<unsigned char, 3> BinaryImageType;
82 typedef itk::BinaryThresholdImageFilter<ImageType, BinaryImageType> BinaryFilterType;
83 BinaryFilterType::Pointer binaryFilter = BinaryFilterType::New();
85 binaryFilter->SetInput(padFilter->GetOutput());
86 binaryFilter->SetLowerThreshold(m_LowerThreshold);
87 binaryFilter->SetUpperThreshold(m_UpperThreshold);
88 binaryFilter->SetInsideValue(1);
89 binaryFilter->SetOutsideValue(0);
90 binaryFilter->Update();
100 outputImage->SetRequestedRegionToLargestPossibleRegion();
void GenerateData() override
itk::Image< unsigned char, 3 > ImageType
mitk::Image::Pointer image
const Point3D GetOrigin() const
Get the origin, e.g. the upper-left corner of the plane.
InputImageType * GetInput(void)
void CastToMitkImage(const itk::SmartPointer< ItkOutputImageType > &itkimage, itk::SmartPointer< mitk::Image > &mitkoutputimage)
Cast an itk::Image (with a specific type) to an mitk::Image.
void MITKCORE_EXPORT CastToItkImage(const mitk::Image *mitkImage, itk::SmartPointer< ItkOutputImageType > &itkOutputImage)
Cast an mitk::Image to an itk::Image with a specific type.
const mitk::Vector3D GetSpacing() const
Get the spacing (size of a pixel).
~PadImageFilter() override
OutputType * GetOutput()
Get the output data of this image source object.
BaseGeometry Describes the geometry of a data object.