Waveform Segmentation Using Deep Learning: Error on getmask
2 views (last 30 days)
Show older comments
We are implementing it as described in [Waveform Segmentation Using Deep Learning].
I get an error in the following process and cannot proceed.
type getmask.m
trainDs = transform(trainDs, @getmask);
testDs = transform(testDs, @getmask);
The error statement is as follows
Error: nargin
The function getmask does not exist.
Error: matlab.io.datastore.(148)
tFuncArgs = nargin(fun);
Error:matlab.io.datastore.internal.buildTransformedDatastore(line 65)
tds =
matlab.io.datastore.TransformedDatastore(datastores,
fcn, ...
Error: matlab.io.Datastore/transform (line 359)
dsnew =
matlab.io.datastore.internal.buildTransformedDatastore(varargin{:});
Error: segmentation_default (line 30)
trainDs = transform(trainDs, @getmask);
2 Comments
Star Strider
on 1 Dec 2020
What MATLAB release/version are you running?
The current online documentation is for R2020b, so if you are running an earlier version, it may not apply, and you may not be able to use all the examples in the online documentation. (I am not certain when the Waveform Segmentation Using Deep Learning Example first appeared, so I cannot determine the first release/version that will work with it.)
Accepted Answer
Image Analyst
on 1 Dec 2020
You need to create it from the code they gave you on the page:
function outputCell = getmask(inputCell)
%GETMASK Convert region labels to a mask of labels of size equal to the
%size of the input ECG signal.
%
% inputCell is a two-element cell array containing an ECG signal vector
% and a table of region labels.
%
% outputCell is a two-element cell array containing the ECG signal vector
% and a categorical label vector mask of the same length as the signal.
% Copyright 2020 The MathWorks, Inc.
sig = inputCell{1};
roiTable = inputCell{2};
L = length(sig);
M = signalMask(roiTable);
% Get categorical mask and give priority to QRS regions when there is overlap
mask = catmask(M,L,'OverlapAction','prioritizeByList','PriorityList',[2 1 3]);
% Set missing values to "n/a"
mask(ismissing(mask)) = "n/a";
outputCell = {sig,mask};
end
More Answers (0)
See Also
Categories
Find more on AI for Signals in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!