Minor modification.

This commit is contained in:
Karthik 2025-02-20 20:52:10 +01:00
parent a472caf645
commit b2a5b172d8

View File

@ -2,22 +2,23 @@
groupList = ["/images/MOT_3D_Camera/in_situ_absorption", "/images/ODT_1_Axis_Camera/in_situ_absorption", "/images/ODT_2_Axis_Camera/in_situ_absorption", "/images/Horizontal_Axis_Camera/in_situ_absorption", "/images/Vertical_Axis_Camera/in_situ_absorption"];
folderPath = "C:/Users/Karthik/Documents/GitRepositories/Calculations/24/";
folderPath = "C:/Users/Karthik/Documents/GitRepositories/Calculations/Data-Analyzer/20/";
run = '0086';
run = '0140';
folderPath = strcat(folderPath, run);
cam = 5;
cam = 4;
angle = 90;
center = [2100, 1150];
span = [500, 500];
angle = 0;
center = [95, 1042];
span = [50, 50];
fraction = [0.1, 0.1];
pixel_size = 4.6e-6;
pixel_size = 5.86e-6;
remove_fringes = false;
%% Compute OD image, rotate and extract ROI for analysis
% Compute OD image, rotate and extract ROI for analysis
% Get a list of all files in the folder with the desired file name pattern.
filePattern = fullfile(folderPath, '*.h5');
files = dir(filePattern);
@ -35,12 +36,13 @@ for k = 1 : length(files)
bkg_img = im2double(imrotate(h5read(fullFileName, append(groupList(cam), "/background")), angle));
dark_img = im2double(imrotate(h5read(fullFileName, append(groupList(cam), "/dark")), angle));
refimages(:,:,k) = subtract_offset(crop_image(bkg_img, center, span), fraction);
absimages(:,:,k) = subtract_offset(crop_image(calculate_OD(atm_img, bkg_img, dark_img), center, span), fraction);
refimages(:,:,k) = subtract_offset(crop_image(bkg_img, center, span), fraction)';
absimages(:,:,k) = subtract_offset(crop_image(calculate_OD(atm_img, bkg_img, dark_img), center, span), fraction)';
end
%% Fringe removal
% Fringe removal
if remove_fringes
optrefimages = removefringesInImage(absimages, refimages);
absimages_fringe_removed = absimages(:, :, :) - optrefimages(:, :, :);
@ -49,22 +51,33 @@ od_imgs = cell(1, nimgs);
for i = 1:nimgs
od_imgs{i} = absimages_fringe_removed(:, :, i);
end
else
nimgs = size(absimages,3);
od_imgs = cell(1, nimgs);
for i = 1:nimgs
od_imgs{i} = absimages(:, :, i);
end
end
%%
figure(1)
clf
r = 120;
x = 250;
y = 250;
set(gcf,'Position',[50 50 950 750])
% Calculate the x and y limits for the cropped image
y_min = center(1) - span(2) / 2;
y_max = center(1) + span(2) / 2;
x_min = center(2) - span(1) / 2;
x_max = center(2) + span(1) / 2;
% Generate x and y arrays representing the original coordinates for each pixel
x_range = linspace(x_min, x_max, span(1));
y_range = linspace(y_min, y_max, span(2));
% Display the cropped image
for k = 1 : length(od_imgs)
imagesc(xvals, yvals, od_imgs{k})
hold on
th = 0:pi/50:2*pi;
xunit = r * cos(th) + x;
yunit = r * sin(th) + y;
h = plot(xunit, yunit, Color='yellow');
xlabel('µm', 'FontSize', 16)
ylabel('µm', 'FontSize', 16)
imagesc(x_range, y_range, od_imgs{k})
axis equal tight;
hcb = colorbar;
hL = ylabel(hcb, 'Optical Density', 'FontSize', 16);
@ -72,11 +85,42 @@ for k = 1 : length(od_imgs)
colormap jet;
set(gca,'CLim',[0 1.0]);
set(gca,'YDir','normal')
title('DMD projection: Circle of radius 200 pixels', 'FontSize', 16);
set(gca, 'YTick', linspace(y_min, y_max, 5)); % Define y ticks
set(gca, 'YTickLabel', flip(linspace(y_min, y_max, 5))); % Flip only the labels
xlabel('X', 'Interpreter', 'tex','FontSize',16);
ylabel('Y', 'Interpreter', 'tex','FontSize',16);
drawnow;
drawnow
pause(0.5)
end
%% Overlay images
% image_below = ;
% image_top = ;
% Display the first image (opaque)
figure (2);
clf
set(gcf,'Position',[50 50 950 750])
imagesc(x_range, y_range, image_below);
hold on; % Allow overlaying of the second image
h = imagesc(x_range, y_range, image_top); % Display the second image (translucent)
set(h, 'AlphaData', 0.6); % Adjust transparency: 0 is fully transparent, 1 is fully opaque
axis equal tight;
hcb = colorbar;
hL = ylabel(hcb, 'Optical Density', 'FontSize', 16);
set(hL,'Rotation',-90);
colormap jet;
set(gca,'CLim',[0 1.0]);
set(gca,'YDir','normal')
set(gca, 'YTick', linspace(y_min, y_max, 5)); % Define y ticks
set(gca, 'YTickLabel', flip(linspace(y_min, y_max, 5))); % Flip only the labels
xlabel('X', 'Interpreter', 'tex','FontSize',16);
ylabel('Y', 'Interpreter', 'tex','FontSize',16);
hold off;
%% Helper Functions
function ret = get_offset_from_corner(img, x_fraction, y_fraction)