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

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
 

DCMTK是一款用于医学图像和通信的开源软件包。它包含了各种用于处理、转换和通信DICOM格式的工具和库。其中的pdf2dcm工具被用于将PDF(Portable Document Format)文件转换为DICOM(Digital Imaging and Communications in Medicine)格式的图像。下面我将简要介绍pdf2dcm的使用方法。 pdf2dcm工具可以在命令行下执行。首先,您需要确保已经正确安装和配置了DCMTK软件包。然后,您可以使用pdf2dcm命令将PDF文件转换为DICOM图像。可以通过以下命令完成转换: pdf2dcm input.pdf output.dcm 其中,input.pdf是要转换的PDF文件的路径,output.dcm是要保存的DICOM文件的路径。 当转换完成后,output.dcm文件将包含从PDF提取的相关信息,如图像数据、患者信息等。可以使用DICOM文件查看器等工具来验证转换是否成功。 在转换过程中,pdf2dcm会尝试从PDF中提取图像数据。如果PDF文件包含多页,每一页都将转换为DICOM格式的图像。转换结果还会包含PDF中的文本和图形等其他相关信息。 需要注意的是,pdf2dcm转换的DICOM图像不会包含DICOM标准中定义的所有字段和信息。转换时可能会丢失一些PDF中的细节。另外,如果PDF文件中的文本信息不够清晰,转换后的图像质量可能会受到影响。 总之,DCMTK的pdf2dcm工具能够将PDF文件转换为DICOM格式的图像。它是医学图像处理和通信中的一个有用工具,可以帮助实现图像数据的转换和应用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值