Understanding DICOM image attributes to get axial/coronal/sagittal cuts

后端 未结 4 877
别跟我提以往
别跟我提以往 2021-02-10 12:24

I have to write a program in c# able to parse DICOM and display axial, coronal and sagittal cuts.

Seems like it\'s a lot of work, but I have to do it so !

Big fi

4条回答
  •  再見小時候
    2021-02-10 13:00

    You are right, this is quite a big task! And you are probably not going to find someone here who can provide a step-by-step tutorial for you, However some hints:

    1. The DICOM standard is awkward and needs a steep learning curve at the beginning. The DICOM Cookbook helped me a lot to become familiar with the terms and the structure of the documentation.
    2. There are plenty of other toolkits around, some of them are free and ship with a very liberal license, such as DCMTK. These take away the burden to learn how the information is encoded in the various binary formats which slightly differ and provide a uniform API to access the information quite easily. I would strongly advise against writing your own DICOM implementation from scratch.
    3. The DICOM attributes which define the 3D position and orientation of a slice or frame are ImagePositionPatient (0020,0032) , ImageOrientationPatient (0020,0037) and PixelSpacing (0028,0030). These can be used to order the slices correctly and calculate interpolated intersection slices.
    4. Make sure to look at the Enhanced CT/MR Information object definitions. In general there are two ways to store a stack of images in DICOM: Singleframe (one file per image) and Multiframe (one file for one or more stacks of images). They differ in the way that you can obtain the information mentioned above.

    HTH and good luck!

提交回复
热议问题