function hData = MemMapBin(filename,writable)
% syntax : hData = MemMapDataFile(filename,writePermit);
% writePermit = true or false (scalar logical);
%
%
%David B. Omer (c) sept 2006
[flag,hl,mat] = ReadExperimentDataStructureHeader(filename);
if(flag)
for i=1:length(mat)
if (i==1),formt = {'double' [mat(1).col mat(1).raw] mat(1).name};
else formt = [formt;{'double' [mat(i).col mat(i).raw] mat(i).name}];
end
end
hData = memmapfile(filename,'offset',hl,'format',formt,'repeat',1,'Writable', writable);
end
function [flag,hl,mat] = ReadExperimentDataStructureHeader(filename)
% syntax : [flag,header] = ReadExperimentDataStructureHeader(filename)
%
% reads the header of the new experiment binary files.
%
% David B. Omer (c) may 2006
%
flag =1;
fid = fopen(filename,'r','ieee-le');
if(fid)
hl =fread(fid,1,'int32');
matnum =fread(fid,1,'int32');
for j=1:matnum
mat(j).name = fread(fid,fread(fid,1,'int32'),'*char')';
mat(j).col = fread(fid,1,'int32');
mat(j).raw = fread(fid,1,'int32');
end
fclose(fid);
else
disp('can not open file...');
flag =0;
end