Chris@0: function visualizeChroma(f_chroma,parameter) Chris@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Chris@0: % Name: visualizeChroma Chris@0: % Date of Revision: 2011-03 Chris@0: % Programmer: Meinard Mueller, Sebastian Ewert Chris@0: % Chris@0: % Description: Chris@0: % Visualization of f_chroma Chris@0: % Chris@0: % Input: Chris@0: % f_chroma Chris@0: % parameter.featureRate = 0; % 0 means unknown Chris@0: % parameter.colorbar = 1; Chris@0: % parameter.colormap = 'hot'; Chris@0: % parameter.print = 0; Chris@0: % parameter.printFile = 'figure.eps'; Chris@0: % parameter.printDir = ''; Chris@0: % parameter.title = ''; Chris@0: % parameter.xlabel = ''; Chris@0: % parameter.imagerange = [0 1]; % 0 means automatic Chris@0: % parameter.fontSize = 0; % 0 means automatic Chris@0: % parameter.printPaperPosition = [1 10 26 15]; %[left, bottom, width, height] Chris@0: % parameter.createAxisLabel = 1; Chris@0: % Chris@0: % License: Chris@0: % This file is part of 'Chroma Toolbox'. Chris@0: % Chris@0: % 'Chroma Toolbox' is free software: you can redistribute it and/or modify Chris@0: % it under the terms of the GNU General Public License as published by Chris@0: % the Free Software Foundation, either version 2 of the License, or Chris@0: % (at your option) any later version. Chris@0: % Chris@0: % 'Chroma Toolbox' is distributed in the hope that it will be useful, Chris@0: % but WITHOUT ANY WARRANTY; without even the implied warranty of Chris@0: % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Chris@0: % GNU General Public License for more details. Chris@0: % Chris@0: % You should have received a copy of the GNU General Public License Chris@0: % along with 'Chroma Toolbox'. If not, see . Chris@0: % Chris@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Chris@0: Chris@0: if nargin<2 Chris@0: parameter=[]; Chris@0: end Chris@0: Chris@0: if isfield(parameter,'featureRate')==0 Chris@0: parameter.featureRate = 0; Chris@0: end Chris@0: if isfield(parameter,'colorbar')==0 Chris@0: parameter.colorbar = 1; Chris@0: end Chris@0: if isfield(parameter,'colormap')==0 Chris@0: parameter.colormap = 'hot'; Chris@0: end Chris@0: if isfield(parameter,'print')==0 Chris@0: parameter.print = 0; Chris@0: end Chris@0: if isfield(parameter,'printFile')==0 Chris@0: parameter.printFile = 'figure.eps'; Chris@0: end Chris@0: if isfield(parameter,'printDir')==0 Chris@0: parameter.printDir = ''; Chris@0: end Chris@0: if isfield(parameter,'title')==0 Chris@0: parameter.title = ''; Chris@0: end Chris@0: if isfield(parameter,'xlabel')==0 Chris@0: parameter.xlabel = ''; Chris@0: end Chris@0: if isfield(parameter,'imagerange')==0 Chris@0: parameter.imagerange = [0 1]; Chris@0: end Chris@0: if isfield(parameter,'fontSize')==0 Chris@0: % 0 means automatic Chris@0: parameter.fontSize = 0; Chris@0: end Chris@0: if isfield(parameter,'printPaperPosition')==0 Chris@0: parameter.printPaperPosition = [1 10 26 15]; %[left, bottom, width, height] Chris@0: end Chris@0: if isfield(parameter,'createAxisLabel')==0 Chris@0: parameter.createAxisLabel = 1; Chris@0: end Chris@0: Chris@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Chris@0: % Visualization Chris@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Chris@0: Chris@0: seg_num = size(f_chroma,2); Chris@0: Chris@0: chroma_names = ['C ';'C#';'D ';'D#';'E ';'F ';'F#';'G ';'G#';'A ';'A#';'B ']; Chris@0: figure; Chris@0: set(gcf,'renderer','painters'); Chris@0: Chris@0: if parameter.featureRate == 0 Chris@0: t = (1:seg_num); Chris@0: else Chris@0: t = (0:seg_num-1)/parameter.featureRate; Chris@0: end Chris@0: Chris@0: if all(parameter.imagerange == 0) Chris@0: imagesc(t,[1:12],f_chroma); Chris@0: else Chris@0: imagesc(t,[1:12],f_chroma,parameter.imagerange); Chris@0: end Chris@0: set(gca,'YTick',[1:12]); Chris@0: set(gca,'YTickLabel',chroma_names); Chris@0: set(gca,'YDir','normal'); Chris@0: if t(end)>t(1) Chris@0: set(gca,'XLim',[t(1),t(end)]); Chris@0: end Chris@0: Chris@0: title(parameter.title); Chris@0: xlabel(parameter.xlabel); Chris@0: Chris@0: if ~parameter.createAxisLabel Chris@0: set(gca, 'XTick', [], 'YTick', []) Chris@0: end Chris@0: Chris@0: colormap(parameter.colormap); Chris@0: Chris@0: if parameter.fontSize Chris@0: set(gca,'FontSize',parameter.fontSize) Chris@0: end Chris@0: Chris@0: if parameter.colorbar == 1 Chris@0: hColorbar = colorbar; Chris@0: if parameter.fontSize Chris@0: set(hColorbar,'FontSize',parameter.fontSize) Chris@0: end Chris@0: end Chris@0: drawnow; Chris@0: Chris@0: if parameter.print == 1 Chris@0: set(gcf,'PaperPosition',parameter.printPaperPosition); Chris@0: print('-depsc2',strcat(parameter.printDir,parameter.printFile)); Chris@0: end Chris@0: Chris@0: end Chris@0: Chris@0: