mdocutils.nodesdocument)}}( attributes}(backrefs]ids]classes]source>D:\Mariano\misc\ecg-kit\help\sphinx\source\plot_ecg_mosaic.rstnames]dupnames]uids}(see-alsohsection)}}(h}(h]see alsoah]h ]hah ]h]utagnamehsourcehhh rawsourcelineKchildren](htitle)}}(h}(h]h]h ]h ]h]uh#h*h$hhhh%See Alsoh'Kh(]hTextSee Also}}(h%h5parenth-ubah>hubh block_quote)}}(h}(h]h]h ]h ]h]uh#h?h$hhhh%h&h'Nh(]h paragraph)}}(h}(h]h]h ]h ]h]uh#hKh$hh%&:doc:`Plot ECG strip `h'Kh(]sphinx.addnodes pending_xref)}}(h}(h]refwarnh ]h ]reftypedocrefdocplot_ecg_mosaich] refexplicith] refdomainh& reftargetplot_ecg_stripuh#hYh$hh%hVh'Kh(]hliteral)}}(h}(h]h]h ]h ](xrefhdeh]uh#hnh%hVh(]h8Plot ECG strip}}(h%h&h>hqubah>h\ubah>hNubah>hBubah>hubeh>h)}}(h}(h]plotting signal mosaicsah]h ]plotting-signal-mosaicsah ]h]uh#hh$hhhh%h&h'Kh(](h+)}}(h}(h]h]h ]h ]h]uh#h*h$hhhh%Plotting signal mosaicsh'Kh(]h8Plotting signal mosaics}}(h%hh>hubah>hubhL)}}(h}(h]h]h ]h ]h]uh#hKh$hhhh%XLow level function to produce mosaic charts of signals and annotations. This function plots several subplots in the same figure in order to do a mosaic with the different leads available in ECG. Annotations can be provided individually or for all the mosaics.h'Kh(]h8XLow level function to produce mosaic charts of signals and annotations. This function plots several subplots in the same figure in order to do a mosaic with the different leads available in ECG. Annotations can be provided individually or for all the mosaics.}}(h%hh>hubah>hubh)}}(h}(h] prototypeah]h ] prototypeah ]h]uh#hh$hhhh%h&h'K h(](h+)}}(h}(h]h]h ]h ]h]uh#h*h$hhhh% Prototypeh'K h(]h8 Prototype}}(h%hh>hubah>hubhL)}}(h}(h]h]h ]h ]h]uh#hKh$hhhh%(The function prototype is the following.h'K h(]h8(The function prototype is the following.}}(h%hh>hubah>hubh literal_block)}}(h}(h]h ]h ]codeah]h] xml:spacepreserveuh#hh$hhhh%K[ ECG_hdl axes_hdl fig_hdl all_yranges ] = plot_ecg_mosaic( ECG, varargin )h'Kh(]h8K[ ECG_hdl axes_hdl fig_hdl all_yranges ] = plot_ecg_mosaic( ECG, varargin )}}(h%hh>hubah>hubhL)}}(h}(h]h]h ]h ]h]uh#hKh$hhhh%OThis function accepts as arguments the arg_name/arg_val method described below.h'Kh(]h8OThis function accepts as arguments the arg_name/arg_val method described below.}}(h%hh>hubah>hubeh>hubh)}}(h}(h] argumentsah]h ] argumentsah ]h]uh#hh$hhhh%h&h'Kh(](h+)}}(h}(h]h]h ]h ]h]uh#h*h$hhhh% Argumentsh'Kh(]h8 Arguments}}(h%jh>j ubah>hubh bullet_list)}}(h}(h]h ]h ]h]bullet-h]uh#jh$hhhh%h&h'Kh(](h list_item)}}(h}(h]h]h ]h ]h]uh#j'h$hhhh%XECG: [numeric or cell] REQUIRED - [numeric]: signal matrix of dimension ``[sig_length sig_size repetitions_size]`` where: - sig_length: time length in samples - sig_size: number of ECG leads or number of signals. - repetitions_size: number of repetitions of the same signals. Typically used when time-synchronized events, like heartbeats. - [cell]: cell array of length repetitions_size, where each cell is (probably a time alligned event) a signal of dimension ``[sig_length sig_size]`` h'Nh(](hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%ECG: [numeric or cell] REQUIREDh'Kh(]h8ECG: [numeric or cell] REQUIRED}}(h%j=h>j5ubah>j*ubh@)}}(h}(h]h]h ]h ]h]uh#h?h%h&h(]j)}}(h}(h]h ]h ]h]j#j$h]uh#jh%h&h(](j()}}(h}(h]h]h ]h ]h]uh#j'h%XL[numeric]: signal matrix of dimension ``[sig_length sig_size repetitions_size]`` where: - sig_length: time length in samples - sig_size: number of ECG leads or number of signals. - repetitions_size: number of repetitions of the same signals. Typically used when time-synchronized events, like heartbeats. h(](hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%W[numeric]: signal matrix of dimension ``[sig_length sig_size repetitions_size]`` where:h'Kh(](h8&[numeric]: signal matrix of dimension }}(h%&[numeric]: signal matrix of dimension h>jdubho)}}(h}(h]h]h ]h ]h]uh#hnh%*``[sig_length sig_size repetitions_size]``h(]h8&[sig_length sig_size repetitions_size]}}(h%h&h>juubah>jdubh8 where:}}(h% where:h>jdubeh>jYubh@)}}(h}(h]h]h ]h ]h]uh#h?h%h&h(]j)}}(h}(h]h ]h ]h]j#j$h]uh#jh%h&h(](j()}}(h}(h]h]h ]h ]h]uh#j'h%#sig_length: time length in samples h(]hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%"sig_length: time length in samplesh'Kh(]h8"sig_length: time length in samples}}(h%jh>jubah>jubah>jubj()}}(h}(h]h]h ]h ]h]uh#j'h%4sig_size: number of ECG leads or number of signals. h(]hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%3sig_size: number of ECG leads or number of signals.h'Kh(]h83sig_size: number of ECG leads or number of signals.}}(h%jh>jubah>jubah>jubj()}}(h}(h]h]h ]h ]h]uh#j'h%|repetitions_size: number of repetitions of the same signals. Typically used when time-synchronized events, like heartbeats. h(]hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%{repetitions_size: number of repetitions of the same signals. Typically used when time-synchronized events, like heartbeats.h'K!h(]h8{repetitions_size: number of repetitions of the same signals. Typically used when time-synchronized events, like heartbeats.}}(h%jh>jubah>jubah>jubeh>jubah>jYubeh>jOubj()}}(h}(h]h]h ]h ]h]uh#j'h%[cell]: cell array of length repetitions_size, where each cell is (probably a time alligned event) a signal of dimension ``[sig_length sig_size]`` h(]hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%[cell]: cell array of length repetitions_size, where each cell is (probably a time alligned event) a signal of dimension ``[sig_length sig_size]``h'K%h(](h8y[cell]: cell array of length repetitions_size, where each cell is (probably a time alligned event) a signal of dimension }}(h%y[cell]: cell array of length repetitions_size, where each cell is (probably a time alligned event) a signal of dimension h>jubho)}}(h}(h]h]h ]h ]h]uh#hnh%``[sig_length sig_size]``h(]h8[sig_length sig_size]}}(h%h&h>j ubah>jubeh>jubah>jOubeh>jEubah>j*ubeh>jubj()}}(h}(h]h]h ]h ]h]uh#j'h$hhhh%QRS_locations: [numeric] OPTIONAL. Synchronization sample. In ECG context, this values are the QRS fiducial point. ``[] (default)`` h'Nh(]hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%QRS_locations: [numeric] OPTIONAL. Synchronization sample. In ECG context, this values are the QRS fiducial point. ``[] (default)``h'K)h(](h8sQRS_locations: [numeric] OPTIONAL. Synchronization sample. In ECG context, this values are the QRS fiducial point. }}(h%sQRS_locations: [numeric] OPTIONAL. Synchronization sample. In ECG context, this values are the QRS fiducial point. h>j'ubho)}}(h}(h]h]h ]h ]h]uh#hnh%``[] (default)``h(]h8 [] (default)}}(h%h&h>j8ubah>j'ubeh>jubah>jubj()}}(h}(h]h]h ]h ]h]uh#j'h$hhhh%xWinSize: [numeric] OPTIONAL. Width of the window around each fiducial point provided in QRS_locations. ``[] (default)`` h'Nh(]hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%wWinSize: [numeric] OPTIONAL. Width of the window around each fiducial point provided in QRS_locations. ``[] (default)``h'K,h(](h8gWinSize: [numeric] OPTIONAL. Width of the window around each fiducial point provided in QRS_locations. }}(h%gWinSize: [numeric] OPTIONAL. Width of the window around each fiducial point provided in QRS_locations. h>jSubho)}}(h}(h]h]h ]h ]h]uh#hnh%``[] (default)``h(]h8 [] (default)}}(h%h&h>jdubah>jSubeh>jHubah>jubj()}}(h}(h]h]h ]h ]h]uh#j'h$hhhh%ECG_header: [struct] OPTIONAL. Description of the ECG typically available in the ECG_header as described :ref:`here`. h'Nh(]hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%ECG_header: [struct] OPTIONAL. Description of the ECG typically available in the ECG_header as described :ref:`here`.h'K/h(](h8iECG_header: [struct] OPTIONAL. Description of the ECG typically available in the ECG_header as described }}(h%iECG_header: [struct] OPTIONAL. Description of the ECG typically available in the ECG_header as described h>jubhZ)}}(h}(h]h`h ]h ]reftyperefhehfh] refexplicith] refdomainstdhkecg_header_descriptionuh#hYh$hh%#:ref:`here`h'K/h(]hinline)}}(h}(h]h]h ]h ](hxjstd-refeh]uh#jh%jh(]h8here}}(h%h&h>jubah>jubah>jubh8.}}(h%.h>jubeh>jtubah>jubj()}}(h}(h]h]h ]h ]h]uh#j'h$hhhh%XRMaxECGrange: [numeric or string] OPTIONAL. Force a vertial range in order to ease visual comparison of signals in the mosaic. [string] 'max': force the maximum range to be the range for all mosaics. 'min', 'mean', 'median': are also available options. 'none': Each mosaic with a different range. (Default). h'Nh(](hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%}MaxECGrange: [numeric or string] OPTIONAL. Force a vertial range in order to ease visual comparison of signals in the mosaic.h'K2h(]h8}MaxECGrange: [numeric or string] OPTIONAL. Force a vertial range in order to ease visual comparison of signals in the mosaic.}}(h%jh>jubah>jubhL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%[string]h'K5h(]h8[string]}}(h%jh>jubah>jubh@)}}(h}(h]h]h ]h ]h]uh#h?h%h&h(](h@)}}(h}(h]h]h ]h ]h]uh#h?h%h&h(]hdefinition_list)}}(h}(h]h]h ]h ]h]uh#jh%h&h(]hdefinition_list_item)}}(h}(h]h]h ]h ]h]uh#jh$hh%@'max': force the maximum range to be the range for all mosaics. h'K8h(](hterm)}}(h}(h]h]h ]h ]h]uh#jh$hh%.'max': force the maximum range to be the rangeh'K8h(]h8.'max': force the maximum range to be the range}}(h%jh>jubah>jubh definition)}}(h}(h]h]h ]h ]h]uh#j"h%h&h(]hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%for all mosaics.h'K8h(]h8for all mosaics.}}(h%j7h>j/ubah>j%ubah>jubeh>jubah>jubah>jubhL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%4'min', 'mean', 'median': are also available options.h'K:h(]h84'min', 'mean', 'median': are also available options.}}(h%jGh>j?ubah>jubhL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%6'none': Each mosaic with a different range. (Default).h'KjOubah>jubeh>jubeh>jubj()}}(h}(h]h]h ]h ]h]uh#j'h$hhhh%RowsCols: [numeric] OPTIONAL. Number of rows and columns of the mosaic. If ommited or if ``rows * cols ~= ECG_header.nsig``, these values are automatically adapted to the best fit mosaic in relation to the aspect ratio of the screen. h'Nh(]hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%RowsCols: [numeric] OPTIONAL. Number of rows and columns of the mosaic. If ommited or if ``rows * cols ~= ECG_header.nsig``, these values are automatically adapted to the best fit mosaic in relation to the aspect ratio of the screen.h'K>h(](h8YRowsCols: [numeric] OPTIONAL. Number of rows and columns of the mosaic. If ommited or if }}(h%YRowsCols: [numeric] OPTIONAL. Number of rows and columns of the mosaic. If ommited or if h>jjubho)}}(h}(h]h]h ]h ]h]uh#hnh%"``rows * cols ~= ECG_header.nsig``h(]h8rows * cols ~= ECG_header.nsig}}(h%h&h>j{ubah>jjubh8n, these values are automatically adapted to the best fit mosaic in relation to the aspect ratio of the screen.}}(h%n, these values are automatically adapted to the best fit mosaic in relation to the aspect ratio of the screen.h>jjubeh>j_ubah>jubj()}}(h}(h]h]h ]h ]h]uh#j'h$hhhh%dFigureHdl: [figure handle] OPTIONAL. Choose the figure to be produced the mosaic. ``gcf (default)`` h'Nh(]hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%cFigureHdl: [figure handle] OPTIONAL. Choose the figure to be produced the mosaic. ``gcf (default)``h'KBh(](h8RFigureHdl: [figure handle] OPTIONAL. Choose the figure to be produced the mosaic. }}(h%RFigureHdl: [figure handle] OPTIONAL. Choose the figure to be produced the mosaic. h>jubho)}}(h}(h]h]h ]h ]h]uh#hnh%``gcf (default)``h(]h8 gcf (default)}}(h%h&h>jubah>jubeh>jubah>jubj()}}(h}(h]h]h ]h ]h]uh#j'h$hhhh%aECG_delineation: [struct] OPTIONAL. Annotation struct described :ref:`here`. h'Nh(]hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%`ECG_delineation: [struct] OPTIONAL. Annotation struct described :ref:`here`.h'KDh(](h8@ECG_delineation: [struct] OPTIONAL. Annotation struct described }}(h%@ECG_delineation: [struct] OPTIONAL. Annotation struct described h>jubhZ)}}(h}(h]h`h ]h ]reftyperefhehfh] refexplicith] refdomainstdhkdelineation_structuh#hYh$hh%:ref:`here`h'KDh(]j)}}(h}(h]h]h ]h ](hxjstd-refeh]uh#jh%jh(]h8here}}(h%h&h>jubah>jubah>jubh8.}}(h%jh>jubeh>jubah>jubj()}}(h}(h]h]h ]h ]h]uh#j'h$hhhh%ECG_annotations: [cell] OPTIONAL. Annotations to be included in the mosaic. The function accepts 2 type of annotations: points and lines. An example below shows how to define both annotations. h'Nh(]hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%ECG_annotations: [cell] OPTIONAL. Annotations to be included in the mosaic. The function accepts 2 type of annotations: points and lines. An example below shows how to define both annotations.h'KFh(]h8ECG_annotations: [cell] OPTIONAL. Annotations to be included in the mosaic. The function accepts 2 type of annotations: points and lines. An example below shows how to define both annotations.}}(h%jh>j ubah>jubah>jubeh>hubhL)}}(h}(h]h]h ]h ]h]uh#hKh$hhhh%Output:h'KJh(]h8Output:}}(h%j"h>jubah>hubj)}}(h}(h]h ]h ]h]j#j$h]uh#jh$hhhh%h&h'KMh(](j()}}(h}(h]h]h ]h ]h]uh#j'h$hhhh%(ECG_hdl: handle to the plotted signals. h'Nh(]hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%'ECG_hdl: handle to the plotted signals.h'KMh(]h8'ECG_hdl: handle to the plotted signals.}}(h%jGh>j?ubah>j4ubah>j*ubj()}}(h}(h]h]h ]h ]h]uh#j'h$hhhh%axes_hdl: handle to the axes. h'Nh(]hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%axes_hdl: handle to the axes.h'KOh(]h8axes_hdl: handle to the axes.}}(h%jbh>jZubah>jOubah>j*ubj()}}(h}(h]h]h ]h ]h]uh#j'h$hhhh%fig_hdl: handle to fig. h'Nh(]hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%fig_hdl: handle to fig.h'KQh(]h8fig_hdl: handle to fig.}}(h%j}h>juubah>jjubah>j*ubj()}}(h}(h]h]h ]h ]h]uh#j'h$hhhh%6all_yranges: vertical ranges of the plotted signals. h'Nh(]hL)}}(h}(h]h]h ]h ]h]uh#hKh$hh%4all_yranges: vertical ranges of the plotted signals.h'KSh(]h84all_yranges: vertical ranges of the plotted signals.}}(h%jh>jubah>jubah>j*ubeh>hubeh>hubh)}}(h}(h]exampleah]h ]exampleah ]h]uh#hh$hhhh%h&h'KWh(](h+)}}(h}(h]h]h ]h ]h]uh#h*h$hhhh%Exampleh'KWh(]h8Example}}(h%jh>jubah>jubhL)}}(h}(h]h]h ]h ]h]uh#hKh$hhhh%jubah>jubh)}}(h}(h]h ]h ]hah]h]hhuh#hh$hhhh%Xwin_size = 100; sig_samp = 10000; sig_size = 12; event_size = 50; x = 0.1*randn(sig_samp,sig_size); event_locations = randsample(win_size:sig_samp-win_size, event_size); x(event_locations-1,:) = x(event_locations-1,:) + 1; x(event_locations+1,:) = x(event_locations+1,:) - 1; x_packed = pack_signal(x, event_locations, win_size); figure(1) % estimation of the signal averaged event plot_ecg_mosaic( mean(x_packed,3) );h'Kkh(]h8Xwin_size = 100; sig_samp = 10000; sig_size = 12; event_size = 50; x = 0.1*randn(sig_samp,sig_size); event_locations = randsample(win_size:sig_samp-win_size, event_size); x(event_locations-1,:) = x(event_locations-1,:) + 1; x(event_locations+1,:) = x(event_locations+1,:) - 1; x_packed = pack_signal(x, event_locations, win_size); figure(1) % estimation of the signal averaged event plot_ecg_mosaic( mean(x_packed,3) );}}(h%Xwin_size = 100; sig_samp = 10000; sig_size = 12; event_size = 50; x = 0.1*randn(sig_samp,sig_size); event_locations = randsample(win_size:sig_samp-win_size, event_size); x(event_locations-1,:) = x(event_locations-1,:) + 1; x(event_locations+1,:) = x(event_locations+1,:) - 1; x_packed = pack_signal(x, event_locations, win_size); figure(1) % estimation of the signal averaged event plot_ecg_mosaic( mean(x_packed,3) );h>jubah>jubhL)}}(h}(h]h]h ]h ]h]uh#hKh$hhhh%Here ,,,h'Klh(]h8Here ,,,}}(h%jh>jubah>jubhimage)}}(h}(h]h ]h ]uri mosaic1.png candidates}*jsh]h]uh#jh$hhhh%.. image:: mosaic1.png h'Koh(]h>jubh)}}(h}(h]h ]h ]hah]h]hhuh#hh$hhhh%figure(2) % visualization of all events. In this case previous pack_signal call is % not needed. plot_ecg_mosaic(x, 'QRS_locations', event_locations, 'WinSize', win_size);h'Kvh(]h8figure(2) % visualization of all events. In this case previous pack_signal call is % not needed. plot_ecg_mosaic(x, 'QRS_locations', event_locations, 'WinSize', win_size);}}(h%figure(2) % visualization of all events. In this case previous pack_signal call is % not needed. plot_ecg_mosaic(x, 'QRS_locations', event_locations, 'WinSize', win_size);h>jubah>jubhL)}}(h}(h]h]h ]h ]h]uh#hKh$hhhh%Here ,,,h'Kwh(]h8Here ,,,}}(h%jh>jubah>jubj)}}(h}(h]h ]h ]uri mosaic2.pngj}jj'sh]h]uh#jh$hhhh%.. image:: mosaic2.png h'Kzh(]h>jubh)}}(h}(h]h ]h ]hah]h]hhuh#hh$hhhh%Xfigure(3) % introducing several kind of marks to the plot h_line = cell(sig_size,7); h2_line = cell(sig_size,7); v_line = cell(sig_size,7); v2_line = cell(sig_size,7); point = cell(sig_size,7); a_line = cell(sig_size,7); h_line(:,1) = {'line'}; h_line(:,2) = { [ { 'String' 'LineStyle' 'LineWidth' 'Color' 'TextColor' }; ... { 'horizontal line text' '--' 1.5 'r' 'r' } ]'}; h_line(1:sig_size, [6 7]) = num2cell( repmat(-0.5,sig_size,2) ); h2_line(:,1) = {'line'}; h2_line(:,2) = { [ { 'String' 'LineStyle' 'LineWidth' 'Color' 'TextColor' }; ... { 'other h-line' '--' 1.5 'm' 'm' } ]'}; h2_line(1:sig_size, 4:7) = num2cell( [ repmat(60,sig_size,1) repmat(70,sig_size,1) repmat(0.5,sig_size,2) ] ); v_line(:,1) = {'line'}; v_line(:,2) = { [ { 'String' 'LineStyle' 'LineWidth' 'Color' 'TextColor' }; ... { 'vertical line text' '--' 1.5 'g' 'g' } ]'}; v_line(1:sig_size, [4 5]) = num2cell( repmat(20,sig_size,2) ); v2_line(:,1) = {'line'}; v2_line(:,2) = { [ { 'String' 'LineStyle' 'LineWidth' 'Color' 'TextColor' }; ... { 'other v-line' '--' 1.5 'b' 'b' } ]'}; v2_line(1:sig_size, 4:7) = num2cell( [ repmat(80,sig_size,2) repmat(-0.8,sig_size,1) repmat(-0.3,sig_size,1) ] ); point(:,1) = {'point'}; point(:,2) = { [ { 'String' 'Color' 'TextColor' }; ... { 'one-point' [0.2 0.3 0.4] [0.2 0.3 0.4] } ]'}; point(1:sig_size,4) = num2cell( repmat(50,sig_size,1) ); a_line(:,1) = {'line'}; a_line(:,2) = { [ { 'String' 'LineStyle' 'LineWidth' 'Color' 'TextColor' }; ... { 'line text' '--' 1.5 'k' 'k' } ]'}; a_line(1:sig_size,4:7) = num2cell( [ repmat(30,sig_size,1) repmat(40,sig_size,1) repmat(0.5,sig_size,1) repmat(-0.5,sig_size,1) ] ); aux_anns = cat(3,h_line,v_line,h2_line,v2_line,point,a_line); plot_ecg_mosaic(mean(x_packed,3), 'ECG_annotations', aux_anns );h'Kh(]h8Xfigure(3) % introducing several kind of marks to the plot h_line = cell(sig_size,7); h2_line = cell(sig_size,7); v_line = cell(sig_size,7); v2_line = cell(sig_size,7); point = cell(sig_size,7); a_line = cell(sig_size,7); h_line(:,1) = {'line'}; h_line(:,2) = { [ { 'String' 'LineStyle' 'LineWidth' 'Color' 'TextColor' }; ... { 'horizontal line text' '--' 1.5 'r' 'r' } ]'}; h_line(1:sig_size, [6 7]) = num2cell( repmat(-0.5,sig_size,2) ); h2_line(:,1) = {'line'}; h2_line(:,2) = { [ { 'String' 'LineStyle' 'LineWidth' 'Color' 'TextColor' }; ... { 'other h-line' '--' 1.5 'm' 'm' } ]'}; h2_line(1:sig_size, 4:7) = num2cell( [ repmat(60,sig_size,1) repmat(70,sig_size,1) repmat(0.5,sig_size,2) ] ); v_line(:,1) = {'line'}; v_line(:,2) = { [ { 'String' 'LineStyle' 'LineWidth' 'Color' 'TextColor' }; ... { 'vertical line text' '--' 1.5 'g' 'g' } ]'}; v_line(1:sig_size, [4 5]) = num2cell( repmat(20,sig_size,2) ); v2_line(:,1) = {'line'}; v2_line(:,2) = { [ { 'String' 'LineStyle' 'LineWidth' 'Color' 'TextColor' }; ... { 'other v-line' '--' 1.5 'b' 'b' } ]'}; v2_line(1:sig_size, 4:7) = num2cell( [ repmat(80,sig_size,2) repmat(-0.8,sig_size,1) repmat(-0.3,sig_size,1) ] ); point(:,1) = {'point'}; point(:,2) = { [ { 'String' 'Color' 'TextColor' }; ... { 'one-point' [0.2 0.3 0.4] [0.2 0.3 0.4] } ]'}; point(1:sig_size,4) = num2cell( repmat(50,sig_size,1) ); a_line(:,1) = {'line'}; a_line(:,2) = { [ { 'String' 'LineStyle' 'LineWidth' 'Color' 'TextColor' }; ... { 'line text' '--' 1.5 'k' 'k' } ]'}; a_line(1:sig_size,4:7) = num2cell( [ repmat(30,sig_size,1) repmat(40,sig_size,1) repmat(0.5,sig_size,1) repmat(-0.5,sig_size,1) ] ); aux_anns = cat(3,h_line,v_line,h2_line,v2_line,point,a_line); plot_ecg_mosaic(mean(x_packed,3), 'ECG_annotations', aux_anns );}}(h%Xfigure(3) % introducing several kind of marks to the plot h_line = cell(sig_size,7); h2_line = cell(sig_size,7); v_line = cell(sig_size,7); v2_line = cell(sig_size,7); point = cell(sig_size,7); a_line = cell(sig_size,7); h_line(:,1) = {'line'}; h_line(:,2) = { [ { 'String' 'LineStyle' 'LineWidth' 'Color' 'TextColor' }; ... { 'horizontal line text' '--' 1.5 'r' 'r' } ]'}; h_line(1:sig_size, [6 7]) = num2cell( repmat(-0.5,sig_size,2) ); h2_line(:,1) = {'line'}; h2_line(:,2) = { [ { 'String' 'LineStyle' 'LineWidth' 'Color' 'TextColor' }; ... { 'other h-line' '--' 1.5 'm' 'm' } ]'}; h2_line(1:sig_size, 4:7) = num2cell( [ repmat(60,sig_size,1) repmat(70,sig_size,1) repmat(0.5,sig_size,2) ] ); v_line(:,1) = {'line'}; v_line(:,2) = { [ { 'String' 'LineStyle' 'LineWidth' 'Color' 'TextColor' }; ... { 'vertical line text' '--' 1.5 'g' 'g' } ]'}; v_line(1:sig_size, [4 5]) = num2cell( repmat(20,sig_size,2) ); v2_line(:,1) = {'line'}; v2_line(:,2) = { [ { 'String' 'LineStyle' 'LineWidth' 'Color' 'TextColor' }; ... { 'other v-line' '--' 1.5 'b' 'b' } ]'}; v2_line(1:sig_size, 4:7) = num2cell( [ repmat(80,sig_size,2) repmat(-0.8,sig_size,1) repmat(-0.3,sig_size,1) ] ); point(:,1) = {'point'}; point(:,2) = { [ { 'String' 'Color' 'TextColor' }; ... { 'one-point' [0.2 0.3 0.4] [0.2 0.3 0.4] } ]'}; point(1:sig_size,4) = num2cell( repmat(50,sig_size,1) ); a_line(:,1) = {'line'}; a_line(:,2) = { [ { 'String' 'LineStyle' 'LineWidth' 'Color' 'TextColor' }; ... { 'line text' '--' 1.5 'k' 'k' } ]'}; a_line(1:sig_size,4:7) = num2cell( [ repmat(30,sig_size,1) repmat(40,sig_size,1) repmat(0.5,sig_size,1) repmat(-0.5,sig_size,1) ] ); aux_anns = cat(3,h_line,v_line,h2_line,v2_line,point,a_line); plot_ecg_mosaic(mean(x_packed,3), 'ECG_annotations', aux_anns );h>j.ubah>jubhL)}}(h}(h]h]h ]h ]h]uh#hKh$hhhh%Here ,,,h'Kh(]h8Here ,,,}}(h%jGh>j?ubah>jubj)}}(h}(h]h ]h ]uri mosaic3.pngj}jjVsh]h]uh#jh$hhhh%.. image:: mosaic3.png h'Kh(]h>jubeh>hubheh>hububhhjjhhjhuautofootnote_refs]current_sourceNrefnames}id_startKtransform_messages]settingsdocutils.frontendValues)}}( pep_base_url https://www.python.org/dev/peps/embed_stylesheetexpose_internalsNinput_encoding_error_handlerstrictdebugNstrip_commentsN_disable_configNpep_referencesN source_linkNfootnote_backlinksKrfc_referencesNsyntax_highlightlongstrict_visitorNfile_insertion_enabled _config_files]input_encoding utf-8-sig language_codeendump_internalsN_sourcehwarning_streamNoutput_encoding_error_handlerjp strip_classesN datestampN raw_enabledK generatorNrecord_dependenciesN sectnum_xformKgettext_compactcloak_email_addresses smart_quotes rfc_base_urlhttps://tools.ietf.org/html/ docinfo_xformKerror_encoding_error_handlerbackslashreplacepep_file_url_templatepep-%04derror_encodingcp850configN halt_levelK dump_settingsNdump_transformsN _destinationNauto_id_prefixid toc_backlinksentrysectsubtitle_xform id_prefixh&output_encodingutf-8 tab_widthKtrim_footnote_reference_spaceexit_status_levelKstrip_elements_with_classesN source_urlNh*N tracebackdump_pseudo_xmlN report_levelKdoctitle_xformenvNub footnote_refs}substitution_names} nametypes}(hNhNjNhNjNusymbol_footnote_refs] current_lineNindirect_targets]hhsubstitution_defs}nameids}(hhhhjjhhjjusymbol_footnotes]h#hparse_messages]refids}reporterNh%h&symbol_footnote_startK transformerN footnotes] citation_refs} citations] autofootnotes]autofootnote_startK decorationNh(]haub.