function [img, header, errmsg]=readPCX(fname) %READPCX Import a pcx file. % % [I,H, errmsg]=READPCX(FNAME) % % I is the image in grayscale multiplied by 32000 % H if the constracted header % FNAME is the file name % % Claudio 12 Oct. 1995 % % 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 [g, map]=pcxread(fname); g=ind2gray(g,map)*32000; m=max(size(g,1),size(g,2)); img=zeros(m,m); img(1:size(g,1), 1:size(g,2))=g; clear g; header=zeros(1,HEADER_SIZE); header(1)=26; header=setparameter(header, '*ALEX Header', ''); header=setparameter(header, 'File Type', 'PCX'); 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', 'PCX'); 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 a PCX file'); return