function [img, header, errmsg]=readMATLAB(fname) %READMATLAB Import a Matlab image file. % % [I,H]=READMATLAB(FNAME) % % I is the image % H if the header % FNAME is the file name % % The Matlab file must contein a matrix named I (image) % and the vector H (header). If H is not present one is % built. % % Claudio 13 Oct. 1995 (Friday) % % Copyright (c) 1995 by Claudio Rivetti and Mark Young % claudio@alice.uoregon.edu, mark@alice.uoregon.edu % errmsg = ''; HEADER_SIZE=2048; if exist(fname) ~= 2 errmsg='File not found'; return; end eval(['load ' fname]); if exist('I') ~= 1 errmsg='Wrong file format'; return; end m=max(size(I,1),size(I,2)); img=zeros(m,m); img(1:size(I,1), 1:size(I,2))=I; clear I; if exist('H') ~= 1 img=img-min(min(img)); img=(img/max(max(img)))*32000; header=zeros(1,HEADER_SIZE); header(1)=26; header=setparameter(header, '*ALEX Header', ''); header=setparameter(header, 'File Type', 'MATLAB'); d=date;p=find(date=='-'); D=[time ' XX xxx ' d(p(1)+1:p(2)-1) ' ' d(1:p(1)-1) ' 19' d(p(2)+1:p(2)+2)]; header=setparameter(header, 'Date', D); header=setparameter(header, 'Data length', HEADER_SIZE); header=setparameter(header, 'Samps/line', size(img)); header=setparameter(header, 'Serial number', ' '); header=setparameter(header, 'Id', 'MATLAB'); header=setparameter(header, 'X offset', '0 pixels'); header=setparameter(header, 'Y offset', '0 pixels'); header=setparameter(header, 'Scan size', [num2str(size(img,1)) ' pixels']); header=setparameter(header, 'Trasform. Factor', 1/32000); header=setparameter(header, 'Note', 'Image from MATLAB file'); end return