一、预定义
CT值的单位是Hounsfield,简称为Hu,范围是 -1024-3071。用于衡量人体组织对X射线的吸收率,设定水的吸收率为0Hu。
在DICOM图像读取的过程中,我们会发现图像的像素值有可能不是这个范围,通常是0-4096,这个值就是我们常见到的像素值或者灰度值。一般我们所处理的图象是经过量化后的灰度图象,标准的CT 灰度图象为12 位灰度图象。
8bite,16bites,32bites,64bites 对应每个像素值变量类型为char、short、int、long

using InputPixelType = unsigned char;//无符号八位,一般取signed short,unsigned short得到的是2^16大小的数据-1024,而使用signed short得到的数据才为正常
using OutputPixelType = unsigned char;
using InputImageType = itk::Image<InputPixelType, 2>;//二维
using OutputImageType = itk::Image<OutputPixelType, 2>;
typedef itk::ImageSeriesReader<InputImageType> ReaderType;//ImageFileReader也可
typedef itk::GDCMImageIO ImageIOType;
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileNames(filenamesOut);
//reader->SetFileName(argv[1]);//调试中的命令参数名字
ImageIOType::Pointer gdcmIO = ImageIOType::New();
reader->SetImageIO(gdcmIO);
reader->Update();
Mat S_OrgImg = itk::OpenCVImageBridge::ITKImageToCVMat< OutputImageType >(reader

本文档介绍了在医学软件项目开发中,如何利用ITK库对DICOM文件进行处理,包括理解CT值的Hounsfield单位,处理不同位数的像素值,以及在ITK中调整窗宽窗位的方法。同时提到了在项目中遇到的问题,如writer操作异常,并分享了使用cv::Mat保存图像到raw文件并用Excel查看的技巧,以及通过Image Watch插件进行图像观察的优化方式。
最低0.47元/天 解锁文章
468

被折叠的 条评论
为什么被折叠?



