2

我们正在考虑通过解析现有的dicomdir文件并以树状结构显示内容来添加图像管理功能。现有应用程序使用JavaDcm4Che

我的问题是如何解析 dicomdir 文件以获取足够的信息以在Java 树中显示其内容?

4

2 回答 2

0

更多参考这里 :: DICOMDIR 阅读图像

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));
    }
于 2013-12-05T10:01:54.383 回答
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);
    }
于 2014-02-05T11:27:24.690 回答