partition = 'C:\Data\Users\Alexander\Movies\Besira\';
[fileName, filePath] = uigetfile([partition '*.mat'],'Choose file');
stepperData = load([filePath '..\cam_' fileName(6:end-4) '.txt']);
bsIndex = find(filePath == '\' | filePath == '/');
saveName = filePath(bsIndex(end-3)+1:bsIndex(end-1)-1);
bsIndex = find(saveName =='\' | saveName == '/');
saveName(bsIndex) = '_';
saveName(saveName == '%') = 'p';
saveName(saveName == ' ') = '_';
errorbars = 0;
compensateErrorForWidth = 1;
closeAllWindows = 0;
savePathData = 'C:\Data\Users\Alexander\Movies\SavedPlotsAndData\data\';
savePathPlot = 'C:\Data\Users\Alexander\Movies\SavedPlotsAndData\plots\';
savePathAnnot= 'C:\Data\Users\Alexander\Movies\SavedPlotsAndData\annotations\';
savePathRod = 'C:\Data\Users\Alexander\Movies\SavedPlotsAndData\rods\';
if ~exist('faceMapsSave5','var')
faceMapsSave5 = load('FaceMapsLambda5.mat');
faceMapsSave5 = faceMapsSave5.L5;
faceMapsSave7 = load('FaceMapsLambda7.mat');
faceMapsSave7 = faceMapsSave7.L7;
faceMapsSave9 = load('FaceMapsLambda9.mat');
faceMapsSave9 = faceMapsSave9.L9;
end
facemaps = {faceMapsSave5,faceMapsSave7,faceMapsSave9};
if exist([savePathData saveName '.mat'],'file')
fuss = load([savePathData saveName '.mat']);
saveStruct = fuss.saveStruct;
saveStruct.saveName = saveName;
lambda = saveStruct.rodLength/3;
[~,bestMatchLambda] = min(abs([5 7 9] - lambda));
facemapMatch = facemaps{bestMatchLambda};
saveStruct.bestMatchLambda = bestMatchLambda;
saveStruct = FitExpToTheory(saveStruct,facemapMatch, 1);
save([savePathData saveName '.mat'],'saveStruct')
else
fuss = load([filePath fileName]);
data = fuss.data;
extraData =fuss.extraData;
currentRange = [1, length(data(:,1))];
loadedStruct = extractData(data,extraData,currentRange,0,1,compensateErrorForWidth);
loadedStruct2 = extractData(data,extraData,currentRange,0,0,compensateErrorForWidth);
frames = load([filePath 'frames.mat']);
saveStruct = struct();
saveStruct.n_x = loadedStruct.n_x;
saveStruct.n_z = loadedStruct.n_z;
saveStruct.XDistanceCons = loadedStruct.XDistance;
saveStruct.XDistance = loadedStruct2.XDistance;
saveStruct.XFrames = loadedStruct.XFrames;
saveStruct.stretchData = extraData.stretchData;
saveStruct.flowAngle = extraData.FlowAngle;
saveStruct.P_M_Start = mean(extraData.x);
temp = stepperData(1,3)*1e-3;
saveStruct.X0 = stepperData(1,2)*1e-3;
saveStruct.Y0 = temp - saveStruct.flowAngle*saveStruct.X0;
saveStruct.rodLength = loadedStruct.rodLength;
saveStruct.frames = frames;
saveStruct.saveName = saveName;
saveStruct.YPos = loadedStruct.YPos;
saveStruct.XTime = loadedStruct.XTime;
saveStruct.a = loadedStruct.a;
saveStruct.b = loadedStruct.b;
saveStruct.loadedStruct = loadedStruct;
saveStruct.saved = 0;
lambda = saveStruct.rodLength/3;
[~,bestMatchLambda] = min(abs([5 7 9] - lambda));
facemapMatch = facemaps{bestMatchLambda};
saveStruct.bestMatchLambda = bestMatchLambda;
saveStruct = SortOutData(saveStruct);
saveStruct = SelectFrame(frames,saveStruct);
indices = FindNx0(saveStruct.stretchesNX);
saveStruct = FindDeltaNz(indices,saveStruct);
saveStruct = FloatOrSink(indices,saveStruct);
saveStruct = FitExpToTheory(saveStruct,facemapMatch,1);
saveStruct = ErrorTest(saveStruct,compensateErrorForWidth);
save([savePathData saveName '.mat'],'saveStruct')
end
try
fuss = load([filePath fileName]);
data = fuss.data;
extraData =fuss.extraData;
currentRange = [1, length(data(:,1))];
loadedStruct = extractData(data,extraData,currentRange,0,1,compensateErrorForWidth);
loadedStruct2 = extractData(data,extraData,currentRange,0,0,compensateErrorForWidth);
temp = stepperData(1,3)*1e-3;
saveStruct.X0 = stepperData(1,2)*1e-3;
saveStruct.Y0 = temp - saveStruct.flowAngle*saveStruct.X0;
saveStruct = ErrorTest(saveStruct,compensateErrorForWidth);
save([savePathData saveName '.mat'],'saveStruct')
[saveStruct, stretches, rod, turns, drift, velocity] = PlotTrajectories(saveStruct,closeAllWindows,errorbars);
save([savePathData saveName '.mat'],'saveStruct')
catch err
rethrow(err)
end
saveStruct.saved = 0;
if saveStruct.saved == 0
savefig([savePathPlot saveName '_A'],stretches,'pdf')
savefig([savePathPlot saveName '_B'],drift,'pdf')
for i = 1:length(turns)
nrFix = '';
if i < 10
nrFix = '0';
end
savefig([savePathPlot saveName '_C' nrFix num2str(i)],turns(i),'pdf')
end
savefig([savePathPlot saveName '_D'],velocity,'pdf')
savefig([savePathRod saveName],rod,'pdf')
saveStruct.saved = 1;
end
disp(saveName);
save([savePathData saveName '.mat'],'saveStruct')