这个例子介绍了如何读一个单独的DICOM切片和写回作为另一个DICOM切片。在处理过程中亮度变化也要应用。
为了读和写切片,我们这里使用itk::GDCMImageIO类,itk::GDCMImageIO类压缩了一个优先的GDCM库的连接。用这种方法我们就可以从ITK到GDCM提供的DICOM的范函性的存取。GDCMImageIO对象被itk::ImageFileWriter使用的ImageIO的对象连接。
#include "itkImageFileReader.h"
#include "itkImageFileWriter.h"
#include "itkRescaleIntensityImageFilter.h"
#include "itkGDCMImageIO.h"
#include <list>
#include <fstream>
int main( int argc, char* argv[] )
{
// 命令行参数校验
if( argc < 5 )
{
std::cerr << "Usage: " << std::endl;
std::cerr << argv[0] << " DicomImage OutputDicomImage ";
std::cerr << " OutputImage RescaleDicomImage\n";
return EXIT_FAILURE;
}
// 这时我们声明像素类型和图像维数,并用它们例示被读的图像类型。
typedef signed short InputPixelType;
const unsigned int InputDimension = 2;
typedef itk::Image< InputPixelType, InputDimension &