Latest complete update to scripts to save data and figures.
This commit is contained in:
parent
db298413d1
commit
ae9af32eda
@ -73,7 +73,7 @@ function results = conductSpectralAnalysis(od_imgs, scan_parameter_values, optio
|
|||||||
|
|
||||||
% Prepare folder to save figures
|
% Prepare folder to save figures
|
||||||
if ~skipSaveFigures
|
if ~skipSaveFigures
|
||||||
saveFolder = fullfile(saveDirectory, "Results", "SpectralAnalysisSavedFigures");
|
saveFolder = fullfile(saveDirectory, 'Results', 'SavedFigures', 'SpectralAnalysis');
|
||||||
if ~exist(saveFolder, 'dir')
|
if ~exist(saveFolder, 'dir')
|
||||||
mkdir(saveFolder);
|
mkdir(saveFolder);
|
||||||
end
|
end
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
function results = performAnalysis(options)
|
function [results, scan_parameter_values] = performAnalysis(options)
|
||||||
arguments
|
arguments
|
||||||
options.scan_parameter (1,:) char
|
options.scan_parameter (1,:) char
|
||||||
options.scan_reference_values (1,:) double
|
options.scan_reference_values (1,:) double
|
||||||
|
@ -46,16 +46,18 @@ function results_all = batchAnalyze(dataSources, options)
|
|||||||
args = [fieldnames(options), struct2cell(options)]';
|
args = [fieldnames(options), struct2cell(options)]';
|
||||||
args = args(:)';
|
args = args(:)';
|
||||||
|
|
||||||
% Perform analysis
|
% Perform analysis (now returns 2 outputs)
|
||||||
analysisResults = Analyzer.performAnalysis(args{:});
|
[analysisResults, scan_parameter_values] = Analyzer.performAnalysis(args{:});
|
||||||
|
|
||||||
% Store flat struct with metadata + results
|
% Store flat struct with metadata + results + options
|
||||||
result = struct();
|
result = struct();
|
||||||
result.sequence = ds.sequence;
|
result.sequence = ds.sequence;
|
||||||
result.date = ds.date;
|
result.date = ds.date;
|
||||||
result.run = runID;
|
result.run = runID;
|
||||||
result.path = folderPath;
|
result.path = folderPath;
|
||||||
result.results = analysisResults;
|
result.options = options;
|
||||||
|
result.results = analysisResults;
|
||||||
|
result.scan_parameter_values = scan_parameter_values;
|
||||||
|
|
||||||
% Save each dataset as its own MAT file
|
% Save each dataset as its own MAT file
|
||||||
if ~isfield(options, 'skipSaveData') || ~options.skipSaveData
|
if ~isfield(options, 'skipSaveData') || ~options.skipSaveData
|
||||||
@ -73,10 +75,11 @@ function results_all = batchAnalyze(dataSources, options)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
%% ---- Local function for saving results ----
|
%% ---- Local function for saving results ----
|
||||||
function saveResultStruct(result, saveDirectory)
|
function saveResultStruct(result, saveDirectory)
|
||||||
% Define results folder
|
% Define results folder
|
||||||
resultsFolder = fullfile(saveDirectory, "Results", "AnalysisSavedData");
|
resultsFolder = fullfile(saveDirectory, "Results", "SavedData");
|
||||||
if ~exist(resultsFolder, 'dir')
|
if ~exist(resultsFolder, 'dir')
|
||||||
mkdir(resultsFolder);
|
mkdir(resultsFolder);
|
||||||
end
|
end
|
||||||
|
@ -1,6 +1,31 @@
|
|||||||
idx = 1;
|
% --- User chooses which dataset to load ---
|
||||||
compiled_results = results_all{idx}.results;
|
datasetIdx = 1; % <-- change this to 1, 2, 3, ...
|
||||||
options.skipSaveFigures = false;
|
datasetName = sprintf('Dataset_%d', datasetIdx);
|
||||||
|
|
||||||
|
% Detect the folder where this script is located and set that as the Base Directory
|
||||||
|
thisScriptPath = mfilename('fullpath');
|
||||||
|
[thisScriptDir, ~, ~] = fileparts(thisScriptPath);
|
||||||
|
baseDir = thisScriptDir; % override if needed
|
||||||
|
|
||||||
|
% Build path to dataset file
|
||||||
|
dataFile = fullfile(baseDir, "Results", "SavedData", datasetName + ".mat");
|
||||||
|
data = load(dataFile);
|
||||||
|
|
||||||
|
% Access dataset struct dynamically
|
||||||
|
datasetStruct = data.(datasetName);
|
||||||
|
compiled_results = datasetStruct.results;
|
||||||
|
scan_parameter_values = datasetStruct.scan_parameter_values;
|
||||||
|
|
||||||
|
% Load the original options used during analysis
|
||||||
|
options = datasetStruct.options; % exact options used for this dataset
|
||||||
|
options.font = 'Bahnscrift'; % override if needed
|
||||||
|
options.skipSaveFigures = false; % override if needed
|
||||||
|
|
||||||
|
%% ------------------ Create dataset-specific figure folder ------------------
|
||||||
|
figSaveDir = fullfile(baseDir,'Results', 'SavedFigures', datasetName);
|
||||||
|
if ~exist(figSaveDir, 'dir')
|
||||||
|
mkdir(figSaveDir);
|
||||||
|
end
|
||||||
|
|
||||||
%% ------------------ 1. Mean ± Std Plots ------------------
|
%% ------------------ 1. Mean ± Std Plots ------------------
|
||||||
% Plot Radial Spectral Contrast
|
% Plot Radial Spectral Contrast
|
||||||
@ -11,7 +36,7 @@ Plotter.plotMeanWithSE(scan_parameter_values, compiled_results.spectral_analysis
|
|||||||
'FigNum', 1, ...
|
'FigNum', 1, ...
|
||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SaveFileName', 'RadialSpectralContrast.fig', ...
|
'SaveFileName', 'RadialSpectralContrast.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ... % save figures inside dataset-specific folder
|
||||||
'SkipSaveFigures', options.skipSaveFigures);
|
'SkipSaveFigures', options.skipSaveFigures);
|
||||||
|
|
||||||
% Plot Angular Spectral Weight
|
% Plot Angular Spectral Weight
|
||||||
@ -22,7 +47,7 @@ Plotter.plotMeanWithSE(scan_parameter_values, compiled_results.spectral_analysis
|
|||||||
'FigNum', 2, ...
|
'FigNum', 2, ...
|
||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SaveFileName', 'AngularSpectralWeight.fig', ...
|
'SaveFileName', 'AngularSpectralWeight.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures);
|
'SkipSaveFigures', options.skipSaveFigures);
|
||||||
|
|
||||||
% Plot Peak Offset Angular Correlation
|
% Plot Peak Offset Angular Correlation
|
||||||
@ -34,7 +59,7 @@ Plotter.plotMeanWithSE(options.scan_reference_values, compiled_results.custom_g_
|
|||||||
'YLim', [0 1], ...
|
'YLim', [0 1], ...
|
||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SaveFileName', 'PeakOffsetAngularCorrelation.fig', ...
|
'SaveFileName', 'PeakOffsetAngularCorrelation.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures);
|
'SkipSaveFigures', options.skipSaveFigures);
|
||||||
|
|
||||||
%% ------------------ 2. g²(θ) across transition ------------------
|
%% ------------------ 2. g²(θ) across transition ------------------
|
||||||
@ -50,7 +75,7 @@ Plotter.plotG2(compiled_results.full_g2_results.g2_all, ...
|
|||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||||
'SaveFileName', 'G2ThetaAcrossTransition.fig', ...
|
'SaveFileName', 'G2ThetaAcrossTransition.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'Colormap', @Colormaps.coolwarm);
|
'Colormap', @Colormaps.coolwarm);
|
||||||
|
|
||||||
%% ------------------ 3. PDF of max g² across transition ------------------
|
%% ------------------ 3. PDF of max g² across transition ------------------
|
||||||
@ -62,7 +87,7 @@ Plotter.plotPDF(compiled_results.custom_g_results.max_g2_all_per_scan_parameter_
|
|||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||||
'SaveFileName', 'PDF_MaxG2AcrossTransition.fig', ...
|
'SaveFileName', 'PDF_MaxG2AcrossTransition.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'NumPoints', 200, ...
|
'NumPoints', 200, ...
|
||||||
'DataRange', [0 1.5], ...
|
'DataRange', [0 1.5], ...
|
||||||
'Colormap', @Colormaps.coolwarm, ...
|
'Colormap', @Colormaps.coolwarm, ...
|
||||||
@ -80,7 +105,7 @@ Plotter.plotCumulants(options.scan_reference_values, ...
|
|||||||
'LineWidth', 1.5, ...
|
'LineWidth', 1.5, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||||
'SaveFileName', 'CumulantOfPeakOffsetAngularCorrelation.fig', ...
|
'SaveFileName', 'CumulantOfPeakOffsetAngularCorrelation.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results']);
|
'SaveDirectory', figSaveDir);
|
||||||
%{
|
%{
|
||||||
|
|
||||||
%% ------------------ 6. Average of Spectra Plots ------------------
|
%% ------------------ 6. Average of Spectra Plots ------------------
|
||||||
@ -92,7 +117,7 @@ Plotter.plotAverageSpectra(scan_parameter_values, ...
|
|||||||
'ColormapPS', Colormaps.coolwarm(), ...
|
'ColormapPS', Colormaps.coolwarm(), ...
|
||||||
'Font', 'Bahnschrift', ...
|
'Font', 'Bahnschrift', ...
|
||||||
'SaveFileName', 'avgSpectra.fig', ...
|
'SaveFileName', 'avgSpectra.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures);
|
'SkipSaveFigures', options.skipSaveFigures);
|
||||||
|
|
||||||
%% ------------------ 7. Compare quantities ------------------
|
%% ------------------ 7. Compare quantities ------------------
|
||||||
@ -132,7 +157,7 @@ compareMultipleDatasets(scanValsCell, meanValsCell, stderrValsCell, ...
|
|||||||
'XLabel', 'B (G)', ...
|
'XLabel', 'B (G)', ...
|
||||||
'YLabel', '$\mathrm{max}[g^{(2)}_{[50,70]}(\delta\theta)]$', ...
|
'YLabel', '$\mathrm{max}[g^{(2)}_{[50,70]}(\delta\theta)]$', ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'SaveFileName', 'AngularCorrelation_Comparison.fig');
|
'SaveFileName', 'AngularCorrelation_Comparison.fig');
|
||||||
|
|
||||||
%% ------------------ 8. Heatmaps ------------------
|
%% ------------------ 8. Heatmaps ------------------
|
||||||
|
@ -1,6 +1,31 @@
|
|||||||
idx = 1;
|
% --- User chooses which dataset to load ---
|
||||||
compiled_results = results_all{idx}.results;
|
datasetIdx = 1; % <-- change this to 1, 2, 3, ...
|
||||||
options.skipSaveFigures = false;
|
datasetName = sprintf('Dataset_%d', datasetIdx);
|
||||||
|
|
||||||
|
% Detect the folder where this script is located and set that as the Base Directory
|
||||||
|
thisScriptPath = mfilename('fullpath');
|
||||||
|
[thisScriptDir, ~, ~] = fileparts(thisScriptPath);
|
||||||
|
baseDir = thisScriptDir; % override if needed
|
||||||
|
|
||||||
|
% Build path to dataset file
|
||||||
|
dataFile = fullfile(baseDir, "Results", "SavedData", datasetName + ".mat");
|
||||||
|
data = load(dataFile);
|
||||||
|
|
||||||
|
% Access dataset struct dynamically
|
||||||
|
datasetStruct = data.(datasetName);
|
||||||
|
compiled_results = datasetStruct.results;
|
||||||
|
scan_parameter_values = datasetStruct.scan_parameter_values;
|
||||||
|
|
||||||
|
% Load the original options used during analysis
|
||||||
|
options = datasetStruct.options; % exact options used for this dataset
|
||||||
|
options.font = 'Bahnscrift'; % override if needed
|
||||||
|
options.skipSaveFigures = false; % override if needed
|
||||||
|
|
||||||
|
%% ------------------ Create dataset-specific figure folder ------------------
|
||||||
|
figSaveDir = fullfile(baseDir,'Results', 'SavedFigures', datasetName);
|
||||||
|
if ~exist(figSaveDir, 'dir')
|
||||||
|
mkdir(figSaveDir);
|
||||||
|
end
|
||||||
|
|
||||||
%% ------------------ 1. Mean ± Std Plots ------------------
|
%% ------------------ 1. Mean ± Std Plots ------------------
|
||||||
% Plot Radial Spectral Contrast
|
% Plot Radial Spectral Contrast
|
||||||
@ -11,7 +36,7 @@ Plotter.plotMeanWithSE(scan_parameter_values, compiled_results.spectral_analysis
|
|||||||
'FigNum', 1, ...
|
'FigNum', 1, ...
|
||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SaveFileName', 'RadialSpectralContrast.fig', ...
|
'SaveFileName', 'RadialSpectralContrast.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ... % save figures inside dataset-specific folder
|
||||||
'SkipSaveFigures', options.skipSaveFigures);
|
'SkipSaveFigures', options.skipSaveFigures);
|
||||||
|
|
||||||
% Plot Angular Spectral Weight
|
% Plot Angular Spectral Weight
|
||||||
@ -22,7 +47,7 @@ Plotter.plotMeanWithSE(scan_parameter_values, compiled_results.spectral_analysis
|
|||||||
'FigNum', 2, ...
|
'FigNum', 2, ...
|
||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SaveFileName', 'AngularSpectralWeight.fig', ...
|
'SaveFileName', 'AngularSpectralWeight.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures);
|
'SkipSaveFigures', options.skipSaveFigures);
|
||||||
|
|
||||||
% Plot Peak Offset Angular Correlation
|
% Plot Peak Offset Angular Correlation
|
||||||
@ -34,7 +59,7 @@ Plotter.plotMeanWithSE(options.scan_reference_values, compiled_results.custom_g_
|
|||||||
'YLim', [0 1], ...
|
'YLim', [0 1], ...
|
||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SaveFileName', 'PeakOffsetAngularCorrelation.fig', ...
|
'SaveFileName', 'PeakOffsetAngularCorrelation.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures);
|
'SkipSaveFigures', options.skipSaveFigures);
|
||||||
|
|
||||||
%% ------------------ 2. g²(θ) across transition ------------------
|
%% ------------------ 2. g²(θ) across transition ------------------
|
||||||
@ -50,7 +75,7 @@ Plotter.plotG2(compiled_results.full_g2_results.g2_all, ...
|
|||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||||
'SaveFileName', 'G2ThetaAcrossTransition.fig', ...
|
'SaveFileName', 'G2ThetaAcrossTransition.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'Colormap', @Colormaps.coolwarm);
|
'Colormap', @Colormaps.coolwarm);
|
||||||
|
|
||||||
%% ------------------ 3. PDF of max g² across transition ------------------
|
%% ------------------ 3. PDF of max g² across transition ------------------
|
||||||
@ -62,7 +87,7 @@ Plotter.plotPDF(compiled_results.custom_g_results.max_g2_all_per_scan_parameter_
|
|||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||||
'SaveFileName', 'PDF_MaxG2AcrossTransition.fig', ...
|
'SaveFileName', 'PDF_MaxG2AcrossTransition.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'NumPoints', 200, ...
|
'NumPoints', 200, ...
|
||||||
'DataRange', [0 1.5], ...
|
'DataRange', [0 1.5], ...
|
||||||
'Colormap', @Colormaps.coolwarm, ...
|
'Colormap', @Colormaps.coolwarm, ...
|
||||||
@ -80,7 +105,7 @@ Plotter.plotCumulants(options.scan_reference_values, ...
|
|||||||
'LineWidth', 1.5, ...
|
'LineWidth', 1.5, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||||
'SaveFileName', 'CumulantOfPeakOffsetAngularCorrelation.fig', ...
|
'SaveFileName', 'CumulantOfPeakOffsetAngularCorrelation.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results']);
|
'SaveDirectory', figSaveDir);
|
||||||
%{
|
%{
|
||||||
|
|
||||||
%% ------------------ 6. Average of Spectra Plots ------------------
|
%% ------------------ 6. Average of Spectra Plots ------------------
|
||||||
@ -92,7 +117,7 @@ Plotter.plotAverageSpectra(scan_parameter_values, ...
|
|||||||
'ColormapPS', Colormaps.coolwarm(), ...
|
'ColormapPS', Colormaps.coolwarm(), ...
|
||||||
'Font', 'Bahnschrift', ...
|
'Font', 'Bahnschrift', ...
|
||||||
'SaveFileName', 'avgSpectra.fig', ...
|
'SaveFileName', 'avgSpectra.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures);
|
'SkipSaveFigures', options.skipSaveFigures);
|
||||||
|
|
||||||
%% ------------------ 7. Compare quantities ------------------
|
%% ------------------ 7. Compare quantities ------------------
|
||||||
@ -132,7 +157,7 @@ compareMultipleDatasets(scanValsCell, meanValsCell, stderrValsCell, ...
|
|||||||
'XLabel', 'B (G)', ...
|
'XLabel', 'B (G)', ...
|
||||||
'YLabel', '$\mathrm{max}[g^{(2)}_{[50,70]}(\delta\theta)]$', ...
|
'YLabel', '$\mathrm{max}[g^{(2)}_{[50,70]}(\delta\theta)]$', ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'SaveFileName', 'AngularCorrelation_Comparison.fig');
|
'SaveFileName', 'AngularCorrelation_Comparison.fig');
|
||||||
|
|
||||||
%% ------------------ 8. Heatmaps ------------------
|
%% ------------------ 8. Heatmaps ------------------
|
||||||
|
@ -68,6 +68,8 @@ options.skipMasking = true;
|
|||||||
options.skipIntensityThresholding = true;
|
options.skipIntensityThresholding = true;
|
||||||
options.skipBinarization = true;
|
options.skipBinarization = true;
|
||||||
options.skipSaveFigures = true;
|
options.skipSaveFigures = true;
|
||||||
|
options.skipSaveData = false;
|
||||||
|
options.skipSaveOD = true;
|
||||||
options.skipLivePlot = false;
|
options.skipLivePlot = false;
|
||||||
options.showProgressBar = true;
|
options.showProgressBar = true;
|
||||||
|
|
||||||
|
@ -1,6 +1,31 @@
|
|||||||
idx = 1;
|
% --- User chooses which dataset to load ---
|
||||||
compiled_results = results_all{idx}.results;
|
datasetIdx = 1; % <-- change this to 1, 2, 3, ...
|
||||||
options.skipSaveFigures = false;
|
datasetName = sprintf('Dataset_%d', datasetIdx);
|
||||||
|
|
||||||
|
% Detect the folder where this script is located and set that as the Base Directory
|
||||||
|
thisScriptPath = mfilename('fullpath');
|
||||||
|
[thisScriptDir, ~, ~] = fileparts(thisScriptPath);
|
||||||
|
baseDir = thisScriptDir; % override if needed
|
||||||
|
|
||||||
|
% Build path to dataset file
|
||||||
|
dataFile = fullfile(baseDir, "Results", "SavedData", datasetName + ".mat");
|
||||||
|
data = load(dataFile);
|
||||||
|
|
||||||
|
% Access dataset struct dynamically
|
||||||
|
datasetStruct = data.(datasetName);
|
||||||
|
compiled_results = datasetStruct.results;
|
||||||
|
scan_parameter_values = datasetStruct.scan_parameter_values;
|
||||||
|
|
||||||
|
% Load the original options used during analysis
|
||||||
|
options = datasetStruct.options; % exact options used for this dataset
|
||||||
|
options.font = 'Bahnscrift'; % override if needed
|
||||||
|
options.skipSaveFigures = false; % override if needed
|
||||||
|
|
||||||
|
%% ------------------ Create dataset-specific figure folder ------------------
|
||||||
|
figSaveDir = fullfile(baseDir,'Results', 'SavedFigures', datasetName);
|
||||||
|
if ~exist(figSaveDir, 'dir')
|
||||||
|
mkdir(figSaveDir);
|
||||||
|
end
|
||||||
|
|
||||||
%% ------------------ 1. Mean ± Std Plots ------------------
|
%% ------------------ 1. Mean ± Std Plots ------------------
|
||||||
% Plot Radial Spectral Contrast
|
% Plot Radial Spectral Contrast
|
||||||
@ -11,7 +36,7 @@ Plotter.plotMeanWithSE(scan_parameter_values, compiled_results.spectral_analysis
|
|||||||
'FigNum', 1, ...
|
'FigNum', 1, ...
|
||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SaveFileName', 'RadialSpectralContrast.fig', ...
|
'SaveFileName', 'RadialSpectralContrast.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ... % save figures inside dataset-specific folder
|
||||||
'SkipSaveFigures', options.skipSaveFigures);
|
'SkipSaveFigures', options.skipSaveFigures);
|
||||||
|
|
||||||
% Plot Angular Spectral Weight
|
% Plot Angular Spectral Weight
|
||||||
@ -22,7 +47,7 @@ Plotter.plotMeanWithSE(scan_parameter_values, compiled_results.spectral_analysis
|
|||||||
'FigNum', 2, ...
|
'FigNum', 2, ...
|
||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SaveFileName', 'AngularSpectralWeight.fig', ...
|
'SaveFileName', 'AngularSpectralWeight.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures);
|
'SkipSaveFigures', options.skipSaveFigures);
|
||||||
|
|
||||||
% Plot Peak Offset Angular Correlation
|
% Plot Peak Offset Angular Correlation
|
||||||
@ -34,7 +59,7 @@ Plotter.plotMeanWithSE(options.scan_reference_values, compiled_results.custom_g_
|
|||||||
'YLim', [0 1], ...
|
'YLim', [0 1], ...
|
||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SaveFileName', 'PeakOffsetAngularCorrelation.fig', ...
|
'SaveFileName', 'PeakOffsetAngularCorrelation.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures);
|
'SkipSaveFigures', options.skipSaveFigures);
|
||||||
|
|
||||||
%% ------------------ 2. g²(θ) across transition ------------------
|
%% ------------------ 2. g²(θ) across transition ------------------
|
||||||
@ -50,7 +75,7 @@ Plotter.plotG2(compiled_results.full_g2_results.g2_all, ...
|
|||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||||
'SaveFileName', 'G2ThetaAcrossTransition.fig', ...
|
'SaveFileName', 'G2ThetaAcrossTransition.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'Colormap', @Colormaps.coolwarm);
|
'Colormap', @Colormaps.coolwarm);
|
||||||
|
|
||||||
%% ------------------ 3. PDF of max g² across transition ------------------
|
%% ------------------ 3. PDF of max g² across transition ------------------
|
||||||
@ -62,7 +87,7 @@ Plotter.plotPDF(compiled_results.custom_g_results.max_g2_all_per_scan_parameter_
|
|||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||||
'SaveFileName', 'PDF_MaxG2AcrossTransition.fig', ...
|
'SaveFileName', 'PDF_MaxG2AcrossTransition.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'NumPoints', 200, ...
|
'NumPoints', 200, ...
|
||||||
'DataRange', [0 1.5], ...
|
'DataRange', [0 1.5], ...
|
||||||
'Colormap', @Colormaps.coolwarm, ...
|
'Colormap', @Colormaps.coolwarm, ...
|
||||||
@ -80,7 +105,7 @@ Plotter.plotCumulants(options.scan_reference_values, ...
|
|||||||
'LineWidth', 1.5, ...
|
'LineWidth', 1.5, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||||
'SaveFileName', 'CumulantOfPeakOffsetAngularCorrelation.fig', ...
|
'SaveFileName', 'CumulantOfPeakOffsetAngularCorrelation.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results']);
|
'SaveDirectory', figSaveDir);
|
||||||
%{
|
%{
|
||||||
|
|
||||||
%% ------------------ 6. Average of Spectra Plots ------------------
|
%% ------------------ 6. Average of Spectra Plots ------------------
|
||||||
@ -92,7 +117,7 @@ Plotter.plotAverageSpectra(scan_parameter_values, ...
|
|||||||
'ColormapPS', Colormaps.coolwarm(), ...
|
'ColormapPS', Colormaps.coolwarm(), ...
|
||||||
'Font', 'Bahnschrift', ...
|
'Font', 'Bahnschrift', ...
|
||||||
'SaveFileName', 'avgSpectra.fig', ...
|
'SaveFileName', 'avgSpectra.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures);
|
'SkipSaveFigures', options.skipSaveFigures);
|
||||||
|
|
||||||
%% ------------------ 7. Compare quantities ------------------
|
%% ------------------ 7. Compare quantities ------------------
|
||||||
@ -132,7 +157,7 @@ compareMultipleDatasets(scanValsCell, meanValsCell, stderrValsCell, ...
|
|||||||
'XLabel', 'B (G)', ...
|
'XLabel', 'B (G)', ...
|
||||||
'YLabel', '$\mathrm{max}[g^{(2)}_{[50,70]}(\delta\theta)]$', ...
|
'YLabel', '$\mathrm{max}[g^{(2)}_{[50,70]}(\delta\theta)]$', ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'SaveFileName', 'AngularCorrelation_Comparison.fig');
|
'SaveFileName', 'AngularCorrelation_Comparison.fig');
|
||||||
|
|
||||||
%% ------------------ 8. Heatmaps ------------------
|
%% ------------------ 8. Heatmaps ------------------
|
||||||
|
@ -67,8 +67,8 @@ options.skipPreprocessing = true;
|
|||||||
options.skipMasking = true;
|
options.skipMasking = true;
|
||||||
options.skipIntensityThresholding = true;
|
options.skipIntensityThresholding = true;
|
||||||
options.skipBinarization = true;
|
options.skipBinarization = true;
|
||||||
options.skipMovieRender = true;
|
|
||||||
options.skipSaveFigures = true;
|
options.skipSaveFigures = true;
|
||||||
|
options.skipSaveData = false;
|
||||||
options.skipSaveOD = true;
|
options.skipSaveOD = true;
|
||||||
options.skipLivePlot = false;
|
options.skipLivePlot = false;
|
||||||
options.showProgressBar = true;
|
options.showProgressBar = true;
|
||||||
|
@ -1,6 +1,31 @@
|
|||||||
idx = 1;
|
% --- User chooses which dataset to load ---
|
||||||
compiled_results = results_all{idx}.results;
|
datasetIdx = 1; % <-- change this to 1, 2, 3, ...
|
||||||
options.skipSaveFigures = false;
|
datasetName = sprintf('Dataset_%d', datasetIdx);
|
||||||
|
|
||||||
|
% Detect the folder where this script is located and set that as the Base Directory
|
||||||
|
thisScriptPath = mfilename('fullpath');
|
||||||
|
[thisScriptDir, ~, ~] = fileparts(thisScriptPath);
|
||||||
|
baseDir = thisScriptDir; % override if needed
|
||||||
|
|
||||||
|
% Build path to dataset file
|
||||||
|
dataFile = fullfile(baseDir, "Results", "SavedData", datasetName + ".mat");
|
||||||
|
data = load(dataFile);
|
||||||
|
|
||||||
|
% Access dataset struct dynamically
|
||||||
|
datasetStruct = data.(datasetName);
|
||||||
|
compiled_results = datasetStruct.results;
|
||||||
|
scan_parameter_values = datasetStruct.scan_parameter_values;
|
||||||
|
|
||||||
|
% Load the original options used during analysis
|
||||||
|
options = datasetStruct.options; % exact options used for this dataset
|
||||||
|
options.font = 'Bahnscrift'; % override if needed
|
||||||
|
options.skipSaveFigures = false; % override if needed
|
||||||
|
|
||||||
|
%% ------------------ Create dataset-specific figure folder ------------------
|
||||||
|
figSaveDir = fullfile(baseDir,'Results', 'SavedFigures', datasetName);
|
||||||
|
if ~exist(figSaveDir, 'dir')
|
||||||
|
mkdir(figSaveDir);
|
||||||
|
end
|
||||||
|
|
||||||
%% ------------------ 1. Mean ± Std Plots ------------------
|
%% ------------------ 1. Mean ± Std Plots ------------------
|
||||||
% Plot Radial Spectral Contrast
|
% Plot Radial Spectral Contrast
|
||||||
@ -11,7 +36,7 @@ Plotter.plotMeanWithSE(scan_parameter_values, compiled_results.spectral_analysis
|
|||||||
'FigNum', 1, ...
|
'FigNum', 1, ...
|
||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SaveFileName', 'RadialSpectralContrast.fig', ...
|
'SaveFileName', 'RadialSpectralContrast.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ... % save figures inside dataset-specific folder
|
||||||
'SkipSaveFigures', options.skipSaveFigures);
|
'SkipSaveFigures', options.skipSaveFigures);
|
||||||
|
|
||||||
% Plot Angular Spectral Weight
|
% Plot Angular Spectral Weight
|
||||||
@ -22,7 +47,7 @@ Plotter.plotMeanWithSE(scan_parameter_values, compiled_results.spectral_analysis
|
|||||||
'FigNum', 2, ...
|
'FigNum', 2, ...
|
||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SaveFileName', 'AngularSpectralWeight.fig', ...
|
'SaveFileName', 'AngularSpectralWeight.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures);
|
'SkipSaveFigures', options.skipSaveFigures);
|
||||||
|
|
||||||
% Plot Peak Offset Angular Correlation
|
% Plot Peak Offset Angular Correlation
|
||||||
@ -34,7 +59,7 @@ Plotter.plotMeanWithSE(options.scan_reference_values, compiled_results.custom_g_
|
|||||||
'YLim', [0 1], ...
|
'YLim', [0 1], ...
|
||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SaveFileName', 'PeakOffsetAngularCorrelation.fig', ...
|
'SaveFileName', 'PeakOffsetAngularCorrelation.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures);
|
'SkipSaveFigures', options.skipSaveFigures);
|
||||||
|
|
||||||
%% ------------------ 2. g²(θ) across transition ------------------
|
%% ------------------ 2. g²(θ) across transition ------------------
|
||||||
@ -50,7 +75,7 @@ Plotter.plotG2(compiled_results.full_g2_results.g2_all, ...
|
|||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||||
'SaveFileName', 'G2ThetaAcrossTransition.fig', ...
|
'SaveFileName', 'G2ThetaAcrossTransition.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'Colormap', @Colormaps.coolwarm);
|
'Colormap', @Colormaps.coolwarm);
|
||||||
|
|
||||||
%% ------------------ 3. PDF of max g² across transition ------------------
|
%% ------------------ 3. PDF of max g² across transition ------------------
|
||||||
@ -62,7 +87,7 @@ Plotter.plotPDF(compiled_results.custom_g_results.max_g2_all_per_scan_parameter_
|
|||||||
'FontName', options.font, ...
|
'FontName', options.font, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||||
'SaveFileName', 'PDF_MaxG2AcrossTransition.fig', ...
|
'SaveFileName', 'PDF_MaxG2AcrossTransition.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'NumPoints', 200, ...
|
'NumPoints', 200, ...
|
||||||
'DataRange', [0 1.5], ...
|
'DataRange', [0 1.5], ...
|
||||||
'Colormap', @Colormaps.coolwarm, ...
|
'Colormap', @Colormaps.coolwarm, ...
|
||||||
@ -80,7 +105,7 @@ Plotter.plotCumulants(options.scan_reference_values, ...
|
|||||||
'LineWidth', 1.5, ...
|
'LineWidth', 1.5, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||||
'SaveFileName', 'CumulantOfPeakOffsetAngularCorrelation.fig', ...
|
'SaveFileName', 'CumulantOfPeakOffsetAngularCorrelation.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results']);
|
'SaveDirectory', figSaveDir);
|
||||||
%{
|
%{
|
||||||
|
|
||||||
%% ------------------ 6. Average of Spectra Plots ------------------
|
%% ------------------ 6. Average of Spectra Plots ------------------
|
||||||
@ -92,7 +117,7 @@ Plotter.plotAverageSpectra(scan_parameter_values, ...
|
|||||||
'ColormapPS', Colormaps.coolwarm(), ...
|
'ColormapPS', Colormaps.coolwarm(), ...
|
||||||
'Font', 'Bahnschrift', ...
|
'Font', 'Bahnschrift', ...
|
||||||
'SaveFileName', 'avgSpectra.fig', ...
|
'SaveFileName', 'avgSpectra.fig', ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures);
|
'SkipSaveFigures', options.skipSaveFigures);
|
||||||
|
|
||||||
%% ------------------ 7. Compare quantities ------------------
|
%% ------------------ 7. Compare quantities ------------------
|
||||||
@ -132,7 +157,7 @@ compareMultipleDatasets(scanValsCell, meanValsCell, stderrValsCell, ...
|
|||||||
'XLabel', 'B (G)', ...
|
'XLabel', 'B (G)', ...
|
||||||
'YLabel', '$\mathrm{max}[g^{(2)}_{[50,70]}(\delta\theta)]$', ...
|
'YLabel', '$\mathrm{max}[g^{(2)}_{[50,70]}(\delta\theta)]$', ...
|
||||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||||
'SaveDirectory', [options.saveDirectory '/Results'], ...
|
'SaveDirectory', figSaveDir, ...
|
||||||
'SaveFileName', 'AngularCorrelation_Comparison.fig');
|
'SaveFileName', 'AngularCorrelation_Comparison.fig');
|
||||||
|
|
||||||
%% ------------------ 8. Heatmaps ------------------
|
%% ------------------ 8. Heatmaps ------------------
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
% Specify data location to run analysis on
|
% Specify data location to run analysis on
|
||||||
dataSources = {
|
dataSources = {
|
||||||
struct('sequence', 'StructuralPhaseTransition', ...
|
struct('sequence', 'StructuralPhaseTransition', ...
|
||||||
'date', '2025/08/16', ...
|
'date', '2025/08/18', ...
|
||||||
'runs', [8]) % specify run numbers as a string in "" or just as a numeric value
|
'runs', [8]) % specify run numbers as a string in "" or just as a numeric value
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -68,6 +68,8 @@ options.skipMasking = true;
|
|||||||
options.skipIntensityThresholding = true;
|
options.skipIntensityThresholding = true;
|
||||||
options.skipBinarization = true;
|
options.skipBinarization = true;
|
||||||
options.skipSaveFigures = true;
|
options.skipSaveFigures = true;
|
||||||
|
options.skipSaveData = false;
|
||||||
|
options.skipSaveOD = true;
|
||||||
options.skipLivePlot = false;
|
options.skipLivePlot = false;
|
||||||
options.showProgressBar = true;
|
options.showProgressBar = true;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user