medical image format faq - part 4.htm
来自「mri_toolbox是一个工具用来MRI. 来自于SourceForge, 我」· HTM 代码 · 共 1,199 行 · 第 1/5 页
HTM
1,199 行
<P>Unknown. </P>
<H6>3.3.2.2.2 <A name=MagnetomSPSPI>Siemens Magnetom SP SPI Format</A></H6>
<UL>
<LI>ACR/NEMA data stream starts immediately
<LI>big-endian byte order
<LI>lots of private groups containing SPI & MR specific tags, but much
useful information in standard tags
<LI>12 bit allocated data in 16 bits stored, high bit 11
<LI>after ACR/NEMA data, trailing garbage </LI></UL>
<P>Similar story as for the <A
href="http://www.dclunie.com/medical-image-faq/html/part3.html#SomatomPlus">Siemens
Somatom Plus</A>. Siemens version of <A
href="http://www.dclunie.com/medical-image-faq/html/part3.html#SPI">SPI</A>,
containing the following private data elements. Note that there is overlayed
data in the high four bytes of the image pixel data, and that there seems to be
a bunch of padding in the middle. The intent seems to be to store the "original
header" and the image pixel data at accessible, presumably standard locations,
presumably indexed by the byte offsets and lengths described in group 9. This is
a shame because it seems that none of the really interesting MR attributes have
been included in the SPI form, although SPI private tags are available for lots
of MR parameters. This is in contrast to the <A
href="http://www.dclunie.com/medical-image-faq/html/part4.html#Impact">Siemens
Magnetom Impact</A> which contains more interesting SPI tags. </P><PRE>SPI private tags:
(0009,0010) <SPI RELEASE 1>
(0009,0011) <SIEMENS MED>
(0009,1010) SPI RELEASE 1 Comments <SPI VERSION 01.00>
(0009,1015) SPI RELEASE 1 UID <000S00MR001994122719161248>
(0009,1110) SIEMENS MED RecognitionCode <MR 2.0>
(0009,1130) SIEMENS MED ByteOffsetOfOriginalHeader [0x800]
(0009,1131) SIEMENS MED LengthOfOriginalHeader [0x1600]
(0009,1140) SIEMENS MED ByteOffsetOfPixelmatrix [0x2000]
(0009,1141) SIEMENS MED LengthOfPixelmatrixInBytes [0x20000]
(0011,0010) <SPI RELEASE 1>
(0021,0010) <SIEMENS MED>
(0021,1010) SIEMENS MED Zoom <01.0>
(0021,1011) SIEMENS MED Target <>
(0021,1020) SIEMENS MED ROIMask [0x0000]
Overlay descriptions (overlays already in image pixel data):
(6000,0010) OverlayRows [0x0100]
(6000,0011) OverlayColumns [0x0100]
(6000,0040) ROI <R>
(6000,0050) OverlayOrigin [0x5c31,0x2031]
(6000,0060) OverlayCompressionCode <NONE>
(6000,0100) OverlayBitsAllocated [0x0010]
(6000,0102) OverlayBitPosition [0x000c]
(6000,0110) OverlayFormat <RECT>
(6000,0200) OverlayLocation [0x7fe0]
(6002,0010) OverlayRows [0x0100]
(6002,0011) OverlayColumns [0x0100]
(6002,0040) ROI <R>
(6002,0050) OverlayOrigin [0x5c31,0x2031]
(6002,0060) OverlayCompressionCode <NONE>
(6002,0100) OverlayBitsAllocated [0x0010]
(6002,0102) OverlayBitPosition [0x000d]
(6002,0110) OverlayFormat <RECT>
(6002,0200) OverlayLocation [0x7fe0]
(6004,0010) OverlayRows [0x0100]
(6004,0011) OverlayColumns [0x0100]
(6004,0040) ROI <R>
(6004,0050) OverlayOrigin [0x5c31,0x2031]
(6004,0060) OverlayCompressionCode <NONE>
(6004,0100) OverlayBitsAllocated [0x0010]
(6004,0102) OverlayBitPosition [0x000e]
(6004,0110) OverlayFormat <RECT>
(6004,0200) OverlayLocation [0x7fe0]
(6006,0010) OverlayRows [0x0100]
(6006,0011) OverlayColumns [0x0100]
(6006,0040) ROI <R>
(6006,0050) OverlayOrigin [0x5c31,0x2031]
(6006,0060) OverlayCompressionCode <NONE>
(6006,0100) OverlayBitsAllocated [0x0010]
(6006,0102) OverlayBitPosition [0x000f]
(6006,0110) OverlayFormat <RECT>
(6006,0200) OverlayLocation [0x7fe0]
More SPI private stuff ... padding and original header ...
(7001,0010) <SIEMENS MED>
(7001,1010) SIEMENS MED Dummy
(7003,0010) <SIEMENS MED>
(7003,1010) SIEMENS MED Header
(7005,0010) <SIEMENS MED>
(7005,1010) SIEMENS MED Dummy
</PRE>
<P>NB. Siemens VR for OverlayOrigin seems to be wrong. ACR/NEMA says it should
be binary, but [0x5c31,0x2031] translates to a string <1\1> which seems
more plausible! </P>
<P>The models in this family include the SP (which the SPI describes as a GBS 3
!), the SP/4000 which got a faster Vax, and the new Vision. I have only examined
the files from the SP so far, but they are bog standard SPI with no surprises,
and I have no reason to doubt the same is true of the later models. </P>
<P>The usual Vax VMS problems apply. Use the console serial port on the back of
the Vax. There is a C compiler supplied so you can compile the more recent C
version of kermit ... although the old Bliss version works fine. Unlike the
Philips, there is no problem with CR delimited file attributes being set on the
binary files. Kermit transfers are glacially slow as always. </P>
<H5>3.3.2.3 <A name=Impact>Siemens Magnetom Impact</A></H5>
<H6>3.3.2.3.1 <A name=ImpactNative>Siemens Magnetom Impact Native
Format</A></H6>
<P>Unknown. </P>
<H6>3.3.2.3.2 <A name=ImpactSPI>Siemens Magnetom Impact SPI Format</A></H6>
<UL>
<LI>skip the 1st 128 bytes to get to ACR/NEMA data stream (may be artifact of
transfer process though rather than real)
<LI>big-endian byte order
<LI>lots of private groups containing SPI & MR specific tags, but much
useful information in standard tags
<LI>12 bit allocated data in 16 bits stored, high bit 11
<LI>after ACR/NEMA data, file is padded to 512 byte mark </LI></UL>
<P>Siemens version of <A
href="http://www.dclunie.com/medical-image-faq/html/part3.html#SPI">SPI</A>,
containing the following private data elements. More comprehensive attributes
than the <A
href="http://www.dclunie.com/medical-image-faq/html/part3.html#SomatomPlus">Siemens
Somatom Plus</A> or <A
href="http://www.dclunie.com/medical-image-faq/html/part4.html#MagnetomSP">Siemens
Magnetom SP</A>. There is no overlayed data in the high four bytes of the image
pixel data, and that there is no padding in the middle or "original header", or
byte offsets and lengths described in group 9. Only some of the more significant
elements are described here in the interest of brevity. Sources for a more
comprehensive dictionary are described under <A
href="http://www.dclunie.com/medical-image-faq/html/part3.html#SPI">SPI</A>.
</P><PRE>SPI private tags:
(0009,0010) PrivateCreator <SPI RELEASE 1>
(0009,0012) PrivateCreator <SIEMENS CM VA0 CMS>
(0009,0013) PrivateCreator <SIEMENS CM VA0 LAB>
(0009,1010) SPI RELEASE 1 Comments <SPI VERSION 01.00>
(0009,1015) SPI RELEASE 1 UID <000S00MR001994021614211710>
(0009,1040) SPI RELEASE 1 DataObjectSubtype [0x0000]
(0009,1041) SPI RELEASE 1 DataObjectSubtype <MRUPNONE>
(0009,1210) SIEMENS CM VA0 CMS StorageMode <EXPANDED>
(0009,1212) SIEMENS CM VA0 CMS EvaluationMask [0x0000]
(0009,1226) SIEMENS CM VA0 CMS LastMoveDate <1994.02.16>
(0009,1227) SIEMENS CM VA0 CMS LastMoveTime <13:41:52.000>
(0009,1320) SIEMENS CM VA0 LAB HeaderVersion <VB6>
(0011,0011) PrivateCreator <SIEMENS CM VA0 CMS>
(0011,1110) SIEMENS CM VA0 CMS RegistrationDate <1994.02.16>
(0011,1111) SIEMENS CM VA0 CMS RegistrationTime <113:43:49.000>
(0011,1123) SIEMENS CM VA0 CMS UsedPatientWeight <000050>
(0019,0010) PrivateCreator <SIEMENS CM VA0 CMS>
(0019,0012) PrivateCreator <SIEMENS MR VA0 GEN>
(0019,0014) PrivateCreator <SIEMENS MR VA0 COAD>
(0019,0015) PrivateCreator <SIEMENS CM VA0 ACQU>
(0019,1060) SIEMENS CM VA0 CMS NumberOfDataBytes <310127>
(0019,1220) SIEMENS MR VA0 GEN NominalNumberOfFourierLines <000128>
(0019,1226) SIEMENS MR VA0 GEN NumberOfFourierLinesafterZero <000063>
(0019,1228) SIEMENS MR VA0 GEN FirstMeasuredFourierLine <-00064>
(0019,1230) SIEMENS MR VA0 GEN AcquisitionColumns <000512>
(0019,1231) SIEMENS MR VA0 GEN ReconstructionColumns <000512>
(0019,1250) SIEMENS MR VA0 GEN CurrentNumberOfAverages <000010>
(0019,1260) SIEMENS MR VA0 GEN FlipAngle <00.8000000+E00>
(0019,1290) SIEMENS MR VA0 GEN NumberOfSaturationRegions <000000>
(0019,1294) SIEMENS MR VA0 GEN ImageRotationAngle <00.0000000+E00>
(0019,1412) SIEMENS MR VA0 COAD MagneticFieldStrength <009.500702E-01>
(0019,1456) SIEMENS MR VA0 COAD ReceiverFilterFrequency <500000>
(0021,0010) PrivateCreator <SIEMENS MED>
(0021,0011) PrivateCreator <SIEMENS CM VA0 CMS>
(0021,0013) PrivateCreator <SIEMENS MR VA0 GEN>
(0021,1010) SIEMENS MED Zoom <>
(0021,1011) SIEMENS MED Target <>
(0021,1020) SIEMENS MED ROIMask [0x0]
(0021,1120) SIEMENS CM VA0 CMS FoV <00.2050000+E200\.2050000+E20>
(0021,1122) SIEMENS CM VA0 CMS ImageMagnificationFactor <001.000000E+00>
(0021,1130) SIEMENS CM VA0 CMS ViewDirection <HEAD>
(0021,1132) SIEMENS CM VA0 CMS RestDirection <HEAD>
(0021,1160) SIEMENS CM VA0 CMS ImagePosition <000.000000E+00\.\.>
(0021,1161) SIEMENS CM VA0 CMS ImageNormal <-00.000000E+00\.\.>
(0021,1163) SIEMENS CM VA0 CMS ImageDistance <002.787480E+01>
(0021,116a) SIEMENS CM VA0 CMS ImageRow <001.000000E+00\.\.>
(0021,116b) SIEMENS CM VA0 CMS ImageColumn <000.000000E+00\.\.>
(0021,1170) SIEMENS CM VA0 CMS PatientOrientationSet1 <R\AH\HP>
(0021,1171) SIEMENS CM VA0 CMS PatientOrientationSet2 <L\PF\FA>
(0021,1180) SIEMENS CM VA0 CMS StudyName <routine_brain/6_opt3_mprag>
(0021,1182) SIEMENS CM VA0 CMS StudyType <MEA>
(0021,1334) SIEMENS MR VA0 GEN NumberOf3DImagePartitions <000128>
(0021,1339) SIEMENS MR VA0 GEN SlabThickness <001.800000E+02>
(0021,1342) SIEMENS MR VA0 GEN CurrentSliceNumber <000001>
(0021,1343) SIEMENS MR VA0 GEN CurrentGroupNumber <000001>
(0021,134f) SIEMENS MR VA0 GEN OrderofSlices <ASCENDING>
(0021,1370) SIEMENS MR VA0 GEN NumberOfEchoes <000001>
(0029,0011) PrivateCreator <SIEMENS CM VA0 CMS>
(0029,1120) SIEMENS CM VA0 CMS PixelQualityCode <NONE\NONE\NONE>
(0051,0010) PrivateCreator <SIEMENS CM VA0 CMS>
(0051,1010) SIEMENS CM VA0 CMS ImageText <...>
</PRE>
<H5>3.3.2.4 <A name=MagnetomVision>Siemens Magnetom Vision</A></H5>
<H6>3.3.2.4.1 <A name=MagnetomVisionNative>Siemens Magnetom Vision Native
Format</A></H6>
<P>The exact details of the format are not known, but a little guess work has
determined what follows. The data types are <A
href="http://www.dclunie.com/medical-image-faq/html/part6.html#Sun">Sun</A>,
hence the byte order is big-endian and the all the floats I have found are
doubles. Offsets here are in bytes from the start of the header. The
uncompressed image data starts at offset 6144. </P><PRE> 0 u_int SiemensStudyDateYYYY
4 u_int SiemensStudyDateMM
8 u_int SiemensStudyDateDD
12 u_int AcquisitionDateYYYY
16 u_int AcquisitionDateMM
20 u_int AcquisitionDateDD
24 u_int ImageDateYYYY
28 u_int ImageDateMM
32 u_int ImageDateDD
36 u_int SiemensStudyTimeHH
40 u_int SiemensStudyTimeMM
44 u_int SiemensStudyTimeSS
52 u_int AcquisitionTimeHH
56 u_int AcquisitionTimeMM
60 u_int AcquisitionTimeSS
68 u_int ImageTimeHH
72 u_int ImageTimeMM
76 u_int ImageTimeSS
96 char[7] Manufacturer
105 char[25] InstitutionName
186 char[4] Annotation
281 char[15] ModelName
412 u_int LastMoveDateYYYY
416 u_int LastMoveDateMM
420 u_int LastMoveDateDD
424 u_int LastMoveTimeHH
428 u_int LastMoveTimeMM
432 u_int LastMoveTimeSS
768 char[25] PatientName
795 char[12] PatientID
808 u_int DOBYYYY
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?