function shMovie1( data, resolution, frameStep ) %--- Parameters --- if( nargin <= 2 ), frameStep = 3;, end if( nargin == 1 ), resolution= 20;, end dataCSD = data; %--- Adjust color scale --- dataMax = max( max( data(:, 2:65) ) ); dataMin = min( min( data(:, 2:65) ) ); saturation = 0.3; % values above this fraction of the color scale are saturated colorMax = saturation * max( abs(dataMax), abs(dataMin) ); disp( ['[shMovie1V] Automatically adjusted max. color scale value: ', num2str( colorMax, 3 )] ) maxV = colorMax; %maxV = 0.025; % hand picked color limit %--- Seed graph --- steps = 8 * resolution; [XI, YI] = meshgrid(1:(8-1)/(steps-1):8,1:(8-1)/(steps-1):8); [X, Y] = meshgrid(1:8,1:8); figure(1) subplot(111) imageSize = [size( XI, 1 ) + 7, size( XI, 2 )]; h1 = image( rand( imageSize(1), imageSize(2) ) ); hTitle1 = title('*'); set( hTitle1, 'EraseMode', 'xor' ) set( h1, 'EraseMode', 'none' ) colormap( [obMap; [1 1 1]] ) %colormap( [ycMap; [1 1 1]] ) brighten( 0.3 ) axis('image') axis('off') gridX = (meshgrid( 1:8 ) - 1) * (8 / 7) / 8 * (resolution*8 - 1) + 1; gridY = gridX'; for frame = 147:frameStep:147 %for n=1:1:25000 % n=n^2; %end %--- interpolate array --- Z1 = toMatrix( data(frame, 2:65), 8 ); ZI1 = interp2( X, Y, Z1, XI, YI, 'spline' ); %--- Update data in plot --- ZI1 = 255 * ( 0.5 * ZI1 / maxV + 0.5); %ZI1 = trunc( ZI1, 1, 255 ); ZI1(ZI1>255)=255; ZI1(ZI1<1)=1; %--- Electrode positions --- ZI1(gridX(1:64), gridY(1:64)) = 256; %--- Slice layout -- for n=1:1:45 %ZI1(sliceX(n),sliceY(n))=256; end for n=1:1:30 %ZI1(sliceX2(n),sliceY2(n))=256; end for n=1:1:31 %ZI1(sliceX3(n),sliceY3(n))=256; end for n=1:1:30 %ZI1(sliceX4(n),sliceY4(n))=256; end for n=1:1:30 %ZI1(sliceX5(n),sliceY5(n))=256; end for n=1:1:30 %ZI1(sliceX6(n),sliceY6(n))=256; end for n=1:1:30 %ZI1(sliceX7(n),sliceY7(n))=256; end for n=1:1:22 %ZI1(sliceX8(n),sliceY8(n))=256; end for n=1:1:50 %ZI1(sliceX9(n),sliceY9(n))=256; end %ZI1(sliceX(1),sliceY(1))=256; %ZI1(sliceX(2),sliceY(2))=256; %--- Time stamp --- %ZI1 = [ZI1; timeImg( data(frame, 1), 130, 256, imageSize(2) )]; %--- Display image --- set( h1, 'cdata', ZI1 ) set( hTitle1, 'String', ['Time: ', num2str( data(frame, 1), '%04.1f' ), ' [ms]'] ); drawnow %--- Save as movie --- frame = getframe(gca); end