解析dicomdir以显示可用图像

时间:2012-04-30 15:10:06

标签: dicom dcm4che

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

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

2 个答案:

答案 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)

Click Here for Same Code

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);
    }