diff --git a/exportSCaseData.m b/exportSCaseData.m index 3052ea0..ba36d04 100644 --- a/exportSCaseData.m +++ b/exportSCaseData.m @@ -1,22 +1,29 @@ -function exportSCaseData(filename) +function output = exportSCaseData(varargin) % Export a file (csv or excel) of all of the SCase measurements % % Inputs: file name with desired extenstion like "shoulder.csv" % % Output: A (csv or excel)file as specified in the input in the specified directory (current directory if not specified) % % Example: exportSCaseData("shoulder.csv"); % -addpath(genpath('ShoulderCase')); -database = ShoulderCaseLoader; + parameters = inputParser; + addOptional(parameters, "SCaseList", "*"); + addOptional(parameters, "saveInFile", ""); + parse(parameters, varargin{:}); + parameters = parameters.Results; -allCases = database.loadAllCases(); -% SCaseTable initialised arbitrarily with the first SCase loaded -SCaseTable = allCases(1).SCaseDataToTable(); -for i = 2:length(allCases) - SCaseTable = outerjoin(SCaseTable, allCases(i).SCaseDataToTable(), 'MergeKeys', true); -end + casesToExport = loadSCase(parameters.SCaseList); + exportedTables = casesToExport(1).getTableOfData(); + for i = 2:size(casesToExport,1) + exportedTables = outerjoin(exportedTables, casesToExport(i).getTableOfData(),... + 'MergeKeys', true); + end + + if not(isequal(parameters.saveInFile, "")) + writetable(exportedTables, parameters.saveInFile); + end -writetable(SCaseTable, filename); + output = exportedTables; end