78 lines
3.1 KiB
Matlab
78 lines
3.1 KiB
Matlab
function results = performAnalysis(options)
|
|
arguments
|
|
options.scan_parameter (1,:) char
|
|
options.scan_reference_values (1,:) double
|
|
options.cam (1,1) double
|
|
options.angle (1,1) double
|
|
options.center (1,2) double
|
|
options.span (1,2) double
|
|
options.fraction (1,2) double
|
|
options.ImagingMode (1,:) char
|
|
options.PulseDuration (1,1) double
|
|
options.removeFringes (1,1) logical
|
|
options.skipUnshuffling (1,1) logical
|
|
options.pixel_size (1,1) double
|
|
options.magnification (1,1) double
|
|
options.zoom_size (1,1) double
|
|
options.N_angular_bins (1,1) double
|
|
options.Angular_Threshold (1,1) double
|
|
options.Angular_Sigma (1,1) double
|
|
options.Angular_WindowSize (1,1) double
|
|
options.theta_min (1,1) double
|
|
options.theta_max (1,1) double
|
|
options.N_radial_bins (1,1) double
|
|
options.Radial_Sigma (1,1) double
|
|
options.Radial_WindowSize (1,1) double
|
|
options.k_min (1,1) double
|
|
options.k_max (1,1) double
|
|
options.skipPreprocessing (1,1) logical
|
|
options.skipMasking (1,1) logical
|
|
options.skipIntensityThresholding (1,1) logical
|
|
options.skipBinarization (1,1) logical
|
|
options.skipNormalization (1,1) logical
|
|
options.skipLivePlot (1,1) logical
|
|
options.skipMovieRender (1,1) logical
|
|
options.skipSaveFigures (1,1) logical
|
|
options.skipSaveOD (1,1) logical
|
|
options.showProgressBar (1,1) logical
|
|
options.savefileName (1,:) char
|
|
options.folderPath (1,:) char
|
|
options.baseDataFolder (1,:) char
|
|
options.saveDirectory (1,:) char
|
|
options.titleString (1,:) char
|
|
options.font (1,:) char
|
|
|
|
end
|
|
|
|
% Collect OD images
|
|
[od_imgs, scan_parameter_values, ~] = Helper.collectODImages(options);
|
|
|
|
% Conduct spectral analysis
|
|
fprintf('\nInitiating spectral analysis...\n');
|
|
|
|
spectral_analysis_results = Analyzer.conductSpectralAnalysis(od_imgs, scan_parameter_values, options);
|
|
|
|
N_shots = length(od_imgs);
|
|
|
|
% Extract angular correlations
|
|
full_g2_results = Analyzer.extractAutocorrelation(...
|
|
spectral_analysis_results.theta_vals, ...
|
|
spectral_analysis_results.angular_spectral_distribution, ...
|
|
scan_parameter_values, N_shots, options.N_angular_bins);
|
|
|
|
custom_g_results = Analyzer.extractCustomCorrelation(...
|
|
spectral_analysis_results.angular_spectral_distribution, ...
|
|
scan_parameter_values, N_shots, options.N_angular_bins);
|
|
|
|
fprintf('\nSpectral analysis complete!\n');
|
|
|
|
% PCA
|
|
|
|
% Lattice Reconstruction
|
|
|
|
% Package results into struct
|
|
results = struct();
|
|
results.spectral_analysis_results = spectral_analysis_results;
|
|
results.full_g2_results = full_g2_results;
|
|
results.custom_g_results = custom_g_results;
|
|
end |