2012-04-24 7 views
2

私はアプリケーションを開発してイメージをロードし、netbeansプラットフォームのJavaのdicomイメージを保存しています 私はJfilechooserを使ってdicomイメージのみをロードしたい、私はアプリケーションを開発しましたが、Dicomイメージのみをロードできませんでした。それに欠けているプラ​​グインがありますか?どのjarファイルをアップロードする必要がありますか? plsはJavaでDICOMイメージをロードするには?

package opner; 

import com.sun.media.jai.widget.DisplayJAI; 
import java.awt.*; 
import java.awt.event.*; 
import java.util.Properties; 
import javax.swing.JFileChooser; 
import javax.swing.JFrame; 
import java.util.Properties; 
import java.io.*; 
import java.net.*; 

import java.awt.BorderLayout; 
import java.io.*; 
import javax.imageio.*; 
import java.awt.image.RenderedImage; 
import java.awt.image.renderable.ParameterBlock; 
import java.util.Iterator; 
import javax.imageio.stream.FileImageInputStream; 
import javax.imageio.stream.FileImageOutputStream; 
import javax.media.jai.*; 
import javax.swing.*; 

public class Opner 
{ 
    public static void main(String args[]) 
    { 
     RenderedImage image = null;  
     RenderedOp result = null; 
     try 
     {  
      FileImageInputStream stream = new FileImageInputStream(new File("E:/MAGIX/demo1.dcm")); 
      Iterator iter =ImageIO.getImageReaders(stream); 
      ImageReader reader = (ImageReader)iter.next(); 
      reader.setInput(stream); 

      image = reader.readAsRenderedImage(0,reader.getDefaultReadParam()); 

      double scaleFactor = 0.5; 
      ParameterBlock params = new ParameterBlock(); 
      params.addSource(image); 
      params.add(scaleFactor); 
      //x scale factor 
      params.add(scaleFactor); 
      //y scale factor 
      result = JAI.create("SubsampleAverage", params); 

      Iterator writerIter =ImageIO.getImageWritersByFormatName("dcm"); 
      ImageWriter writer = (ImageWriter)writerIter.next(); 
      FileImageOutputStream os = new FileImageOutputStream(new File("E:/MAGIX/demo1.dcm")); 
      writer.setOutput(os); 
      writer.write(result); 
     } 
     catch(IOException e) 
     { 
      e.printStackTrace(); 
     } 

     DisplayJAI d = new DisplayJAI(); 
     d.set(result); 
     JScrollPane jsp = new JScrollPane(); 
     jsp.setViewportView(d); 
     JFrame f = new JFrame(); 
     f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     f.setLayout(new BorderLayout()); 
     f.add(jsp, BorderLayout.CENTER); 
     f.pack(); 
     f.setVisible(true); 
    } 
} 

答えて

1

は、それがオープンソースであり、DICOMシーケンスとディレクトリのプラグインを持っていimagejを見てみましょう...私はjavaappsに開発されたコードを追加しadvance.hereにme..thansとあなたの意見を共有しています。

+0

返信用ですが、imagejを使用したくありません... imagej ..イメージをロードする別の方法ですか? –

+1

thats great。おめでとう。あなたのコードを共有したいですか?あなたはどうしたの? – bilalhaider

関連する問題