2
votes

I have tried Leadtool SDK to play 1080p DICOM video @30fps, But I have problem to read images from DICOM file, it taking long time to get Image from DICOM file.

If we have to achieve 30fps frame rate, then Image should be read within 33 Milliseconds, Because 33 Milliseconds is time between two frames for 30fps frame rate. Lead tool taking more than 50 Milliseconds to read single image/frame of 1080p.

Therefore I can't achieve 30fps frame rate for 1080p video.

Leadtool can read 720p video file, without any problem, just problem is there for 1080p HD video.

I am using below code to get Image.

RasterImage image = _Dataset.GetImage(null, count++, 0,
                                                 _DicomImageInformation.IsGray ? RasterByteOrder.Gray : RasterByteOrder.Bgr | RasterByteOrder.Rgb,
                                                 DicomGetImageFlags.None | DicomGetImageFlags.AutoLoadOverlays);

Please, someone can suggest me any solution for this or somebody knows any DICOM library than can enable to play 1080p DICOM video @30fps.

2
Library recommendations are offtopic here, this specific problem - you can discuss it with this library vendor. DICOM 1080p30 files can be, generally, played just the same way (at similar performance) as standard video files like MP4.Roman R.

2 Answers

1
votes

It looks like you are using the LEADTOOLS still imaging support rather than the LEADTOOLS Multimedia SDK. We provide a DirectShow DICOM Reader Filter designed specifically for pulling video data out of a DICOM file.

If you are looking to do something with every frame within the DICOM file, you could use the LEADTOOLS Video Callback filter in conjunction with either the play or convert controls. If you just want simple playback, this code would do it:

   private Leadtools.Multimedia.PlayCtrl _playctrl;

   _playctrl = new Leadtools.Multimedia.PlayCtrl();
   _playctrl.AutoStart = false;
   _playctrl.Location = new System.Drawing.Point(10, 67);
   _playctrl.Name = "_playctrl";
   _playctrl.Size = new System.Drawing.Size(325, 283);
   _playctrl.SourceFile = @"C:\Users\Public\Documents\LEADTOOLS Images\MR.dcm";
   this.Controls.Add(_playctrl);
   _playctrl.Run();

If you have further questions or concerns regarding the use of LEADTOOLS, please do not hesitate to contact us directly.

0
votes

I have done it using FO-DICOM and Leadtool combinly. Now I am able to play 1080p DICOM video @30fps. FO-DICOM.