- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 DICOM 格式的 pdf 文件发送到 PACS,并将其附加到单独节点中已有的研究(作为不同的系列)。我得到的异常如下:
org.dcm4che.net.DcmServiceException: SOP Instance UID in Dataset [2.25.227860789054905865463149387539476701251] differs from Affected SOP Instance UID[1.3.12.2.1107.5.2.30.26419.20
15022512062559209947045]
at org.dcm4chex.archive.dcm.storescp.StoreScp.checkSOPInstanceUID(StoreScp.java:1334)
在我发送的 dizomized pdf 中,我使用以下代码重新填充了研究所需的所有标签:
public void repopulateAnonData(String strDcmFilePath, DicomSeriesMeta dcmMeta) throws IOException {
log.info("repopulating anonymized data for file: " + strDcmFilePath);
CheckIfIsDicom dcmCheck = new CheckIfIsDicom();
Path dcmFilePath = Paths.get(strDcmFilePath);
DicomObject dcmObj6;
DicomInputStream din6 = null;
din6 = new DicomInputStream(dcmFilePath.toFile());
dcmObj6 = din6.readDicomObject();
try {
log.info("Repopulating AccessionNumber: " + dcmMeta.getAccessionNumber());
dcmObj6.putString(Tag.AccessionNumber, VR.SH ,dcmMeta.getAccessionNumber());
log.info("Repopulating InstitutionAddress: " + dcmMeta.getInstitutionAddress());
dcmObj6.putString(Tag.InstitutionAddress, VR.ST ,dcmMeta.getInstitutionAddress());
log.info("Repopulating InstitutionName: " + dcmMeta.getInstitutionName());
dcmObj6.putString(Tag.InstitutionName, VR.LO ,dcmMeta.getInstitutionName());
log.info("Repopulating IssuerOfPatientID: " + dcmMeta.getIssuerOfPatientID());
dcmObj6.putString(Tag.IssuerOfPatientID, VR.LO ,dcmMeta.getIssuerOfPatientID());
log.info("Repopulating MediaStorageSOPInstanceUID: " + dcmMeta.getMediaStorageSOPInstanceUID());
dcmObj6.putString(Tag.MediaStorageSOPInstanceUID, VR.UI ,dcmMeta.getMediaStorageSOPInstanceUID());
log.info("Repopulating OperatorsName: " + dcmMeta.getOperatorsName());
dcmObj6.putString(Tag.OperatorsName, VR.PN ,dcmMeta.getOperatorsName());
log.info("Repopulating OtherPatientIDs: " + dcmMeta.getOtherPatientIDs());
dcmObj6.putString(Tag.OtherPatientIDs, VR.LO ,dcmMeta.getOtherPatientIDs());
log.info("Repopulating PatientAge: " + dcmMeta.getPatientAge());
dcmObj6.putString(Tag.PatientAge, VR.AS ,dcmMeta.getPatientAge());
log.info("Repopulating PatientBirthDate: " + dcmMeta.getPatientBirthDate());
dcmObj6.putString(Tag.PatientBirthDate, VR.DA ,dcmMeta.getPatientBirthDate());
log.info("Repopulating PatientID: " + dcmMeta.getPatientID());
dcmObj6.putString(Tag.PatientID, VR.LO ,dcmMeta.getPatientID());
log.info("Repopulating PatientName: " + dcmMeta.getPatientName());
dcmObj6.putString(Tag.PatientName, VR.PN ,dcmMeta.getPatientName());
log.info("Repopulating PatientSex: " + dcmMeta.getPatientSex());
dcmObj6.putString(Tag.PatientSex, VR.CS ,dcmMeta.getPatientSex());
log.info("Repopulating PhysiciansOfRecord: " + dcmMeta.getPhysiciansOfRecord());
dcmObj6.putString(Tag.PhysiciansOfRecord,VR.PN ,dcmMeta.getPhysiciansOfRecord());
log.info("Repopulating ReferringPhysicianName: " + dcmMeta.getReferringPhysicianName());
dcmObj6.putString(Tag.ReferringPhysicianName, VR.PN ,dcmMeta.getReferringPhysicianName());
log.info("Repopulating RequestingPhysician: " + dcmMeta.getRequestingPhysician());
dcmObj6.putString(Tag.RequestingPhysician, VR.PN ,dcmMeta.getRequestingPhysician());
//log.info("Repopulating SOPInstanceUID: " + dcmMeta.getsOPInstanceUID());
//dcmObj6.putString(Tag.SOPInstanceUID, VR.UI ,dcmMeta.getsOPInstanceUID());
log.info("Repopulating StudyDate: " + dcmMeta.getStudyDate());
dcmObj6.putString(Tag.StudyDate, VR.DA ,dcmMeta.getStudyDate());
log.info("Repopulating StudyID: " + dcmMeta.getStudyID());
dcmObj6.putString(Tag.StudyID, VR.SH ,dcmMeta.getStudyID());
log.info("Repopulating StudyInstanceUID: " + dcmMeta.getStudyInstanceUID());
dcmObj6.putString(Tag.StudyInstanceUID, VR.UI,dcmMeta.getStudyInstanceUID());
log.info("Repopulating SeriesDescription: " + "REPORT");
dcmObj6.putString(Tag.SeriesDescription, VR.LO,"REPORT");
FileOutputStream fos = new FileOutputStream( new File(dcmFilePath.toString()), false);
BufferedOutputStream bos = new BufferedOutputStream(fos);
DicomOutputStream dos = new DicomOutputStream(bos);
dos.writeDicomFile(dcmObj6);
dos.close();
bos.close();
fos.close();
} catch (Exception ex) {
log.log(Level.ERROR, null, ex);;
} finally {
din6.close();
if (!dcmCheck.checkIfDicomObjectFileB(dcmFilePath.toFile())) {
log.info("Fetched file is not a DICOM.");
}
}
CheckIfIsDicom checker = new CheckIfIsDicom();
try {
if(checker.checkIfDicomObjectFileB(dcmFilePath.toFile())) {
log.info("Dicomization SUCCESS!");
ParseDicomHeader parseHeader = new ParseDicomHeader();
parseHeader.parseDicomHeaderFile(dcmFilePath.toFile());
} else {
log.info("Dicomization NOT SUCCESS!");
}
} catch (IOException ex) {
log.log(Level.ERROR, null, ex);
}
}
但是,我没有重新填充SeriesInstanceUID和SOPInstanceUID,因为我希望将dicom文件存储在不同系列节点中的特定研究下,但studyID与我试图存储的现有研究(在pacs中)相同这个迪康。
但是 pacs 服务器似乎不接受具有不同 SOPInstanceUID 的 dicom ...
我想念什么有什么想法吗?
最佳答案
问题在于您存储的实例的实例 UID 已存在于存档中。存档拒绝它,因为存储会与该实例的现有系列实例 UID 冲突。
如果您希望将此新对象存储在不同的研究中,那么您需要不同的实例、系列和研究UID。如果您希望它位于同一研究但不同的系列中,那么您需要不同的实例和系列 UID,但需要相同的研究 UID。
关于java - 无法将 dicom 文件发送到 dcm4che PACS - 存储需要禁止强制 (0020,000E) 系列实例 UID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28700552/
我正在尝试创建一个用于查看和分析 DICOM 切片的应用程序。我已经在 MATLAB 中完成了这个应用程序,但 MATLAB 没有足够的工具来构建真正漂亮的 GUI,而且 3D 图像很糟糕。因此,我尝
我正在将应用程序移植到 FreePasal/Lazarus 并发现他们的表单转换器不好。我有一个小型实用程序应用程序,每次进行更改时,我都需要重新转换、重新布局和重新导入图形。另外,有些事情很困惑。
Closed. This question is off-topic。它当前不接受答案。 想改善这个问题吗? Update the question,因此它是on-topic,用于堆栈溢出。 已关闭8
我需要一些用于结构报告(超声波)的示例 dcm 文件。谁能帮帮我? 最佳答案 下面链接中的报告 19 表示美国结构化报告,但我不确定它是否正是您要查找的 SOP 类: http://www.dclun
也许是一个简单的问题,但我没有取得进展,希望得到帮助。 我有一个大小为 422 的列表。在索引 0 中,有 135 个 .dcm 图像的文件路径。例如 '~/images/0001.dcm','~/i
如何使用 DCMTK 库从 .dcm 文件获取像素数据作为数组变量?我正在使用 this site for preference 并不起作用,数据结果与原始图片有很大不同。 最佳答案 您引用的代码只是
我找到了一种使用 vtk 显示 dcm 图像的方法。但是 vtk 对我想要的来说太多了,我只想显示一个 dcm 图像。 dcmtk 将为我处理 dcm 图像。那么有没有一种简单的方法可以显示 dcm
我有低剂量 CT 图像数据库,是从 this link 下载的。 ,这些图像的格式为 .dcm,并且我无法使用 BurreredImage 读取这些图像,所以我的想法是使用任何编辑器打开这些图像,然后
我想对 dicom 体绘制有更好的了解。 我有一组 dicom 图像,我已经能够从中提取轴向、冠状和矢状切面,如下所示: 我最初想从头开始生成一个 3D 模型,但似乎太难了。 所以我听说了 VTK/I
JPEG 和 PNG 如何转换为 dicom 可读图像?网上好像没有这方面的信息。我看过关于将 dicom 图像转换为 JPEG 的帖子,但没有看到相反的帖子。我尝试了下面的代码,但是我得到的图像(d
我正在尝试从 PACS 服务器下载 dcm 镜像,但这会生成一个空的 dcm 文件。 代码如下: public void VisoresPacsController(string ipAddress,
我陷入了 1.2.840.10008.1.2.4.70 - JPEG Lossless, Non-Hierarchical, First-Order Prediction使用 ImageIo 将 DC
根据lesson 15我将 .dcm 文件传递给 volume。我没有收到任何错误(例如,我之前没有遇到任何解析错误)但没有显示任何内容。 .dcm 文件可能有什么问题? 这是我使用的代码的摘录:
DICOM - 医学数字成像和通信,是一种处理、存储、打印和传输医学成像信息的标准。它包括文件格式定义和网络通信协议(protocol)。 我想在我的 ios 项目中写入 .dcm 文件。请给我建议任
我看过官方的 pynetdicom 文档,但我没有正确的事件处理程序(用于 SCU)接收图像。 首先,我创建了所需的 .dcm 文件数据集并使用了 C-GET 命令,它实际上应该为我提供 .dcm 文
我想要访问 Azure Synapse Analytics 上 pyspark 笔记本中 ADLS gen2 上的容器中存储的 .dcm (dicom) 类型的文件。我正在使用 pydicom 访问文
我是一名优秀的程序员,十分优秀!