Skip to content

Commit 58f208e

Browse files
committed
Add padding to fix segmentations on the edges (studio display)
1 parent e52425f commit 58f208e

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

Libs/Analyze/MeshGenerator.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,20 @@ MeshHandle MeshGenerator::build_mesh_from_image(ImageType::Pointer image, float
105105
image = itk_image.getITKImage();
106106
}
107107

108+
// first, pad the image in case the segmentation is on the edge
109+
using PadFilterType = itk::ConstantPadImageFilter<ImageType, ImageType>;
110+
PadFilterType::Pointer pad = PadFilterType::New();
111+
ImageType::SizeType lower_extend_region;
112+
ImageType::SizeType upper_extend_region;
113+
lower_extend_region.Fill(10);
114+
upper_extend_region.Fill(10);
115+
pad->SetInput(image);
116+
pad->SetPadLowerBound(lower_extend_region);
117+
pad->SetPadUpperBound(upper_extend_region);
118+
pad->SetConstant(0); // set to background value
119+
pad->Update();
120+
image = pad->GetOutput();
121+
108122
// connect to VTK
109123
vtkSmartPointer<vtkImageImport> vtk_image = vtkSmartPointer<vtkImageImport>::New();
110124
itk::VTKImageExport<ImageType>::Pointer itk_exporter = itk::VTKImageExport<ImageType>::New();

0 commit comments

Comments
 (0)