我正在尝试使用过滤器" unsharp-mask"对于DICOM文件和/或.mhd(目标)。 在C ++中推荐使用ITK,其中有UnsharpMaskLevelSetImageFilter类,它完全符合我想要的2D图像。 当我使用imageType卷到.dcm文件或.mhd时,过滤器不起作用。任何人都可以告诉我它是否与音量兼容?或者,如果有任何方法可以在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();