How to build dcmtk for Android under Linux/OSX, then running img2dcm and storescu

DCMTK:单张jpg、bmp图像转dcm文件 网上关于相关系列的文章非常的零散,特别不方便查找,于是查看img2dcm的源码,并将其提取出来作为项目需要,特记录于此。前提在dcm文件中,bmp格式图片和jpg格式图片保存方式完全不同,无压缩的bmp图片是直接将像素信息以tag:value的形式存储在dcm文件中,而有压缩的jpg图片则是先将图片的像素点信息插入进DcmPixelSequence中,然后将DcmPixelSequence以tag: 阅读详情

A: Build

1. download dcmtk-DCMTK-3.6.6 from github then unzip it.


2. cd dcmtk-DCMTK-3.6.6 && mkdir cmake-build && cd cmake-build

3.change cmake files to suppress some errors.
3.1 open <dcmtkpath>/CMake/dcmtkUseAndroidSDK.cmake
3.2 find the two functions, and return directly, we do not need them:
add return() to the first line of DCMTK_ANDROID_START_EMULATOR and DCMTK_SETUP_ANDROID_EMULATOR 
3.3 comment the three lines in DCMTK_ANDROID_WAIT_FOR_EMULATOR
#while(NOT EMULATOR_NAME)
#    DCMTK_ANDROID_GET_EMULATOR_NAME(EMULATOR_NAME "${EMULATOR_UUID}")
#endwhile()


4. execute cmake, please change the paths to yours.
cmake -DCMAKE_TOOLCHAIN_FILE=/Users/alex/Library/Android/sdk/ndk/22.0.7026061/build/cmake/android.toolchain.cmake -DANDROID_NDK=/Users/alex/Library/Android/sdk/ndk/22.0.7026061 -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="arm64-v8a" -DBUILD_SHARED_LIBS=ON  -DANDROID_SDK_ROOT=/Users/alex/Library/Android/sdk   -DANDROID_EMULATOR_AVD=/Users/alex/.android/avd/Pixel_2_API_26.avd -DEMULATOR_STATE=RUNNING -DEMULATOR_NAME=emulator-5554 ..

5. make -j8

B: running

pre-1.
有可能需要配置环境变量DCMDICTPATH:
export set DCMDICTPATH=/Users/alex/Downloads/safari_download/dcmtk-DCMTK-3.6.6-osx/dcmdata/data/dicom.dic

1. 使用img2dcm生成dcm文件
img2dcm  -vlp -k "PatientName=Miss 翠花" -k "PatientSex=M"  -k "PatientAge=22" -k "StudyDate=20080808" -k "PatientID=1229009900" -k "Modality=ES" -k "SpecificCharacterSet=ISO_IR 192" -k "Manufacturer=Insighters" insighters01.jpg insighters01.dcm


2. 使用dcmdjpeg将jpeg转换成lossless
dcmdjpeg xxx_501.dcm ixxx_501.dcm

3. 使用storescu(或者dcmsend)将dcm文件上传到dicoogle(或者storescp)
storescu -v +v -aec DICOOGLE-STORAGE 127.0.0.1 6666 xxx_501.dcm
dcmsend -v +v -aec DICOOGLE-STORAGE 127.0.0.1 6666 xxx_5011.dcm

PS:
1. 可以运行storescp替换dicoogle测试:storescp 8888 -v +v -aet DICOOGLE-STORAGE (假装自己是dicoogle)
2. 可以使用dcm4che的命令行代替dcmtk
比如:storescu
/Users/alex/work/sts-workspace/dcm4che-master/dcm4che-assembly/target/dcm4che-5.24.0-bin/dcm4che-5.24.0/bin/storescu -c DICOOGLE-STORAGE@localhost:6666 /Users/alex/work/sts-workspace/dicoogle/dicoogle_bin/test_dir/xxx_001.dcm
或者:jpg2dcm
/Users/alex/work/sts-workspace/dcm4che-master/dcm4che-assembly/target/dcm4che-5.24.0-bin/dcm4che-5.24.0/bin/jpg2dcm -m "PatientName=Miss 翠花" -m "PatientSex=M"  -m "PatientAge=22" -m "StudyDate=20080808" -m "PatientID=1229009900" -m "Modality=ES" -m "SpecificCharacterSet=ISO_IR 192" -m "Manufacturer=BF" xxx.jpg xxx_501.dcm
 

【医疗影像处理】dcm2niix python3 使用 dcm2niix将 dicom序列转为nifti。 dcm2nii 与dcm2niix 网址NITRC。 dcm2nii是一个流行的工具,用于将扫描仪制造商使用的复杂格式(DICOM、PAR/REC)转换为许多科学工具使用的简单NIfTI格式。dcm2nii适用于所有的模式(CT、MRI、PET、SPECT)和序列类型。 注意:dcm2nii通常包含在MRIcron下载中。MRIcron有wi... 阅读详情

相关推荐

dcmtk程序包简介

dcmtk程序包简介***该文简单列出了dcmtk程序包的简介,包括主要接口类的简单说明,可用工具以及一些例子。下一步工作准备详细分析每个程序包中的接口类功能,并结合源码和dicom文档分析其实现过程。Dcmtk程序包简介一、Config程序包-config目录下的文档:--config.txt:指出你编辑的任何.h .c .cc文件首先必须包含该目录下的头文件#include

diqiucun666的专栏 5943

把img映象文件转化为dcm格式文件

上一篇说到用matlab和spm软件将医学图片dcm格式转为img格式,想到反过来该怎么做,见有人做过就刚好转一下学习。跟用软件不同的是这里是用matlab编程获得,就是把三维的img图像分离出多个二维的dcm图像,因为img图像本身就是由dcm图像叠在一起的。转自http://blog.chinaunix.net/uid-423637-id-357859.htmlmatlab代码: %img是三...

forever0_0love的博客 4981

23. DICOM图像显示-DCMTK-image转dicom

dcmdata模块包含以下命令行工具:   cda2dcm:将CDA文件封装成DICOM文件格式   stl2dcm:将STL文件封装成DICOM文件格式   pdf2dcm:将PDF文件封装成DICOM文件格式   dcm2pdf:从 DICOM 封装的 PDF 中提取 PDF 文件   xml2dcm:将 XML 文档转换为 DICOM 文件或数据集   dcm2xml:将 DICOM 文件和数据集转换为 XML   dcm2json:将 DICOM 文件和数据集转换为 JSON   img2dcm:

tianma2012的博客 2208

img2dcm.java,基于dicom协议的原图下载及转换

大家好,我是帅气小伙,最近工作的遇到了关于dicom协议传输的问题,我想在此为大家分享一下经验。1.搭建dicom服务器http://blog.youkuaiyun.com/zssureqh/article/details/44535405先下载相关的文件然后初始化数据库启动程序2.创建AETAET设置内容AET(Application Entity Title )的作用等同于Token,是区别其他系统的唯一...

weixin_39975744的博客 987

DICOM TO IMAGE 转换器 = dicom2image(filename e,imagetype): 将任何 DICOM(.dcm) 文件转换为图像 (png,bmp,jpg,tif,gif 等..)-matlab开发

%%打开DICOM数据并将其保存为图像文件%变量%filename = 'filename' 括起来,要转换的 dicom 文件的名称%imagetype = 用“imagetype”括起来,输出图像类型的名称(png、bmp、jpg、png、tiff、gif 等。) 函数 dicom2image(文件名,图像类型) % Dicom 到图像转换器% 作者:兰斯·蒂诺% 版本:0.2 %% 输入错误检查%%%%%%%%%%%%%%%%%%%%%%%输入姓名%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%% 如果 ~exist('filename','var') % 不存在error('你需要一个输入名称!'); 结尾%%%%%%%%%%%%%%%%%%%%%%% 图像类型 %%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%% 如果

通过dcmTk修改后编译的storescp (dcm的数据的接收端)

通过对dcmtk的源代码修改调整后,编译,目前测试在win10下面运行,可以命令行直接运行 (默认参数 端口1024,也可以命令行输入端口数字 ,图像保存路径为程序所在的目录,存储的方式使用1~198 数字的目录hash方式存放,也可以直接鼠标双击运行 有需要参考源代码的可以邮件我,vc2013 社区版本编译,后缀_d 的为debug编译),不知道为何不能设置下载积分,本想0分,无奈找不到设置,

DICOM医学图像处理:DICOM存储操作之“多幅BMP图像数据存入DCM文件”

背景: 本专栏“DICOM医学图像处理”受众较窄,起初只想作为自己学习积累和工作经验的简单整理。前几天无聊浏览了一下,发现阅读量两极化严重,主要集中在“关于BMP(JPG)与DCM格式转换”和“DICOM 通讯协议”,尤其是许久前的第一篇博文DCMTK开源库的学习笔记1:将DCM文件保存成BMP文件或数据流(即数组)。因此在2014年底前打算写几篇关于DCM格式转换的文章,此次主要聚焦“如何将BMP、JPG等常规图像保存成DCM文件”,以DCMTK库为基础,给出简单的实例。

只要踏出一步,路就在前方——zssure 3万+

dcm2niix, dcm2nii到NIfTI转换器.zip

dcm2niix, dcm2nii到NIfTI转换器 dcm2niix是一种设计用来将neuroimaging数据从DICOM格式转换为NIfTI格式的设计。 这个网页承载开发源代码- - Linux 。macOS 和最近稳定版本的编译版本都包含在 MRIcroGL 。 这个软件

Linux下编译dcmtk 3.6.6

下载代码 wget 编译 mkdir dcmtk-3.6.6-build cd dcmtk-3.6.6-build cmake ../ make -j8 make DESTDIR=../dcmtk-3.6.6-install install

Ericohe的博客 1194

海康威视GigE工业相机的python调用demo

默认路径安装完成后,在路径C:\Program Files (x86)\MVS\Development\Samples\Python\BasicDemo下的BasicDemo.py中,海康威视官方提供了基本的调用方法,本文也是基于这个修改的。BasicDemo.py提供了通过枚举选择相机的方法,在官方的另一个DEMO:ConnectSpecCamera.py中提供了另一种不通过枚举,直接访问特定IP相机的方法,也可以参考。另外,如果每台相机都定义了唯一的用户定义名,也可以通过用户定义名来区分相机。

xulibo5828的博客 2107

树莓派与stm32通信超详细解答过程

笔者之前发过关于stm32与openmv通信的教程,在学习了几天opencv后,想实现树莓派4B与stm32进行通信。于是上网查询资料,最后实现了两者之间的通信,相信这对大多数电赛人都很有帮助,opencv的识别效果是远高于openmv以及K210的。在此我参考了以下资料辅助我学习,大家可以参考。基于树莓派4B与STM32的UART串口通信实验(代码开源)_树莓派4b串口波特率-优快云博客。

Halcyon0804的博客 5465

DCMTK 3.6.6+VS 动态库编译

因为项目的原因,只编译了Debug版本,重新编译输出Debug和Release版本,可参看博文,验证可行。 VS2019+DCMTK3.6.6环境配置_boss-dog的博客-优快云博客DCMTK是一个比较优秀的支持DICOM文件读写的C++版本第三方库。目录1.下载DCMTK的源文件包和支持库2.使用Cmake构建DCMTK工程2.1 CMake下载2.2 使用CMake构建工程2.3 检查工程属性3.编译DCMTK库4.编写测试用例验证DCMTK库二级目录三级目录1.下载DCMTK的源文件包和支持库

518

线性调频LFM脉冲压缩 连续波雷达仿真&线性调频信号仿真分析压缩matlab程序源码

13、线性调频信号(LFM)压缩感知的稀疏与重构算法(OMP)的matlab仿真程序(一个可以在matlab上运行的压缩感知实例;8、具有多普勒频移的线性调频信号(知道带宽、采样频率、T使用MATLAB仿真线性调频信号即LFM,同时具有多普勒频移时,匹配滤波后的波形变化。19、CW脉冲和LFM信号Matlab仿真(这是matlab仿真程序,实现了常规雷达信号CW和线性调频信号LFM的仿真)18、lfm信号模糊函数图 matlab(用matlab 实现的线性调频信号信号(lfm)的模糊函数图)

2301_77866396的博客 400

dcm2pnm,dcmj2pnm和dcml2pnm之间的差异

dcm2pnm,dcmj2pnm和dcml2pnm之间的区别

weixin_42156552的博客 645

【Halcon 】Halcon 实战:如何为 XLD 模板添加极性信息以提升匹配精度?

本文介绍了Halcon中为XLD轮廓模板添加极性信息的实用技巧。通过先以"ignore_local_polarity"模式创建模板,首次匹配获得位置后,使用set_shape_model_metric运算符结合真实图像为模板注入极性信息(边缘明暗方向)。这种方法弥补了XLD模板初始不支持极性的缺陷,可显著提升后续匹配的精度和抗干扰能力。实验显示,添加极性信息后的模板匹配效果明显优于无极性的匹配结果。该技术特别适用于基于手动绘制或处理后的XLD轮廓创建模板的场景。

songhuangong123的博客 750

【Segment Anything Model】三:SAM模型微调自定义数据集,更改混合提示方式:点,框,点框混合

1.微调SAM预备知识。

cvxiayixiao的博客 1万+

Compiling DCMTK for Android(中文版)

DCMTK在许多操作系统上工作,如Windows、Mac OS和Linux。由于移动设备变得越来越重要,支持Android或iOS这样的平台也是必要的。本教程将介绍如何跨编译DCMTK,使用一个基于DCMTK的cmake构建Android工具链,关联Google的官方Android SDK和NDK。该构建在Linux和Windows下得到支持和测试,其他主机平台也可以工作。 先决条件: 根

chenhuakang的博客 1306

学Simulink--环境感知场景实例:基于Simulink的毫米波雷达多目标跟踪仿真

本文介绍了基于Simulink的毫米波雷达多目标跟踪仿真系统,重点分析了FMCW雷达信号处理流程(Range/Doppler FFT、CFAR检测)和多目标跟踪算法(JPDA数据关联、EKF状态估计)。通过构建城市道路交叉场景,验证了系统在跟踪精度(位置误差<0.2m)、实时性(单帧处理24ms)和鲁棒性(ID切换率<5%)方面的性能优势,并提出了UKF滤波、多传感器融合等优化方向。该仿真系统为自动驾驶环境感知提供了实用的毫米波雷达跟踪解决方案。

amy_mhd的博客 92

Centos7 Supervisor添加环境变量

supervisor添加环境变量 只需要在/etc/supervisord/文件夹下,找到程序的配置文件,如 cd /etc/supervisord/conf.d 在配置文件中增加一行 environment=DCMDICTPATH=/home/ucard/dcmtk/share/dcmtk/dicom.dic 多个环境变量用逗号隔开,就可以了,一个完整的配置文件如下 [program:UCARD_DICOM] command=python3 /home/ucard/hospital/UCARD_Dic

小谷同学 1587

Allegro如何把分离的线段变成封闭连续的图形

Allegeo支持把分离的线段变成封闭连续的图形,以下图为例,线段是分离的。Allegro如何把分离的线段变成封闭连续的图形。Find选择other segs 和Lines。Find选择other segs 和Lines。选择shape-compose shape。分离线段已经是连续封闭的shape形式了。框选图形,删除剩下的无用的分离线段。Find选择shapes。鼠标右击选择done。选择delete命令。鼠标右击选择done。

weixin_54787054的博客 6238

HTML金色流星雨(完整代码)

HTML实现金色流星雨动态效果的完整代码。

AIGC 992

医学图像文件dicom格式转化成img映象文件

由于学习中有用到img格式的文件,而手头上只有dcm格式的文件数据,所以就想把后缀为dcm的医学图像文件转化为后缀为img的映象文件,话不多说,用到的是软件spm12(其实就是一个压缩包)和matlab2017b,spm12下载地址:http://www.fil.ion.ucl.ac.uk/spm/software/spm12/ ,要填一个表格后再下载,matlab就不说了。 如上图所以,将文件进...

forever0_0love的博客 7766

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

PACS医学影像DICOM dcmdictpath知识记录梳理

1.了解pacs定义和术语 PACS: (Picture Archive and Communication System) 医院用于和影像设备通信并存档医学图像以及提供诊断工作站的专业信息系统. RIS: (Radiology Information System) 医院用于实现放射科信息流程, 进行登记预约报告书写等功能的信息系统. DICOM: (Digital Imaging and Co...

Code645472731的博客 3145

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

脑成像数据的格式转换

目前,脑成像数据主要有DTI、fmri、3D三种模态。这些数据在分析前都要进行格式转换,不同公司的扫描仪存储格式也不尽相同。脑成像处理软件也很多,不同软件使用的格式也不一样,所以数据转换是脑成像数据处理的第一步,必须非常清楚。这里主要以siemens的机器为准,介绍在windowx 下的MRIcron的dcm2nii转换和MRIConvert转换. 从扫描中心下载的原始数据是以dicom数据

9486

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: DCMTK(DCM4CHE)与DICOOGLE协同工作
下一篇: iOS版本AppRTCMobile和webrtc.framework构建
dotphoenix
博客等级 码龄19年 208粉丝 137原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值