ITK01 读取DICOM图像(单张)

         案例功能:读取指定路径下的一张DICOM格式图片,并保存到指定路径下。

  • itk采用数据管道结构
  • reader无输入(上一级滤波器),但需添加读取数据对象路径(常用“/”区分多层目录)
  • writer无输出(下一级滤波器),但需添加写入数据图像路径(同上)
  • 数据管道结构不一定完整的从reader到writer
  • 管道中间组件采用filter_n—>SetInput(fiter_n-1—>GetOutput())与上一级管道组件传输数据
  • reader和writer需连接到确定的ImageIo类型
  • 数据管道每级组件建立完成后,需调用Update()激活
#include "itkImageFileReader.h"//读取头文件
#include "itkImageFileWriter.h"//写入头文件
#include "itkGDCMImageIO.h"//ImageIo子类头文件

int main(int argc, char* argv[])
{
    typedef  signed short  PixelType; // signed short 数据类型
    typedef itk::Image< PixelType, 2 >   ImageType;//定义image类型

    typedef itk::ImageFileReader< ImageType >  ReaderType;//实例化滤波器类型
    typedef itk::ImageFileWriter< ImageType >  WriterType;
    ReaderType::Pointer reader = ReaderType::New();//reader
    WriterType::Pointer writer = WriterType::New();//writer

    typedef itk::GDCMImageIO ImageIOType;
    ImageIOType::Pointer gdcmImageIO = ImageIOType::New();//创建gdcmImageIO对象

    reader->SetFileName("D:/leg_dcm/IM70.dcm");//读取文件
    reader->SetImageIO(gdcmImageIO);//imageio对象连接到读写滤波器
    reader->Update();

    writer->SetInput(reader->GetOutput());//写入文件
    writer->SetFileName("D:/001.dcm");//写入文件
    writer->SetImageIO(gdcmImageIO);
    writer->Update();//当调用 Update( )方式时,数据处理管道就会按顺序使用这些滤波器,并将最终结果储存到文件中。

    return EXIT_SUCCESS;
}

再理解:智能指针、引用计数、New()ITK04 开/闭运算  ITK 智能指针

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值