0

DICOM ファイルおよびまたは .mhd (目標) のフィルター「unsharp-mask」を使用しようとしています。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();
4

0 に答える 0