📄 ge_readheader.m
字号:
function [su_hdr,ex_hdr,se_hdr,im_hdr,pix_hdr,im_offset] = GE_readHeader(IFileName)
%
% [su_hdr,ex_hdr,se_hdr,im_hdr,pix_hdr,im_offset] = GE_readHeader(IFileName)
% Reads the header info from a GE lx2 or 5.X file
%
%
% Souheil J. Inati
% Dartmouth College
% May 2000
% souheil.inati@dartmouth.edu
%
%%%% Open the IFile %%%%%
[fid,message] = fopen(IFileName,'r','b'); %note: 'b' = Big-Endian format
if fid == -1
error(message)
end
% Check for the magic number at the first word
magic = fread(fid,1,'int32');
if magic == 1229801286
% This is a 5.X format image
byte_align = 0;
pix_hdr_offset = 0;
su_hdr_size = 114;
ex_hdr_size = 1024;
se_hdr_size = 1020;
im_hdr_size = 1022;
else
% Magic no. not at the 1st word, try at the LX2 position
fseek(fid,3228,-1);
magic = fread(fid,1,'int32');
if magic == 1229801286
% This is an LX2 format image
byte_align = 1;
pix_hdr_offset = 3228;
su_hdr_size = 116;
ex_hdr_size = 1040;
se_hdr_size = 1028;
im_hdr_size = 1044;
else
msg = 'This is not a 5.X or LX2 format image. No Magic Number.';
error(msg);
end
end
% Load the pixel header
fseek(fid,pix_hdr_offset,-1);
pix_hdr = GE_readHeaderPixel(fid, byte_align);
% Compute the offsets
su_hdr_offset = pix_hdr.img_p_dbHdr;
ex_hdr_offset = su_hdr_offset + su_hdr_size;
se_hdr_offset = ex_hdr_offset + ex_hdr_size;
im_hdr_offset = se_hdr_offset + se_hdr_size;
im_offset = pix_hdr_offset + pix_hdr.img_hdr_length;
% Check for epirecon images
%if (pix_hdr.img_l_dbHdr == 0 & byte_align==0)
% error('This is a epirecon image. No header')
%end
% Load the suite header
fseek(fid,su_hdr_offset,-1);
su_hdr = GE_readHeaderSuite(fid, byte_align);
% Load the exam header
fseek(fid,ex_hdr_offset,-1);
ex_hdr = GE_readHeaderExam(fid, byte_align);
% Load the series header
fseek(fid,se_hdr_offset,-1);
se_hdr = GE_readHeaderSeries(fid, byte_align);
% Load the image header
fseek(fid,im_hdr_offset,-1);
im_hdr = GE_readHeaderImage(fid, byte_align);
% Close the file
fclose(fid);
return
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -