0

我正在尝试为 DICOM 文件和或.mhd(目标)使用过滤器“unsharp-mask”。在 C++ 中推荐使用 ITK,其中有 UnsharpMaskLevelSetImageFilter 类,它完全符合我的要求,适用于 2D 图像。当我对 .dcm 文件或 .mhd 使用 imageType 卷时,过滤器不起作用。谁能告诉我它是否与音量兼容?或者是否有任何方法可以在 C++ 中创建 unsharp-mask?

这是我的代码:

itk::GDCMImageIOFactory::RegisterOneFactory();
itk::MetaImageIOFactory::RegisterOneFactory();

typedef float InputPixelType;
const int ImageDimension = 3;

typedef itk::Image< InputPixelType, ImageDimension >   InputImageType;
typedef itk::ImageFileReader< InputImageType >          ReaderType;
typedef itk::UnsharpMaskLevelSetImageFilter <InputImageType, InputImageType> FilterType;

ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName("D:\\31panoramica.mhd");

FilterType::Pointer filter = FilterType::New();
FilterWatcher watcher(filter);
filter->SetNumberOfThreads(100);

filter->SetMaxFilterIteration(10);
filter->SetNormalProcessUnsharpWeight(0.2);
filter->SetInput(reader->GetOutput());


filter->Update();

typedef itk::ImageFileWriter< InputImageType >  WriterType;

WriterType::Pointer writer = WriterType::New();
writer->SetFileName("D:\\31panoramica22.mhd");

writer->SetInput(filter->GetOutput());
writer->Update();
4

0 回答 0