在屏幕上显示DICOM文件

时间:2014-05-05 22:01:28

标签: java dicom

我在显示dicom文件时遇到了一些麻烦。我已经尝试了很多东西来将图片显示在框架上,但它所做的就是制作一个错误,即“图像为空”。任何建议,将不胜感激。 (我知道图像不是空的,并且能够从笔记本电脑访问图像)。

谢谢。

这是我的代码(用java编码):

class Open{
public static void main(String s) throws IOException{
    String [] array = s.split("/");
    String k = array[0];
    k+= "/";
    k += array[1];
    k+= "/";
    k += array[2];
    k+= "/";
    k+= array[3];
    k+= "/";
    k+= array[4];
    k+= "/";
    System.out.println(k);

    System.out.println(s.length());

    if(s.length() == 0){
        System.out.println("The path and filename are empty!");
        System.exit(0);
    }

    File source = new File(k, array[5]);

    final Image image = ImageIO.read(source);
    //final BufferedImage image = ImageIO.read(new File(k, array[5]));

    if(image == null){
        System.out.println("The image is empty or can't be read!");
        System.exit(0);
    }

    JFrame frame = new JFrame();
    final Rectangle bounds = new Rectangle(0,0,240, 240);

    JPanel panel = new JPanel();
    //{
//          public void paintComponent(Graphics g){
 ////               Rectangle box = g.getClipBounds();
 ////               ((Graphics2D)g).fill(box);
 ////               
////                if(bounds.intersects(box)){
//                  g.drawImage(image,0,0,null);
 ////               }
//          }
//      };

    JLabel b = new JLabel(new ImageIcon(image));
    panel.add(b);
    frame.getContentPane().add(panel);
    panel.setPreferredSize(new Dimension(300, 300));
    frame.pack();
    frame.setVisible(true);
}
}

1 个答案:

答案 0 :(得分:0)

您可以使用PixelMed执行此操作。文档几乎不存在,但有javadoc。

如果您主要打算显示图片,则应该可以使用com.pixelmed.display包中的SourceImageSingleImagePanel来加载和显示图片。如果要解析DICOM属性,可以从com.pixelmed.dicom.AttributeList中的一个读取方法开始。