ITK对DICOM数据的读与写

本文介绍了如何使用ITK库进行DICOM数据的读写,包括处理DICOM序列和单张数据,同时探讨了在操作过程中输入输出类型转换的注意事项,以及fastMarching算法的应用问题。
摘要由CSDN通过智能技术生成

1.读写DICOM序列

将一系列DICOM数据读取形成三维体数据,经过所需的处理之后再将其写回成二维DICOM数据,其中需要GDCMImageIO作为DICOM格式的ImageIO。
读写过程如下:
//IO相关
#include "itkGDCMImageIO.h"
#include "itkGDCMSeriesFileNames.h"
#include "itkImageSeriesReader.h"
#include "itkImageSeriesWriter.h"

int main(int argc, char *argv[])
{
	
	typedef   float           InternalPixelType;
	const     unsigned int    Dimension = 3;//输入为三维
	typedef itk::Image< InternalPixelType, Dimension >  InternalImageType;
	
	typedef  float          OutputPixelType;
	const unsigned int      OutputDimension = 2;//输出为二维
	typedef itk::Image< OutputPixelType, OutputDimension > OutputImageType;

	typedef  itk::ImageSeriesReader< InternalImageType > ReaderType;
	typedef  itk::ImageSeriesWriter<  InternalImageType,OutputImageType  > WriterType;//自动在输入和输出之间转换

	ReaderType::Pointer reader = ReaderType::New();
	WriterType::Pointer writer = WriterType::New();

	//DICOM数据的ImageIO
	typedef itk::GDCMImageIO             ImageIOType;
	ImageIOType::Pointer gdcmIO = ImageIOType::New();

	//文件生成器
	typedef itk::GDCMSeriesFileNames     NamesGeneratorType;
	NamesGeneratorType::Pointer namesGenerator = NamesGeneratorType::New();
	namesGenerator->SetInputDirectory("D:/VTKCode/Data/Threshold");

	//保存文件名
	const ReaderType::FileNamesContainer & filenames =
		na
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值