开发者

DICOM CINE file C#.Net

开发者 https://www.devze.com 2023-03-05 04:00 出处:网络
I have read the first frame of a DICOM CINE image, then I want t开发者_Python百科o read the second frame and so on. How much byte should I seek the file pointer to get next frame(If the frame size is

I have read the first frame of a DICOM CINE image, then I want t开发者_Python百科o read the second frame and so on. How much byte should I seek the file pointer to get next frame(If the frame size is width=640, height=480).


by DICOM cine image, you mean multi-frame DICOM files right? May i know : which platform you are on, which dicom lib/SDK you are using? and for your DICOM image, has it been decompressed? to BMP(32-bit/24-bit)?

If your dicom file is in 24bit(3-bytes) BMP, then your next frame of pixel data would be 640*480*3.


Assuming you are dealing with uncompressed (native) multi-frame DICOM. In that case, you need to extract following information before proceeding to calculate the size of each image frame.

  • Transfer Syntax (0002, 0010) to make sure dataset set is not using encapsulated/compressed transfer syntax.
  • Sample per Pixel (0028, 0002): This represents number of samples (planes) in this image. As for example 24-bit RGB will have value of 3
  • Number of Frames (0028, 0008): total number of frames
  • Rows (0028, 0010)
  • Columns (0028, 0011)
  • Bit Allocated (0028, 0100): Number of bits allocated for each pixel sample.
  • Planar Configuration (0028, 0006): Conditional element that indicates whether the pixel data are sent color-by-plane or color-by-pixel. This is required if Samples per Pixel (0028, 0002) has a value greater than 1.

You would calculate the frame size as follows:

Frame size in bytes = Rows * Columns * (Bit Allocated* Sample per Pixel/8)

0

精彩评论

暂无评论...
验证码 换一张
取 消