dicom

How to calculate a Voxel size?

帅比萌擦擦* 提交于 2021-02-16 19:22:19
问题 Provided following information from a DICOM header, how can I calculate the third value of voxel size? I assume the first two values are 0.515625 and 0.515625. BitsAllocated: "16" BitsStored: "12" Columns: 512 HighBit: "11" ImageOrientation: "1\0\0\0\-1\0" ImagePosition: "-144\-34.7242241\925.599976" ImageType: "ORIGINAL\PRIMARY\AXIAL\HELIX" InstanceNumber: "456" Modality: "CT" PhotometricInterpretation: "MONOCHROME2" PixelRepresentation: "0" PixelSpacing: "0.515625\0.515625" RescaleIntercept

C-Move Query - How to move only specific series within study using only Study Instance UID?

我们两清 提交于 2021-02-11 14:40:44
问题 I would like to perform a C-move to retrieve only specific images within a study, in stead of having to move the entire study which contains some large size scans I won't use. I have set up a working Q/R Node, and I have a list of Study UIDs. I could potentially match the specific images based on 'series description' (0008,103e). My question: Is this possible? and how should I best approach this problem? I plan to access the PACS with either pynetdicom or dcmtk. How can I check the DICOM

Which DICOM tags other than UIDs should be replaced while overwriting pixel data in DICOM?

孤者浪人 提交于 2021-02-11 06:51:17
问题 This is in continuation with my other question: Which DICOM UIDs should be replaced while overwriting pixel data in DICOM? I am trying to create a new DICOM file (instance) from an existing one, where I change the pixel data. Form other question mentioned above, I understood what UIDs I need to change. What other tags except UIDs should I change in order to get a valid DICOM while replacing the pixel data? UPDATE: In this case I am working with RT Dose IOD , unfortunately I cannot provide

【更新】LEADTOOLS v20最新版发布(三)

戏子无情 提交于 2021-02-09 02:45:43
在数码图象开发工具领域中的全球领导者—— LEADTOOLS v20 已正式发布,本站将以连载的形式为大家介绍新版本新增内容。本文主要介绍LEADTOOLS v20医疗引擎的新功能。 LEAD Technologies已经正式推出LEADTOOLS v20。这个新的版本将LEAD的成像技术扩展到新的快速增长的开发市场,新版本的库利用.NET Standard来针对Xamarin应用程序模型定位.NET Framework,.NET Core和Visual Studio Tools ,以及Microsoft Azure服务。除此之外,LEAD文档,医疗和多媒体产品线中的现有技术也增加了新的功能,速度也得到提升。 LEADTOOLS v20 (Windows、Linux、IOS/macOS)下载>>> 医疗引擎新功能: 医疗Web查看器 WADO和DICOMWeb支持 增强模板编辑器功能,可简化复制和更改现有模板 在新的ASP.NET Web API服务或现有的WCF服务之间进行选择 指定使用外部控制器时要显示的实例 提高滚动速度 添加了涵盖整个系列的新叠加选项 SVG波形渲染 可定制的放大镜,可以使用鼠标滚轮放大或缩小 挂起协议 被链接的CINE 增加加载时间 支持不规则布局 DICOM通讯 添加了对DICOM通信更安全的加密支持,对TLS 1.2密码套件的支持

pydicom Dataset: send_c_find return success but status.pixel_array has error text in it

江枫思渺然 提交于 2021-01-28 00:16:23
问题 I'm using dcm4chee as PACS server and I'm trying to retrieve a study based on a patient name. The relevant code is: ae = AE() ae.add_requested_context(PatientRootQueryRetrieveInformationModelFind) ae.add_requested_context(VerificationSOPClass) assoc = ae.associate(config['pacs_remotehost']['ip'], config['pacs_remotehost']['ports']['DICOM'],ae_title='DCM4CHEE') if assoc.is_established: ds = Dataset() ds.PatientName = '*************' #name erased ds.QueryRetrieveLevel = 'PATIENT' ds

Difference between dcm2pnm, dcmj2pnm and dcml2pnm

放肆的年华 提交于 2021-01-27 13:48:55
问题 The title says it all. What is the difference between dcm2pnm (http://support.dcmtk.org/docs/dcm2pnm.html), dcmj2pnm (http://support.dcmtk.org/docs/dcmj2pnm.html) and dcml2pnm (http://support.dcmtk.org/docs/dcml2pnm.html) commands of dcmtk toolkit (http://support.dcmtk.org/docs/pages.html)? They all seem to convert dicom images to other formats. Are there any special situations where one should be preferred over others? Edit: It seems dcml2pnm supports more formats. Why not use that for all

Dcm4che delete study from local archive (dicomdir)

[亡魂溺海] 提交于 2021-01-27 11:28:32
问题 Rephrasing my original post after some research in dcm4che3 and dicom protocol. I am using dcm4che3 toolkit to build an application that is essentially going to be a simple Image Archive able to forward studies on demand to other modalities.The tool also implements a s-store scu service to query itself but also other modalities. A requirement is to able and "delete" periodically studies from this local archive. I am also new to the dicom protocol and dcm4che, so i am trying to understand the

Dcm4che delete study from local archive (dicomdir)

怎甘沉沦 提交于 2021-01-27 11:28:05
问题 Rephrasing my original post after some research in dcm4che3 and dicom protocol. I am using dcm4che3 toolkit to build an application that is essentially going to be a simple Image Archive able to forward studies on demand to other modalities.The tool also implements a s-store scu service to query itself but also other modalities. A requirement is to able and "delete" periodically studies from this local archive. I am also new to the dicom protocol and dcm4che, so i am trying to understand the

Dcm4che delete study from local archive (dicomdir)

半腔热情 提交于 2021-01-27 11:27:42
问题 Rephrasing my original post after some research in dcm4che3 and dicom protocol. I am using dcm4che3 toolkit to build an application that is essentially going to be a simple Image Archive able to forward studies on demand to other modalities.The tool also implements a s-store scu service to query itself but also other modalities. A requirement is to able and "delete" periodically studies from this local archive. I am also new to the dicom protocol and dcm4che, so i am trying to understand the

Difference between the functions “im2uint8” (in MATLAB) and “bytescale” (in Python)

浪尽此生 提交于 2021-01-27 05:38:30
问题 I want to convert a DICOM image from int16 to uint8. I have done it in Python using Z_axis = bytescale(img) , but this gives different results than using im2uint8 in MATLAB. In MATLAB, The minimum and maximum values of a DICOM image after converting to uint8 using im2uint8 are (124, 136), respectively. But these values in Python after converting using bytescale are (0, 255). Python code: for person in range(0, len(dirs1)): if not os.path.exists(os.path.join(directory, dirs1[person])): Pathnew