1.0零基础尝试DCM通讯(c-store)
前言
本项目是对医院放疗及相关设备的互通互联。对dcm文件及数据协议是本项目的基础。
今天在项目组成员支持下,对dcm通讯进行了初步的尝试,有人之路,这个过程可以说是非常愉快,于是乎准备将这个愉快的过程记录,方便自己查阅和后来人。
c-store
本次的安装和测试使用的c-stroe。
1 环境配置
本次使用的基于java的dcm通讯,因此,java的年基本环境是需要的。
(1)本次使用的源码:
dcm4che的java版本
编译好的可用的bin文件:
编译好的dcm4che文件
2 注意点
(1)获得本地ip
通过ipconfig获得本地的ip

(2)SCP配置
在dcm4che/bin目录下运行cmd,配置本地设备为SCP

命令行说明:
storescp==>本机为scp
DKLSCPTESTMYPC==>本机的名称(注意:名称中不能有下划线)
192.168.99.32:11112==>本机的ip(从什么的ipconfig获得的)和我们手动设置的端口--directory F:\dcm4che-5.29.2\bin\Receive==>本机作为scp结束数据是,需要保存在一这个路径下===>运行
11:31:42.910 INFO - Start TCP Listener on /192.168.99.32:11112 ==>本机已经出于监听状态
(3)SCU配置
使用另一台设备作为scu设备,向刚才配置的scp发送DICOM数据

命令行说明:
D:\dcm4che-5.29.2\bin>storescu -c test@192.168.99.32:11112 D:\Monte\西京医院\董康乐\linac-dose-water-11-Profile.dcm
storescu ==>此设备为scu
DKLSCPTESTMYPC==>地方接收方的名称
192.168.99.32:11112==>接收方(对方)的ip和端口
D:\Monte\西京医院\董康乐\linac-dose-water-11-Profile.dcm==>待发送数据的路径===>运行
Scanning files to send
.
Scanned 1 files in 0.249s (=249ms/file)
11:39:44.907 INFO - Initiate connection from 0.0.0.0/0.0.0.0:0 to 192.168.99.32:11112
11:39:44.920 INFO - Established connection Socket[addr=/192.168.99.32,port=11112,localport=52878]
11:39:44.930 DEBUG - /192.168.94.21:52878->/192.168.99.32:11112(1): enter state: Sta4 - Awaiting transport connection opening to complete
11:39:44.931 INFO - STORESCU->test(1) << A-ASSOCIATE-RQ
11:39:44.931 DEBUG - A-ASSOCIATE-RQ[calledAET: testcallingAET: STORESCUapplicationContext: 1.2.840.10008.3.1.1.1 - DICOM Application Context NameimplClassUID: 1.2.40.0.13.1.3implVersionName: dcm4che-5.29.2maxPDULength: 16378maxOpsInvoked/maxOpsPerformed: 0/0PresentationContext[id: 1as: 1.2.840.10008.1.1 - Verification SOP Classts: 1.2.840.10008.1.2 - Implicit VR Little Endian]PresentationContext[id: 3as: 1.2.840.10008.5.1.4.1.1.481.2 - RT Dose Storagets: 1.2.840.10008.相关文章:
1.0零基础尝试DCM通讯(c-store)
前言 本项目是对医院放疗及相关设备的互通互联。对dcm文件及数据协议是本项目的基础。 今天在项目组成员支持下,对dcm通讯进行了初步的尝试,有人之路,这个过程可以说是非常愉快,于是乎准备将这个愉快的过程记录,方便自己查阅和后来人。 c-store 本次的安装和测试使用的…...
vue之封装tab类组件
vue之封装tab类组件 vue之封装tab类组件CSS样式方面JS方面 vue之封装tab类组件 需求:点击【上一步】、【下一步】按钮,切换tab,且有淡入浅出的动画。 CSS样式方面 <div class"parent"><div class"childDiv" id…...
固定资产管理中净值怎么算
在资产管理的领域中,我们经常听到“净值”这个词。然而,对于许多人来说,净值的概念仍然模糊不清。本文将试图揭示固定资产管理的净值计算方法,并提供一些创新的观点。 我们需要明确什么是净值。在财务术语中,净值是…...
SQlite操作后如何正确退出
在 C 语言中,使用 SQLite 库进行数据库操作后,可以通过以下步骤来正常退出和关闭 SQLite 连接: 关闭数据库连接:在完成数据库操作后,使用 sqlite3_close() 函数来关闭 SQLite 连接。该函数接受一个指向 sqlite3 数据库…...
phpcmsV9.6.0sql注入漏洞分析
目录 前言 环境准备 漏洞点 看一看parse_str函数 看一看sys_auth函数 看一看get_one函数 全局搜索sys_auth($a_k, ENCODE) 查看哪里调用了 set_cookie 查看safe_replace函数 判断登录绕过 index的业务 加载modules/wap/index.php 加载modules/attachment/attachme…...
深入理解正则表达式:高效处理文本数据的利器
💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 引言 正则表达式是一种…...
张雪峰说网络空间安全专业
网络空间安全专业是一个涵盖了计算机科学、信息安全、法律等多个领域的学科,旨在研究保护网络空间的信息系统和数据不被非法侵入、破坏、篡改、泄露的技术和管理手段。 网络安全专业的重要性 随着网络技术的发展,网络安全问题也日益凸显,黑客…...
day11-ArrayList学生管理系统
1.ArrayList 集合和数组的优势对比: 长度可变添加数据的时候不需要考虑索引,默认将数据添加到末尾 1.1 ArrayList类概述 什么是集合 提供一种存储空间可变的存储模型,存储的数据容量可以发生改变 ArrayList集合的特点 长度可以变化…...
java springboot 如何实现小程序支付
今天给大家分享java小程序支付 首先我们学习任何东西要先看官网 下面是支付业务流程 我们具体用代码去实现上面的业务流程 功能截图 代码截图 pay(){//调用后台生成订单var orderNumber "20210101123456";var amount 0.01;WxPay.wxpay(app, amount, orderNumber…...
题目:2839.判断通过操作能否让字符串相等 I
题目来源: leetcode题目,网址:2839. 判断通过操作能否让字符串相等 I - 力扣(LeetCode) 解题思路: 两字符串奇数位字符计数相等并且偶数位字符计数相等是可通过操作让字符串相等。 解题代码ÿ…...
【Prometheus】Prometheus+Grafana部署
Prometheus 概述 官网https://prometheus.io/docs/introduction/overview/ Prometheus 是一款基于时序数据库的开源监控告警系统,非常适合Kubernetes集群的监控。Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的…...
无CDN场景下的传统架构接入阿里云WAF防火墙的配置实践
文章目录 1.配置网站接入WAF防火墙1.1.配置网站接入方式1.2.填写网站的信息1.3.WAF防火墙生成CNAME地址 2.配置WAF防火墙HTTPS证书3.修改域名DNS解析记录到WAF防火墙4.验证网站是否接入WAF防火墙 传统架构接入WAF防火墙非常简单,配置完WAF网站接入后,将得…...
和鲸技术!国家气象信息中心人工智能气象应用基础技术平台上线
8 月 31 日,由和鲸科技支持的人工智能气象应用基础支撑技术平台 V1.0 正式于国家气象信息中心(下简称“信息中心”)上线发布。该平台主要为人工智能技术在气象领域的融合应用提供基础性支撑,目前,已为基于深度学习的短…...
GIT高级使用技巧
GIT高级使用技巧 导出GIT日志到文件 按照 <哈希> - <作者名> <作者邮箱地址> - <作者日期> : <commit描述> 的格式导出日志 git log --prettyformat:"%H - %an <%ae> - %ad : %s" master > log.txt筛选日志并按照从旧到新…...
JavaScript中的垃圾回收机制
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ JavaScript的垃圾回收机制⭐ 内存管理⭐ 引用计数⭐ 标记-清除算法⭐ 内存泄漏⭐ 性能优化⭐ 使用delete操作符⭐ 注意循环中的变量引用⭐ 使用工具进行内存分析⭐ 使用合适的数据结构⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探…...
Java替换 html 中隐藏的空格字符
前言 有时候前端传过来的 json 字符串,包含了隐藏的空格 &NBSP 字符,在后端 Debug 的时候可以看到是 ,但 system.out.print() 打印出来的是正常的空格,这样看着正常但其实放入 fastjson 中去做解析会失败,所以我…...
微博情绪分类
引自:https://blog.csdn.net/no1xiaoqianqian/article/details/130593783 友好借鉴,总体抄袭。 所需要的文件如下:https://download.csdn.net/download/m0_37567738/88340795 import os import torch import torch.nn as nn import numpy a…...
探索项目追踪平台的多样性及功能特点
项目追踪平台是现代项目管理中不可或缺的工具,它可以帮助团队高效地跟踪和管理项目进度、任务和资源分配。在当今快节奏的商业环境中,有许多热门的项目追踪平台可供选择。 本文总结了当下热门的项目追踪平台,供您参考~ 1、Zoho Projects&am…...
git简单命令
简易的命令行入门教程: Git 全局设置: git config --global user.name “yyyyjinying” git config --global user.email “12343343qq.com” 创建 git 仓库: mkdir wx-project cd wx-project git init touch README.md git add README.md git commit -m “first commit” …...
Fiber 架构的起源和含义
Fiber 架构的起源 Fiber 架构的起源可以追溯到 React 团队在 2017 年提出的一项重大改进计划。在过去的 React 版本中,渲染过程是基于递归的,即组件树的遍历是通过递归函数来完成的。这种方式在大规模复杂应用中可能会引发一些性能问题,例如…...
《第一大道》铺前路,《凰标》立后世千年文化准则@凤凰标志
任何一场完整的文化复兴,必然包含两个阶段: 先破局开路,再立序定规。 无破局,则无出路;无定规,则无长存。一破 一立破局立规《第一大道》《凰标》武 突围 开荒 破弊文 守正 定调 传世让众生有路可走…...
AI系统行为治理:构建确定性护栏与运行时安全控制
1. 项目概述:为AI系统构建确定性的行为护栏如果你正在构建一个会“动手”的AI应用——无论是能帮你写代码的智能助手,还是能操作数据库的自动化流程,甚至是部署在物理设备上的机器人——那么你迟早会面临一个核心问题:如何确保它只…...
Linux 7.6 环境下 InterSystems Caché 数据库的部署与核心配置实战
1. 环境准备:打造Cach的温床 在RHEL 7.6最小化系统上部署InterSystems Cach前,我们需要像准备手术室一样严格配置基础环境。我曾在生产环境中因为漏掉一个依赖项导致整个安装流程卡住3小时,这些血泪经验都浓缩在下面的步骤里。 1.1 基础依赖安…...
从零构建C++/CUDA推理引擎:深入解析yalm项目与LLM底层优化
1. 项目概述:从零构建一个高性能的C/CUDA推理引擎最近在深入研究大语言模型推理的性能优化,发现很多开源实现为了追求极致的性能,代码往往高度优化,甚至引入了动态并行等高级CUDA特性,这对想深入理解底层原理的开发者来…...
Linaria与Bun集成:极速JavaScript运行时的样式处理终极指南 [特殊字符]
Linaria与Bun集成:极速JavaScript运行时的样式处理终极指南 🚀 【免费下载链接】linaria Zero-runtime CSS in JS library 项目地址: https://gitcode.com/gh_mirrors/li/linaria 在现代前端开发中,CSS-in-JS技术已经成为构建可维护、…...
嵌入式实战:STM32智能温度控制系统的算法优化与工程实现
嵌入式实战:STM32智能温度控制系统的算法优化与工程实现 【免费下载链接】STM32 项目地址: https://gitcode.com/gh_mirrors/stm322/STM32 在工业自动化、医疗设备和智能家居领域,温度控制系统的精度和稳定性直接影响着设备性能和用户体验。传统…...
基于MCP协议构建安全可控的AI智能体数据接入层
1. 项目概述:一个为智能体打造的“安全印章”与“情报中枢”最近在折腾AI智能体(Agent)的开发与集成,发现一个挺有意思的现象:大家把模型能力、工具调用这些“上层建筑”都玩得很溜,但一涉及到让智能体安全…...
ARM NEON SIMD指令集:VMAX与VMIN深度解析与优化
1. ARM SIMD指令集概述在ARM架构中,SIMD(Single Instruction Multiple Data)技术通过NEON协处理器实现,它提供了128位的向量寄存器(Q0-Q15)和对应的64位视图(D0-D31)。这些寄存器可以…...
3-5年经验程序员注意:这3大岗位年薪飙升至百万,你中招了吗?
昨天晚上,有个群友说:我看 boss 直聘已经有些公司明确要求要 AI 经验了,之前是大厂先搞,现在中小开始反应过来了。是的,这个趋势已经越来越明显。不只是招聘,春节以后,很多公司推 AI 的力度也变…...
Win10系统下极点五笔输入法的兼容性配置与TSF框架适配实践
1. 为什么Win10需要特殊配置才能用极点五笔? 很多从Win7升级到Win10的五笔用户都会发现,用了十几年的极点五笔突然变得不听话了。这背后其实藏着微软输入法框架的大变革——从传统的IMM(Input Method Manager)架构转向了TSF&#…...
