本教程将展示如何将DICOM目录中的图像加载到LEADTOOLS中MedicalViewer
控件并设置相应的标记MedicalViewerLoader
而且DicomDirRetrieveClient
WinForms c#应用程序中的类。
概述 | |
---|---|
总结 | 本教程介绍如何在WinForms c#应用程序中使用MedicalViewerLoader类加载DICOM目录图像。 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(10kb) |
平台 | Windows WinForms c#应用程序 |
IDE | Visual Studio 2017, 2019 |
开发许可 | 下载LEADTOOLS |
步骤熟悉创建项目的基本步骤添加引用和设置License教程,在工作之前使用MedicalViewerLoader加载DICOMDIR图像教程。
在Visual Studio中,创建一个新的c# Windows WinForms项目,并添加以下必要的LEADTOOLS引用。
所需要的参考资料取决于项目的目的。对于这个项目,需要以下dll。
dll位于< INSTALL_DIR > \ LEADTOOLS21 \ Bin \ Dotnet4 \ x64
:
Leadtools.dll
Leadtools.Dicom.dll
Leadtools.Dicom.Tables.dll
Leadtools.Dicom.AddIn.dll
Leadtools.Medical.Workstation.Client.dll
Leadtools.Medical.Workstation.Loader.dll
Leadtools.MedicalViewer.dll
有关应用程序需要哪些DLL文件的完整列表,请参阅你的申请中包含的文件.
许可证解锁项目所需的特性。它必须在调用任何工具箱函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License.
有两种类型的运行时许可证:
请注意
中详细介绍了添加LEADTOOLS本地引用和设置许可添加引用和设置License教程。
现在已经将LEADTOOLS引用添加到项目中,并设置了许可证,可以开始编码了。
在解决方案资源管理器,双击Form1.cs
显示设计师
.去Form1
属性,并双击负载
而且FormClosed
事件,以创建负载
事件处理程序和FormClosed
窗体的事件处理程序。这将显示表单后面的代码。添加使用
下面的语句到顶部。
使用系统;
使用先;
使用System.Windows.Forms;
使用System.Drawing;
使用Leadtools;
使用Leadtools.MedicalViewer;
使用Leadtools.Medical.Workstation.Loader;
使用Leadtools.Medical.Workstation.Client.Local;
将下面的全局变量添加到Form1
类。
私人MedicalViewer _medicalViewer;
控件中添加以下代码Form1_Load
事件处理程序来初始化MedicalViewer
.
私人无效Form1_Load (对象发送者,EventArgs
{
_medicalViewer =新MedicalViewer ();
_medicalViewer。Dock = DockStyle.Fill;
_medicalViewer。BackColor = Color.Black;
Controls.Add (_medicalViewer);
_medicalViewer.BringToFront ();
//启动DICOM引擎
Leadtools.Dicom.DicomEngine.Startup ();
}
控件中添加以下代码Form1_FormClosed
事件处理程序来关闭DicomEngine
.
私人无效Form1_FormClosed (对象发送器:System.Windows.Forms.FormClosedEventArgs
{
Leadtools.Dicom.DicomEngine.Shutdown ();
}
使用解决方案资源管理器,导航回Form1
设计师。打开工具箱并双击MenuStrip,它将向表单添加一个菜单。添加一个文件下拉菜单项到新的MenuStrip.将项目添加到下拉菜单中,并将其文本设置为状态.保留新项目的名称为openToolStripMenuItem
.双击开放
菜单项来创建其事件处理程序。
将以下代码添加到openToolStripMenuItem_Click
事件处理程序将DICOM目录加载到MedicalViewer
.
私人无效openToolStripMenuItem_Click (对象发送者,EventArgs
{
OpenFileDialog dlg =新OpenFileDialog ();
如果(dgl . showdialog () == dialgresult . ok)
{
//创建Dicom目录检索客户端
DicomDirRetrieveClient dicomDirClient =新DicomDirRetrieveClient (零, dlg.FileName);
//创建与Dicom Dir客户端关联的Medical Viewer Loader
MedicalViewerLoader loader =新MedicalViewerLoader (dicomDirClient);
//初始化加载器
加载程序。ViewerControl = _medicalViewer;//告诉加载程序加载图像到我们的查看器
loader.Layout.Auto =真正的;
加载程序。LazyLoading =真正的;//这将导致加载程序只加载显示的子单元格的图像
加载程序。ViewerPreLoadedImages = 1;//这将允许加载器在显示的子单元格之前和之后加载一个图像,以便快速滚动
字符串studyInstanceUID =字符串空虚;//可以指定研究实例UID或留空
字符串seriesInstanceUID =字符串空虚;//可以指定系列实例的UID或留空
试一试
{
这.Cursor = Cursors.WaitCursor;
如果(!加载程序。负载Series(studyInstanceUID, seriesInstanceUID))//加载并解析DICOM Dir文件
{
对话框。显示(“无法加载系列!”);
}
}
抓(异常交货)
{
MessageBox.Show (ex.Message);
}
最后
{
这.Cursor =游标。箭头;
}
}
}
按下运行项目F5,或选择Debug ->开始调试.
如果正确地执行了这些步骤,应用程序将运行,表单将出现。要进行测试,请遵循以下步骤:
点击文件->开放我们来看看OpenFileDialog.
选择要查看的DICOM目录并进行选择好吧.
使用查看器一侧的滚动条查看系列中的图像。
本教程展示了如何从DICOM目录文件中加载图像,设置并显示医疗查看器中相应的标记。此外,还展示了如何使用MedicalViewerLoader
而且DicomDirRetrieveClient
类。