Mercurial > hg > simscene-py
view nonExposed/timeDomainVisualization.m @ 14:b1901e8d8f5f
initial commit
author | Mathieu Lagrange <mathieu.lagrange@cnrs.fr> |
---|---|
date | Tue, 17 Mar 2015 09:34:13 +0100 |
parents | |
children | 92f73423eb37 |
line wrap: on
line source
function status = timeDomainVisualization (tracks, cmap, figNum, maxWidth, lineThickness, fileName) % This program was written by Mathias Rossignol & Grégoire Lafay % is Copyright (C) 2015 IRCAM <http://www.ircam.fr> % % This program is free software: you can redistribute it and/or modify it % under the terms of the GNU General Public License as published by the Free % Software Foundation, either version 3 of the License, or (at your option) % any later version. % % This program is distributed in the hope that it will be useful, but % WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY % or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License % for more details. % % You should have received a copy of the GNU General Public License along % with this program. If not, see <http://www.gnu.org/licenses/>. nbTracks = size(tracks,1); trackLength = length(tracks(1,:)); % Producing a time domain visualization wSize = 8192; wStep = 512; for t=1:nbTracks for i=0:ceil((trackLength-wSize)/wStep) % Not really power, but more nicely additive, better suited for % this representation I think powers(i+1,t) = norm(tracks(t,i*wStep+1:min(trackLength, i*wStep+wSize))); end end powers(powers<max(powers(:))/500) = 0; % Screen res is ~90dpi, print res is 150dpi, hence the " /1.6 " imgWidth = min(maxWidth, 2*size(powers,1)) / 1.6; % Displayed version f=figure(figNum); clf; h=area(powers,'LineWidth', lineThickness/1.6, 'EdgeColor', [.3, .3, .3]); set(gca,'YTick', []); set(f, 'Position', [0, 0, imgWidth, 400],'Visible', 'off'); colormap(cmap); % Version saved to graphic file f = figure(1000); clf; h = area(powers,'LineWidth', lineThickness/1.6, 'EdgeColor', [.3, .3, .3]); set(gca,'YTick', []); colormap(cmap); set(f, 'Visible', 'off'); set(f, 'Position', [0, 0, imgWidth, 400]); set(f, 'PaperPositionMode', 'auto'); print ('-dpng', '-r150', fileName); status = 1; end