📄 getfiletype.m
字号:
elseif any(s(1)==[3,131]);
HDR.TYPE='DB3';
elseif strncmp(ss,'DDMF',4);
HDR.TYPE='DMF';
elseif strncmp(ss,'DMS',4);
HDR.TYPE='DMS';
elseif strncmp(ss,'FAR',3);
HDR.TYPE='FAR';
elseif all(ss(5:6)==[175,18]);
HDR.TYPE='FLC';
elseif strncmp(ss,'GF1PATCH110',12);
HDR.TYPE='GF1';
elseif strncmp(ss,'GIF8',4);
HDR.TYPE='GIF';
elseif strncmp(ss,'CPT9FILE',8); % Corel PhotoPaint Format
HDR.TYPE='CPT9';
elseif all(s(21:28)==abs('ACR-NEMA'));
HDR.TYPE='ACR-NEMA';
elseif all(s(1:132)==[zeros(1,128),abs('DICM')]);
HDR.TYPE='DICOM';
elseif all(s([2,4,6:8])==0); % DICOM candidate
HDR.TYPE='DICOM';
elseif all(s(1:24)==[208,207,17,224,161,177,26,225,zeros(1,16)]); % MS-EXCEL candidate
HDR.TYPE='BIFF';
elseif all(s(1:2)==[255,254]) & all(s(4:2:end)==0)
HDR.TYPE='XML-UTF16';
elseif ~isempty(findstr(ss,'?xml version'))
HDR.TYPE='XML-UTF8';
elseif all(s([1:2,7:10])==[abs('BM'),zeros(1,4)])
HDR.TYPE='BMP';
HDR.Endianity = 'ieee-le';
elseif strncmp(s,'.PBF',4)
HDR.TYPE='PBF';
elseif all(s(1:2)=='P6') & any(s(3)==[10,13])
HDR.TYPE='PNG6';
elseif all(s(1:8)==[137,80,78,71,13,10,26,10])
HDR.TYPE='PNG';
elseif all(s(1:4)==hex2dec(['FF';'D9';'FF';'E0'])')
HDR.TYPE='JPG';
HDR.Endianity = 'ieee-be';
elseif all(s(1:4)==hex2dec(['FF';'D8';'FF';'E0'])')
HDR.TYPE='JPG';
HDR.Endianity = 'ieee-be';
elseif all(s(1:4)==hex2dec(['E0';'FF';'D8';'FF'])')
HDR.TYPE='JPG';
HDR.Endianity = 'ieee-le';
elseif all(s(1:20)==['L',0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70])
HDR.TYPE='LNK';
tmp = fread(fid,inf,'char');
HDR.LNK=[s,tmp'];
elseif all(s(1:3)==[0,0,1])
HDR.TYPE='MPG2MOV';
elseif strcmp(ss([3:5,7]),'-lh-');
HDR.TYPE='LZH';
elseif strcmp(ss([3:5,7]),'-lz-');
HDR.TYPE='LZH';
elseif strcmp(ss(1:4),'MThd');
HDR.TYPE='MIDI';
elseif strcmp(ss(1:3),'MMD');
HDR.TYPE='MED';
elseif (s(1)==255) & any(s(2)>=224);
HDR.TYPE='MPEG';
elseif strncmp(ss(5:8),'mdat',4);
HDR.TYPE='MOV';
elseif all(s(1:2)==[26,63]);
HDR.TYPE='OPT';
elseif strncmp(ss,'%PDF',4);
HDR.TYPE='PDF';
elseif strncmp(ss,'QLIIFAX',7);
HDR.TYPE='QFX';
elseif strncmp(ss,'.RMF',4);
HDR.TYPE='RMF';
elseif strncmp(ss,'IREZ',4);
HDR.TYPE='RMF';
elseif strncmp(ss,'{/rtf',5);
HDR.TYPE='RTF';
elseif strncmp(ss,'II',2);
HDR.TYPE='TIFF';
HDR.Endianity = 0;
elseif strncmp(ss,'MM',2);
HDR.TYPE='TIFF';
HDR.Endianity = 1;
elseif strncmp(ss,'StockChartX',11);
HDR.TYPE='STX';
elseif all(ss(1:2)==[25,149]);
HDR.TYPE='TWE';
elseif strncmp(ss,'# vtk DataFile Version',20);
HDR.TYPE='VTK';
elseif all(ss(1:5)==[0,0,2,0,4]);
HDR.TYPE='WKS';
elseif all(ss(1:5)==[0,0,2,0,abs('Q')]);
HDR.TYPE='WQ1';
elseif all(s(1:8)==hex2dec(['30';'26';'B2';'75';'8E';'66';'CF';'11'])');
HDR.TYPE='WMV';
elseif all(s(1:5)==[80,75,3,4,20]);
HDR.TYPE='ZIP';
elseif strncmp(ss,'ZYXEL',5);
HDR.TYPE='ZYXEL';
elseif strcmpi(HDR.FILE.Name,ss(1:length(HDR.FILE.Name)));
HDR.TYPE='HEA';
%elseif all(~type_mat4), % should be last, otherwise to many false detections
elseif all(s(1:4)==0), % should be last, otherwise to many false detections
HDR.TYPE='MAT4';
if type_mat4(1)==1,
HDR.MAT4.opentyp='ieee-be';
elseif type_mat4(1)==2,
HDR.MAT4.opentyp='vaxd';
elseif type_mat4(1)==3,
HDR.MAT4.opentyp='vaxg';
elseif type_mat4(1)==4,
HDR.MAT4.opentyp='gray';
else
HDR.MAT4.opentyp='ieee-le';
end;
elseif ~isempty(findstr(ss,'### Table of event codes.'))
fseek(fid,0,-1);
line = fgetl(fid);
N = 1;
while length(line),
if (line(1)~='#'),
[ix,desc] = strtok(line,char([9,32,13,10]));
ix = hex2dec(ix(3:end));
HDR.EVENT.CodeDesc{N,1} = desc(2:end);
HDR.EVENT.CodeIndex(N,1) = ix;
N = N + 1;
end;
line = fgetl(fid);
end;
HDR.TYPE = 'EVENTCODES';
else
fseek(fid,3228,-1);
s=fread(fid,[1,4],'uint8');
if all((s(1:4)*(2.^[24;16;8;1]))==1229801286); % GE LX2 format image
HDR.TYPE='LX2';
else
%TYPE='unknown';
HDR.TYPE='unknown';
end;
end;
end;
fclose(fid);
if strcmpi(HDR.TYPE,'unknown'),
% alpha-TRACE Medical software
if (strcmpi(HDR.FILE.Name,'rawdata') | strcmpi(HDR.FILE.Name,'rawhead')) & isempty(HDR.FILE.Ext),
if exist(fullfile(HDR.FILE.Path,'digin'),'file') & exist(fullfile(HDR.FILE.Path,'r_info'),'file');
HDR.TYPE = 'alpha'; %alpha trace medical software
end;
end;
TYPE = [];
%%% this is the file type check based on the file extionsion, only.
if 0,
% MIT-ECG / Physiobank format
elseif strcmpi(HDR.FILE.Ext,'HEA'), HDR.TYPE='MIT';
elseif strcmpi(HDR.FILE.Ext,'ATR'), HDR.TYPE='MIT';
elseif strcmpi(HDR.FILE.Ext,'DAT'),
tmp = dir(fullfile(HDR.FILE.Path,[HDR.FILE.Name,'.hea']));
if isempty(tmp),
tmp = dir(fullfile(HDR.FILE.Path,[HDR.FILE.Name,'.HEA']));
end
if isempty(tmp),
HDR.TYPE='DAT';
else
HDR.TYPE='MIT';
[tmp,tmp1,tmp2] = fileparts(tmp.name);
HDR.FILE.Ext = tmp2(2:end);
end
elseif strcmpi(HDR.FILE.Ext,'rhf'),
HDR.FileName=fullfile(HDR.FILE.Path,[HDR.FILE.Name,'.',HDR.FILE.Ext]);
HDR.TYPE = 'RG64';
elseif strcmp(HDR.FILE.Ext,'rdf'),
HDR.FileName=fullfile(HDR.FILE.Path,[HDR.FILE.Name,'.',HDR.FILE.Ext(1),'h',HDR.FILE.Ext(3)]);
HDR.TYPE = 'RG64';
elseif strcmp(HDR.FILE.Ext,'RDF'),
HDR.FileName=fullfile(HDR.FILE.Path,[HDR.FILE.Name,'.',HDR.FILE.Ext(1),'H',HDR.FILE.Ext(3)]);
HDR.TYPE = 'RG64';
elseif strcmpi(HDR.FILE.Ext,'hdm')
elseif strcmpi(HDR.FILE.Ext,'hc')
elseif strcmpi(HDR.FILE.Ext,'shape')
elseif strcmpi(HDR.FILE.Ext,'shape_info')
elseif strcmpi(HDR.FILE.Ext,'trg')
elseif strcmpi(HDR.FILE.Ext,'rej')
elseif strcmpi(HDR.FILE.Ext,'elc')
elseif strcmpi(HDR.FILE.Ext,'vol')
elseif strcmpi(HDR.FILE.Ext,'bnd')
elseif strcmpi(HDR.FILE.Ext,'msm')
elseif strcmpi(HDR.FILE.Ext,'msr')
HDR.TYPE = 'ASA2'; % ASA version 2.x, see http://www.ant-software.nl
elseif strcmpi(HDR.FILE.Ext,'dip')
elseif strcmpi(HDR.FILE.Ext,'mri')
elseif strcmpi(HDR.FILE.Ext,'iso')
elseif strcmpi(HDR.FILE.Ext,'hdr')
elseif strcmpi(HDR.FILE.Ext,'img')
% the following are Brainvision format, see http://www.brainproducts.de
elseif strcmpi(HDR.FILE.Ext,'vhdr')
HDR.TYPE = 'BrainVision'; % Brainvision EEG header file
elseif strcmpi(HDR.FILE.Ext,'vmrk')
HDR.TYPE = 'BrainVision'; % Brainvision EEG marker/event file
elseif strcmpi(HDR.FILE.Ext,'eeg')
% If this is really a BrainVision file, there should also be a
% header with the same name and extension *.vhdr.
if exist(fullfile(HDR.FILE.Path, [HDR.FILE.Name '.vhdr']), 'file')
HDR.TYPE = 'BrainVision';
HDR.FileName = fullfile(HDR.FILE.Path, [HDR.FILE.Name '.vhdr']); % point to header file
end
elseif strcmpi(HDR.FILE.Ext,'seg')
% If this is really a BrainVision file, there should also be a
% header with the same name and extension *.vhdr.
if exist(fullfile(HDR.FILE.Path, [HDR.FILE.Name '.vhdr']), 'file')
HDR.TYPE = 'BrainVision';
HDR.FileName = fullfile(HDR.FILE.Path, [HDR.FILE.Name '.vhdr']); % point to header file
end
elseif strcmpi(HDR.FILE.Ext,'vabs')
elseif strcmpi(HDR.FILE.Ext,'fif')
HDR.TYPE = 'FIF'; % Neuromag MEG data (company is now part of 4D Neuroimaging)
global FLAG_NUMBER_OF_OPEN_FIF_FILES
if isempty(FLAG_NUMBER_OF_OPEN_FIF_FILES)
FLAG_NUMBER_OF_OPEN_FIF_FILES = 0;
end;
elseif strcmpi(HDR.FILE.Ext,'bdip')
elseif strcmpi(HDR.FILE.Ext,'elp')
elseif strcmpi(HDR.FILE.Ext,'sfp')
elseif strcmpi(HDR.FILE.Ext,'ela')
elseif strcmpi(HDR.FILE.Ext,'trl')
elseif length(HDR.FILE.Ext)>2,
if all(HDR.FILE.Ext(1:2)=='0') & any(HDR.FILE.Ext(3)==[48:57]), % WSCORE scoring file
x = load(HDR.FileName);
HDR.EVENT.N = size(x,1);
HDR.EVENT.POS = x(:,1);
HDR.EVENT.TYP = x(:,2);
HDR.TYPE = 'EVENT';
end;
end;
end;
if 0, strcmpi(HDR.TYPE,'unknown'),
try
[status, HDR.XLS.sheetNames] = xlsfinfo(HDR.FileName)
if ~isempty(status)
HDR.TYPE = 'EXCEL';
end;
catch
end;
end;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -