本教程展示了如何创建一个DicomDataSet
对象,初始化数据集,并设置的光栅图像PixelData标签在WinForms c#应用程序。
概述 | |
---|---|
总结 | 本教程介绍了如何初始化一个DICOM数据集和设置一个图片PixelData标记在WinForms c#应用程序。 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(KB) 11日 |
平台 | Windows WinForms c#应用程序 |
IDE | Visual Studio 2019 |
开发许可 | 下载LEADTOOLS |
熟悉基本的步骤创建一个项目的审查添加引用和设置一个许可证教程,在工作之前初始化一个DICOM数据集和设置PixelData标签——WinForms c#教程。
从项目中创建的副本添加引用和设置一个许可证教程。如果你没有这个项目,按照这个教程中的步骤创建它。
的引用需要取决于项目的目的。引用可以通过添加一个或另一个下面的两种方法(但不是全部)。对于这个项目,还需要以下引用:
如果使用NuGet引用,本教程需要以下NuGet包:
Leadtools.Dicom.Pacs.Scu
如果使用本地DLL的引用,下面的DLL是必要的。dll位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Dotnet4 \ x64
:
Leadtools.dll
Leadtools.Codecs.dll
Leadtools.Dicom.dll
对于一个完整的列表的应用程序所需的DLL文件,请参考文件包含在您的应用程序。
许可解锁项目需要的特性。它必须设置工具箱函数被调用之前。细节包括教程不同的平台,请参考设置一个运行时许可。
有两种类型的运行时许可证:
请注意
添加LEADTOOLS引用和设置许可中会详细介绍添加引用和设置一个许可证教程。
在解决方案资源管理器,双击Form1.cs
显示它的设计师。去工具箱并添加以下控制:
initializeDataSetButton
文本:初始化数据集setPixelDataButton
文本:设置PixelDatapatientNameTextBox
seriesInstanceUidTextBox
studyInstanceUidTextBox
sopInstanceUidTextBox
四个标签每个文本框控件识别。
注意上图显示字段填充占位符值从DICOM样本数据集image3.dcm
发现,在< INSTALL_DIR > \ \ \ DICOM图像资源
。
现在LEADTOOLS引用已经被添加到项目和许可设置,可以开始编码。
右键单击Form1.cs
在解决方案资源管理器并选择视图代码显示形式背后的代码。添加以下代码来初始化医疗查看器控制。
/ /使用块
使用系统;
使用先;
使用System.Windows.Forms;
使用Leadtools;
使用Leadtools.Codecs;
使用Leadtools.Dicom;
/ /添加这个全局变量
私人DicomDataSet数据集;
在解决方案资源管理器,双击Form1.cs
显示它的设计师。单击事件图标属性窗口。然后,双击负载创建一个事件处理程序如果不存在。
添加以下代码内部Form1_Load
事件处理程序。
私人无效Form1_Load (对象发送方的EventArgs e)
{
DicomEngine.Startup ();
}
双击initializeDataSetButton
按钮控件添加一个单击事件处理程序。使用下面的代码来创建一个新的DicomDataSet
实例和初始化文本框控件的值。
私人无效initializeDataSetButton_Click (对象发送方的EventArgs e)
{
试一试
{
数据集=新DicomDataSet ();
dataSet.Reset ();
/ /初始化DicomDataSet辅助捕获
dataSet.Initialize (DicomClassType。SCImageStorage,DicomDataSetInitializeFlags.AddMandatoryElementsOnly | DicomDataSetInitializeFlags.ExplicitVR);
/ /添加病人的名字
dataSet.InsertElementAndSetValue (DicomTag。PatientName patientNameTextBox.Text);
/ /设置的uid DICOM文件
dataSet.InsertElementAndSetValue (DicomTag。SeriesInstanceUID seriesInstanceUidTextBox.Text);
dataSet.InsertElementAndSetValue (DicomTag。StudyInstanceUID studyInstanceUidTextBox.Text);
dataSet.InsertElementAndSetValue (DicomTag。SOPInstanceUID sopInstanceUidLabel.Text);
/ /设置图像类型派生的,因为这不是从主创建捕获设备
dataSet.InsertElementAndSetValue (DicomTag.ImageType“导出”);
MessageBox.Show (“数据集成功初始化输入的值”);
}
抓(异常交货)
{
MessageBox.Show (ex.Message);
}
}
注意,生成的DICOM数据集的类类型SCImageStorage
这是一个二次捕捉图像存储数据集。为更多的细节在其他可用的类类型,按照链接另请参阅下面的部分。
双击setPixelDataButton
按钮控件添加一个单击事件处理程序。使用下面的代码来加载一个光栅图像,把它的数据集,并保存输出。
私人无效setPixelDataButton_Click (对象发送方的EventArgs e)
{
RasterImage形象;
试一试
{
/ /加载光栅图像
使用(RasterCodecs编解码器=新RasterCodecs ())
{
OpenFileDialog loadDlg =新OpenFileDialog ();
loadDlg。InitialDirectory =@“C: \ LEADTOOLS22 \ Resources \图片”;
如果(loadDlg.ShowDialog (这)= = DialogResult.OK)
{
形象= codecs.Load (loadDlg.FileName);
}
其他的
返回;
}
/ /设置形象PixelData标签
如果(图片! =零& &数据集! =零)
{
DicomElement pixelData = dataSet.InsertElement (零,假,DicomTag。PixelData,DicomVRType.UN,假,0);
数据集。SetImage (pixelData形象,DicomImageCompressionType。没有,DicomImagePhotometricInterpretationType。Monochrome2 16 2 DicomSetImageFlags.AutoSetVoiLut);
image.Dispose ();
}
MessageBox.Show (”的形象成功设置,选择位置保存数据集。”);
/ /保存数据集
SaveFileDialog saveDlg =新SaveFileDialog ();
saveDlg。InitialDirectory =@“C: \ LEADTOOLS22 \资源\ \ DICOM图像”;
saveDlg。过滤器=“DICOM数据集(* .dcm) | * .dcm”;
saveDlg。文件名=“InitializedDS.dcm”;
如果(saveDlg.ShowDialog (这)= = DialogResult.OK)
{
dataSet.Save (saveDlg。文件名,DicomDataSetSaveFlags.ExplicitVR);
MessageBox.Show (“数据集保存成功。”);
}
}
抓(异常交货)
{
MessageBox.Show (ex.Message);
}
}
按运行项目F5,或通过选择调试- >开始调试。
如果步骤正确之后,应用程序运行时,允许用户创建并初始化一个DicomDataSet
与几个标签值。用户还可以加载一个光栅图像设置使用PixelData标记前的数据集的结果保存到文件中。
本教程演示了如何创建和初始化一个添加必要的引用DicomDataSet
对象以及如何设置的光栅图像PixelData标签。