Ejemplo n.º 1
0
 @Override
 public File getExtractFile() {
   DicomVideoElement media = getMedia(MEDIA_POSITION.FIRST, null, null);
   if (media != null) {
     return media.getVideoFile();
   }
   return null;
 }
Ejemplo n.º 2
0
 @Override
 public void addMedia(MediaElement media) {
   if (media instanceof DicomVideoElement) {
     if (media.getMediaReader() instanceof DicomMediaIO) {
       DicomMediaIO dicomImageLoader = (DicomMediaIO) media.getMediaReader();
       frames = dicomImageLoader.getMediaElementNumber();
       byte[] mpeg = null;
       try {
         width = dicomImageLoader.getWidth(0);
         height = dicomImageLoader.getHeight(0);
         DicomObject pixData = dicomImageLoader.readPixelData();
         mpeg = pixData.get(TagW.PixelData.getId()).getFragment(1);
       } catch (Exception e) {
         e.printStackTrace();
       }
       if (mpeg != null) {
         OutputStream tempFileStream = null;
         try {
           File videoFile =
               File.createTempFile(
                   "video_", ".mpg", AbstractProperties.APP_TEMP_DIR); // $NON-NLS-1$ //$NON-NLS-2$
           tempFileStream = new BufferedOutputStream(new FileOutputStream(videoFile));
           tempFileStream.write(mpeg);
           DicomVideoElement dicom = (DicomVideoElement) media;
           dicom.setVideoFile(videoFile);
           this.add(dicom);
         } catch (Exception e) {
           e.printStackTrace();
         } finally {
           // Close file.
           if (tempFileStream != null) {
             try {
               tempFileStream.close();
             } catch (Exception e) {
             }
           }
         }
       }
       // DataExplorerModel model = (DataExplorerModel) getTagValue(TagW.ExplorerModel);
       // if (model != null) {
       // model.firePropertyChange(new ObservableEvent(ObservableEvent.BasicAction.Add, model,
       // null,
       // new SeriesEvent(SeriesEvent.Action.AddImage, this, insertIndex + frames)));
       // }
     }
   }
 }