我们正在考虑通过解析现有的 dicomdir 文件来添加图片管理功能,并使用树结构显示内容。现有的应用程序使用 Java 和 Dcm4Che 。
我的问题是如何解析dicomdir文件以获取足够的信息以在 Java树中显示其内容?
答案 0 :(得分:0)
更多请参阅此处:: DICOMDIR READ IMAGES
public void getFilePath(DicomObject firstRecord) throws IOException {
int i = 1;
for (DicomObject rec = firstRecord; rec != null; rec = dicomDir
.findNextSiblingRecord(rec), ++i) {
if (rec.get(Tag.ReferencedFileID) != null) {
File f = dicomDir.toReferencedFile(rec);
System.out.println(f.getAbsolutePath());
}
getFilePath(dicomDir.findFirstChildRecord(rec));
}
答案 1 :(得分:0)
private DicomDirReader dirReader;
public ReadDicomDir(File file) throws IOException {
dirReader = new DicomDirReader(file);
}
public List<File> getFiles() throws IOException {
List<File> listDirFiles = new ArrayList<File>();
getFilePath(dirReader.findFirstRootRecord(), listDirFiles);
return listDirFiles;
}
/**
* Get Filepath of Dicom File
*
* @param firstRecord
* @param listDirFiles
* @throws IOException
*/
public void getFilePath(DicomObject firstRecord, List<File> listDirFiles)
throws IOException {
int i = 1;
for (DicomObject rec = firstRecord; rec != null; rec = dirReader
.findNextSiblingRecord(rec), ++i) {
if (rec.contains(Tag.ReferencedFileID)) {
File f = dirReader.toReferencedFile(rec);
// System.out.println(f.getAbsolutePath());
listDirFiles.add(f);
}
getFilePath(dirReader.findFirstChildRecord(rec), listDirFiles);
}