Newer
Older
function [soundvelocity] = selectSoundspeed()
%SELECTSOUNDSPEED Summary of this function goes here
% Detailed explanation goes here
global artoaWorkspace;
%% Get required variables
soundsourceNames = fieldnames(artoaWorkspace.filteredSoundsources);
trackParameter = artoa.data.getMember(artoaWorkspace, {'trackParameter'}, false);
soundspeedTable = artoa.data.getMember(artoaWorkspace, {'editOffsets', 'soundspeed'}, false);
%% Get used method
if ~islogical(trackParameter)
method = trackParameter.soundspeedMethodString;
else
method = 'del grosso';
end
%% Fill with manual values or NaN
if ~islogical(soundspeedTable)
initMatrix = repmat(soundspeedTable{'Soundspeed', 'Applied'}, length(soundsourceNames), 1);
else
initMatrix = NaN(length(soundsourceNames), 1);
end
%% Initialize table
soundvelocity = table(initMatrix, 'RowNames', soundsourceNames);
%% If manual has been chosen, we are ready
if strcmpi(method, 'manual')
return;
end
%% Get every velocity for each soundsource
if strcmpi(method, 'soundsource file')
for i = 1:length(soundsourceNames)
soundvelocity{soundsourceNames{i}, 1} = ...
artoaWorkspace.filteredSoundsources.(soundsourceNames{i}).sound_speed;
end
return;
end
soundvelocity{:, :} = artoa.data.calculateSoundVelocity( ...
artoaWorkspace.temperature(artoaWorkspace.statusTemperature == 1), ...
artoaWorkspace.pressure(artoaWorkspace.statusPressure == 1), ...
method ...
);
end