目录

系列文章目录

一、创建连接

二、接收参数

1.DicomObject

2.接收dicom文件


系列文章目录

第一章:PACS-医学影像(一)


一、创建连接

public class PacsMain {private DcmQR dcmqr;/*** 下载数据的方法** @param queryLevel  查询级别* @param matchingKey 查询条件*/public List<DicomObject> download(PacsInfo pacsInfo, DcmQR.QueryRetrieveLevel queryLevel, Map<String, String> matchingKey) throws Exception {List<DicomObject> returnList;// 设置参数creatInstance(pacsInfo.getScpAE(), pacsInfo.getScpHostname(), pacsInfo.getScpPort(), pacsInfo.getScuAE());setQueryLevel(queryLevel);setMatchingKey(matchingKey);returnList = downloadImage();dcmqr.start();dcmqr.open();dcmqr.close();dcmqr.stop();return returnList;}/*** 创建查询、下载请求功能类* @param scpAE 服务端AE* @param scpHost 服务端IP* @param scpPort 服务端PORT* @param scuAE 客户端AE*/public synchronized void creatInstance(String scpAE, String scpHost,int scpPort, String scuAE) {dcmqr = new DcmQR(scuAE);dcmqr.setCalledAET(scpAE, false);dcmqr.setRemoteHost(scpHost);dcmqr.setRemotePort(scpPort);dcmqr.setPackPDV(true);dcmqr.setTcpNoDelay(true);dcmqr.setMaxOpsInvoked(1);dcmqr.setMaxOpsPerformed(0);dcmqr.setCFind(true);dcmqr.setCGet(false);dcmqr.setMoveDest(scuAE);dcmqr.addDefReturnKeys();dcmqr.configureTransferCapability(false);}public void setQueryLevel(DcmQR.QueryRetrieveLevel queryRetrieveLevel) {dcmqr.setQueryLevel(queryRetrieveLevel);}public void setMatchingKey(Map<String, String> matchConf) {for (Map.Entry<String, String> entry : matchConf.entrySet()) {dcmqr.addMatchingKey(Tag.toTagPath(entry.getKey()),entry.getValue());}}

二、接收参数

1.DicomObject

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//package org.dcm4che2.data;import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Date;
import java.util.Iterator;public interface DicomObject extends Serializable {int size();boolean isEmpty();void clear();DicomObject getRoot();boolean isRoot();DicomObject getParent();void setParent(DicomObject var1);SpecificCharacterSet getSpecificCharacterSet();Iterator<DicomElement> iterator();Iterator<DicomElement> iterator(int var1, int var2);Iterator<DicomElement> commandIterator();Iterator<DicomElement> fileMetaInfoIterator();Iterator<DicomElement> datasetIterator();int getItemPosition();void setItemPosition(int var1);long getItemOffset();void setItemOffset(long var1);VR vrOf(int var1);String nameOf(int var1);int resolveTag(int var1, String var2);int resolveTag(int var1, String var2, boolean var3);String getPrivateCreator(int var1);int vm(int var1);boolean contains(int var1);boolean containsValue(int var1);boolean containsAll(DicomObject var1);boolean accept(DicomObject.Visitor var1);void add(DicomElement var1);DicomElement remove(int var1);DicomElement remove(int[] var1);DicomElement get(int var1);DicomElement get(int var1, VR var2);DicomElement get(int[] var1);DicomElement get(int[] var1, VR var2);byte[] getBytes(int var1, boolean var2);byte[] getBytes(int var1);byte[] getBytes(int[] var1, boolean var2);byte[] getBytes(int[] var1);DicomObject getNestedDicomObject(int var1);DicomObject getNestedDicomObject(int[] var1);int getInt(int var1);int getInt(int var1, VR var2);int getInt(int var1, int var2);int getInt(int var1, VR var2, int var3);int getInt(int[] var1);int getInt(int[] var1, VR var2);int getInt(int[] var1, int var2);int getInt(int[] var1, VR var2, int var3);int[] getInts(int var1);int[] getInts(int var1, VR var2);int[] getInts(int var1, int[] var2);int[] getInts(int var1, VR var2, int[] var3);int[] getInts(int[] var1);int[] getInts(int[] var1, VR var2);int[] getInts(int[] var1, int[] var2);int[] getInts(int[] var1, VR var2, int[] var3);short[] getShorts(int var1);short[] getShorts(int var1, VR var2);short[] getShorts(int var1, short[] var2);short[] getShorts(int var1, VR var2, short[] var3);short[] getShorts(int[] var1);short[] getShorts(int[] var1, VR var2);short[] getShorts(int[] var1, short[] var2);short[] getShorts(int[] var1, VR var2, short[] var3);float getFloat(int var1);float getFloat(int var1, VR var2);float getFloat(int var1, float var2);float getFloat(int var1, VR var2, float var3);float getFloat(int[] var1);float getFloat(int[] var1, VR var2);float getFloat(int[] var1, float var2);float getFloat(int[] var1, VR var2, float var3);float[] getFloats(int var1);float[] getFloats(int var1, VR var2);float[] getFloats(int var1, float[] var2);float[] getFloats(int var1, VR var2, float[] var3);float[] getFloats(int[] var1);float[] getFloats(int[] var1, VR var2);float[] getFloats(int[] var1, float[] var2);float[] getFloats(int[] var1, VR var2, float[] var3);double getDouble(int var1);double getDouble(int var1, VR var2);double getDouble(int var1, double var2);double getDouble(int var1, VR var2, double var3);double getDouble(int[] var1);double getDouble(int[] var1, VR var2);double getDouble(int[] var1, double var2);double getDouble(int[] var1, VR var2, double var3);double[] getDoubles(int var1);double[] getDoubles(int var1, VR var2);double[] getDoubles(int var1, double[] var2);double[] getDoubles(int var1, VR var2, double[] var3);double[] getDoubles(int[] var1);double[] getDoubles(int[] var1, VR var2);double[] getDoubles(int[] var1, double[] var2);double[] getDoubles(int[] var1, VR var2, double[] var3);String getString(int var1);String getString(int var1, VR var2);String getString(int var1, String var2);String getString(int var1, VR var2, String var3);String getString(int[] var1);String getString(int[] var1, VR var2);String getString(int[] var1, String var2);String getString(int[] var1, VR var2, String var3);String[] getStrings(int var1);String[] getStrings(int var1, VR var2);String[] getStrings(int var1, String[] var2);String[] getStrings(int var1, VR var2, String[] var3);String[] getStrings(int[] var1);String[] getStrings(int[] var1, VR var2);String[] getStrings(int[] var1, String[] var2);String[] getStrings(int[] var1, VR var2, String[] var3);Date getDate(int var1);Date getDate(int var1, VR var2);Date getDate(int var1, Date var2);Date getDate(int var1, VR var2, Date var3);Date getDate(int var1, int var2);Date getDate(int var1, int var2, Date var3);Date getDate(int[] var1);Date getDate(int[] var1, VR var2);Date getDate(int[] var1, Date var2);Date getDate(int[] var1, VR var2, Date var3);Date getDate(int[] var1, int var2, int var3);Date getDate(int[] var1, int var2, int var3, Date var4);Date[] getDates(int var1);Date[] getDates(int var1, VR var2);Date[] getDates(int var1, Date[] var2);Date[] getDates(int var1, VR var2, Date[] var3);Date[] getDates(int var1, int var2);Date[] getDates(int var1, int var2, Date[] var3);Date[] getDates(int[] var1);Date[] getDates(int[] var1, VR var2);Date[] getDates(int[] var1, Date[] var2);Date[] getDates(int[] var1, VR var2, Date[] var3);Date[] getDates(int[] var1, int var2, int var3);Date[] getDates(int[] var1, int var2, int var3, Date[] var4);DateRange getDateRange(int var1);DateRange getDateRange(int var1, VR var2);DateRange getDateRange(int var1, DateRange var2);DateRange getDateRange(int var1, VR var2, DateRange var3);DateRange getDateRange(int var1, int var2);DateRange getDateRange(int var1, int var2, DateRange var3);DateRange getDateRange(int[] var1);DateRange getDateRange(int[] var1, VR var2);DateRange getDateRange(int[] var1, DateRange var2);DateRange getDateRange(int[] var1, VR var2, DateRange var3);DateRange getDateRange(int[] var1, int var2, int var3);DateRange getDateRange(int[] var1, int var2, int var3, DateRange var4);DicomElement putNull(int var1, VR var2);DicomElement putBytes(int var1, VR var2, byte[] var3);DicomElement putBytes(int var1, VR var2, byte[] var3, boolean var4);DicomElement putNestedDicomObject(int var1, DicomObject var2);DicomElement putInt(int var1, VR var2, int var3);DicomElement putInts(int var1, VR var2, int[] var3);DicomElement putShorts(int var1, VR var2, short[] var3);DicomElement putFloat(int var1, VR var2, float var3);DicomElement putFloats(int var1, VR var2, float[] var3);DicomElement putDouble(int var1, VR var2, double var3);DicomElement putDoubles(int var1, VR var2, double[] var3);DicomElement putString(int var1, VR var2, String var3);DicomElement putStrings(int var1, VR var2, String[] var3);DicomElement putDate(int var1, VR var2, Date var3);DicomElement putDates(int var1, VR var2, Date[] var3);DicomElement putDateRange(int var1, VR var2, DateRange var3);DicomElement putSequence(int var1);DicomElement putSequence(int var1, int var2);DicomElement putFragments(int var1, VR var2, boolean var3);DicomElement putFragments(int var1, VR var2, boolean var3, int var4);DicomElement putNull(int[] var1, VR var2);DicomElement putBytes(int[] var1, VR var2, byte[] var3);DicomElement putBytes(int[] var1, VR var2, byte[] var3, boolean var4);DicomElement putNestedDicomObject(int[] var1, DicomObject var2);DicomElement putInt(int[] var1, VR var2, int var3);DicomElement putInts(int[] var1, VR var2, int[] var3);DicomElement putShorts(int[] var1, VR var2, short[] var3);DicomElement putFloat(int[] var1, VR var2, float var3);DicomElement putFloats(int[] var1, VR var2, float[] var3);DicomElement putDouble(int[] var1, VR var2, double var3);DicomElement putDoubles(int[] var1, VR var2, double[] var3);DicomElement putString(int[] var1, VR var2, String var3);DicomElement putStrings(int[] var1, VR var2, String[] var3);DicomElement putDate(int[] var1, VR var2, Date var3);DicomElement putDates(int[] var1, VR var2, Date[] var3);DicomElement putDateRange(int[] var1, VR var2, DateRange var3);DicomElement putSequence(int[] var1);DicomElement putSequence(int[] var1, int var2);DicomElement putFragments(int[] var1, VR var2, boolean var3);DicomElement putFragments(int[] var1, VR var2, boolean var3, int var4);void shareElements();void serializeElements(ObjectOutputStream var1) throws IOException;void copyTo(DicomObject var1);boolean matches(DicomObject var1, boolean var2);boolean cacheGet();void cacheGet(boolean var1);boolean cachePut();void cachePut(boolean var1);boolean bigEndian();void bigEndian(boolean var1);DicomObject command();DicomObject dataset();DicomObject fileMetaInfo();DicomObject subSet(DicomObject var1);DicomObject subSet(int var1, int var2);DicomObject subSet(int[] var1);DicomObject exclude(int[] var1);DicomObject excludePrivate();void initFileMetaInformation(String var1);void initFileMetaInformation(String var1, String var2, String var3);int toStringBuffer(StringBuffer var1, DicomObjectToStringParam var2);public interface Visitor {boolean visit(DicomElement var1);}
}

2.接收dicom文件

代码如下(示例):

 private List<DicomObject> downloadImage() throws IOException, InterruptedException {List<DicomObject> result = Collections.singletonList(dcmqr.getKeys());if (dcmqr.isCMove()) {dcmqr.move(result);} else if (dcmqr.isCGet()) {dcmqr.get(result);}return result;}

本文介绍接收dicom文件的方法,有兴趣留言沟通~


PACS-医学影像(二)相关推荐

  1. 12.1接收短信【斯纳克PACS医学影像云平台用户手册】

    标签:[斯纳克PACS医学影像云平台][影像云][PACS系统][云胶片][申请使用] 登记病人信息时,要填写患者或家属的手机号,此号码用于接收短信通知. 当书写报告的环节进行到审核这一步时,具有审核 ...

  2. C#开发PACS医学影像三维重建(一):使用VTK重建3D影像

    VTK简介: VTK是一个开源的免费软件系统,主要用于三维计算机图形学.图像处理和可视化.Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的. 因为使用C#语言开发,而VTK是C++ ...

  3. C#开发PACS医学影像三维重建(十三):基于人体CT值从皮肤渐变到骨骼的梯度透明思路

    当我们将CT切片重建为三维体之后,通常会消除一些不必要的外部组织来观察内部病灶, 一般思路是根据人体常见CT值范围来使得部分组织透明来达到效果, 但这是非黑即白的,即,要么显示皮肤,要么显示神经,要么 ...

  4. 7.2影像云阅片【斯纳克PACS医学影像云平台用户手册】

    标签:[斯纳克PACS医学影像云平台][影像云][PACS系统][云胶片][申请使用] 在查看DICOM图像页对病人的检查进行诊断 支持以下DICOM图像处理工具 窗宽窗位 预设窗宽窗位 反片 缩放 ...

  5. 斯纳克PACS医学影像云平台产品宣传片

    斯纳克PACS医学影像云平台产品宣传片 http://bbs.phpcj.com.cn/forum.php?mod=viewthread&tid=33 (出处: 斯纳克公司软件产品交流社区)

  6. 7.3电子签名及报告打印【斯纳克PACS医学影像云平台用户手册】

    标签:[斯纳克PACS医学影像云平台][影像云][PACS系统][云胶片][申请使用] 在打印之前,可以调用医生的电子签名(在"医生管理"--"上传电子签名"中 ...

  7. PACS—医学影像信息化的基础

    PACS是英文Picture Archiving & Communication System的缩写,译为"医学影像存档与通信系统",PACS用于医院的影像科室,经过近几年 ...

  8. PACS医学影像系统(完整版)

    一.PACS影像存取与传输系统以实现医学影像数字化存储.诊断为核心任务,从医学影像设备(如CT.CR.DR.MR.DSA.RF等)获取影像,集中存储.综合管理医学影像及病人相关信息,建立数字化工作流程 ...

  9. PACS医学影像工作站源码 采用VC++编程语言,提供先进的3D图像处理和高级算法开发

    PACS系统源码 PACS系统以实现医学影像数字化存储.诊断为核心任务,从医学影像设备(如CT.CR.DR.MR.DSA.RF等)获取影像,集中存储.综合管理医学影像及病人相关信息,建立数字化工作流程 ...

  10. vtk相机_C#开发PACS医学影像三维重建(一)使用VTK重建3D影像

    VTK简介: VTK是一个开源的免费软件系统,主要用于三维计算机图形学.图像处理和可视化.Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的. 因为使用C#语言开发,而VTK是C++ ...

最新文章

  1. 【C++】C++11新增关键字详解
  2. R语言vtreat包的mkCrossFrameCExperiment函数交叉验证构建数据处理计划并进行模型训练、通过显著性进行变量筛选(删除相关性较强的变量)、构建多变量模型、转化为分类模型、模型评估
  3. c2c网站开店的流程图_shopee开店入驻?Shopee选品为什么这么重要
  4. sap 一代增强_SAP增强Enhancement
  5. ARKit从入门到精通(7)-ARCamera介绍
  6. vim 命令学习(高级篇)
  7. 自定义GridView 介绍
  8. Nginx——反向代理多个服务器
  9. 前端在linux中常用的命令,前端在SSH上常用的Linux命令
  10. linux开机时驱动的加载流程
  11. 搜索(深度优先搜索与回溯) 经典例题题单+万字详解(C++)
  12. 【转】:localStorage使用总结
  13. 软件项目测试报价单,某软件项目报价单
  14. Codeforces Round#767(Div.2) F1. Game on Sum (Easy Version)
  15. 支持向量机(SVM)的原理推导及解释
  16. Autodesk 首届云编程马拉松过程纪实和感想
  17. pmf源解析_科研进展 | 不同燃烧排放的一次有机物源谱特征及其在源解析中的应用...
  18. GB编码,汉字在编译器中数值
  19. Intel (Altera) LVDS
  20. 胡辛束、咪蒙、papi酱、新世相的焦虑 在2018年继续蔓延

热门文章

  1. HTC Wildfire S|A510e刷机步骤
  2. 【读书笔记】iOS-iOS6 Passbook应用开发
  3. 南昌-婺源-景德镇攻略
  4. python 玩机甲大师_请问参加robo master机甲大师需要具备什么能力?
  5. Redis秋招面经(自用)
  6. PostgreSQL安装初始化集群失败
  7. ubuntu 14.04 apache php mysql_Ubuntu14.04服务器环境下配置PHP7.0+Apache2+Mysql5.7的方法
  8. 【C#】设置控制文本框(TextBox)只能输入正数,负数,小数
  9. WIN10计算机不支持3D游戏怎么办,windows10系统玩游戏提示显卡不支持3d图形加速无法正常启动游戏怎么办...
  10. EXP-00091: Exporting questionable statistics.错误解决方案