| Version 6 (modified by , 12 years ago) ( diff ) |
|---|
Matlab Scripts
Load BOV File into Matlab
This script will load the data from a bov/dat file pair into matlab
% usage data=load_bov('~/sample_file.bov'); % imagesc(squeeze(sum(data(:,:,:,1),3)) %makes a column density plot along z axis... function data=load_bov(file) fid=fopen(file); [path,name,ext]=fileparts(which(file)); textdata=textscan(fid,'%s',1000); for i=1:3 mx(i)=str2num(textdata{1}{strmatch('DATA_SIZE:',textdata{1})+i}) end components=str2num(textdata{1}{strmatch('DATA_COMPONENTS:',textdata{1})+1}) fclose(fid) file2=[path,'/',textdata{1}{strmatch('DATA_FILE:',textdata{1})+1}] fid=fopen(file2); fread(fid,4,'char'); %fortran unformatted write includes a 4 byte header data=reshape(transpose(reshape(fread(fid,double(mx(1)*mx(2)*mx(3)*components),'float64'), [components,mx(1)*mx(2)*mx(3)])), [mx(1), mx(2), mx(3),components]); fclose(fid);
Create Array of SubPlots
This script allows tilings of subplots with user controlled padding and margins (includes an optional colorbar)
figure(1)
clf
% All measurements are scaled to window width or height
lbuffer=.075; %left margin
rbuffer=.075; %right margin
tbuffer=.075; %top margin
bbuffer=.075; %bottom margin
colorbarwidth=.03; %colorbar width - Set to 0 for no colorbar
paddingx=.05; % x padding between subplots
paddingy=.05; % y padding between subplots
nx=4; % number of subplots in x
ny=3; % number of subplots in y (not counting colorbar)
if (colorbarwidth==0) % no color bar
figure_width=(1-lbuffer-rbuffer-(nx-1)*paddingx)/nx;
else
figure_width=(1-lbuffer-rbuffer-colorbarwidth-(nx)*paddingx)/nx;
end
figure_height=(1-tbuffer-bbuffer-(ny-1)*paddingy)/ny;
deltax=figure_width+paddingx;
deltay=figure_height+paddingy;
y=bbuffer;
for j=1:ny
x=lbuffer;
for i=1:nx
subplot('position',[x,y,figure_width,figure_height])
%---------------------------------------------------------
%replace this plotting code with your plot routine
imagesc(rand(20))
%--------------------------------------------------------
x=x+deltax;
end
y=y+deltay;
end
if (colorbarwidth > 0)
colorbar('position',[lbuffer+nx*deltax,bbuffer,colorbarwidth,ny*deltay-paddingy])
colormap(gray)
end
Note:
See TracWiki
for help on using the wiki.