loadAgilent.m
674 Bytes
function S = loadAgilent(filename)
fid = fopen(filename); %open the file for reading
fseek(fid, 9, 'bof'); %skip past the first 9 bytes of the header
bands = fread(fid, 1, 'int16'); %read the number of bands in the file
fseek(fid, 13, 'cof'); %skip the next 13 bytes in the header
samples = fread(fid, 1, 'int16'); %read the number of samples (X)
lines = fread(fid, 1, 'int16'); %read the number of lines (Y)
fseek(fid, 1020, 'bof'); %skip past the entire header
S = fread(fid, [samples lines*bands], 'float32'); %read all the data
S = reshape(S, [samples, lines, bands]);
fclose(fid); %close the file