Minor adjustments, additions and bugfixes.
This commit is contained in:
parent
a654bc342c
commit
0401dd3f7b
@ -1,6 +1,7 @@
|
||||
function [results, scan_parameter_values, scan_reference_values] = performAnalysis(options)
|
||||
arguments
|
||||
options.scan_parameter (1,:) char
|
||||
options.ignore_scan_parameter {mustBeText} = ''
|
||||
options.scan_reference_values (1,:) double
|
||||
options.cam (1,1) double
|
||||
options.angle (1,1) double
|
||||
|
||||
@ -88,7 +88,7 @@ function results_all = batchAnalyze(dataSources, options)
|
||||
% Load metadata for run info
|
||||
metaFile = fullfile(selectedPath, 'metadata.mat');
|
||||
if ~isfile(metaFile)
|
||||
warning('[WARNING] No metadata.mat in %s, skipping.', selectedPath);
|
||||
warning('No metadata.mat in %s, skipping.', selectedPath);
|
||||
continue;
|
||||
end
|
||||
S = load(metaFile, 'metadata');
|
||||
|
||||
@ -91,7 +91,13 @@ function [full_od_imgs, full_bkg_imgs, raw_scan_parameter_values, raw_file_list,
|
||||
nParams = 1;
|
||||
end
|
||||
else
|
||||
[scan_parameter_names, nParams] = detectScanParametersFromFiles(fullFileNames);
|
||||
[scan_parameter_names_unfiltered, nParams] = detectScanParametersFromFiles(fullFileNames);
|
||||
if isfield(options,'ignore_scan_parameter') && ~isempty(options.ignore_scan_parameter)
|
||||
fprintf('\n[INFO] Ignoring the following scan parameter(s): %s\n', strjoin(options.ignore_scan_parameter, ', '));
|
||||
scan_parameter_names = scan_parameter_names_unfiltered(~ismember(scan_parameter_names_unfiltered, options.ignore_scan_parameter));
|
||||
else
|
||||
scan_parameter_names = scan_parameter_names_unfiltered;
|
||||
end
|
||||
end
|
||||
|
||||
if ~exist('nParams','var')
|
||||
|
||||
@ -227,6 +227,9 @@ Plotter.plotCumulants(scan_reference_values, ...
|
||||
'SaveFileName', 'CumulantOfPeakOffsetAngularCorrelation.fig', ...
|
||||
'SaveDirectory', figSaveDir);
|
||||
|
||||
%%
|
||||
%{
|
||||
|
||||
%% ------------------ 8. PCA ------------------
|
||||
Plotter.plotPCAResults(compiled_results.pca_results, scan_parameter_values, scan_reference_values, ...
|
||||
'FigNumRange', [12,13,14,15,16,17], ...
|
||||
@ -234,10 +237,7 @@ Plotter.plotPCAResults(compiled_results.pca_results, scan_parameter_values, scan
|
||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||
'SaveDirectory', figSaveDir);
|
||||
|
||||
%%
|
||||
%{
|
||||
|
||||
%% ------------------ 6. Average of Spectra Plots ------------------
|
||||
%% ------------------ 9. Average of Spectra Plots ------------------
|
||||
|
||||
Plotter.plotAverageSpectra(scan_parameter_values, ...
|
||||
spectral_analysis_results, ...
|
||||
@ -248,70 +248,4 @@ Plotter.plotAverageSpectra(scan_parameter_values, ...
|
||||
'SaveFileName', 'avgSpectra.fig', ...
|
||||
'SaveDirectory', figSaveDir, ...
|
||||
'SkipSaveFigures', options.skipSaveFigures);
|
||||
|
||||
%% ------------------ 7. Compare quantities ------------------
|
||||
% Load Droplets → Stripes data
|
||||
Data = load(dtsFile, ...
|
||||
'unique_scan_parameter_values', ...
|
||||
'mean_max_g2_values', ...
|
||||
'std_error_g2_values');
|
||||
dts_scan_parameter_values = Data.unique_scan_parameter_values;
|
||||
dts_mean_mg2 = Data.mean_max_g2_values;
|
||||
dts_stderr_mg2 = Data.std_error_g2_values;
|
||||
|
||||
% Load Stripes → Droplets data
|
||||
Data = load(stdFile, ...
|
||||
'unique_scan_parameter_values', ...
|
||||
'mean_max_g2_values', ...
|
||||
'std_error_g2_values');
|
||||
std_scan_parameter_values = Data.unique_scan_parameter_values;
|
||||
std_mean_mg2 = Data.mean_max_g2_values;
|
||||
std_stderr_mg2 = Data.std_error_g2_values;
|
||||
|
||||
% Prepare cell arrays for multiple datasets
|
||||
scanValsCell = {dts_scan_parameter_values, std_scan_parameter_values};
|
||||
meanValsCell = {dts_mean_mg2, std_mean_mg2};
|
||||
stderrValsCell = {dts_stderr_mg2, std_stderr_mg2};
|
||||
|
||||
% Compare datasets
|
||||
compareMultipleDatasets(scanValsCell, meanValsCell, stderrValsCell, ...
|
||||
'FigNum', 8, ...
|
||||
'FontName', 'Bahnschrift', ...
|
||||
'MarkerSize', 6, ...
|
||||
'LineWidth', 1.5, ...
|
||||
'CapSize', 5, ...
|
||||
'YLim', [0 1], ...
|
||||
'Labels', {'Droplets → Stripes', 'Stripes → Droplets'}, ...
|
||||
'Title', 'AngularCorrelation_Comparison', ...
|
||||
'XLabel', 'B (G)', ...
|
||||
'YLabel', '$\mathrm{max}[g^{(2)}_{[50,70]}(\delta\theta)]$', ...
|
||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||
'SaveDirectory', figSaveDir, ...
|
||||
'SaveFileName', 'AngularCorrelation_Comparison.fig');
|
||||
|
||||
%% ------------------ 8. Heatmaps ------------------
|
||||
|
||||
BFields = [2.35, 2.15, 2.0, 1.85, 1.7, 1.55, 1.4, 1.35];
|
||||
|
||||
% Heatmap of mean_max_g2_values
|
||||
Plotter.plotHeatmap(compiled_results, scan_reference_values, BFields, 'mean_max_g2_values', ...
|
||||
'Colormap', @sky, ...
|
||||
'CLim', [0 1], ...
|
||||
'XLabel', '\alpha (degrees)', ...
|
||||
'YLabel', 'BField (G)', ...
|
||||
'Title', '$\mathrm{max}[g^{(2)}_{[50,70]}(\delta\theta)]$', ...
|
||||
'FigNum', 9, ...
|
||||
'SaveFileName', 'Heatmap_MaxG2.fig', ...
|
||||
'SaveDirectory', options.saveDirectory);
|
||||
|
||||
% Heatmap of radial_spectral_contrast
|
||||
Plotter.plotHeatmap(compiled_results, scan_reference_values, BFields, 'radial_spectral_contrast', ...
|
||||
'Colormap', @sky, ...
|
||||
'CLim', [0 0.008], ...
|
||||
'XLabel', '\alpha (degrees)', ...
|
||||
'YLabel', 'BField (G)', ...
|
||||
'Title', 'Radial Spectral Contrast', ...
|
||||
'FigNum', 10, ...
|
||||
'SaveFileName', 'Heatmap_RadialSpectralContrast.fig', ...
|
||||
'SaveDirectory', options.saveDirectory);
|
||||
%}
|
||||
@ -64,12 +64,12 @@ options.font = 'Bahnschrift';
|
||||
switch options.measurementName
|
||||
case 'BECToDroplets'
|
||||
options.scan_parameter = 'rot_mag_field';
|
||||
options.flipSortOrder = true;
|
||||
options.flipSortOrder = false;
|
||||
options.scanParameterUnits = 'gauss';
|
||||
options.titleString = 'BEC to Droplets';
|
||||
case 'BECToStripes'
|
||||
options.scan_parameter = 'rot_mag_field';
|
||||
options.flipSortOrder = true;
|
||||
options.flipSortOrder = false;
|
||||
options.scanParameterUnits = 'gauss';
|
||||
options.titleString = 'BEC to Stripes';
|
||||
case 'DropletsToStripes'
|
||||
@ -79,7 +79,7 @@ switch options.measurementName
|
||||
options.titleString = 'Droplets to Stripes';
|
||||
case 'StripesToDroplets'
|
||||
options.scan_parameter = 'ps_rot_mag_fin_pol_angle';
|
||||
options.flipSortOrder = true;
|
||||
options.flipSortOrder = false;
|
||||
options.scanParameterUnits = 'degrees';
|
||||
options.titleString = 'Stripes to Droplets';
|
||||
end
|
||||
|
||||
@ -157,6 +157,7 @@ Plotter.plotCumulants(scan_reference_values, ...
|
||||
'SaveFileName', 'CumulantOfPeakOffsetAngularCorrelation.fig', ...
|
||||
'SaveDirectory', figSaveDir);
|
||||
|
||||
%%
|
||||
%{
|
||||
|
||||
%% ------------------ 6. PCA ------------------
|
||||
@ -177,70 +178,4 @@ Plotter.plotAverageSpectra(scan_parameter_values, ...
|
||||
'SaveFileName', 'avgSpectra.fig', ...
|
||||
'SaveDirectory', figSaveDir, ...
|
||||
'SkipSaveFigures', options.skipSaveFigures);
|
||||
|
||||
%% ------------------ 8. Compare quantities ------------------
|
||||
% Load Droplets → Stripes data
|
||||
Data = load(dtsFile, ...
|
||||
'unique_scan_parameter_values', ...
|
||||
'mean_max_g2_values', ...
|
||||
'std_error_g2_values');
|
||||
dts_scan_parameter_values = Data.unique_scan_parameter_values;
|
||||
dts_mean_mg2 = Data.mean_max_g2_values;
|
||||
dts_stderr_mg2 = Data.std_error_g2_values;
|
||||
|
||||
% Load Stripes → Droplets data
|
||||
Data = load(stdFile, ...
|
||||
'unique_scan_parameter_values', ...
|
||||
'mean_max_g2_values', ...
|
||||
'std_error_g2_values');
|
||||
std_scan_parameter_values = Data.unique_scan_parameter_values;
|
||||
std_mean_mg2 = Data.mean_max_g2_values;
|
||||
std_stderr_mg2 = Data.std_error_g2_values;
|
||||
|
||||
% Prepare cell arrays for multiple datasets
|
||||
scanValsCell = {dts_scan_parameter_values, std_scan_parameter_values};
|
||||
meanValsCell = {dts_mean_mg2, std_mean_mg2};
|
||||
stderrValsCell = {dts_stderr_mg2, std_stderr_mg2};
|
||||
|
||||
% Compare datasets
|
||||
compareMultipleDatasets(scanValsCell, meanValsCell, stderrValsCell, ...
|
||||
'FigNum', 8, ...
|
||||
'FontName', 'Bahnschrift', ...
|
||||
'MarkerSize', 6, ...
|
||||
'LineWidth', 1.5, ...
|
||||
'CapSize', 5, ...
|
||||
'YLim', [0 1], ...
|
||||
'Labels', {'Droplets → Stripes', 'Stripes → Droplets'}, ...
|
||||
'Title', 'AngularCorrelation_Comparison', ...
|
||||
'XLabel', 'B (G)', ...
|
||||
'YLabel', '$\mathrm{max}[g^{(2)}_{[50,70]}(\delta\theta)]$', ...
|
||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||
'SaveDirectory', figSaveDir, ...
|
||||
'SaveFileName', 'AngularCorrelation_Comparison.fig');
|
||||
|
||||
%% ------------------ 9. Heatmaps ------------------
|
||||
|
||||
BFields = [2.35, 2.15, 2.0, 1.85, 1.7, 1.55, 1.4, 1.35];
|
||||
|
||||
% Heatmap of mean_max_g2_values
|
||||
Plotter.plotHeatmap(compiled_results, scan_reference_values, BFields, 'mean_max_g2_values', ...
|
||||
'Colormap', @sky, ...
|
||||
'CLim', [0 1], ...
|
||||
'XLabel', '\alpha (degrees)', ...
|
||||
'YLabel', 'BField (G)', ...
|
||||
'Title', '$\mathrm{max}[g^{(2)}_{[50,70]}(\delta\theta)]$', ...
|
||||
'FigNum', 9, ...
|
||||
'SaveFileName', 'Heatmap_MaxG2.fig', ...
|
||||
'SaveDirectory', options.saveDirectory);
|
||||
|
||||
% Heatmap of radial_spectral_contrast
|
||||
Plotter.plotHeatmap(compiled_results, scan_reference_values, BFields, 'radial_spectral_contrast', ...
|
||||
'Colormap', @sky, ...
|
||||
'CLim', [0 0.008], ...
|
||||
'XLabel', '\alpha (degrees)', ...
|
||||
'YLabel', 'BField (G)', ...
|
||||
'Title', 'Radial Spectral Contrast', ...
|
||||
'FigNum', 10, ...
|
||||
'SaveFileName', 'Heatmap_RadialSpectralContrast.fig', ...
|
||||
'SaveDirectory', options.saveDirectory);
|
||||
%}
|
||||
@ -144,4 +144,4 @@ Plotter.compareMultipleDatasets(maxG2ValsCell, maxG2MeanCell, maxG2StderrCell, .
|
||||
'YLabel', '$\mathrm{max}[g^{(2)}_{[50,70]}(\delta\theta)]$', ...
|
||||
'SaveDirectory', combinedSaveDir, ...
|
||||
'SaveFileName', 'MaxG2_Combined.fig', ...
|
||||
'SkipSaveFigures', false);
|
||||
'SkipSaveFigures', false);
|
||||
@ -64,12 +64,12 @@ options.font = 'Bahnschrift';
|
||||
switch options.measurementName
|
||||
case 'BECToDroplets'
|
||||
options.scan_parameter = 'rot_mag_field';
|
||||
options.flipSortOrder = true;
|
||||
options.flipSortOrder = false;
|
||||
options.scanParameterUnits = 'gauss';
|
||||
options.titleString = 'BEC to Droplets';
|
||||
case 'BECToStripes'
|
||||
options.scan_parameter = 'rot_mag_field';
|
||||
options.flipSortOrder = true;
|
||||
options.flipSortOrder = false;
|
||||
options.scanParameterUnits = 'gauss';
|
||||
options.titleString = 'BEC to Stripes';
|
||||
case 'DropletsToStripes'
|
||||
@ -79,7 +79,7 @@ switch options.measurementName
|
||||
options.titleString = 'Droplets to Stripes';
|
||||
case 'StripesToDroplets'
|
||||
options.scan_parameter = 'ps_rot_mag_fin_pol_angle';
|
||||
options.flipSortOrder = true;
|
||||
options.flipSortOrder = false;
|
||||
options.scanParameterUnits = 'degrees';
|
||||
options.titleString = 'Stripes to Droplets';
|
||||
end
|
||||
|
||||
@ -228,6 +228,9 @@ Plotter.plotCumulants(scan_reference_values, ...
|
||||
'SaveFileName', 'CumulantOfPeakOffsetAngularCorrelation.fig', ...
|
||||
'SaveDirectory', figSaveDir);
|
||||
|
||||
%%
|
||||
%{
|
||||
|
||||
%% ------------------ 8. PCA ------------------
|
||||
Plotter.plotPCAResults(compiled_results.pca_results, scan_parameter_values, scan_reference_values, ...
|
||||
'FigNumRange', [12,13,14,15,16,17], ...
|
||||
@ -235,10 +238,7 @@ Plotter.plotPCAResults(compiled_results.pca_results, scan_parameter_values, scan
|
||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||
'SaveDirectory', figSaveDir);
|
||||
|
||||
%%
|
||||
%{
|
||||
|
||||
%% ------------------ 6. Average of Spectra Plots ------------------
|
||||
%% ------------------ 9. Average of Spectra Plots ------------------
|
||||
|
||||
Plotter.plotAverageSpectra(scan_parameter_values, ...
|
||||
spectral_analysis_results, ...
|
||||
@ -249,70 +249,4 @@ Plotter.plotAverageSpectra(scan_parameter_values, ...
|
||||
'SaveFileName', 'avgSpectra.fig', ...
|
||||
'SaveDirectory', figSaveDir, ...
|
||||
'SkipSaveFigures', options.skipSaveFigures);
|
||||
|
||||
%% ------------------ 7. Compare quantities ------------------
|
||||
% Load Droplets → Stripes data
|
||||
Data = load(dtsFile, ...
|
||||
'unique_scan_parameter_values', ...
|
||||
'mean_max_g2_values', ...
|
||||
'std_error_g2_values');
|
||||
dts_scan_parameter_values = Data.unique_scan_parameter_values;
|
||||
dts_mean_mg2 = Data.mean_max_g2_values;
|
||||
dts_stderr_mg2 = Data.std_error_g2_values;
|
||||
|
||||
% Load Stripes → Droplets data
|
||||
Data = load(stdFile, ...
|
||||
'unique_scan_parameter_values', ...
|
||||
'mean_max_g2_values', ...
|
||||
'std_error_g2_values');
|
||||
std_scan_parameter_values = Data.unique_scan_parameter_values;
|
||||
std_mean_mg2 = Data.mean_max_g2_values;
|
||||
std_stderr_mg2 = Data.std_error_g2_values;
|
||||
|
||||
% Prepare cell arrays for multiple datasets
|
||||
scanValsCell = {dts_scan_parameter_values, std_scan_parameter_values};
|
||||
meanValsCell = {dts_mean_mg2, std_mean_mg2};
|
||||
stderrValsCell = {dts_stderr_mg2, std_stderr_mg2};
|
||||
|
||||
% Compare datasets
|
||||
compareMultipleDatasets(scanValsCell, meanValsCell, stderrValsCell, ...
|
||||
'FigNum', 8, ...
|
||||
'FontName', 'Bahnschrift', ...
|
||||
'MarkerSize', 6, ...
|
||||
'LineWidth', 1.5, ...
|
||||
'CapSize', 5, ...
|
||||
'YLim', [0 1], ...
|
||||
'Labels', {'Droplets → Stripes', 'Stripes → Droplets'}, ...
|
||||
'Title', 'AngularCorrelation_Comparison', ...
|
||||
'XLabel', 'B (G)', ...
|
||||
'YLabel', '$\mathrm{max}[g^{(2)}_{[50,70]}(\delta\theta)]$', ...
|
||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||
'SaveDirectory', figSaveDir, ...
|
||||
'SaveFileName', 'AngularCorrelation_Comparison.fig');
|
||||
|
||||
%% ------------------ 8. Heatmaps ------------------
|
||||
|
||||
BFields = [2.35, 2.15, 2.0, 1.85, 1.7, 1.55, 1.4, 1.35];
|
||||
|
||||
% Heatmap of mean_max_g2_values
|
||||
Plotter.plotHeatmap(compiled_results, scan_reference_values, BFields, 'mean_max_g2_values', ...
|
||||
'Colormap', @sky, ...
|
||||
'CLim', [0 1], ...
|
||||
'XLabel', '\alpha (degrees)', ...
|
||||
'YLabel', 'BField (G)', ...
|
||||
'Title', '$\mathrm{max}[g^{(2)}_{[50,70]}(\delta\theta)]$', ...
|
||||
'FigNum', 9, ...
|
||||
'SaveFileName', 'Heatmap_MaxG2.fig', ...
|
||||
'SaveDirectory', options.saveDirectory);
|
||||
|
||||
% Heatmap of radial_spectral_contrast
|
||||
Plotter.plotHeatmap(compiled_results, scan_reference_values, BFields, 'radial_spectral_contrast', ...
|
||||
'Colormap', @sky, ...
|
||||
'CLim', [0 0.008], ...
|
||||
'XLabel', '\alpha (degrees)', ...
|
||||
'YLabel', 'BField (G)', ...
|
||||
'Title', 'Radial Spectral Contrast', ...
|
||||
'FigNum', 10, ...
|
||||
'SaveFileName', 'Heatmap_RadialSpectralContrast.fig', ...
|
||||
'SaveDirectory', options.saveDirectory);
|
||||
%}
|
||||
@ -64,12 +64,12 @@ options.font = 'Bahnschrift';
|
||||
switch options.measurementName
|
||||
case 'BECToDroplets'
|
||||
options.scan_parameter = 'rot_mag_field';
|
||||
options.flipSortOrder = true;
|
||||
options.flipSortOrder = false;
|
||||
options.scanParameterUnits = 'gauss';
|
||||
options.titleString = 'BEC to Droplets';
|
||||
case 'BECToStripes'
|
||||
options.scan_parameter = 'rot_mag_field';
|
||||
options.flipSortOrder = true;
|
||||
options.flipSortOrder = false;
|
||||
options.scanParameterUnits = 'gauss';
|
||||
options.titleString = 'BEC to Stripes';
|
||||
case 'DropletsToStripes'
|
||||
@ -79,7 +79,7 @@ switch options.measurementName
|
||||
options.titleString = 'Droplets to Stripes';
|
||||
case 'StripesToDroplets'
|
||||
options.scan_parameter = 'ps_rot_mag_fin_pol_angle';
|
||||
options.flipSortOrder = true;
|
||||
options.flipSortOrder = false;
|
||||
options.scanParameterUnits = 'degrees';
|
||||
options.titleString = 'Stripes to Droplets';
|
||||
end
|
||||
|
||||
@ -177,70 +177,4 @@ Plotter.plotAverageSpectra(scan_parameter_values, ...
|
||||
'SaveFileName', 'avgSpectra.fig', ...
|
||||
'SaveDirectory', figSaveDir, ...
|
||||
'SkipSaveFigures', options.skipSaveFigures);
|
||||
|
||||
%% ------------------ 8. Compare quantities ------------------
|
||||
% Load Droplets → Stripes data
|
||||
Data = load(dtsFile, ...
|
||||
'unique_scan_parameter_values', ...
|
||||
'mean_max_g2_values', ...
|
||||
'std_error_g2_values');
|
||||
dts_scan_parameter_values = Data.unique_scan_parameter_values;
|
||||
dts_mean_mg2 = Data.mean_max_g2_values;
|
||||
dts_stderr_mg2 = Data.std_error_g2_values;
|
||||
|
||||
% Load Stripes → Droplets data
|
||||
Data = load(stdFile, ...
|
||||
'unique_scan_parameter_values', ...
|
||||
'mean_max_g2_values', ...
|
||||
'std_error_g2_values');
|
||||
std_scan_parameter_values = Data.unique_scan_parameter_values;
|
||||
std_mean_mg2 = Data.mean_max_g2_values;
|
||||
std_stderr_mg2 = Data.std_error_g2_values;
|
||||
|
||||
% Prepare cell arrays for multiple datasets
|
||||
scanValsCell = {dts_scan_parameter_values, std_scan_parameter_values};
|
||||
meanValsCell = {dts_mean_mg2, std_mean_mg2};
|
||||
stderrValsCell = {dts_stderr_mg2, std_stderr_mg2};
|
||||
|
||||
% Compare datasets
|
||||
compareMultipleDatasets(scanValsCell, meanValsCell, stderrValsCell, ...
|
||||
'FigNum', 8, ...
|
||||
'FontName', 'Bahnschrift', ...
|
||||
'MarkerSize', 6, ...
|
||||
'LineWidth', 1.5, ...
|
||||
'CapSize', 5, ...
|
||||
'YLim', [0 1], ...
|
||||
'Labels', {'Droplets → Stripes', 'Stripes → Droplets'}, ...
|
||||
'Title', 'AngularCorrelation_Comparison', ...
|
||||
'XLabel', 'B (G)', ...
|
||||
'YLabel', '$\mathrm{max}[g^{(2)}_{[50,70]}(\delta\theta)]$', ...
|
||||
'SkipSaveFigures', options.skipSaveFigures, ...
|
||||
'SaveDirectory', figSaveDir, ...
|
||||
'SaveFileName', 'AngularCorrelation_Comparison.fig');
|
||||
|
||||
%% ------------------ 9. Heatmaps ------------------
|
||||
|
||||
BFields = [2.35, 2.15, 2.0, 1.85, 1.7, 1.55, 1.4, 1.35];
|
||||
|
||||
% Heatmap of mean_max_g2_values
|
||||
Plotter.plotHeatmap(compiled_results, scan_reference_values, BFields, 'mean_max_g2_values', ...
|
||||
'Colormap', @sky, ...
|
||||
'CLim', [0 1], ...
|
||||
'XLabel', '\alpha (degrees)', ...
|
||||
'YLabel', 'BField (G)', ...
|
||||
'Title', '$\mathrm{max}[g^{(2)}_{[50,70]}(\delta\theta)]$', ...
|
||||
'FigNum', 9, ...
|
||||
'SaveFileName', 'Heatmap_MaxG2.fig', ...
|
||||
'SaveDirectory', options.saveDirectory);
|
||||
|
||||
% Heatmap of radial_spectral_contrast
|
||||
Plotter.plotHeatmap(compiled_results, scan_reference_values, BFields, 'radial_spectral_contrast', ...
|
||||
'Colormap', @sky, ...
|
||||
'CLim', [0 0.008], ...
|
||||
'XLabel', '\alpha (degrees)', ...
|
||||
'YLabel', 'BField (G)', ...
|
||||
'Title', 'Radial Spectral Contrast', ...
|
||||
'FigNum', 10, ...
|
||||
'SaveFileName', 'Heatmap_RadialSpectralContrast.fig', ...
|
||||
'SaveDirectory', options.saveDirectory);
|
||||
%}
|
||||
@ -64,12 +64,12 @@ options.font = 'Bahnschrift';
|
||||
switch options.measurementName
|
||||
case 'BECToDroplets'
|
||||
options.scan_parameter = 'rot_mag_field';
|
||||
options.flipSortOrder = true;
|
||||
options.flipSortOrder = false;
|
||||
options.scanParameterUnits = 'gauss';
|
||||
options.titleString = 'BEC to Droplets';
|
||||
case 'BECToStripes'
|
||||
options.scan_parameter = 'rot_mag_field';
|
||||
options.flipSortOrder = true;
|
||||
options.flipSortOrder = false;
|
||||
options.scanParameterUnits = 'gauss';
|
||||
options.titleString = 'BEC to Stripes';
|
||||
case 'DropletsToStripes'
|
||||
@ -79,7 +79,7 @@ switch options.measurementName
|
||||
options.titleString = 'Droplets to Stripes';
|
||||
case 'StripesToDroplets'
|
||||
options.scan_parameter = 'ps_rot_mag_fin_pol_angle';
|
||||
options.flipSortOrder = true;
|
||||
options.flipSortOrder = false;
|
||||
options.scanParameterUnits = 'degrees';
|
||||
options.titleString = 'Stripes to Droplets';
|
||||
end
|
||||
|
||||
78
Data-Analyzer/+Scripts/PhaseDiagram/constructPhaseDiagram.m
Normal file
78
Data-Analyzer/+Scripts/PhaseDiagram/constructPhaseDiagram.m
Normal file
@ -0,0 +1,78 @@
|
||||
%% ===== BEC-Droplets-Stripes Settings =====
|
||||
|
||||
% Specify data location to run analysis on
|
||||
dataSources = {
|
||||
struct('sequence', 'StructuralPhaseTransition', ...
|
||||
'date', '2025/08/20', ...
|
||||
'runs', [1]) % specify run numbers as a string in "" or just as a numeric value
|
||||
};
|
||||
|
||||
options = struct();
|
||||
|
||||
% File paths
|
||||
options.baseDataFolder = '//DyLabNAS/Data';
|
||||
options.FullODImagesFolder = 'E:/Data - Experiment/FullODImages/202508';
|
||||
options.measurementName = 'DropletsToStripes';
|
||||
scriptFullPath = mfilename('fullpath');
|
||||
options.saveDirectory = fileparts(scriptFullPath);
|
||||
|
||||
% Camera / imaging settings
|
||||
options.cam = 4; % 1 - ODT_1_Axis_Camera; 2 - ODT_2_Axis_Camera; 3 - Horizontal_Axis_Camera;, 4 - Vertical_Axis_Camera;
|
||||
options.angle = 0; % angle by which image will be rotated
|
||||
options.center = [1420, 2050];
|
||||
options.span = [200, 200];
|
||||
options.fraction = [0.1, 0.1];
|
||||
options.pixel_size = 5.86e-6; % in meters
|
||||
options.magnification = 24.6;
|
||||
options.ImagingMode = 'HighIntensity';
|
||||
options.PulseDuration = 5e-6; % in s
|
||||
|
||||
% Fourier analysis settings
|
||||
options.theta_min = deg2rad(0);
|
||||
options.theta_max = deg2rad(180);
|
||||
options.N_radial_bins = 500;
|
||||
options.Radial_Sigma = 2;
|
||||
options.Radial_WindowSize = 5; % odd number
|
||||
|
||||
options.k_min = 1.2771; % μm⁻¹
|
||||
options.k_max = 2.5541; % μm⁻¹
|
||||
options.N_angular_bins = 180;
|
||||
options.Angular_Threshold = 75;
|
||||
options.Angular_Sigma = 2;
|
||||
options.Angular_WindowSize = 5;
|
||||
options.zoom_size = 50;
|
||||
|
||||
% Flags
|
||||
options.skipUnshuffling = false;
|
||||
options.skipNormalization = false;
|
||||
|
||||
options.skipFringeRemoval = true;
|
||||
options.skipPreprocessing = true;
|
||||
options.skipMasking = true;
|
||||
options.skipIntensityThresholding = true;
|
||||
options.skipBinarization = true;
|
||||
|
||||
options.skipFullODImagesFolderUse = true;
|
||||
options.skipSaveData = false;
|
||||
options.skipSaveFigures = true;
|
||||
options.skipSaveProcessedOD = true;
|
||||
options.skipLivePlot = true;
|
||||
options.showProgressBar = true;
|
||||
|
||||
% Extras
|
||||
options.font = 'Bahnschrift';
|
||||
switch options.measurementName
|
||||
case 'DropletsToStripes'
|
||||
options.ignore_scan_parameter = {'ps_rot_mag_field'}; % Parameter to IGNORE from these - rot_mag_field, ps_rot_mag_field, ps_rot_mag_fin_pol_angle
|
||||
options.flipSortOrder = false;
|
||||
options.scanParameterUnits = 'degrees';
|
||||
options.titleString = 'Droplets to Stripes';
|
||||
case 'StripesToDroplets'
|
||||
options.ignore_scan_parameter = {'ps_rot_mag_field'}; % Parameter to IGNORE from these - rot_mag_field, ps_rot_mag_field, ps_rot_mag_fin_pol_angle
|
||||
options.flipSortOrder = false;
|
||||
options.scanParameterUnits = 'degrees';
|
||||
options.titleString = 'Stripes to Droplets';
|
||||
end
|
||||
|
||||
%% ===== Run Batch Analysis =====
|
||||
results_all = Helper.batchAnalyze(dataSources, options);
|
||||
32
Data-Analyzer/+Scripts/PhaseDiagram/plotAnalysisResults.m
Normal file
32
Data-Analyzer/+Scripts/PhaseDiagram/plotAnalysisResults.m
Normal file
@ -0,0 +1,32 @@
|
||||
BFieldRange = [2.45 2.44 2.43 2.42 2.40 2.39 2.38 2.37 2.36 2.35 2.34 2.32 2.30 2.28 2.25 2.20 2.15 2.10 2.05 2.00 1.95 1.90 1.85 1.80];
|
||||
AlphaRange = [180 175 170 168 166 164 162 160 158 156 154 152 150 145 140];
|
||||
|
||||
% Z must be 15x24 to match y-by-x
|
||||
Z = zeros([numel(BFieldRange), numel(AlphaRange)]);... % your data
|
||||
|
||||
[X,Y] = meshgrid(x, y);
|
||||
|
||||
%% ------------------ Plot Heatmaps ------------------
|
||||
|
||||
% Heatmap of radial_spectral_contrast
|
||||
Plotter.plotHeatmap(compiled_results, scan_reference_values, BFields, 'radial_spectral_contrast', ...
|
||||
'Colormap', @sky, ...
|
||||
'CLim', [0 0.008], ...
|
||||
'XLabel', '\alpha (degrees)', ...
|
||||
'YLabel', 'BField (G)', ...
|
||||
'Title', 'Radial Spectral Contrast', ...
|
||||
'FigNum', 10, ...
|
||||
'SaveFileName', 'Heatmap_RadialSpectralContrast.fig', ...
|
||||
'SaveDirectory', options.saveDirectory);
|
||||
|
||||
% Heatmap of mean_max_g2_values
|
||||
Plotter.plotHeatmap(compiled_results, scan_reference_values, BFields, 'mean_max_g2_values', ...
|
||||
'Colormap', @sky, ...
|
||||
'CLim', [0 1], ...
|
||||
'XLabel', '\alpha (degrees)', ...
|
||||
'YLabel', 'BField (G)', ...
|
||||
'Title', '$\mathrm{max}[g^{(2)}_{[50,70]}(\delta\theta)]$', ...
|
||||
'FigNum', 9, ...
|
||||
'SaveFileName', 'Heatmap_MaxG2.fig', ...
|
||||
'SaveDirectory', options.saveDirectory);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user