Skip to content

AFNI/NIfTI Server

Sections
Personal tools
You are here: Home » AFNI » Documentation

Doxygen Source Code Documentation


GE_readHeaderImage.m

Go to the documentation of this file.
00001 function im_hdr = GE_readHeaderImage(fid, byte_align)
00002 %
00003 % im_hdr = GE_readHeaderImage(fid, byte_align)
00004 %
00005 % Loads the image header from a file with filed id fid
00006 % and returns it as a structure. 
00007 % if byte_align = 1 then 32-bit alignment (SGI, LX2 format)
00008 % if byte_align = 0 then 16-bit alignment (Sun, 5.X format)
00009 %
00010 %
00011 % Souheil J. Inati
00012 % Dartmouth College
00013 % May 2000
00014 % souheil.inati@dartmouth.edu
00015 %
00016 
00017 % define the structure and read in the data
00018 % to overcome the byte alignment problems
00019 % break up the assignment into pieces using the setfield function
00020 
00021 im_hdr = struct('im_suid', fread(fid,4,'uchar')); %Suite id for this image
00022 im_hdr = setfield(im_hdr, 'im_uniq', fread(fid,1,'int16'));            %The Make-Unique Flag
00023 im_hdr = setfield(im_hdr, 'im_diskid', fread(fid,1,'uchar'));          %Disk ID for this Image
00024 fseek(fid, 1, 0);% 16-bit alignment
00025 im_hdr = setfield(im_hdr, 'im_exno', fread(fid,1,'uint16'));            %Exam number for this image
00026 im_hdr = setfield(im_hdr, 'im_seno', fread(fid,1,'int16'));            %Series Number for this image
00027 im_hdr = setfield(im_hdr, 'im_no', fread(fid,1,'int16'));              %Image Number
00028 if byte_align; fseek(fid, 2, 0); end % 32-bit alignment
00029 im_hdr = setfield(im_hdr, 'im_datetime', fread(fid,1,'int32'));        %Allocation Image date/time stamp
00030 im_hdr = setfield(im_hdr, 'im_actual_dt', fread(fid,1,'int32'));       %Actual Image date/time stamp
00031 im_hdr = setfield(im_hdr, 'sctime', fread(fid,1,'float32'));             %Duration of scan
00032 im_hdr = setfield(im_hdr, 'slthick', fread(fid,1,'float32'));            %Slice Thickness (mm)
00033 im_hdr = setfield(im_hdr, 'imatrix_X', fread(fid,1,'int16'));          %Image matrix size - X
00034 im_hdr = setfield(im_hdr, 'imatrix_Y', fread(fid,1,'int16'));          %Image matrix size - Y
00035 im_hdr = setfield(im_hdr, 'dfov', fread(fid,1,'float32'));               %Display field of view - X (mm)
00036 im_hdr = setfield(im_hdr, 'dfov_rect', fread(fid,1,'float32'));          %Display field of view - Y (if different)
00037 im_hdr = setfield(im_hdr, 'dim_X', fread(fid,1,'float32'));              %Image dimension - X
00038 im_hdr = setfield(im_hdr, 'dim_Y', fread(fid,1,'float32'));              %Image dimension - Y
00039 im_hdr = setfield(im_hdr, 'pixsize_X', fread(fid,1,'float32'));          %Image pixel size - X
00040 im_hdr = setfield(im_hdr, 'pixsize_Y', fread(fid,1,'float32'));          %Image pixel size - Y
00041 im_hdr = setfield(im_hdr, 'pdid', fread(fid,14,'uchar'));          %Pixel Data ID
00042 im_hdr = setfield(im_hdr, 'contrastIV', fread(fid,17,'uchar'));    %IV Contrast Agent
00043 im_hdr = setfield(im_hdr, 'contrastOral', fread(fid,17,'uchar'));  %Oral Contrast Agent
00044 im_hdr = setfield(im_hdr, 'contmode', fread(fid,1,'int16'));           %Image Contrast Mode
00045 im_hdr = setfield(im_hdr, 'serrx', fread(fid,1,'int16'));              %Series from which prescribed
00046 im_hdr = setfield(im_hdr, 'imgrx', fread(fid,1,'int16'));              %Image from which prescribed
00047 im_hdr = setfield(im_hdr, 'screenformat', fread(fid,1,'int16'));       %Screen Format(8/16 bit)
00048 im_hdr = setfield(im_hdr, 'plane', fread(fid,1,'int16'));              %Plane Type
00049 if byte_align; fseek(fid, 2, 0); end % 32-bit alignment
00050 im_hdr = setfield(im_hdr, 'scanspacing', fread(fid,1,'float32'));        %Spacing between scans (mm?)
00051 im_hdr = setfield(im_hdr, 'im_compress', fread(fid,1,'int16'));        %Image compression type for allocation
00052 im_hdr = setfield(im_hdr, 'im_scouttype', fread(fid,1,'int16'));       %Scout Type (AP or lateral)
00053 im_hdr = setfield(im_hdr, 'loc_ras', fread(fid,1,'uchar'));            %RAS letter of image location
00054 fseek(fid, 1, 0); % 16-bit alignment
00055 if byte_align; fseek(fid, 2, 0); end % 32-bit alignment
00056 im_hdr = setfield(im_hdr, 'loc', fread(fid,1,'float32'));                %Image location
00057 im_hdr = setfield(im_hdr, 'ctr_R', fread(fid,1,'float32'));              %Center R coord of plane image
00058 im_hdr = setfield(im_hdr, 'ctr_A', fread(fid,1,'float32'));              %Center A coord of plane image
00059 im_hdr = setfield(im_hdr, 'ctr_S', fread(fid,1,'float32'));              %Center S coord of plane image
00060 im_hdr = setfield(im_hdr, 'norm_R', fread(fid,1,'float32'));             %Normal R coord
00061 im_hdr = setfield(im_hdr, 'norm_A', fread(fid,1,'float32'));             %Normal A coord
00062 im_hdr = setfield(im_hdr, 'norm_S', fread(fid,1,'float32'));             %Normal S coord
00063 im_hdr = setfield(im_hdr, 'tlhc_R', fread(fid,1,'float32'));             %R Coord of Top Left Hand Corner
00064 im_hdr = setfield(im_hdr, 'tlhc_A', fread(fid,1,'float32'));             %A Coord of Top Left Hand Corner
00065 im_hdr = setfield(im_hdr, 'tlhc_S', fread(fid,1,'float32'));             %S Coord of Top Left Hand Corner
00066 im_hdr = setfield(im_hdr, 'trhc_R', fread(fid,1,'float32'));             %R Coord of Top Right Hand Corner
00067 im_hdr = setfield(im_hdr, 'trhc_A', fread(fid,1,'float32'));             %A Coord of Top Right Hand Corner
00068 im_hdr = setfield(im_hdr, 'trhc_S', fread(fid,1,'float32'));             %S Coord of Top Right Hand Corner
00069 im_hdr = setfield(im_hdr, 'brhc_R', fread(fid,1,'float32'));             %R Coord of Bottom Right Hand Corner
00070 im_hdr = setfield(im_hdr, 'brhc_A', fread(fid,1,'float32'));             %A Coord of Bottom Right Hand Corner
00071 im_hdr = setfield(im_hdr, 'brhc_S', fread(fid,1,'float32'));             %S Coord of Bottom Right Hand Corner
00072 im_hdr = setfield(im_hdr, 'forimgrev', fread(fid,4,'uchar'));      %Foreign Image Revision
00073 im_hdr = setfield(im_hdr, 'tr', fread(fid,1,'int32'));                 %Pulse repetition time(usec)
00074 im_hdr = setfield(im_hdr, 'ti', fread(fid,1,'int32'));                 %Pulse inversion time(usec)
00075 im_hdr = setfield(im_hdr, 'te', fread(fid,1,'int32'));                 %Pulse echo time(usec)
00076 im_hdr = setfield(im_hdr, 'te2', fread(fid,1,'int32'));                %Second echo echo (usec)
00077 im_hdr = setfield(im_hdr, 'numecho', fread(fid,1,'int16'));            %Number of echoes
00078 im_hdr = setfield(im_hdr, 'echonum', fread(fid,1,'int16'));            %Echo Number
00079 im_hdr = setfield(im_hdr, 'tbldlta', fread(fid,1,'float32'));            %Table Delta
00080 im_hdr = setfield(im_hdr, 'nex', fread(fid,1,'float32'));                %Number of Excitations
00081 im_hdr = setfield(im_hdr, 'contig', fread(fid,1,'int16'));             %Continuous Slices Flag
00082 im_hdr = setfield(im_hdr, 'hrtrate', fread(fid,1,'int16'));            %Cardiac Heart Rate (bpm)
00083 im_hdr = setfield(im_hdr, 'tdel', fread(fid,1,'int32'));               %Delay time after trigger (msec)
00084 im_hdr = setfield(im_hdr, 'saravg', fread(fid,1,'float32'));             %Average SAR
00085 im_hdr = setfield(im_hdr, 'sarpeak', fread(fid,1,'float32'));            %Peak SAR
00086 im_hdr = setfield(im_hdr, 'monsar', fread(fid,1,'int16'));             %Monitor SAR flag
00087 im_hdr = setfield(im_hdr, 'trgwindow', fread(fid,1,'int16'));          %Trigger window (% of R-R interval)
00088 im_hdr = setfield(im_hdr, 'reptime', fread(fid,1,'float32'));            %Cardiac repetition time
00089 im_hdr = setfield(im_hdr, 'imgpcyc', fread(fid,1,'int16'));            %Images per cardiac cycle
00090 im_hdr = setfield(im_hdr, 'xmtgain', fread(fid,1,'int16'));            %Actual Transmit Gain (.1 db)
00091 im_hdr = setfield(im_hdr, 'rcvgain1', fread(fid,1,'int16'));           %Actual Receive Gain Analog (.1 db)
00092 im_hdr = setfield(im_hdr, 'rcvgain2', fread(fid,1,'int16'));           %Actual Receive Gain Digital (.1 db)
00093 im_hdr = setfield(im_hdr, 'mr_flip', fread(fid,1,'int16'));            %Flip Angle for GRASS scans (deg.)
00094 if byte_align; fseek(fid, 2, 0); end % byte alignment
00095 im_hdr = setfield(im_hdr, 'mindat', fread(fid,1,'int32'));             %Minimum Delay after Trigger (uSec)
00096 im_hdr = setfield(im_hdr, 'cphase', fread(fid,1,'int16'));             %Total Cardiac Phase prescribed
00097 im_hdr = setfield(im_hdr, 'swappf', fread(fid,1,'int16'));             %Swap Phase/Frequency Axis
00098 im_hdr = setfield(im_hdr, 'pauseint', fread(fid,1,'int16'));           %Pause Interval (slices)
00099 if byte_align; fseek(fid, 2, 0); end % 32-bit alignment
00100 im_hdr = setfield(im_hdr, 'pausetime', fread(fid,1,'float32'));          %Pause Time
00101 im_hdr = setfield(im_hdr, 'obplane', fread(fid,1,'int32'));            %Oblique Plane
00102 im_hdr = setfield(im_hdr, 'slocfov', fread(fid,1,'int32'));            %Slice Offsets on Freq axis
00103 im_hdr = setfield(im_hdr, 'xmtfreq', fread(fid,1,'int32'));            %Center Frequency (0.1 Hz)
00104 im_hdr = setfield(im_hdr, 'autoxmtfreq', fread(fid,1,'int32'));        %Auto Center Frequency (0.1 Hz)
00105 im_hdr = setfield(im_hdr, 'autoxmtgain', fread(fid,1,'int16'));        %Auto Transmit Gain (0.1 dB)
00106 im_hdr = setfield(im_hdr, 'prescan_r1', fread(fid,1,'int16'));         %PreScan R1 - Analog
00107 im_hdr = setfield(im_hdr, 'prescan_r2', fread(fid,1,'int16'));         %PreScan R2 - Digital
00108 if byte_align; fseek(fid, 2, 0); end % 32-bit alignment
00109 im_hdr = setfield(im_hdr, 'user_bitmap', fread(fid,1,'int32'));        %Bitmap defining user CVs
00110 im_hdr = setfield(im_hdr, 'cenfreq', fread(fid,1,'int16'));            %Center Frequency Method
00111 im_hdr = setfield(im_hdr, 'imode', fread(fid,1,'int16'));              %Imaging Mode
00112 im_hdr = setfield(im_hdr, 'iopt', fread(fid,1,'int32'));               %Imaging Options
00113 im_hdr = setfield(im_hdr, 'pseq', fread(fid,1,'int16'));               %Pulse Sequence
00114 im_hdr = setfield(im_hdr, 'pseqmode', fread(fid,1,'int16'));           %Pulse Sequence Mode
00115 im_hdr = setfield(im_hdr, 'psdname', fread(fid,33,'uchar'));       %Pulse Sequence Name
00116 fseek(fid,1,0); % 16-bit alignment
00117 if byte_align; fseek(fid, 2, 0); end % byte alignment
00118 im_hdr = setfield(im_hdr, 'psd_datetime', fread(fid,1,'int32'));       %PSD Creation Date and Time
00119 im_hdr = setfield(im_hdr, 'psd_iname', fread(fid,13,'uchar'));     %PSD name from inside PSD
00120 fseek(fid, 1, 0); % 16-bit alignment
00121 im_hdr = setfield(im_hdr, 'ctyp', fread(fid,1,'int16'));               %Coil Type
00122 im_hdr = setfield(im_hdr, 'cname', fread(fid,17,'uchar'));         %Coil Name
00123 fseek(fid, 1, 0); % 16-bit alignment
00124 im_hdr = setfield(im_hdr, 'surfctyp', fread(fid,1,'int16'));           %Surface Coil Type
00125 im_hdr = setfield(im_hdr, 'surfcext', fread(fid,1,'int16'));           %Extremity Coil Flag
00126 if byte_align; fseek(fid, 2, 0); end % 32-bit alignment
00127 %rawrunnum
00128 %ftell(fid)
00129 im_hdr = setfield(im_hdr, 'rawrunnum', fread(fid,1,'int32'));          %RawData Run Number
00130 im_hdr = setfield(im_hdr, 'cal_fldstr', fread(fid,1,'uint32'));         %Calibrated Field Strength (x10 uGauss)
00131 im_hdr = setfield(im_hdr, 'supp_tech', fread(fid,1,'int16'));          %SAT fat/water/none
00132 if byte_align; fseek(fid, 2, 0); end % 32-bit alignment
00133 im_hdr = setfield(im_hdr, 'vbw', fread(fid,1,'float32'));                %Variable Bandwidth (Hz)
00134 im_hdr = setfield(im_hdr, 'slquant', fread(fid,1,'int16'));            %Number of slices in this scan group
00135 im_hdr = setfield(im_hdr, 'gpre', fread(fid,1,'int16'));               %Graphically prescribed
00136 im_hdr = setfield(im_hdr, 'intr_del', fread(fid,1,'int32'));           %Interimage/interloc delay (uSec)
00137 im_hdr = setfield(im_hdr, 'user0', fread(fid,1,'float32'));              %User Variable 0
00138 im_hdr = setfield(im_hdr, 'user1', fread(fid,1,'float32'));              %User Variable 1
00139 im_hdr = setfield(im_hdr, 'user2', fread(fid,1,'float32'));              %User Variable 2
00140 im_hdr = setfield(im_hdr, 'user3', fread(fid,1,'float32'));              %User Variable 3
00141 im_hdr = setfield(im_hdr, 'user4', fread(fid,1,'float32'));              %User Variable 4
00142 im_hdr = setfield(im_hdr, 'user5', fread(fid,1,'float32'));              %User Variable 5
00143 im_hdr = setfield(im_hdr, 'user6', fread(fid,1,'float32'));              %User Variable 6
00144 im_hdr = setfield(im_hdr, 'user7', fread(fid,1,'float32'));              %User Variable 7
00145 im_hdr = setfield(im_hdr, 'user8', fread(fid,1,'float32'));              %User Variable 8
00146 im_hdr = setfield(im_hdr, 'user9', fread(fid,1,'float32'));              %User Variable 9
00147 im_hdr = setfield(im_hdr, 'user10', fread(fid,1,'float32'));             %User Variable 10
00148 im_hdr = setfield(im_hdr, 'user11', fread(fid,1,'float32'));             %User Variable 11
00149 im_hdr = setfield(im_hdr, 'user12', fread(fid,1,'float32'));             %User Variable 12
00150 im_hdr = setfield(im_hdr, 'user13', fread(fid,1,'float32'));             %User Variable 13
00151 im_hdr = setfield(im_hdr, 'user14', fread(fid,1,'float32'));             %User Variable 14
00152 im_hdr = setfield(im_hdr, 'user15', fread(fid,1,'float32'));             %User Variable 15
00153 im_hdr = setfield(im_hdr, 'user16', fread(fid,1,'float32')); ...
00154 %User Variable 16
00155 %ftell(fid)
00156 im_hdr = setfield(im_hdr, 'user17', fread(fid,1,'float32'));             %User Variable 17
00157 im_hdr = setfield(im_hdr, 'user18', fread(fid,1,'float32'));             %User Variable 18
00158 im_hdr = setfield(im_hdr, 'user19', fread(fid,1,'float32'));             %User Variable 19
00159 im_hdr = setfield(im_hdr, 'user20', fread(fid,1,'float32'));             %User Variable 20
00160 im_hdr = setfield(im_hdr, 'user21', fread(fid,1,'float32'));             %User Variable 21
00161 im_hdr = setfield(im_hdr, 'user22', fread(fid,1,'float32'));             %User Variable 22
00162 im_hdr = setfield(im_hdr, 'user23', fread(fid,1,'float32'));             %Projection Angle
00163 im_hdr = setfield(im_hdr, 'user24', fread(fid,1,'float32'));             %Concat Sat Type Flag
00164 im_hdr = setfield(im_hdr, 'im_alloc_key', fread(fid,13,'uchar'));
00165 fseek(fid, 1, 0); % 16-bit alignment
00166 if byte_align; fseek(fid, 2, 0); end % 32-bit alignment
00167 im_hdr = setfield(im_hdr, 'im_lastmod', fread(fid,1,'int32'));         %Date/Time of Last Change
00168 im_hdr = setfield(im_hdr, 'im_verscre', fread(fid,2,'uchar'));     %Genesis Version - Created
00169 im_hdr = setfield(im_hdr, 'im_verscur', fread(fid,2,'uchar'));     %Genesis Version - Now
00170 im_hdr = setfield(im_hdr, 'im_pds_a', fread(fid,1,'int32'));           %PixelData size - as stored
00171 im_hdr = setfield(im_hdr, 'im_pds_c', fread(fid,1,'int32'));           %PixelData size - Compressed
00172 im_hdr = setfield(im_hdr, 'im_pds_u', fread(fid,1,'int32'));           %PixelData size - UnCompressed
00173 im_hdr = setfield(im_hdr, 'im_checksum', fread(fid,1,'int32'));        %AcqRecon record checksum
00174 im_hdr = setfield(im_hdr, 'im_archived', fread(fid,1,'int32'));        %Image Archive Flag
00175 im_hdr = setfield(im_hdr, 'im_complete', fread(fid,1,'int32'));        %Image Complete Flag
00176 im_hdr = setfield(im_hdr, 'satbits', fread(fid,1,'int16'));            %Bitmap of SAT selections
00177 im_hdr = setfield(im_hdr, 'scic', fread(fid,1,'int16'));               %Surface Coil Intensity Correction Flag
00178 im_hdr = setfield(im_hdr, 'satxloc1', fread(fid,1,'int16'));           %R-side SAT pulse loc rel to lndmrk
00179 im_hdr = setfield(im_hdr, 'satxloc2', fread(fid,1,'int16'));           %L-side SAT pulse loc rel to lndmrk
00180 im_hdr = setfield(im_hdr, 'satyloc1', fread(fid,1,'int16'));           %A-side SAT pulse loc rel to lndmrk
00181 im_hdr = setfield(im_hdr, 'satyloc2', fread(fid,1,'int16'));           %P-side SAT pulse loc rel to lndmrk
00182 im_hdr = setfield(im_hdr, 'satzloc1', fread(fid,1,'int16'));           %S-side SAT pulse loc rel to lndmrk
00183 im_hdr = setfield(im_hdr, 'satzloc2', fread(fid,1,'int16'));           %I-side SAT pulse loc rel to lndmrk
00184 im_hdr = setfield(im_hdr, 'satxthick', fread(fid,1,'int16'));          %Thickness of X-axis SAT pulse
00185 im_hdr = setfield(im_hdr, 'satythick', fread(fid,1,'int16'));          %Thickness of Y-axis SAT pulse
00186 im_hdr = setfield(im_hdr, 'satzthick', fread(fid,1,'int16'));          %Thickness of Z-axis SAT pulse
00187 im_hdr = setfield(im_hdr, 'flax', fread(fid,1,'int16'));               %Phase contrast flow axis
00188 im_hdr = setfield(im_hdr, 'venc', fread(fid,1,'int16'));               %Phase contrast velocity encoding
00189 im_hdr = setfield(im_hdr, 'thk_disclmr', fread(fid,1,'int16'));        %Slice Thickness
00190 im_hdr = setfield(im_hdr, 'ps_flag', fread(fid,1,'int16'));            %Auto/Manual Prescan flag
00191 im_hdr = setfield(im_hdr, 'ps_status', fread(fid,1,'int16'));          %Bitmap of changed values
00192 im_hdr = setfield(im_hdr, 'image_type', fread(fid,1,'int16'));         %Magnitude, Phase, Imaginary, or Real
00193 im_hdr = setfield(im_hdr, 'vas_collapse', fread(fid,1,'int16'));       %Collapse Image
00194 im_hdr = setfield(im_hdr, 'user23n', fread(fid,1,'float32'));            %User Variable 23
00195 im_hdr = setfield(im_hdr, 'user24n', fread(fid,1,'float32'));            %User Variable 24
00196 im_hdr = setfield(im_hdr, 'proj_alg', fread(fid,1,'int16'));           %Projection Algorithm
00197 im_hdr = setfield(im_hdr, 'proj_name', fread(fid,13,'uchar'));     %Projection Algorithm Name
00198 fseek(fid, 1, 0); % 16-bit alignment
00199 im_hdr = setfield(im_hdr, 'x_axis_rot', fread(fid,1,'float32'));         %X Axis Rotation
00200 im_hdr = setfield(im_hdr, 'y_axis_rot', fread(fid,1,'float32'));         %Y Axis Rotation
00201 im_hdr = setfield(im_hdr, 'z_axis_rot', fread(fid,1,'float32'));         %Z Axis Rotation
00202 im_hdr = setfield(im_hdr, 'thresh_min1', fread(fid,1,'int32'));        %Lower Range of Pixels 1
00203 im_hdr = setfield(im_hdr, 'thresh_max1', fread(fid,1,'int32'));        %Upper Range of Pixels 1
00204 im_hdr = setfield(im_hdr, 'thresh_min2', fread(fid,1,'int32'));        %Lower Range of Pixels 2
00205 im_hdr = setfield(im_hdr, 'thresh_max2', fread(fid,1,'int32'));        %Upper Range of Pixels 2
00206 im_hdr = setfield(im_hdr, 'echo_trn_len', fread(fid,1,'int16'));       %Echo Train Length for Fast Spin Echo
00207 im_hdr = setfield(im_hdr, 'frac_echo', fread(fid,1,'int16'));          %Fractional Echo - Effective TE Flag
00208 im_hdr = setfield(im_hdr, 'prep_pulse', fread(fid,1,'int16'));         %Preporatory Pulse Option
00209 im_hdr = setfield(im_hdr, 'cphasenum', fread(fid,1,'int16'));          %Cardiac Phase Number
00210 im_hdr = setfield(im_hdr, 'var_echo', fread(fid,1,'int16'));           %Variable Echo Flag
00211 im_hdr = setfield(im_hdr, 'ref_img', fread(fid,1,'uchar'));            %Reference Image Field
00212 im_hdr = setfield(im_hdr, 'sum_img', fread(fid,1,'uchar'));            %Summary Image Field
00213 im_hdr = setfield(im_hdr, 'img_window', fread(fid,1,'uint16'));         %Window Value
00214 im_hdr = setfield(im_hdr, 'img_level', fread(fid,1,'int16'));          %Level Value
00215 im_hdr = setfield(im_hdr, 'slop_int_1', fread(fid,1,'int32'));         %Number of 3D Slabs
00216 im_hdr = setfield(im_hdr, 'slop_int_2', fread(fid,1,'int32'));         %Slice Locs Per 3D Slab
00217 im_hdr = setfield(im_hdr, 'slop_int_3', fread(fid,1,'int32'));         %# of Slice Locs on Each Slab Which Overlap Neighbors
00218 im_hdr = setfield(im_hdr, 'slop_int_4', fread(fid,1,'int32'));         %Image Filtering 0.5/0.2T
00219 im_hdr = setfield(im_hdr, 'slop_int_5', fread(fid,1,'int32'));         %Integer Slop Field 5
00220 im_hdr = setfield(im_hdr, 'slop_float_1', fread(fid,1,'float32'));       %Float Slop Field 1
00221 im_hdr = setfield(im_hdr, 'slop_float_2', fread(fid,1,'float32'));       %Float Slop Field 2
00222 im_hdr = setfield(im_hdr, 'slop_float_3', fread(fid,1,'float32'));       %Float Slop Field 3
00223 im_hdr = setfield(im_hdr, 'slop_float_4', fread(fid,1,'float32'));       %Float Slop Field 4
00224 im_hdr = setfield(im_hdr, 'slop_float_5', fread(fid,1,'float32'));       %Float Slop Field 5
00225 im_hdr = setfield(im_hdr, 'slop_str_1', fread(fid,16,'uchar'));    %String Slop Field 1
00226 im_hdr = setfield(im_hdr, 'slop_str_2', fread(fid,16,'uchar'));    %String Slop Field 2
00227 im_hdr = setfield(im_hdr, 'scanactno', fread(fid,1,'int16'));          %Scan Acquisition Number
00228 im_hdr = setfield(im_hdr, 'vasflags', fread(fid,1,'int16'));           %Magnitude Weighting Flag
00229 im_hdr = setfield(im_hdr, 'vencscale', fread(fid,1,'float32'));          %Scale Weighted Venc
00230 im_hdr = setfield(im_hdr, 'integrity', fread(fid,1,'int16'));          %GE Image Integrity
00231 if byte_align; fseek(fid, 2, 0); end % byte alignment
00232 im_hdr = setfield(im_hdr, 'fphase', fread(fid,1,'int32'));             %Number Of Phases
00233 im_hdr = setfield(im_hdr, 'freq_dir', fread(fid,1,'int16'));           %Frequency Direction
00234 im_hdr = setfield(im_hdr, 'vas_mode', fread(fid,1,'int16'));           %Vascular Mode
00235 im_hdr = setfield(im_hdr, 'image_uid', fread(fid,32,'uchar'));     %Image Unique ID
00236 im_hdr = setfield(im_hdr, 'sop_uid', fread(fid,32,'uchar'));       %Service Obj Class Unique ID
00237 im_hdr = setfield(im_hdr, 'dont_use_1', fread(fid,1,'int16'));         %This field is not used
00238 im_hdr = setfield(im_hdr, 'dont_use_2', fread(fid,1,'int16'));         %This field is not used
00239 im_hdr = setfield(im_hdr, 'dont_use_3', fread(fid,1,'int16'));         %This field is not used
00240 im_hdr = setfield(im_hdr, 'pscopts', fread(fid,1,'int16'));            %bitmap of prescan options
00241 im_hdr = setfield(im_hdr, 'asoffsetx', fread(fid,1,'int16'));          %gradient offset in X-direction
00242 im_hdr = setfield(im_hdr, 'asoffsety', fread(fid,1,'int16'));          %gradient offset in Y-direction
00243 im_hdr = setfield(im_hdr, 'asoffsetz', fread(fid,1,'int16'));          %gradient offset in Z-direction
00244 im_hdr = setfield(im_hdr, 'unoriginal', fread(fid,1,'int16'));         %identifies image as original or unoriginal
00245 im_hdr = setfield(im_hdr, 'interleaves', fread(fid,1,'int16'));        %number of EPI shots
00246 im_hdr = setfield(im_hdr, 'effechospace', fread(fid,1,'int16'));       %effective echo spacing for EPI
00247 im_hdr = setfield(im_hdr, 'viewsperseg', fread(fid,1,'int16'));        %views per segment
00248 im_hdr = setfield(im_hdr, 'rbpm', fread(fid,1,'int16'));               %respiratory rate, breaths per min
00249 im_hdr = setfield(im_hdr, 'rtpoint', fread(fid,1,'int16'));            %respiratory trigger point as percent of max.
00250 im_hdr = setfield(im_hdr, 'rcvrtype', fread(fid,1,'int16'));           %type of receiver used
00251 im_hdr = setfield(im_hdr, 'dbdt', fread(fid,1,'float32'));               %peak rate of change of gradient field, tesla/sec
00252 im_hdr = setfield(im_hdr, 'dbdtper', fread(fid,1,'float32'));            %limit in units of percent of theoretical curve
00253 im_hdr = setfield(im_hdr, 'estdbdtper', fread(fid,1,'float32'));         %PSD estimated limit in units of percent
00254 im_hdr = setfield(im_hdr, 'estdbdtts', fread(fid,1,'float32'));          %PSD estimated limit in Teslas/sec
00255 im_hdr = setfield(im_hdr, 'saravghead', fread(fid,1,'float32'));         %Avg head SAR
00256 im_hdr = setfield(im_hdr, 'neg_scanspacing', fread(fid,1,'float32'));    %Negative scan spacing for overlap slices
00257 im_hdr = setfield(im_hdr, 'offsetfreq', fread(fid,1,'int32'));         %Offset Frequency - Mag.Transfer
00258 im_hdr = setfield(im_hdr, 'user_usage_tag', fread(fid,1,'uint32'));     %Defines how following user CVs are to be filled in
00259                                                  %Default value = 0x00000000
00260                                                   %GE range = 0x00000001 - 0x7fffffff
00261                                                   %Research = 0x80000000 - 0xffffffff
00262 im_hdr = setfield(im_hdr, 'user_fill_mapMSW', fread(fid,1,'uint32'));   %Define what process fills in the user CVs, ifcc or TIR
00263 im_hdr = setfield(im_hdr, 'user_fill_mapLSW', fread(fid,1,'uint32'));   %Define what process fills in the user CVs, ifcc or TIR
00264 im_hdr = setfield(im_hdr, 'user25', fread(fid,1,'float32'));             %User Variable 25
00265 im_hdr = setfield(im_hdr, 'user26', fread(fid,1,'float32'));             %User Variable 26
00266 im_hdr = setfield(im_hdr, 'user27', fread(fid,1,'float32'));             %User Variable 27
00267 im_hdr = setfield(im_hdr, 'user28', fread(fid,1,'float32'));             %User Variable 28
00268 im_hdr = setfield(im_hdr, 'user29', fread(fid,1,'float32'));             %User Variable 29
00269 im_hdr = setfield(im_hdr, 'user30', fread(fid,1,'float32'));             %User Variable 30
00270 im_hdr = setfield(im_hdr, 'user31', fread(fid,1,'float32'));             %User Variable 31
00271 im_hdr = setfield(im_hdr, 'user32', fread(fid,1,'float32'));             %User Variable 32
00272 im_hdr = setfield(im_hdr, 'user33', fread(fid,1,'float32'));             %User Variable 33
00273 im_hdr = setfield(im_hdr, 'user34', fread(fid,1,'float32'));             %User Variable 34
00274 im_hdr = setfield(im_hdr, 'user35', fread(fid,1,'float32'));             %User Variable 35
00275 im_hdr = setfield(im_hdr, 'user36', fread(fid,1,'float32'));             %User Variable 36
00276 im_hdr = setfield(im_hdr, 'user37', fread(fid,1,'float32'));             %User Variable 37
00277 im_hdr = setfield(im_hdr, 'user38', fread(fid,1,'float32'));             %User Variable 38
00278 im_hdr = setfield(im_hdr, 'user39', fread(fid,1,'float32'));             %User Variable 39
00279 im_hdr = setfield(im_hdr, 'user40', fread(fid,1,'float32'));             %User Variable 40
00280 im_hdr = setfield(im_hdr, 'user41', fread(fid,1,'float32'));             %User Variable 41
00281 im_hdr = setfield(im_hdr, 'user42', fread(fid,1,'float32'));             %User Variable 42
00282 im_hdr = setfield(im_hdr, 'user43', fread(fid,1,'float32'));             %User Variable 43
00283 im_hdr = setfield(im_hdr, 'user44', fread(fid,1,'float32'));             %User Variable 44
00284 im_hdr = setfield(im_hdr, 'user45', fread(fid,1,'float32'));             %User Variable 45
00285 im_hdr = setfield(im_hdr, 'user46', fread(fid,1,'float32'));             %User Variable 46
00286 im_hdr = setfield(im_hdr, 'user47', fread(fid,1,'float32'));             %User Variable 47
00287 im_hdr = setfield(im_hdr, 'user48', fread(fid,1,'float32'));             %User Variable 48
00288 im_hdr = setfield(im_hdr, 'slop_int_6', fread(fid,1,'int32'));         %Integer Slop Field 6
00289 im_hdr = setfield(im_hdr, 'slop_int_7', fread(fid,1,'int32'));         %Integer Slop Field 7
00290 im_hdr = setfield(im_hdr, 'slop_int_8', fread(fid,1,'int32'));         %Integer Slop Field 8
00291 im_hdr = setfield(im_hdr, 'slop_int_9', fread(fid,1,'int32'));         %Integer Slop Field 9
00292 im_hdr = setfield(im_hdr, 'mr_padding', fread(fid,32,'uchar'));    %Spare Space
00293 
00294 return
 

Powered by Plone

This site conforms to the following standards: