Data conversion of Sinograms from Siemens mMR

Dear castor users,

I am working on the conversion of Siemens mMR data to castor format. I have used e7tools to derive sinograms. The data looks like a 2 volumes 3D sinograms. In each volume, I can see a stack of 3D sinograms on z-axis. Here is the example of the header.


name of data file := emis_00.s
image data byte order := LITTLEENDIAN
number of dimensions := 3
matrix size [1] := 344
matrix size [2] := 252
matrix size [3] := 837
number of z elements := 127 230 186 142 98 54 127 230 186 142 98 54
number format := float
number of bytes per pixel := 4
data offset in bytes := 0
scaling factor (mm/pixel) [1] := 2.0445
scaling factor (mm/pixel) [2] := 1.0
scaling factor (mm/pixel) [3] := 2.03125

Each item in “number of z elements” [127 230 186 142 98 54] actually represents one or two (even number) 3D sinograms. It looks like the sinograms generated by different rings. My questions are:

  1. How can I combine these sinograms into a single 3D sinograms? Then, I can convert it to castor format.
  2. The second volume of the data are sinograms of the object. The first one looks like a sinogram of random events. Am I right?
    I appreciate your help.


I cannot track back an answer to your questions.

You definitely have to look at the definition of Michelogram which will allow you to go from a 2D sinogram index to the list of ring pairs that contribute to this sinogram (due to axial compression = “span” in Siemens language) that you will need for castor conversion.

Each item of the Z elements represents what is called a segment, which is associated to a certain copolar angle or a range of ring differences.

If you have access to e7 tools, you should have documentation about that.

Michelogram definition can be found in many books or educational papers.

Second question: yes one sinogram is for prompt events in the standard coincidence window and the other one is for delayed coincidences from the delayed window (an estimation of randoms, not randoms themselves).