📄 medical image format faq - part 4.htm
字号:
812 u_int DOBMM
816 u_int DOBDD
851 char[3] PatientAge
854 char PatientAgeUnits ('Y'=years)
1052 u_int RegistrationDateYYYY
1056 u_int RegistrationDateMM
1060 u_int RegistrationDateDD
1064 u_int RegistrationTimeHH
1068 u_int RegistrationTimeMM
1072 u_int RegistrationTimeSS
1544 double SliceThickness
1560 double RepetitionTime
1568 double EchoTime
1592 double FrequencyMHz
1639 char[5] Station
1712 u_int CalibrationDateYYYY
1716 u_int CalibrationDateMM
1720 u_int CalibrationDateDD
1724 u_int CalibrationTimeHH
1728 u_int CalibrationTimeMM
1732 u_int CalibrationTimeSS
1767 char[16] ReceivingCoil
1828 char[4] ImagedNucleus
2112 double FlipAngle
2560 double MagneticFieldStrength
2864 u_int DisplayMatrixSize
2944 char[65] SequencePrgName
3009 char[65] SequenceWkcName
3074 char[9] SequenceAuthor
3083 char[8] SequenceType
3744 double FOVRow
3752 double FOVColumn
3768 double CenterPointX
3776 double CenterPointY
3784 double CenterPointZ
3792 double NormalVectorX
3800 double NormalVectorY
3808 double NormalVectorZ
3816 double DistanceFromIsocenter
3832 double RowVectorX
3840 double RowVectorY
3848 double RowVectorZ
3856 double ColumnVectorX
3864 double ColumnVectorY
3872 double ColumnVectorZ
3880 char[3] OrientationSet1Top
3884 char[3] OrientationSet1Left
3888 char[3] OrientationSet1Back
3892 char[3] OrientationSet2Down
3896 char[3] OrientationSet2Right
3900 char[3] OrientationSet2Front
3904 char[32] SequenceName
5000 double PixelSizeRow
5008 double PixelSizeColumn
5504 char[12] TextPatientID
5517 char TextPatientSex
5518 char[3] TextPatientAge
5521 char TextPatientAgeUnits ('Y'=years)
5529 char[7] TextPatientPosition
5541 char[5] TextImageNumberFlag ('IMAGE'=image)
5546 char[3] TextImageNumber
5559 char[2] TextDateDD
5562 char[3] TextDateMM
5566 char[4] TextDateYYYY
5571 char[2] TextTimeHH
5574 char[2] TextTimeMM
5577 char[2] TextAcquisitionTimeFlag ('TA'=acquisition time)
5583 char[2] TextAcquisitionTimeMM
5586 char[2] TextAcquisitionTimeSS
5601 char[4] TextAnnotation
5655 char[25] TextOrganization
5682 char[5] TextStation
5695 char[3] TextAcquisitionMatrixPhase
5698 char TextAcquisitionMatrixPhaseAxis ('h'=horizontal,' '=vertical)
5700 char[3] TextAcquisitionMatrixFreq
5703 char TextAcquisitionMatrixFreqO ('o'=o,' '=blank)
5704 char TextAcquisitionMatrixFreqS ('s'=s,' '=blank)
5706 char[8] TextSequence
5714 char[3] TextFlipAngle
5718 char[4] TextScanNumberFlag ('SCAN'=scan)
5723 char[3] TextScanNumberA
5726 char[3] TextScanNumberB
5730 char[2] TextRepetitionTimeFlag ('TR'=tr)
5734 char[7] TextRepetitionTime
5742 char[2] TextEchoTimeFlag ('TE'=te)
5746 char[5] TextEchoTime
5752 char TextEchoNumber
5790 char[2] TextSliceThicknessFlag ('SL'=slice thickness)
5794 char[7] TextSliceThickness
5802 char[2] TextSlicePositionFlag ('SP'=slice position)
5806 char[7] TextSlicePosition
5814 char[3] TextAngleFlag1 ('Sag'=sagittal,'Cor'=coronal,'Tra'=transverse)
5817 char TextAngleFlag2 ('>'=gt,'<'=lt)
5818 char[3] TextAngleFlag3 ('Sag'=sagittal,'Cor'=coronal,'Tra'=transverse)
5821 char[4] TextAngle
5838 char[3] TextFOVFlag ('FoV'=field of view)
5842 char[3] TextFOVH
5846 char[3] TextFOVV
5874 char[2] TextTablePositionFlag ('TP'=table position)
5878 char[7] TextTablePosition
5938 char[5] TextStudyNumberFlag ('STUDY'=study)
5943 char[2] TextStudyNumber
5956 char[2] TextDOBDD
5959 char[3] TextDOBMM
5963 char[4] TextDOBYYYY
5992 char[3] TextStudyNumberFlag2 ('STU'=study)
5996 char[3] TextImageNumberFlag2 ('IMA'=study)
5999 char[2] TextStudyNumber2
6002 char[2] TextImageNumber2
6013 char[5] TextStudyImageNumber3
6031 char[15] TextModelName
6058 char[25] TextPatientName
6085 char[2] TextScanStartTimeHH
6088 char[2] TextScanStartTimeMM
6091 char[2] TextScanStartTimeSS
</PRE>
<H6>3.3.2.4.2 <A name=MagnetomVisionSPI>Siemens Magnetom Vision SPI
Format</A></H6>
<P>Unknown. </P>
<H4>3.3.3 <A name=MRPhilips>Philips MR</A></H4>
<H5>3.3.3.1 <A name=PhilipsS5>Philips Gyroscan S5</A></H5>
<UL>
<LI>can export as ACR/NEMA (actually SPI) files
<LI>little endian byte order
<LI>12 bit packed data </LI></UL>
<P>This description pertains to "exported ACR/NEMA", not the native image files,
which I am not familiar with. In fact I am not even sure in which directory they
live. </P>
<P>Use the ADMIN menu on the operator's console to find the import/export
ACR/NEMA utility, with which you can select an exam, series or image to export
as an ACR/NEMA file. The default directory is the GYROVIEW home directory, which
is already pretty cluttered so it is better to make another subdirectory like
"ANI" to keep exported files in. The exported files have huge names composed of
identification information, but all have a ".ANI" extension. For example: </P><PRE> DIR SYS$SYSROOT:[GYROSCAN]*.ANI;*
SMITH__FA02010801010001.ANI;1
</PRE>
<P>These files are stored as, wait for it, fixed length 512 byte records, with
the "carriage return carriage control" record attributes set from some bizarre
reason, which totally messes up kermit which starts messing with adding and
changing CR/LF characters. See the Vax diatribe below for a method of getting
around this, by using DUMP as a poor man's uuencode permitting ascii transfer.
Unfortunately the nature of fixed length records under VMS means that the last
record will be padded out to 512 bytes without any indication of the "real"
end-of-file. This means your ACR/NEMA reader has to cope with trailing garbage
gracefully. </P>
<P>Unlike the Siemens SPI files, the Philips ones are stored in little-endian
format. There is no fixed size header to skip, just go straight into the
ACR/NEMA data stream. For the image pixel data four 12 bit words are packed
without padding into 16 bit words, without any compression sheme. See the
ACR/NEMA section for description of the packing organization. Lots of private
tags are defined, but these can be ignored. Some of the identifying tags present
are as follows: </P><PRE>(0000x8,000x10) CS RecognitionCode VR=<CS> VL=<0xc> <ACR-NEMA 1.0>
(0000x8,000x70) LO Manufacturer VR=<LO> VL=<0x8> <Philips >
(0000x8,0x1090) LO ManufacturerModelName VR=<LO> VL=<0x2> <S5>
(0000x9,000x10) LT SPIComments VR=<LT> VL=<0xe> <SPI Release 1 >
(000x19,000x10) VR=<LT> VL=<0x14> <PHILIPS MR R5.6/PART>
</PRE>
<P>To get the files off, I plug a portable with a serial cable into one of the
spare serial ports inside one of the Vax cabinets, at 9600 baud, and login as
"GYROVIEW/NOCOM" without any password needed. This dumps you in the same
directory as the files will be stored by default. You will probably need to set
local echo on on your portable, or "SET TERMINAL/ECHO" on the Vax. Kermit was
already loaded on my system, accessed as "RUN [SYSEXE]KERMIT". See the Vax
section later for more help. </P>
<H5>3.3.3.2 <A name=#PhilipsMRACS>Philips Gyroscan ACS</A></H5>
<H5>3.3.3.3 <A name=PhilipsT5>Philips Gyroscan T5</A></H5>
<H5>3.3.3.4 <A name=PhilipsNT>Philips Gyroscan NT5 & NT15</A></H5>
<H4>3.3.4 <A name=MRPicker>Picker MR</A> - another black hole</H4>
<H4>3.3.5 <A name=MRToshiba>Toshiba MR</A> - another black hole</H4>
<H4>3.3.6 <A name=MRHitachi>Hitachi MR</A> - another black hole</H4>
<H4>3.3.7 <A name=MRShimadzu>Shimadzu MR</A></H4>
<P>The following information pertains to Revision 3 of the Shimadzu MRI format.
The new Revision 4 doesn't change this apparently. </P>
<UL>
<LI>words are big endian
<LI>fixed layout header
<UL>
<LI>standard 512 bytes
<LI>extended 2048 bytes (1st 512 same)
<LI>extended indicated by high byte of ZHREV non-zero </LI></UL>
<LI>16 bit uncompressed image pixel data
<LI>starting block of image pixel data is ZIBLKA (from 1)
<LI>multiple images per file, number specified in ZIMAGE
<LI>offset to image pixel data specified by index after header
<UL>
<LI>each index entry is 48 bytes for standard
<LI>each index entry is 256 bytes for extended
<LI>starting block for image added to ZIBLKA is
<UL>
<LI>int16 at byte 30 (from 0) of entry (standard)
<LI>int16 at byte 50 + (int16 at byte 52 << 16) (extended)<BR>(NB.
Not the same at big-endian int32 at byte 50) </LI></UL></LI></UL>
<LI>physical location of each slice is encoded in
<UL>
<LI>ZSLOC slice Location
<LI>ZSLOC int16 at byte offset 8 (from 0) of index entry
<LI>ZSLOC is relative to isocenter (same units as ZCLOC) </LI></UL>
<LI>elapsed time of each slice is encoded in
<UL>
<LI>ZPTIM1 int16 at byte offset 6 (from 0) of index entry
<LI>ZPTIM1 units are seconds since first slice </LI></UL>
<LI>field of view
<UL>
<LI>ZVIEW give the real field of view in mm*10 units
<LI>better than the mnemonic code in the ZAAREA field </LI></UL></LI></UL>
<P>The following information pertains to Revision 3 of the Shimadzu MRI format.
The new Revision 4 doesn't change this apparently. The offsets are specified in
both bytes from 0 and words from 1 (the Shimadzu convention). </P><PRE> Standard Header or 1st 512 bytes of Extended Header:
Offset Offset Type Keyword Description Units Example
(Bytes) (Words)
0 1 char 8 ZASYSID SYS-ID
8 5 char 16 ZANAME NAME
24 13 char 12 ZAID ID
36 19 char 2 ZASEX SEX "M ","F "
38 20 char 4 ZAAGE AGE years
42 22 char 20 ZACOMM COMMENT
62 32 char 18 ZAHOSP HOSPITAL
80 41 char 8 ZADATW DATE "YY-MM-DD"
88 45 char 8 ZATIME TIME "HH:MM:SS"
96 49 char 8 ZAAREA Zoom Size/NSlices "1.0 S/10"
ES = 100mm
VS = 150mm
SS = 200mm
S = 250mm
M = 300mm
L = 350mm
LL = 400mm
104 53 char 8 ZASEQ TYPE/MODE "IR/256" where 256 is Max(Nx,Ny)
IR = Inversion Recovery
SE = Spin Echo
FE = Field Echo
112 57 char 8 ZATR TR mS "TR=1500"
120 61 char 8 ZATE TE mS "TE=150"
128 65 char 8 ZATI TI mS "TI=200"
136 69 char 8 ZALOK LOCATION M
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -