- 博客(245)
- 资源 (9)
- 收藏
- 关注
原创 2.5 DICOM 传输语法(Transfer Syntaxes)
DICOM 传输语法通过定义 UID、VR 编码方式、字节顺序和压缩算法,实现了医学图像数据在不同设备间的标准化编码与解析。理解传输语法的结构和应用,对于开发 DICOM 相关软件、维护 PACS 系统或进行医学图像分析至关重要。在实际应用中,需根据场景(传输 / 存储、图像类型、质量需求)选择合适的传输语法,确保数据的兼容性和效率。
2025-08-04 17:05:16
1048
原创 2.4 DICOM 服务类(Service Classes)
DICOM 服务类是一组服务(Services)的集合,每个服务对应一种特定的操作(如查询、获取、存储图像等),并指定该操作可作用的信息对象定义(IOD)类型。它规范了 DICOM 设备(如成像设备、PACS 服务器、工作站)之间的交互逻辑,确保不同厂商的设备能理解彼此的请求和响应。每个服务类明确指定其可操作的 IOD 类型,即该服务仅处理特定类型的医学数据。存储服务类关联Image IODs(图像类 IOD)、(结构化报告 IOD)等;打印管理服务类关联Print IODs(打印类 IOD)。
2025-08-04 16:38:18
422
原创 2.3 DICOM 信息对象定义(IODs)
专门针对医学影像数据的定义,是临床最常用的 IOD 类型。它不仅包含图像的像素数据,还关联了患者、检查、设备等元信息。:计算机断层扫描(CT)图像的定义,包含层厚、kV 电压等 CT 特有参数。:磁共振成像(MRI)图像的定义,包含序列名称、翻转角等 MRI 特有参数。:普通 X 光图像的定义,包含曝光时间等参数。:超声图像的定义,包含探头频率等参数。:核医学图像(如 PET、SPECT)的定义,包含放射性药物信息等。共性特征:所有 Image IODs 均包含。
2025-08-04 16:31:14
946
原创 2.2 DICOM数据元素(Tags)与数据字典
DICOM 数据元素通过(组号, 元素号)标签唯一标识医学信息,以 “标签 - VR - 值长度 - 值” 的结构存储具体内容;而数据字典则是这些标签的标准化注册表,定义了每个标签的含义、类型和使用规则。二者共同构成了 DICOM 标准的 “信息语言”,确保医学影像数据在存储、传输和解析过程中的一致性、兼容性和准确性。理解数据元素与数据字典是开发 DICOM 相关工具、分析医学影像数据的核心基础。
2025-08-04 16:23:56
707
原创 2.1 DICOM标准结构与组成
IOD 是对 “某类医学数据” 的标准化描述,定义了该类数据应包含的必选和可选数据元素。图像 IOD:用于单幅或多幅影像(如 CT、MRI 切片),包含患者、检查、像素等数据元素;结构化报告 IOD(SR IOD):用于存储诊断报告的结构化文本(如病灶描述、测量值);波形 IOD:用于存储生理信号(如心电图、脑电图)。每个 IOD 通过SOP 类(Service-Object Pair Class)与服务关联,例如 “CT 图像存储 SOP 类” 定义了 CT 图像的存储规则。
2025-08-04 16:20:23
1039
原创 1.3 医学图像格式特点
医学图像格式的核心特点围绕标准化、元数据完整性、多维度数据支持和跨场景兼容性展开,其中 DICOM 是临床领域的 “通用语言”,而 NIfTI、NRRD 等则在科研和机器学习中更常见。理解不同格式的特点,对医学影像的获取、处理、分析和共享至关重要。
2025-08-04 16:15:14
519
原创 1.2 医学影像处理基本概念
医学影像处理是指对医学成像设备产生的图像(如 CT、MRI、X 光等)进行分析、加工和优化的一系列技术和方法,其目标是提取有价值的医学信息、辅助疾病诊断、制定治疗计划以及评估治疗效果。
2025-08-04 16:12:41
666
原创 1.1常见医学影像模态详解
医学影像模态是指通过不同的物理原理和技术手段获取人体内部结构或功能信息的成像方法。不同模态各有其独特的成像原理、临床应用场景和图像特点,是 DICOM 开发中必须了解的基础背景知识。
2025-08-04 16:04:06
443
转载 托管调试助手 "PInvokeStackImbalance":的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管
在C#中一定要检查引用时的数据类型 WinAPI 的数据类型 默认是32位的,但是引用时外部的是 Long类型默认是64位的。所以引用时需要将 long 改为 int 型。参照 http://blog.sina.com.cn/s/blog_8248282d0101hcbd.html情况一:对 PInvoke 函数“TestDLL!TestDLL.Form1::mySum”的调用导致堆栈不对称...
2019-01-21 16:13:58
7283
原创 C# iTextSharp 创建PDF水印
刚刚有人留言说需要 iTextSharp 创建PDF水印代码那就贴一个以前写好的。 public static void SetWatermark(string inputfilepath, string outputfilepath, string waterMarkName) { PdfReader pdfReader = null; PdfSt...
2019-01-04 13:29:23
1507
转载 C#调用C++的DLL搜集整理的所有数据类型转换方式
原文:https://www.cnblogs.com/zeroone/articles/2342373.html//C++中的DLL函数原型为//extern “C” __declspec(dllexport) bool 方法名一(const char* 变量名1, unsigned char* 变量名2)//extern “C” __declspec(dllexport) bool 方法名...
2018-11-29 18:00:18
369
转载 go 语言框架 gin 的中文文档
安装与配置安装:$ go get gopkg.in/gin-gonic/gin.v1注意:确保 GOPATH GOROOT 已经配置导入:import “gopkg.in/gin-gonic/gin.v1”框架架构HTTP 服务器1.默认服务器router.Run()2.HTTP 服务器除了默认服务器中 router.Run() 的方式外,还可以用 http.ListenAn...
2018-10-15 09:19:26
1178
原创 设置chrome启动指定页面全屏
设置快捷的 目标C:\Users\XXX\AppData\Local\Google\Chrome\Application\chrome.exe – kiosk www.baidu.com 并且将快捷拖入启动文件夹里面 重启电脑就可以验证 浏览器自启动全屏到指定页面...
2018-08-30 17:19:56
3446
原创 qt反锯齿操作
QPainter::Antialiasing 告诉绘图引擎应该在可能的情况下进行边的反锯齿绘制 QPainter::TextAntialiasing 尽可能的情况下文字的反锯齿绘制 QPainter::SmoothPixmapTransform 使用平滑的pixmap变换算法(双线性插值算法),而不是近邻插值算法painter.setRenderHint(Q...
2018-07-03 09:41:14
4700
转载 值得学习的C语言开源项目
值得学习的C语言开源项目WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz2105...
2018-05-24 09:40:50
560
转载 C# webBrowser打开网页出现脚本错误解决
当IE浏览器遇到脚本错误时,在浏览器左下角会出现一个黄色图标,点击可以查看脚本错误的详细信息,并不会有弹出的错误信息框。我们在用webBrowser编写的程序打开网页,遇到脚本有问题是,会弹出一个错误提示框,需要确认后才能够进行执行。如果我们设计的程序是用来自动处理网页的,那么在出现这种情况时,程序运行被打断,需要人工干预。这显然无法达到我们的要求。 那么,在使用webBrowser...
2018-04-02 09:49:01
16330
1
转载 html和winform交互
1:在前台使用webBrowser控件 2:后台给webBrowser控件初始化 this.webBrowser.Url = new Uri(AppDomain.CurrentDomain.BaseDirectory + Path, UriKind.Absolute); 3:在webBrowser_DocumentCompleted事件中添加初始化值方法(注意,不要再页面加载中,因为页面加
2018-02-05 10:38:49
1523
转载 System.Diagnostics.Process.Start的妙用
我们经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 那么如何做呢? 答案是使用System.Diagnostics.Process.Start()。它的作用是调用外部的命令。 先来看看它的调用方法: Process.Start () Process.Start (Pro
2018-01-08 11:41:33
496
转载 C#中的Invoke
在用.NET Framework框架的WinForm构建GUI程序界面时,如果要在控件的事件响应函数中改变控件的状态,例如:某个按钮上的文本原先叫“打开”,单击之后按钮上的文本显示“关闭”,初学者往往会想当然地这么写:void ButtonOnClick(object sender,EventArgs e){ button.Text="关闭";}这样的
2017-12-24 21:16:01
590
转载 正则表达式从入门到实战
本文来自作者 JPM 在 GitChat 上分享「正则表达式从入门到实战」,「阅读原文」查看交流实录在开发的过程中,字符串处理往往很频繁。比如我们经常会对用户输入做校验:手机号,身份证号,邮箱,密码,域名,IP 地址,URL 或者其他与字符串相关校验的业务场景。正则表达式就是一种强大而灵活的文本处理工具,正则可以很好的解决这类字符串校验问题。掌握正则表达式,就能大大提高
2017-11-16 10:00:31
408
转载 qt pro文件和pri文件的区别
本文只能抓住一条线,简单介绍一下 *.pro、*.pri、*.prf、*.prl等四种文件:干嘛用的,如何用的*.proqmake 的工程(project)文件,这个大家肯定都非常熟悉了。那我就不费话了,上例子:这是一个典型的Qt示例程序的.pro文件(propriprfprl.pro):TEMPLATE = appCONFIG += QTQT += core gu
2017-11-15 15:02:27
6560
转载 关于CefSharp的坎坷之路
项目背景:公司的XX产品需要升级和以后支持多平台的使用。因为之前项目是由WPF实现的。目前以后想作为Html5来展示页面。因为涉及到整体更改遇到的问题较多以及其他原因,所以只是内部内容区域先替换为Html5页面,所以需要嵌入Browser控件。Browser控件的选型:1.Winform中的WebBrowser2.WPF中的WebBrowser3.W
2017-11-15 13:45:09
2947
转载 C# 调用C++ DLL 的类型转换
//C#调用C++的DLL搜集整理的所有数据类型转换方式,可能会有重复或者多种方案,自己多测试 //c++:HANDLE(void *) ---- c#:System.IntPtr //c++:Byte(unsigned char) ---- c#:System.Byte //c++:SHORT(short) ---- c#:System.Int16 //c++
2017-10-18 13:47:41
322
转载 QRCode二维码字符长度问题
网上的二维码例子都比较好,不过就是没有比较详细讲解关于QRCode二维码生成的规则和要点。例如:为什么要在生成二维码的时候,判断字符集的长度要小于128。要知道二维码信息容量大:可容纳多达1850个大写字母或2710个数字或1108个字节,或500多个汉字,比普通条码信息容量约高几十倍。如果控制压缩内容在128个以内的话,那么二维码的优势哪里去了?经过多次测试发现,二维码所能包含的字符
2017-10-10 09:08:20
10285
1
原创 获取IE HTML文档
获取打开IE HTML文档SHDocVw.ShellWindows shellWindows= new SHDocVw.ShellWindowsClass();string filename;foreach (SHDocVw.InternetExplorer ie in shellWindows){filename= Path.GetFileNameWithoutExtensio
2017-09-13 09:35:14
416
原创 本地计算机上的XXX服务启动后又停止了——Windows Service服务调试
Service启动失败,后提示以下错误信息: 查了一下资料,应该是服务的逻辑代码出了问题,打开控制面板/管理工具/事件查看器 ->应用程序 里发现了如下信息:双击错误信息,即可找到服务的错误提示根据错误的提示信息,可检查代码。
2017-08-16 15:29:22
8905
原创 C# xsd验证xml格式
/// /// 通过xsd验证xml格式是否正确,正确返回空字符串,错误返回提示 /// /// xml文件 /// xsd文件 /// 命名空间,无则默认为null /// public string XmlValidationByXsd(string
2017-07-17 10:20:54
2013
转载 C++11 标准新特性:Defaulted 和 Deleted 函数
本文将介绍 C++11 标准的两个新特性:defaulted 和 deleted 函数。对于 defaulted 函数,编译器会为其自动生成默认的函数定义体,从而获得更高的代码执行效率,也可免除程序员手动定义该函数的工作量。对于 deleted 函数, 编译器会对其禁用,从而避免某些非法的函数调用或者类型转换,从而提高代码的安全性。本文将通过代码示例详细阐述 defaulted 和 delet
2017-06-19 16:48:26
343
原创 GetSafeHwnd 解释
当我们想得到一个窗口对象(CWnd的派生对象)指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()函数,通过下面的例子来看其理由:CWnd *pwnd = FindWindow(“ExploreWClass”,NULL); //希望找到资源管理器HWND hwnd = pwnd->m_hwnd; //得到它的HWND这样的代码当开始得到的pwnd为空的时候就会出现一个“Ge
2017-06-13 22:54:05
597
原创 C# 遍历Hashtable
static void Main(string[] args) { Hashtable ht=new Hashtable(); ht.Add("1", "A"); ht.Add("2", "B"); ht.Add("3", "C"); ht.Add("4", "D
2017-05-19 16:28:58
823
原创 C# iTextSharp 带书签合并多个PDF
private void MergePdfFilesWithBookMark(string[] sourcePdfs, string outputPdf) { PdfReader reader = null; Document document = new Document(); PdfImportedPage page = null;
2017-05-19 09:07:32
7586
4
原创 C# iTextSharp 简单合并PDF(不带书签)
public static void MergePdfFiles(string[] fileList, string outMergeFile) { PdfReader reader; List readerList = new List(); Document document = new Document(); PdfW
2017-05-19 09:05:51
4905
原创 C# ComboBox的赋值
ComboBox1.Items.Add(“ComboBox1”);//添加item ComboBox1.SelectedIndex = 0;//设置显示的item索引
2017-05-09 18:01:56
5210
1
原创 C# 读写配置文件
/// /// 读写配置文件(并创建) /// public class FileConfig { #region 操作INI文件的API函数 [DllImport("kernel32")] private static extern long WritePrivateProfileString(stri
2017-05-09 17:58:13
472
原创 C#winform 实现从服务器下载
/// /// 下载服务器文件至客户端 /// /// 要下载的Web服务器上的文件地址(全路径) /// 下载到的目录(存放位置,机地机器文件夹) /// True/False是否上传成功 public bool DownLoadFile(string strUrlFilePath, string
2017-05-09 17:54:40
4607
原创 C# 无窗口的DOS进程操作
/// /// 无窗口的DOS进程操作 /// public class DosProcess { private static string Run(IEnumerable commandlist) { using (var process = new Process()) {
2017-05-09 17:44:40
813
原创 C# 日志操作类
using System;using System.Globalization;using System.Text;using System.IO;using System.ComponentModel;using System.Windows.Forms;namespace EtheSoft.ExtOperations{ /// ///日志信息类型 ///
2017-05-09 17:40:55
601
原创 C# int和byte之间的互转
/// /// int转byte /// /// /// public static byte[] intToBytes(int value) { byte[] src = new byte[4]; src[3] = (byte)((value >
2017-05-09 16:41:07
9447
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅