mirror of
https://git.intern.spaceteamaachen.de/ALPAKA/sw-plotting-tool.git
synced 2025-06-10 01:55:59 +00:00
Initialization
This commit is contained in:
parent
4456b5c7bf
commit
f5df07157d
BIN
PlottingTool.mlapp
Normal file
BIN
PlottingTool.mlapp
Normal file
Binary file not shown.
53
fourierPlotFnc.m
Normal file
53
fourierPlotFnc.m
Normal file
@ -0,0 +1,53 @@
|
||||
function fourierPlotFnc(data, fileSettings, checkboxes, start, stop, yAxis, channels, path)
|
||||
|
||||
%Iterate through all channels
|
||||
for channel = 1:width(data)
|
||||
|
||||
%If Graph is checked
|
||||
if checkboxes{channel}.Value == 1
|
||||
|
||||
%Convert start and ending time
|
||||
beginning = str2double(start{channel}.Value);
|
||||
ending = str2double(stop{channel}.Value);
|
||||
|
||||
%if first row increment is not checked
|
||||
if fileSettings{2}.Value == 0
|
||||
[timeArray, yData] = timeAxisWithIncrement(data, fileSettings{3}.Value, beginning, ending, channel);
|
||||
else
|
||||
%TO DO
|
||||
end
|
||||
|
||||
%Don't really now what I am doing here.
|
||||
fs = 1 / fileSettings{3}.Value;
|
||||
Nfft = 2^nextpow2(length(yData));
|
||||
yData = fft(yData, Nfft);
|
||||
|
||||
Nspec = 256;
|
||||
wspec = hamming(Nspec);
|
||||
Noverlap = Nspec/2;
|
||||
|
||||
hold on
|
||||
figure(channel)
|
||||
spectrogram(yData, wspec, Noverlap, Nspec, fs, 'yaxis');
|
||||
title(channels{channel});
|
||||
|
||||
|
||||
%Plot the channel
|
||||
% hold on
|
||||
% figure(channel)
|
||||
% spectrogram(yData, 'yaxis');
|
||||
% title(channels{channel});
|
||||
|
||||
%Save plot
|
||||
saveFigs('fourier', figure(channel), channels(channel), path, fileSettings{1}.Value)
|
||||
|
||||
%reset
|
||||
hold off;
|
||||
close all;
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
41
graphPlotFnc.m
Normal file
41
graphPlotFnc.m
Normal file
@ -0,0 +1,41 @@
|
||||
function graphPlotFnc(data, fileSettings, checkboxes, start, stop, yAxis, channels, path)
|
||||
|
||||
%Iterate through all channels
|
||||
for channel = 1:width(data)
|
||||
|
||||
%If Graph is checked
|
||||
if checkboxes{channel}.Value == 1
|
||||
|
||||
%Convert start and ending time
|
||||
beginning = str2double(start{channel}.Value);
|
||||
ending = str2double(stop{channel}.Value);
|
||||
|
||||
%if first row increment is not checked
|
||||
if fileSettings{2}.Value == 0
|
||||
[timeArray, yData] = timeAxisWithIncrement(data, fileSettings{3}.Value, beginning, ending, channel);
|
||||
else
|
||||
%TO DO
|
||||
end
|
||||
|
||||
|
||||
%Plot the channel
|
||||
hold on
|
||||
figure(channel)
|
||||
plot(timeArray, yData);
|
||||
ylabel(yAxis{channel}.Value);
|
||||
xlabel('Time [s]');
|
||||
title(channels{channel});
|
||||
|
||||
%Save plot
|
||||
saveFigs('graph', figure(channel), channels(channel), path, fileSettings{1}.Value)
|
||||
|
||||
%reset
|
||||
hold off;
|
||||
close all;
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
11
loadChannels.m
Normal file
11
loadChannels.m
Normal file
@ -0,0 +1,11 @@
|
||||
function [channels] = loadChannels(path, filenames)
|
||||
|
||||
channels = {};
|
||||
|
||||
for i = 1:length(filenames)
|
||||
channel = tdmsinfo(append(path, '\', filenames(i).name)).ChannelList;
|
||||
channel = channel{:, "ChannelName"};
|
||||
channels{i} = channel;
|
||||
end
|
||||
|
||||
end
|
18
loadData.m
Normal file
18
loadData.m
Normal file
@ -0,0 +1,18 @@
|
||||
function [dataListTable] = loadData(tdmsFileList)
|
||||
|
||||
%Convert struct to cell for easy access
|
||||
tdmsFileList = struct2cell(tdmsFileList);
|
||||
|
||||
|
||||
for i = 1:width(tdmsFileList)
|
||||
|
||||
%Read files and save them as a table in a list
|
||||
data = tdmsread(strcat(tdmsFileList{2, i}, '\', tdmsFileList{1, i}));
|
||||
|
||||
%Take the table out of an 1x1 cell array and convert it in a cell array.
|
||||
dataListTable{i} = table2array(data{1,1});
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
43
meanPlotFnc.m
Normal file
43
meanPlotFnc.m
Normal file
@ -0,0 +1,43 @@
|
||||
function meanPlotFnc(data, fileSettings, checkboxes, start, stop, yAxis, channels, path)
|
||||
|
||||
%Iterate through all channels
|
||||
for channel = 1:width(data)
|
||||
|
||||
%If Graph is checked
|
||||
if checkboxes{channel}.Value == 1
|
||||
|
||||
%Convert start and ending time
|
||||
beginning = str2double(start{channel}.Value);
|
||||
ending = str2double(stop{channel}.Value);
|
||||
|
||||
%if first row increment is not checked
|
||||
if fileSettings{2}.Value == 0
|
||||
[timeArray, yData] = timeAxisWithIncrement(data, fileSettings{3}.Value, beginning, ending, channel);
|
||||
else
|
||||
%TO DO
|
||||
end
|
||||
|
||||
|
||||
%Plot the channel
|
||||
figure(channel)
|
||||
plot(timeArray, yData, '-b');
|
||||
hold all
|
||||
plot(timeArray, movmean(yData, 20), '-r');
|
||||
ylabel(yAxis{channel}.Value);
|
||||
xlabel('Time [s]');
|
||||
legend('Without movmean','With movmean (20th order)')
|
||||
title(channels{channel});
|
||||
|
||||
%Save plot
|
||||
saveFigs('median', figure(channel), channels(channel), path, fileSettings{1}.Value)
|
||||
|
||||
%reset
|
||||
hold off
|
||||
close all;
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
23
saveFigs.m
Normal file
23
saveFigs.m
Normal file
@ -0,0 +1,23 @@
|
||||
function saveFigs(folder, figureVar, channelName, path, file)
|
||||
|
||||
%Suppress the warnings. If not where would be a lot of warnings
|
||||
%because of the creation of folders that already exist
|
||||
warning('off','all');
|
||||
|
||||
%Create file folder
|
||||
file = strcat(path, '\', file);
|
||||
mkdir(file);
|
||||
|
||||
%Create type folder (graph, mean, fourier)
|
||||
folder = strcat(file, '\', folder);
|
||||
mkdir(folder);
|
||||
|
||||
%Create path for saving and save as .fig and .png
|
||||
pathName = strcat(folder, '\', channelName);
|
||||
savefig(figureVar, strcat(pathName, '.fig'));
|
||||
saveas(figureVar, strcat(pathName, '.png'));
|
||||
|
||||
%Turn warning back on
|
||||
warning('on','all')
|
||||
end
|
||||
|
23
timeAxisWithIncrement.m
Normal file
23
timeAxisWithIncrement.m
Normal file
@ -0,0 +1,23 @@
|
||||
function [timeAxis, yData] = timeAxisWithIncrement(data, increment, beginning, ending, channel)
|
||||
|
||||
if ending ~= 0
|
||||
timeAxis = 0:increment:ending;
|
||||
else
|
||||
timeAxis(1) = increment;
|
||||
for i = 2:height(data)
|
||||
timeAxis(i) = increment + timeAxis(i-1);
|
||||
end
|
||||
end
|
||||
|
||||
yData = data(:, channel);
|
||||
yData = yData(1:length(timeAxis));
|
||||
|
||||
if beginning ~= 0
|
||||
tempTimeArray = beginning:increment:timeAxis(end);
|
||||
startIndex = length(timeAxis) - length(tempTimeArray);
|
||||
yData = yData(startIndex+1:startIndex+length(tempTimeArray));
|
||||
timeAxis = tempTimeArray;
|
||||
end
|
||||
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user