Skip to content
Snippets Groups Projects
Unverified Commit d44b1eb6 authored by leprob001's avatar leprob001
Browse files

fix: Wrong validation of reference start and end position input

parent a35358c0
No related branches found
No related tags found
No related merge requests found
332
\ No newline at end of file
333
\ No newline at end of file
......@@ -29,19 +29,14 @@ if any(isempty(pCombinationsTable.trackingMethod)) ...
return;
end
referenceStart = cellfun(@(x) strsplit(x), pCombinationsTable.referencePosition, 'UniformOutput', false);
referenceStart = cell2mat(cellfun(@(x) str2double(x), referenceStart, 'UniformOutput', false));
if any(length(referenceStart) ~= 2) || any(isnan(referenceStart))
message = '(Reference) Position START column contains at least one error. Please double check this column.';
[success, message] = artoa.controller.track.parameter.validateReferencePositions( ...
pCombinationsTable.referencePosition, ...
pCombinationsTable.referencePositionEnd ...
);
if ~success
return;
end
referenceEnd = cellfun(@(x) strsplit(x), pCombinationsTable.referencePositionEnd, 'UniformOutput', false);
referenceEnd = cell2mat(cellfun(@(x) str2double(x), referenceEnd, 'UniformOutput', false));
if any(length(referenceEnd) ~= 2) || any(isnan(referenceEnd))
message = '(Reference) Position END column contains at least one error. Please double check this column.';
return;
end
......
function [success, message] = validateReferencePositions(pReferencePositionStartCell, pReferencePositionEndCell)
%VALIDATEREFERENCEPOSITIONS Checks if given reference positions are valid.
%
[success, message] = validateReferencePosition(pReferencePositionStartCell);
if ~success
return;
end
[success, message] = validateReferencePosition(pReferencePositionEndCell);
%% Validation function
function [success, message] = validateReferencePosition(position)
success = false;
message = '';
% transform to cell array
referencePosition = cellfun(@(x) strsplit(x), position, 'UniformOutput', false);
% check size of every cell in the array
cellSizesCorrect = cellfun(@(x) all(size(x) == [1, 2]), referencePosition);
if any(~cellSizesCorrect)
message = 'Cell sizes of either start or end reference position is not correct. Please double check your input. Is there a whitespace error?';
return
end
for i = 1:length(referencePosition)
% get current cell to check
result = cellfun(@(x) str2double(x), referencePosition{i});
if any(isnan(result))
message = ['Could not convert "' strjoin(referencePosition{i}, ' ') '" to double. Please double check your input.'];
return
end
end
success = true;
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment