From fc829bf86fc352d7e410d265168f58264f6881de Mon Sep 17 00:00:00 2001 From: Chandler James Moy Date: Wed, 10 Sep 2025 20:38:16 -0400 Subject: [PATCH] Add files via upload --- Matlab App v5/BOS Pattern Description.png | Bin 0 -> 12254 bytes Matlab App v5/Error_lightfield_dialog.mlapp | Bin 0 -> 34387 bytes Matlab App v5/Figures.pptx | Bin 0 -> 34297 bytes Matlab App v5/Location_dialog.mlapp | Bin 0 -> 17161 bytes Matlab App v5/MIRAGE.mlapp | Bin 0 -> 216657 bytes Matlab App v5/Warning_Dialog.mlapp | Bin 0 -> 23258 bytes ...r_aperture_cutoff_heisenberg_diffraction.m | 89 ++++++++++++ .../function_convert_rho_field_to_n_field.m | 11 ++ Matlab App v5/function_generate_image_2.m | 72 ++++++++++ .../function_generate_image_with_splat.m | 59 ++++++++ .../function_generate_lightfield.asv | 100 +++++++++++++ Matlab App v5/function_generate_lightfield.m | 101 +++++++++++++ .../function_generate_lightfield_sobol.m | 65 +++++++++ .../function_generate_lightfield_v2.asv | 68 +++++++++ .../function_generate_lightfield_v2.m | 53 +++++++ Matlab App v5/function_knife_edge_cutoff.m | 112 +++++++++++++++ .../function_light_propagation_to_camera.m | 81 +++++++++++ Matlab App v5/function_linear_propagation.m | 32 +++++ .../function_optical_object_propagation_v2.m | 77 ++++++++++ Matlab App v5/function_trace_sharma.m | 111 ++++++++++++++ .../function_trace_through_density_grad.asv | 128 +++++++++++++++++ .../function_trace_through_density_grad.m | 136 ++++++++++++++++++ ...e_through_density_grad_rk4_sharma_gpu_v3.m | 134 +++++++++++++++++ ..._through_density_grad_rk4_sharma_nongrid.m | 107 ++++++++++++++ ...rough_density_grad_rk4_sharma_while_loop.m | 107 ++++++++++++++ Matlab App v5/truncate_gaussian.m | 9 ++ 26 files changed, 1652 insertions(+) create mode 100644 Matlab App v5/BOS Pattern Description.png create mode 100644 Matlab App v5/Error_lightfield_dialog.mlapp create mode 100644 Matlab App v5/Figures.pptx create mode 100644 Matlab App v5/Location_dialog.mlapp create mode 100644 Matlab App v5/MIRAGE.mlapp create mode 100644 Matlab App v5/Warning_Dialog.mlapp create mode 100644 Matlab App v5/function_circular_aperture_cutoff_heisenberg_diffraction.m create mode 100644 Matlab App v5/function_convert_rho_field_to_n_field.m create mode 100644 Matlab App v5/function_generate_image_2.m create mode 100644 Matlab App v5/function_generate_image_with_splat.m create mode 100644 Matlab App v5/function_generate_lightfield.asv create mode 100644 Matlab App v5/function_generate_lightfield.m create mode 100644 Matlab App v5/function_generate_lightfield_sobol.m create mode 100644 Matlab App v5/function_generate_lightfield_v2.asv create mode 100644 Matlab App v5/function_generate_lightfield_v2.m create mode 100644 Matlab App v5/function_knife_edge_cutoff.m create mode 100644 Matlab App v5/function_light_propagation_to_camera.m create mode 100644 Matlab App v5/function_linear_propagation.m create mode 100644 Matlab App v5/function_optical_object_propagation_v2.m create mode 100644 Matlab App v5/function_trace_sharma.m create mode 100644 Matlab App v5/function_trace_through_density_grad.asv create mode 100644 Matlab App v5/function_trace_through_density_grad.m create mode 100644 Matlab App v5/function_trace_through_density_grad_rk4_sharma_gpu_v3.m create mode 100644 Matlab App v5/function_trace_through_density_grad_rk4_sharma_nongrid.m create mode 100644 Matlab App v5/function_trace_through_density_grad_rk4_sharma_while_loop.m create mode 100644 Matlab App v5/truncate_gaussian.m diff --git a/Matlab App v5/BOS Pattern Description.png b/Matlab App v5/BOS Pattern Description.png new file mode 100644 index 0000000000000000000000000000000000000000..c36e1c5902cc5a0ac0e36388a24523ffdebb8060 GIT binary patch literal 12254 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 literal 0 HcmV?d00001 diff --git a/Matlab App v5/Figures.pptx b/Matlab App v5/Figures.pptx new file mode 100644 index 0000000000000000000000000000000000000000..a2adb0a8d1ea8396443ed959957476eed8c1fcf7 GIT binary patch literal 34297 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 C%7cIa literal 0 HcmV?d00001 diff --git a/Matlab App v5/Location_dialog.mlapp b/Matlab App v5/Location_dialog.mlapp new file mode 100644 index 0000000000000000000000000000000000000000..95e3c087daa7456c933eed99b2b9d6ddd0005d83 GIT binary patch literal 17161 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 literal 0 HcmV?d00001 diff --git a/Matlab App v5/MIRAGE.mlapp b/Matlab App v5/MIRAGE.mlapp new file mode 100644 index 0000000000000000000000000000000000000000..2dc16b902eb99f26d0e3b43f34aa37e70592385b GIT binary patch literal 216657 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

i)A4Jsk!7jy7AedXOGDGYnW7Uxklzb}q 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 (circular_aperture_diameter / 2); + +% % Copy the original lightfield to preserve unchanged rays +% lightfield = lightfield; + +% Apply the mask to all position and direction components +% Rays outside the aperture are set to NaN in the new lightfield structure +lightfield.position.x(mask) = nan; +lightfield.position.y(mask) = nan; +lightfield.position.z(mask) = nan; +lightfield.direction.dx(mask) = nan; +lightfield.direction.dy(mask) = nan; +lightfield.direction.dz(mask) = nan; + +lightfield.position.x = lightfield.position.x(~isnan(lightfield.position.x)); +lightfield.position.y = lightfield.position.y(~isnan(lightfield.position.y)); +lightfield.position.z = lightfield.position.z(~isnan(lightfield.position.z)); +lightfield.direction.dx = lightfield.direction.dx(~isnan(lightfield.direction.dx)); +lightfield.direction.dy = lightfield.direction.dy(~isnan(lightfield.direction.dy)); +lightfield.direction.dz = lightfield.direction.dz(~isnan(lightfield.direction.dz)); + +if diffraction_type ~= "none" + %Calculate distance to each aperture edge + aperture_radius = circular_aperture_diameter/2; + x_distance = sqrt(aperture_radius^2-lightfield.position.y.^2)-abs(lightfield.position.x); %dimensionalized distance to edge + y_distance = sqrt(aperture_radius^2-lightfield.position.x.^2)-abs(lightfield.position.y); %dimensionalized distance to edge + del_theta_x = zeros(size(lightfield.position.x)); %Initialize vector for change in theta_x due to diffraction + del_theta_y = zeros(size(lightfield.position.y)); %Initialize vector for change in theta_y due to diffraction + k = 2*pi/wavelength; + + %Calculate norm distribution characteristics + sigma_x = atan(1./(2*x_distance*k)); + sigma_y = atan(1./(2*y_distance*k)); + + %Diffraction model parameters + if string(diffraction_type) == 'dynamic limited' + %Calculate angle of defelction due to diffraction + lower_limit_x = -sigma_x; + upper_limit_x = -lower_limit_x; + lower_limit_y = -sigma_y; + upper_limit_y = -lower_limit_y; + %Modeling diffraction in the Monte-Carlo ray-trace environment, + %Coffey 1998 + elseif string(diffraction_type) == "-pi/2 to pi/2 limited" + lower_limit_x = -pi/2*ones(size(sigma_x)); + upper_limit_x = -lower_limit_x; + lower_limit_y = -pi/2*ones(size(sigma_y)); + upper_limit_y = -lower_limit_y; + else + lower_limit_x = low_lim*ones(size(sigma_x)); + upper_limit_x = upp_lim*ones(size(sigma_x)); + lower_limit_y = lower_limit_x; + upper_limit_y = upper_limit_x; + end %End of type of diffraction + + %Calculate angle due to diffraction + parfor counter = 1:numel(lightfield.position.x) % For all rays + %Generate values within the truncated range + del_theta_x(counter) = truncate_gaussian(0, sigma_x(counter), lower_limit_x(counter), upper_limit_x(counter)); + del_theta_y(counter) = truncate_gaussian(0, sigma_y(counter), lower_limit_y(counter), upper_limit_y(counter)); + end + %Edge diffraction in Monte Carlo ray tracing, Freniere et al 1999 + % DOI:10.1117/12.363773 + + + + %Update new directions in the x and y component by converting from + %spherical to cartesian + + lightfield.direction.dx = lightfield.direction.dx + tan(del_theta_x); + lightfield.direction.dy = lightfield.direction.dy + tan(del_theta_y); + %Display completion message and stop timer + fprintf("Lightfield cutoff."); +end %End of diffraction check +toc +end \ No newline at end of file diff --git a/Matlab App v5/function_convert_rho_field_to_n_field.m b/Matlab App v5/function_convert_rho_field_to_n_field.m new file mode 100644 index 0000000..1725df2 --- /dev/null +++ b/Matlab App v5/function_convert_rho_field_to_n_field.m @@ -0,0 +1,11 @@ +function n_field = function_convert_rho_field_to_n_field(rho,gladstone_dale) +%Convert rho to n field + +%% Load data + +load("sample-density.mat"); +rho = rho(:,:,1); + +n = gladstone_dale*rho+1; +end + diff --git a/Matlab App v5/function_generate_image_2.m b/Matlab App v5/function_generate_image_2.m new file mode 100644 index 0000000..1be745f --- /dev/null +++ b/Matlab App v5/function_generate_image_2.m @@ -0,0 +1,72 @@ +function [rendered_image] = function_generate_image_2(lightfield, x_pixel_number, y_pixel_number, pixel_pitch) + +% Remove invalid rays +invalid = isnan(lightfield.position.x) | isnan(lightfield.position.y); +lightfield.direction.dx(invalid) = []; +lightfield.direction.dy(invalid) = []; +lightfield.position.x(invalid) = []; +lightfield.position.y(invalid) = []; + +tic +rendered_image = zeros(y_pixel_number, x_pixel_number); %rows by columns + +% Compute subpixel locations relative to center of sensor +x_center = x_pixel_number / 2; +y_center = y_pixel_number / 2; + +% Convert positions to pixel space +x_pixel_f = (lightfield.position.x / pixel_pitch) + x_center + 1; +y_pixel_f = (lightfield.position.y / pixel_pitch) + y_center + 1; + +% Compute +alpha = atan(sqrt((lightfield.direction.dx./lightfield.direction.dz).^2+(lightfield.direction.dy./lightfield.direction.dz).^2)); +intensity = cos(alpha).^4; + +% Get surrounding pixel indices +x0 = floor(x_pixel_f); +y0 = floor(y_pixel_f); +x1 = x0 + 1; +y1 = y0 + 1; + +% Calculate weights for bilinear interpolation +wx = x_pixel_f - x0; +wy = y_pixel_f - y0; +w00 = (1 - wx) .* (1 - wy); % top-left +w10 = wx .* (1 - wy); % top-right +w01 = (1 - wx) .* wy; % bottom-left +w11 = wx .* wy; % bottom-right + +% Filter valid rays that hit the sensor +valid = x0 >= 1 & x1 <= x_pixel_number & y0 >= 1 & y1 <= y_pixel_number; +x0 = x0(valid); x1 = x1(valid); +y0 = y0(valid); y1 = y1(valid); +w00 = w00(valid); w10 = w10(valid); w01 = w01(valid); w11 = w11(valid); +intensity = intensity(valid); + +%Reshape vector +pixel_indices = [ + sub2ind([y_pixel_number, x_pixel_number], y0, x0), % top-left + sub2ind([y_pixel_number, x_pixel_number], y0, x1), % top-right + sub2ind([y_pixel_number, x_pixel_number], y1, x0), % bottom-left + sub2ind([y_pixel_number, x_pixel_number], y1, x1) % bottom-right +]; +weights = [ + intensity .* w00; + intensity .* w10; + intensity .* w01; + intensity .* w11 +]; + +% Accumulate all contributions using accumarray +accumulated = accumarray(pixel_indices(:), weights(:), [y_pixel_number * x_pixel_number, 1]); +rendered_image = reshape(accumulated, [y_pixel_number, x_pixel_number]); + +% Flip vertically to match image coordinate convention +rendered_image = rendered_image(end:-1:1, end:-1:1); + + +fprintf("Image rendered with bilinear interpolation. "); +toc + +figure; imshow(rendered_image(2:end-1,2:end-1), []); +end diff --git a/Matlab App v5/function_generate_image_with_splat.m b/Matlab App v5/function_generate_image_with_splat.m new file mode 100644 index 0000000..4e4e765 --- /dev/null +++ b/Matlab App v5/function_generate_image_with_splat.m @@ -0,0 +1,59 @@ +function [] = function_generate_image_with_splat(lightfield, x_pixel_number, y_pixel_number, pixel_pitch) + +% Remove invalid rays +valid_mask = ~isnan(lightfield.position.x) & ~isnan(lightfield.position.y); +x = lightfield.position.x(valid_mask); +y = lightfield.position.y(valid_mask); +dx = lightfield.direction.dx(valid_mask); +dy = lightfield.direction.dy(valid_mask); + +% Floating-point pixel positions +x_fp = (x / pixel_pitch) + (x_pixel_number / 2); +y_fp = (y / pixel_pitch) + (y_pixel_number / 2); + +% Compute intensity from direction magnitude +intensity = max(0, min(1, 1 ./ (1 + sqrt(dx.^2 + dy.^2)))); + +% Bilinear splatting +x0 = floor(x_fp); +y0 = floor(y_fp); +dx_frac = x_fp - x0; +dy_frac = y_fp - y0; + +% Clip to valid ranges (x0+1 and y0+1 must also be within bounds) +valid = x0 >= 1 & x0 < x_pixel_number & y0 >= 1 & y0 < y_pixel_number; + +x0 = x0(valid); +y0 = y0(valid); +dx_frac = dx_frac(valid); +dy_frac = dy_frac(valid); +intensity = intensity(valid); + +rendered_image = zeros(y_pixel_number, x_pixel_number); + +% Accumulate contributions into 4 neighboring pixels +for i = 1:length(x0) + x1 = x0(i) + 1; + y1 = y0(i) + 1; + + % Contributions to four neighbors + w00 = (1 - dx_frac(i)) * (1 - dy_frac(i)); + w01 = (1 - dx_frac(i)) * dy_frac(i); + w10 = dx_frac(i) * (1 - dy_frac(i)); + w11 = dx_frac(i) * dy_frac(i); + + rendered_image(y0(i), x0(i)) = rendered_image(y0(i), x0(i)) + intensity(i) * w00; + rendered_image(y1, x0(i)) = rendered_image(y1, x0(i)) + intensity(i) * w01; + rendered_image(y0(i), x1) = rendered_image(y0(i), x1) + intensity(i) * w10; + rendered_image(y1, x1) = rendered_image(y1, x1) + intensity(i) * w11; +end + +% Flip image vertically and horizontally +rendered_image = flipud(fliplr(rendered_image)); + +fprintf("Image rendered. "); +toc + +figure; imshow(rendered_image, []); + +end \ No newline at end of file diff --git a/Matlab App v5/function_generate_lightfield.asv b/Matlab App v5/function_generate_lightfield.asv new file mode 100644 index 0000000..b9fc20e --- /dev/null +++ b/Matlab App v5/function_generate_lightfield.asv @@ -0,0 +1,100 @@ +function lightfield = function_generate_lightfield(number_of_light_rays_per_location, scale, dot_width, dot_height, spacing_x, spacing_y, num_column, num_row, z_location, cone_half_angle,use_gpu) + +num_location_per_dot_x = round(dot_width/scale); +lightsource.location.x = zeros(num_column*num_location_per_dot_x); +x_values = (scale * (1:num_location_per_dot_x)') + (dot_width + spacing_x) * (0:num_column-1); +lightsource.location.x = reshape(x_values, [], 1); +lightsource.location.x = lightsource.location.x-(lightsource.location.x(end)-lightsource.location.x(1))/2; %center around (0,y) + +num_location_per_dot_y = round(dot_height/scale); +lightsource.location.y = zeros(num_row*num_location_per_dot_y); +y_values = (scale * (1:num_location_per_dot_y)') + (dot_height + spacing_y) * (0:num_row-1); +lightsource.location.y = reshape(y_values, [], 1); +lightsource.location.y = lightsource.location.y-(lightsource.location.y(end)-lightsource.location.y(1))/2; %center around (x,0) + +%Used to address issue of scale being approximately equal to pixel pitch. +%Perturb lightsource locations so gridded image doesn't appear. + +% lightsource.location.x = lightsource.location.x + 1*scale * (rand(size(lightsource.location.x)) - 0.5); +% lightsource.location.y = lightsource.location.y + 1*scale * (rand(size(lightsource.location.y)) - 0.5); +% lightsource.location.x = unifrnd(-1,1,size(lightsource.location.x))*scale+lightsource.location.x; +% lightsource.location.y = unifrnd(-1,1,size(lightsource.location.y))*scale+lightsource.location.y; + +lightsource.location.z = z_location; %Initialize position +%% Generate uniform lightfield + +% Collimated light should have very small divergence/diffusion angle +cone_half_angle_radians = deg2rad(cone_half_angle); +tic +[temp_x_mesh,temp_y_mesh] = meshgrid(lightsource.location.x,lightsource.location.y); +temp_x_flat = temp_x_mesh(:); +mu = number_of_light_rays_per_location; +for counter = 1:size(temp_x_flat,1) + num_lightray_array(counter) = min(max(round(normrnd(mu,(2*mu-1)/6)),1),2*mu); +end +total_lightray = sum(num_lightray_array); + +for i = 1:M + for j = 1:N + % Calculate the number of rays for the current position + num_rays = min(max(round(normrnd(mu, (2*mu - 1) / 6)), 1), 2 * mu); + + % Assign the x, y positions to the arrays + x_positions = temp_x_mesh(i,j) * ones(1, num_rays); + y_positions = temp_y_mesh(i,j) * ones(1, num_rays); + + % Store the x and y positions in the preallocated arrays + lightfield_position_x(current_index : current_index + num_rays - 1) = x_positions; + lightfield_position_y(current_index : current_index + num_rays - 1) = y_positions; + + % Update the current index + current_index = current_index + num_rays; + end +end + + +% for counter = 1:number_of_light_rays_per_location +% lightfield.position.x(:,:,counter) = temp_x_mesh; +% lightfield.position.y(:,:,counter) = temp_y_mesh; +% end + + + + + + + +clearvars temp_x_mesh temp_y_mesh; +lightfield.position.x = lightfield.position.x(:); +lightfield.position.y = lightfield.position.y(:); +lightfield.position.z = lightsource.location.z*ones(size(lightfield.position.y)); + +lightfield.direction.random_cone_angle = (rand(size(lightfield.position.x))-1/2)*cone_half_angle_radians*2; +lightfield.direction.random_circular_angle = (rand(size(lightfield.position.x))-1/2)*pi*2; +lightfield.direction.dx = sin(lightfield.direction.random_cone_angle).*cos(lightfield.direction.random_circular_angle); +lightfield.direction.dy = sin(lightfield.direction.random_cone_angle).*sin(lightfield.direction.random_circular_angle); +lightfield.direction.dz = (-1)*ones(size(lightfield.direction.dy)); + +clear lightfield.direction.random_cone_angle lightfield.direction.random_circular_angle + +if use_gpu + lightfield.position.x = gpuArray(lightfield.position.x); + lightfield.position.y = gpuArray(lightfield.position.y); + lightfield.position.z = gpuArray(lightfield.position.z); + lightfield.direction.dx = gpuArray(lightfield.direction.dx); + lightfield.direction.dy = gpuArray(lightfield.direction.dy); + lightfield.direction.dz = gpuArray(lightfield.direction.dz); +end + + + +% if show_ray_tracing_results + % figure; + % plot3(lightfield.position.x(1:37:end),lightfield.position.y(1:37:end),lightfield.position.z(1:37:end),'.'); + % % axis equal; + % grid on; + % hold on; +% end + +fprintf("Lightfield generated. Number of light rays = %d. ", size(lightfield.position.x,1)); +toc \ No newline at end of file diff --git a/Matlab App v5/function_generate_lightfield.m b/Matlab App v5/function_generate_lightfield.m new file mode 100644 index 0000000..d17f227 --- /dev/null +++ b/Matlab App v5/function_generate_lightfield.m @@ -0,0 +1,101 @@ +function lightfield = function_generate_lightfield(number_of_light_rays_per_location, scale, dot_width, dot_height, spacing_x, spacing_y, num_column, num_row, z_location, cone_half_angle,use_gpu) + +num_location_per_dot_x = round(dot_width/scale); +lightsource.location.x = zeros(num_column*num_location_per_dot_x); +x_values = (scale * (1:num_location_per_dot_x)') + (dot_width + spacing_x) * (0:num_column-1); +lightsource.location.x = reshape(x_values, [], 1); +lightsource.location.x = lightsource.location.x-(lightsource.location.x(end)-lightsource.location.x(1))/2; %center around (0,y) + +num_location_per_dot_y = round(dot_height/scale); +lightsource.location.y = zeros(num_row*num_location_per_dot_y); +y_values = (scale * (1:num_location_per_dot_y)') + (dot_height + spacing_y) * (0:num_row-1); +lightsource.location.y = reshape(y_values, [], 1); +lightsource.location.y = lightsource.location.y-(lightsource.location.y(end)-lightsource.location.y(1))/2; %center around (x,0) + +lightsource.location.z = z_location; %Initialize position +%% Generate uniform lightfield + +% Collimated light should have very small divergence/diffusion angle +cone_half_angle_radians = deg2rad(cone_half_angle); +tic +[temp_x_mesh,temp_y_mesh] = meshgrid(lightsource.location.x,lightsource.location.y); + +% % Flatten the mesh grids +% temp_x_flat = temp_x_mesh(:); +% temp_y_flat = temp_y_mesh(:); +% +% % Calculate the number of rays per position using normal distribution +% mu = number_of_light_rays_per_location; +% num_lightray_array = zeros(size(temp_x_flat)); % Preallocate + +% % Generate rays per position using normal distribution +% for counter = 1:size(temp_x_flat, 1) +% num_lightray_array(counter) = min(max(round(normrnd(mu, (2 * mu - 1) / 6)), 1), 2 * mu); +% end + +% % Calculate the total number of light rays +% total_lightray = sum(num_lightray_array); +% +% % Preallocate arrays to store light ray positions +% lightfield.position.x = zeros(1, total_lightray); +% lightfield.position.y = zeros(1, total_lightray); +% +% % Initialize current index +% current_index = 1; +% +% % Loop through each (x, y) position and assign the light ray positions +% for counter = 1:size(temp_x_flat, 1) +% num_rays = num_lightray_array(counter); +% +% % Assign x and y positions for the current number of rays +% x_positions = temp_x_flat(counter) * ones(1, num_rays); +% y_positions = temp_y_flat(counter) * ones(1, num_rays); +% +% % Store the positions in the preallocated arrays +% lightfield.position.x(current_index : current_index + num_rays - 1) = x_positions; +% lightfield.position.y(current_index : current_index + num_rays - 1) = y_positions; +% +% % Update the current index +% current_index = current_index + num_rays; +% end + + +for counter = 1:number_of_light_rays_per_location + lightfield.position.x(:,:,counter) = temp_x_mesh; + lightfield.position.y(:,:,counter) = temp_y_mesh; +end + +clearvars temp_x_mesh temp_y_mesh; +lightfield.position.x = lightfield.position.x(:); +lightfield.position.y = lightfield.position.y(:); +lightfield.position.z = lightsource.location.z*ones(size(lightfield.position.y)); + +lightfield.direction.random_cone_angle = (rand(size(lightfield.position.x))-1/2)*cone_half_angle_radians*2; +lightfield.direction.random_circular_angle = (rand(size(lightfield.position.x))-1/2)*pi*2; +lightfield.direction.dx = sin(lightfield.direction.random_cone_angle).*cos(lightfield.direction.random_circular_angle); +lightfield.direction.dy = sin(lightfield.direction.random_cone_angle).*sin(lightfield.direction.random_circular_angle); +lightfield.direction.dz = (-1)*ones(size(lightfield.direction.dy)); + +clear lightfield.direction.random_cone_angle lightfield.direction.random_circular_angle + +if use_gpu + lightfield.position.x = gpuArray(lightfield.position.x); + lightfield.position.y = gpuArray(lightfield.position.y); + lightfield.position.z = gpuArray(lightfield.position.z); + lightfield.direction.dx = gpuArray(lightfield.direction.dx); + lightfield.direction.dy = gpuArray(lightfield.direction.dy); + lightfield.direction.dz = gpuArray(lightfield.direction.dz); +end + + + +% if show_ray_tracing_results + % figure; + % plot3(app.lightfield.position.x(1:37:end),app.lightfield.position.y(1:37:end),app.lightfield.position.z(1:37:end),'.'); + % % axis equal; + % grid on; + % hold on; +% end + +fprintf("Lightfield generated. Number of light rays = %d. ", size(lightfield.position.x,1)); +toc \ No newline at end of file diff --git a/Matlab App v5/function_generate_lightfield_sobol.m b/Matlab App v5/function_generate_lightfield_sobol.m new file mode 100644 index 0000000..370c2e0 --- /dev/null +++ b/Matlab App v5/function_generate_lightfield_sobol.m @@ -0,0 +1,65 @@ +function lightfield = function_generate_lightfield_sobol(num_rays_per_dot, dot_width, dot_height, spacing_x, spacing_y, num_column, num_row, z_location, cone_half_angle, use_gpu) +% FUNCTION_GENERATE_LIGHTFIELD_V2 generates a lightfield using Sobol sequence sampling +% with evenly spaced dot layout and a cone angle for angular divergence. + +tic + +% ------------------------------------------------------------------------- +% Dot Grid Definition +dot_centers_x = (0:num_column-1) * (dot_width + spacing_x); +dot_centers_y = (0:num_row-1) * (dot_height + spacing_y); +[dot_grid_x, dot_grid_y] = meshgrid(dot_centers_x, dot_centers_y); + +dot_centers = [dot_grid_x(:), dot_grid_y(:)]; +num_dots = size(dot_centers, 1); +total_rays = num_dots * num_rays_per_dot; + +% Center the dot grid around (0,0) +dot_centers(:,1) = dot_centers(:,1) - mean(dot_centers(:,1)); +dot_centers(:,2) = dot_centers(:,2) - mean(dot_centers(:,2)); + +% ------------------------------------------------------------------------- +% Generate Sobol sequence (vectorized) +sobol = sobolset(2, 'Skip', 1e3, 'Leap', 1e2); +sobol = scramble(sobol, 'MatousekAffineOwen'); +samples = net(sobol, total_rays); % Generate all at once + +% Map to local dot rectangles +x_local = samples(:,1) * dot_width - dot_width/2; +y_local = samples(:,2) * dot_height - dot_height/2; + +% Assign dot centers (repeat each one num_rays_per_dot times) +dot_indices = repelem(1:num_dots, num_rays_per_dot)'; +dot_x = dot_centers(dot_indices, 1); +dot_y = dot_centers(dot_indices, 2); + +% Final global positions +lightfield.position.x = dot_x + x_local; +lightfield.position.y = dot_y + y_local; +lightfield.position.z = z_location * ones(total_rays, 1); + +% ------------------------------------------------------------------------- +% Generate Diverging Directions (Cone Distribution) +cone_half_angle_radians = deg2rad(cone_half_angle); +cos_theta = (1 - cos(cone_half_angle_radians)) * rand(total_rays,1) + cos(cone_half_angle_radians); +theta = acos(cos_theta); +phi = 2 * pi * rand(total_rays,1); + +lightfield.direction.dx = sin(theta) .* cos(phi); +lightfield.direction.dy = sin(theta) .* sin(phi); +lightfield.direction.dz = -cos(theta); + +% ------------------------------------------------------------------------- +% Move to GPU (if requested) +if use_gpu + lightfield.position.x = gpuArray(lightfield.position.x); + lightfield.position.y = gpuArray(lightfield.position.y); + lightfield.position.z = gpuArray(lightfield.position.z); + lightfield.direction.dx = gpuArray(lightfield.direction.dx); + lightfield.direction.dy = gpuArray(lightfield.direction.dy); + lightfield.direction.dz = gpuArray(lightfield.direction.dz); +end + +fprintf("Lightfield generated using Sobol. Number of light rays = %d. ", total_rays); +toc +end diff --git a/Matlab App v5/function_generate_lightfield_v2.asv b/Matlab App v5/function_generate_lightfield_v2.asv new file mode 100644 index 0000000..8f3cd64 --- /dev/null +++ b/Matlab App v5/function_generate_lightfield_v2.asv @@ -0,0 +1,68 @@ +function lightfield = function_generate_lightfield_v2(num_rays_per_dot, dot_width, dot_height, spacing_x, spacing_y, num_column, num_row, z_location, cone_half_angle, use_gpu) +% FUNCTION_GENERATE_LIGHTFIELD_V2 generates a lightfield using Latin Hypercube Sampling +% with evenly spaced dot layout and a cone angle for angular divergence. + +% ------------------------------------------------------------------------- +% Dot Grid Definition +tic +dot_centers_x = (0:num_column-1) * (dot_width + spacing_x); +dot_centers_y = (0:num_row-1) * (dot_height + spacing_y); +[dot_grid_x, dot_grid_y] = meshgrid(dot_centers_x, dot_centers_y); + +dot_centers = [dot_grid_x(:), dot_grid_y(:)]; +num_dots = size(dot_centers, 1); + +% Center the dot grid around (0,0) +dot_centers(:,1) = dot_centers(:,1) - mean(dot_centers(:,1)); +dot_centers(:,2) = dot_centers(:,2) - mean(dot_centers(:,2)); + +% ------------------------------------------------------------------------- +% Preallocate and Sample Positions Using LHS +total_rays = num_dots * num_rays_per_dot; +lightfield.position.x = zeros(total_rays, 1); +lightfield.position.y = zeros(total_rays, 1); +lightfield.position.z = z_location * ones(total_rays, 1); + +x_cell = cell(num_dots, 1); +y_cell = cell(num_dots, 1); + +parfor k = 1:num_dots + lhs_samples = lhsdesign(num_rays_per_dot, 2); % LHS in [0,1]^2 + x_local = lhs_samples(:,1) * dot_width - dot_width/2; + y_local = lhs_samples(:,2) * dot_height - dot_height/2; + + x_cell{k} = dot_centers(k,1) + x_local; + y_cell{k} = dot_centers(k,2) + y_local; + fprintf('%') +end + +% Concatenate results after parallel loop +lightfield.position.x = vertcat(x_cell{:}); +lightfield.position.y = vertcat(y_cell{:}); +lightfield.position.z = z_location * ones(num_dots * num_rays_per_dot, 1); + +% ------------------------------------------------------------------------- +% Generate Diverging Directions (Cone Distribution) +cone_half_angle_radians = deg2rad(cone_half_angle); + +random_cone_angle = (rand(total_rays,1) - 0.5) * 2 * cone_half_angle_radians; +random_circular_angle = (rand(total_rays,1) - 0.5) * 2 * pi; + +lightfield.direction.dx = sin(random_cone_angle) .* cos(random_circular_angle); +lightfield.direction.dy = sin(random_cone_angle) .* sin(random_circular_angle); +lightfield.direction.dz = -cos(random_cone_angle); % Or simply -1 for narrow cones + +% ------------------------------------------------------------------------- +% Move to GPU (if requested) +if use_gpu + lightfield.position.x = gpuArray(lightfield.position.x); + lightfield.position.y = gpuArray(lightfield.position.y); + lightfield.position.z = gpuArray(lightfield.position.z); + lightfield.direction.dx = gpuArray(lightfield.direction.dx); + lightfield.direction.dy = gpuArray(lightfield.direction.dy); + lightfield.direction.dz = gpuArray(lightfield.direction.dz); +end + +fprintf("Lightfield generated. Number of light rays = %d. ", total_rays); +toc +end diff --git a/Matlab App v5/function_generate_lightfield_v2.m b/Matlab App v5/function_generate_lightfield_v2.m new file mode 100644 index 0000000..93060e5 --- /dev/null +++ b/Matlab App v5/function_generate_lightfield_v2.m @@ -0,0 +1,53 @@ +function lightfield = function_generate_lightfield_v2(num_rays_per_dot, dot_width, dot_height, spacing_x, spacing_y, num_column, num_row, z_location, cone_half_angle) + +% ------------------------------------------------------------------------- +% Dot Grid Definition +tic +dot_centers_x = (0:num_column-1) * (dot_width + spacing_x); +dot_centers_y = (0:num_row-1) * (dot_height + spacing_y); +[dot_grid_x, dot_grid_y] = meshgrid(dot_centers_x, dot_centers_y); + +dot_centers = [dot_grid_x(:), dot_grid_y(:)]; +num_dots = size(dot_centers, 1); +total_rays = num_dots * num_rays_per_dot; + +% Center the dot grid around (0,0) +dot_centers(:,1) = dot_centers(:,1) - mean(dot_centers(:,1)); +dot_centers(:,2) = dot_centers(:,2) - mean(dot_centers(:,2)); + +% Generate purely random samples for all rays +total_rays = num_dots * num_rays_per_dot; + +% Generate random samples in [0, 1] +samples = rand(total_rays, 2); % [x, y] + +% Map to local dot areas +x_local = samples(:,1) * dot_width - dot_width/2; +y_local = samples(:,2) * dot_height - dot_height/2; + +% Repeat dot centers to match total_rays +dot_indices = repelem(1:num_dots, num_rays_per_dot)'; +dot_x = dot_centers(dot_indices, 1); +dot_y = dot_centers(dot_indices, 2); + + + +% Final global positions +lightfield.position.x = dot_x + x_local; +lightfield.position.y = dot_y + y_local; +lightfield.position.z = z_location * ones(total_rays, 1); + +% Generate Diverging Directions (Cone Distribution) +cone_half_angle_radians = deg2rad(cone_half_angle); + +cos_theta = (1 - cos(cone_half_angle_radians)) * rand(total_rays,1) + cos(cone_half_angle_radians); +theta = acos(cos_theta); % in [0, cone_half_angle] +phi = 2 * pi * rand(total_rays,1); % in [0, 2*pi] + +lightfield.direction.dx = sin(theta) .* cos(phi); +lightfield.direction.dy = sin(theta) .* sin(phi); +lightfield.direction.dz = -cos(theta); + +fprintf("Lightfield generated. Number of light rays = %d. ", total_rays); +toc +end diff --git a/Matlab App v5/function_knife_edge_cutoff.m b/Matlab App v5/function_knife_edge_cutoff.m new file mode 100644 index 0000000..444f4e0 --- /dev/null +++ b/Matlab App v5/function_knife_edge_cutoff.m @@ -0,0 +1,112 @@ +function [lightfield] = function_knife_edge_cutoff(lightfield, cutoff_location, wavelength, diffraction_type, knife_type, low_lim, upp_lim) + +if knife_type == "Top Knife Edge" %Remove lightrays from y = (-Inf, cutoff_location] + mask = lightfield.position.y <= cutoff_location; + lightfield = remove_lightrays(lightfield,mask); + y_distance = abs(lightfield.position.y - cutoff_location); +elseif knife_type == "Bottom Knife Edge" %Remove lightrays from y = [cutoff_location, Inf) + mask = lightfield.position.y >= cutoff_location; + lightfield = remove_lightrays(lightfield,mask); + y_distance = abs(lightfield.position.y - cutoff_location); +elseif knife_type == "Left Knife Edge" %Remove lightrays from x = (-Inf, cutoff_location] + mask = lightfield.position.x <= cutoff_location; + lightfield = remove_lightrays(lightfield,mask); + x_distance = abs(lightfield.position.x - cutoff_location); +else %Remove lightrays from x = [cutoff_location,Inf) + mask = lightfield.position.x >= cutoff_location; + lightfield = remove_lightrays(lightfield,mask); + x_distance = abs(lightfield.position.x - cutoff_location); +end + +%Check which direction for diffraction implementation +x_exist = exist("x_distance",'var'); +y_exist = exist("y_distance",'var'); + +if diffraction_type ~= "none" + k = 2*pi/wavelength; + if x_exist + del_theta_x = zeros(size(lightfield.position.x)); %Initialize vector for change in theta_x due to diffraction + sigma_x = atan(1./(2*x_distance*k)); %Calculate norm distribution characteristics + end + if y_exist + del_theta_y = zeros(size(lightfield.position.y)); %Initialize vector for change in theta_y due to diffraction + sigma_y = atan(1./(2*y_distance*k)); %Calculate norm distribution characteristics + end + + %Diffraction model parameters + if string(diffraction_type) == 'dynamic limited' + %Calculate angle of defelction due to diffraction + if x_exist + lower_limit_x = -sigma_x; + upper_limit_x = -lower_limit_x; + end + if y_exist + lower_limit_y = -sigma_y; + upper_limit_y = -lower_limit_y; + end + %Modeling diffraction in the Monte-Carlo ray-trace environment, + %Coffey 1998 + elseif string(diffraction_type) == "-pi/2 to pi/2 limited" + if x_exist + lower_limit_x = -pi/2*ones(size(sigma_x)); + upper_limit_x = -lower_limit_x; + end + if y_exist + lower_limit_y = -pi/2*ones(size(sigma_y)); + upper_limit_y = -lower_limit_y; + end + else + if x_exist + lower_limit_x = low_lim*ones(size(sigma_x)); + upper_limit_x = upp_lim*ones(size(sigma_x)); + end + if y_exist + lower_limit_y = low_lim*ones(size(sigma_y)); + upper_limit_y = upp_lim*ones(size(sigma_y)); + end + end %End of type of diffraction + + %Calculate angle due to diffraction + parfor counter = 1:numel(lightfield.position.x) % For all rays + %Generate values within the truncated range + if x_exist + del_theta_x(counter) = truncate_gaussian(0, sigma_x(counter), lower_limit_x(counter), upper_limit_x(counter)); + end + if y_exist + del_theta_y(counter) = truncate_gaussian(0, sigma_y(counter), lower_limit_y(counter), upper_limit_y(counter)); + end + end + + %Edge diffraction in Monte Carlo ray tracing, Freniere et al 1999 + % DOI:10.1117/12.363773 + + %Update new directions in the x and y component by converting from + %spherical to cartesian + if x_exist + lightfield.direction.dx = lightfield.direction.dx + tan(del_theta_x); + end + if y_exist + lightfield.direction.dy = lightfield.direction.dy + tan(del_theta_y); + end + %Display completion message and stop timer + fprintf("Lightfield cutoff."); +end %End of diffraction check + +end + +function [lightfield] = remove_lightrays(lightfield,mask) +%Remove lightrays that are blocked by a mask from memory +lightfield.position.x(mask) = nan; +lightfield.position.y(mask) = nan; +lightfield.position.z(mask) = nan; +lightfield.direction.dx(mask) = nan; +lightfield.direction.dy(mask) = nan; +lightfield.direction.dz(mask) = nan; + +lightfield.position.x = lightfield.position.x(~isnan(lightfield.position.x)); +lightfield.position.y = lightfield.position.y(~isnan(lightfield.position.y)); +lightfield.position.z = lightfield.position.z(~isnan(lightfield.position.z)); +lightfield.direction.dx = lightfield.direction.dx(~isnan(lightfield.direction.dx)); +lightfield.direction.dy = lightfield.direction.dy(~isnan(lightfield.direction.dy)); +lightfield.direction.dz = lightfield.direction.dz(~isnan(lightfield.direction.dz)); +end \ No newline at end of file diff --git a/Matlab App v5/function_light_propagation_to_camera.m b/Matlab App v5/function_light_propagation_to_camera.m new file mode 100644 index 0000000..85cebe8 --- /dev/null +++ b/Matlab App v5/function_light_propagation_to_camera.m @@ -0,0 +1,81 @@ +function lightfield = function_light_propagation_to_camera(lightfield, optical_components, wavelength,density_object) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%Function to propagate through all components defined in the system by the +%user + +%optical_components is app.optical_layout.components +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +components_list = optical_components.list; %initialize components list +num_step = 1; +%Loop through all optical components +for counter = 2:max(size(components_list)-1) %Loop through all components that arent the camera or the lightsource + str = char(components_list(counter)); %Initialize character array to test which component to propagate through + field_name = components_list(counter); %Initialize field name to call component properties + + %Conduct linear propagation to current optical component + lightfield = function_linear_propagation(lightfield,optical_components.z_vector(counter)*1000); + + %Conduct optical propagation through a thin lens + if str(1:9) == "Thin_Lens" + + %Set object parameters + object_param.f = optical_components.(field_name).focal_length*1000; + object_param.d = optical_components.(field_name).diameter*1000; + + %Conduct propagation + lightfield = function_optical_object_propagation_v2(lightfield,'thin lens',object_param); + + %Conduct optical propagation through an aperture + elseif str(1:8) == "Aperture" + low_limit = []; + upp_limit = []; + if isfield(optical_components.(field_name),'diffraction_low_limit') + low_limit = optical_components.(field_name).diffraction_low_limit; + upp_limit = optical_components.(field_name).diffraction_upp_limit; + end + a = max(size(lightfield.direction.dx)); + type = string(optical_components.(field_name).type); + if type == "Circular" + lightfield = function_circular_aperture_cutoff_heisenberg_diffraction(lightfield, optical_components.(field_name).cutoff_value, wavelength, optical_components.(field_name).diffraction_model, low_limit, upp_limit); + else + lightfield = function_knife_edge_cutoff(lightfield,optical_components.(field_name).cutoff_value, wavelength, optical_components.(field_name).diffraction_model, type, low_limit,upp_limit); + end + b = max(size(lightfield.direction.dx)); + fprintf('\n Percent Cutoff from aperture = %0.2f',(1-b/a)*100); + %Conduct optical propagation through the density gradient + elseif str == "Density_Gradient" + if density_object.GPU + lightfield = function_trace_through_density_grad_rk4_sharma_gpu_v3(lightfield, density_object.loc, density_object); + elseif density_object.grid == 'Gridded Data' + lightfield = function_trace_through_density_grad_rk4_sharma_gpu_while_loop(lightfield, density_object.loc, density_object); + else + lightfield = function_trace_through_density_grad_rk4_sharma_nongrid(lightfield, density_object.loc, density_object); + end + + if density_object.save %If save lightfield after tracing through density gradient + save(sprintf("%s\\%s.mat",density_object.save_folder, density_object.save_file),"lightfield",'-v7.3'); + end + %Conduct optical propagation through a thick lens + else + + %Set object parameters + object_param.d = optical_components.(field_name).diameter*1000; + object_param.R1 = optical_components.(field_name).r1*1000; + object_param.R2 = optical_components.(field_name).r2*1000; + object_param.t = optical_components.(field_name).thickness*1000; + object_param.n = optical_components.(field_name).refractive_index; + + %Conduct propagation + lightfield = function_optical_object_propagation_v2(lightfield,'thick lens',object_param); + + end %End of component type determination if statement + %figure; quiver(lightfield.position.x(1:num_step:end),lightfield.position.y(1:num_step:end),lightfield.direction.dx(1:num_step:end),lightfield.direction.dy(1:num_step:end)) + if density_object.progress + figure(100) + plot3(lightfield.position.x(1:num_step:end),lightfield.position.y(1:num_step:end),lightfield.position.z(1:num_step:end),'.'); + hold on + end +end %End of optical component loop + +end \ No newline at end of file diff --git a/Matlab App v5/function_linear_propagation.m b/Matlab App v5/function_linear_propagation.m new file mode 100644 index 0000000..5bb410e --- /dev/null +++ b/Matlab App v5/function_linear_propagation.m @@ -0,0 +1,32 @@ +function [lightfield] = function_linear_propagation(lightfield, destination_z) +% Function for linear propagation of rays to a new z-position +% INPUTS: +% - lightfield: Structure containing ray positions and directions +% - destination_z: Target z-coordinate for propagation +% OUTPUTS: +% - new_lightfield: Updated lightfield after propagation +% - travel: Structure containing the dx, dy, and dz of travel + +% Start timer for performance measurement +tic + +% Calculate the distance to propagate along z-axis +travel_dz = destination_z - lightfield.position.z; + +% Pre-compute the scaling factor to apply to x and y direction components +scale_factor = travel_dz ./ (lightfield.direction.dz); + +% Calculate dx and dy travel using the scale factor +travel_dx = lightfield.direction.dx .* scale_factor; +travel_dy = lightfield.direction.dy .* scale_factor; + +% Update the new lightfield structure +% lightfield = lightfield; +lightfield.position.x = lightfield.position.x + travel_dx; +lightfield.position.y = lightfield.position.y + travel_dy; +lightfield.position.z = lightfield.position.z + travel_dz; + +% Display completion message with destination z and stop timer +fprintf("Lightfield linearly propagated (to z = %f). ", destination_z); +toc +end \ No newline at end of file diff --git a/Matlab App v5/function_optical_object_propagation_v2.m b/Matlab App v5/function_optical_object_propagation_v2.m new file mode 100644 index 0000000..6718c29 --- /dev/null +++ b/Matlab App v5/function_optical_object_propagation_v2.m @@ -0,0 +1,77 @@ +function [lightfield] = function_optical_object_propagation(lightfield,object_type,object_param,n0) +% function_optical_object_propagation Propagate a lightfield through an +% optical component +% +% A = function_optical_object_propagation(lightfield,type,object) +% outputs the lightfield after tracing rays through an optical component +% +% lightfield is the incoming lightfield +% +% object type => 'thin lens', 'thick lens' and 'mirror' are +% supported in this current version +% +% object_param provides the object parameters such as diameter, focal length, etc +% +% n0 + + +%% Remove lightrays that don't hit the surface of optical component + +mask = sqrt(lightfield.position.x.^2 + lightfield.position.y.^2) > (object_param.d / 2); + +% Apply the mask to all position and direction components +% Rays outside the aperture are set to NaN in the new lightfield structure +lightfield.position.x(mask) = nan; +lightfield.position.y(mask) = nan; +lightfield.position.z(mask) = nan; +lightfield.direction.dx(mask) = nan; +lightfield.direction.dy(mask) = nan; +lightfield.direction.dz(mask) = nan; + +lightfield.position.x = lightfield.position.x(~isnan(lightfield.position.x)); +lightfield.position.y = lightfield.position.y(~isnan(lightfield.position.y)); +lightfield.position.z = lightfield.position.z(~isnan(lightfield.position.z)); +lightfield.direction.dx = lightfield.direction.dx(~isnan(lightfield.direction.dx)); +lightfield.direction.dy = lightfield.direction.dy(~isnan(lightfield.direction.dy)); +lightfield.direction.dz = lightfield.direction.dz(~isnan(lightfield.direction.dz)); + +%% Conduct Propagation through component + +%Propogation through optical component +if strcmpi(object_type,"thin lens") || strcmpi(object_type,"mirror") %Thin lens and mirror propagation + + fprintf("Conducting propagation through a %s.\n", lower(object_type)) + multiplier = -1/object_param.f; + lightfield.direction.dx = lightfield.direction.dx + multiplier * lightfield.position.x; + lightfield.direction.dy = lightfield.direction.dy + multiplier * lightfield.position.y; + +elseif strcmpi(object_type,"thick lens") %Thick lens propagation + %fprintf("Conducting propagation through a %s %s.\n", upper(object_param.material), lower(object_type)) + if nargin < 4 + n0 = 1; % Assume air if not specified + end + + %Construct matrix for thick lens + D1 = (object_param.n-n0)/object_param.R1; + D2 = (n0-object_param.n)/(-1*object_param.R2); + A11 = 1-D2*object_param.t/object_param.n; + A12 = -D1-D2-D1*D2*object_param.t/object_param.n; + A21 = object_param.t/object_param.n; + A22 = 1-D1*object_param.t/object_param.n; + %fprintf("Effective focus of lens is %f mm.\n",(-1/A12)/1000); + + %Calculate angle with respect to z plane + alpha_0x = lightfield.direction.dx; + alpha_0y = lightfield.direction.dy; + + alpha_exit_x = A11*alpha_0x+A12*lightfield.position.x; + lightfield.position.x = A21*alpha_0x+A22*lightfield.position.x; + lightfield.direction.dx = alpha_exit_x; + alpha_exit_y = A11*alpha_0y+A12*lightfield.position.y; + lightfield.direction.dy = alpha_exit_y; + lightfield.position.y = A21*alpha_0y+A22*lightfield.position.y; + lightfield.position.z = lightfield.position.z-object_param.t; + +end + +end \ No newline at end of file diff --git a/Matlab App v5/function_trace_sharma.m b/Matlab App v5/function_trace_sharma.m new file mode 100644 index 0000000..e833ac0 --- /dev/null +++ b/Matlab App v5/function_trace_sharma.m @@ -0,0 +1,111 @@ +function lightfield = function_trace_sharma(lightfield, start_z, density_object) +% Implements Sharma et al. (1982) ray tracing through graded-index media +% using 4th-order Runge-Kutta integration + +% Extract and scale grid +x = density_object.rho.x * 1000; +y = density_object.rho.y * 1000; +z = (density_object.rho.z + start_z) * 1000; +z_step = abs(density_object.step_size); % Arclength step size (mm) + +% Refractive index field +rho = density_object.rho.rho; +n = (density_object.fluid_glasstone * rho + 1); + +% Compute gradient of n +[dn_dx, dn_dy, dn_dz] = gradient(n, ... + mean(diff(x(:,1,1))), ... + mean(diff(y(1,:,1))), ... + mean(diff(z(1,1,:)))); + +% Create interpolants +F_n = griddedInterpolant(x, y, z, n, lower(density_object.interp_method)); +F_gradx = griddedInterpolant(x, y, z, dn_dx, lower(density_object.interp_method)); +F_grady = griddedInterpolant(x, y, z, dn_dy, lower(density_object.interp_method)); +F_gradz = griddedInterpolant(x, y, z, dn_dz, lower(density_object.interp_method)); + +% Initialize ray position and direction +pos = cat(4, lightfield.position.x, lightfield.position.y, lightfield.position.z); +dir = cat(4, lightfield.direction.dx, lightfield.direction.dy, lightfield.direction.dz); + +% Normalize direction +dir = dir ./ vecnorm(dir,2,4); + +% Compute number of steps +z_extent = abs(z(end) - z(1)); +num_steps = round(z_extent / z_step); + +% RK4 Integration +for counter = 1:num_steps + % k1 + n1 = F_n(pos(:,:,:,1), pos(:,:,:,2), pos(:,:,:,3)); + gradn1 = cat(4, F_gradx(pos(:,:,:,1), pos(:,:,:,2), pos(:,:,:,3)), ... + F_grady(pos(:,:,:,1), pos(:,:,:,2), pos(:,:,:,3)), ... + F_gradz(pos(:,:,:,1), pos(:,:,:,2), pos(:,:,:,3))); + t1 = dir; + tdotgrad1 = sum(t1 .* gradn1, 4); + dt1 = (gradn1 - tdotgrad1 .* t1) ./ n1; + k1_pos = t1; + k1_dir = dt1; + + % k2 + pos2 = pos + 0.5 * z_step * k1_pos; + dir2 = dir + 0.5 * z_step * k1_dir; + dir2 = dir2 ./ vecnorm(dir2,2,4); + n2 = F_n(pos2(:,:,:,1), pos2(:,:,:,2), pos2(:,:,:,3)); + gradn2 = cat(4, F_gradx(pos2(:,:,:,1), pos2(:,:,:,2), pos2(:,:,:,3)), ... + F_grady(pos2(:,:,:,1), pos2(:,:,:,2), pos2(:,:,:,3)), ... + F_gradz(pos2(:,:,:,1), pos2(:,:,:,2), pos2(:,:,:,3))); + t2 = dir2; + tdotgrad2 = sum(t2 .* gradn2, 4); + dt2 = (gradn2 - tdotgrad2 .* t2) ./ n2; + k2_pos = t2; + k2_dir = dt2; + + % k3 + pos3 = pos + 0.5 * z_step * k2_pos; + dir3 = dir + 0.5 * z_step * k2_dir; + dir3 = dir3 ./ vecnorm(dir3,2,4); + n3 = F_n(pos3(:,:,:,1), pos3(:,:,:,2), pos3(:,:,:,3)); + gradn3 = cat(4, F_gradx(pos3(:,:,:,1), pos3(:,:,:,2), pos3(:,:,:,3)), ... + F_grady(pos3(:,:,:,1), pos3(:,:,:,2), pos3(:,:,:,3)), ... + F_gradz(pos3(:,:,:,1), pos3(:,:,:,2), pos3(:,:,:,3))); + t3 = dir3; + tdotgrad3 = sum(t3 .* gradn3, 4); + dt3 = (gradn3 - tdotgrad3 .* t3) ./ n3; + k3_pos = t3; + k3_dir = dt3; + + % k4 + pos4 = pos + z_step * k3_pos; + dir4 = dir + z_step * k3_dir; + dir4 = dir4 ./ vecnorm(dir4,2,4); + n4 = F_n(pos4(:,:,:,1), pos4(:,:,:,2), pos4(:,:,:,3)); + gradn4 = cat(4, F_gradx(pos4(:,:,:,1), pos4(:,:,:,2), pos4(:,:,:,3)), ... + F_grady(pos4(:,:,:,1), pos4(:,:,:,2), pos4(:,:,:,3)), ... + F_gradz(pos4(:,:,:,1), pos4(:,:,:,2), pos4(:,:,:,3))); + t4 = dir4; + tdotgrad4 = sum(t4 .* gradn4, 4); + dt4 = (gradn4 - tdotgrad4 .* t4) ./ n4; + k4_pos = t4; + k4_dir = dt4; + + % Update + pos = pos + (z_step/6) * (k1_pos + 2*k2_pos + 2*k3_pos + k4_pos); + dir = dir + (z_step/6) * (k1_dir + 2*k2_dir + 2*k3_dir + k4_dir); + dir = dir ./ vecnorm(dir,2,4); % normalize + + if mod(counter,10) == 0 + fprintf("RK4 Sharma step %d / %d\n", counter, num_steps); + end +end + +% Store back into lightfield +lightfield.position.x = pos(:,:,:,1); +lightfield.position.y = pos(:,:,:,2); +lightfield.position.z = pos(:,:,:,3); +lightfield.direction.dx = dir(:,:,:,1); +lightfield.direction.dy = dir(:,:,:,2); +lightfield.direction.dz = dir(:,:,:,3); + +end diff --git a/Matlab App v5/function_trace_through_density_grad.asv b/Matlab App v5/function_trace_through_density_grad.asv new file mode 100644 index 0000000..e88e61b --- /dev/null +++ b/Matlab App v5/function_trace_through_density_grad.asv @@ -0,0 +1,128 @@ +function [lightfield] = function_trace_through_density_grad(lightfield, start_z, density_object) + +% x = linspace(-20*1024/0.6562/2,20*1024/0.6562/2,size(rho,2)); +% y = linspace(-20*1024/0.6562/2,20*1024/0.6562/2,size(rho,1)); +% z = linspace(end_z,start_z,size(rho,3)); +%z = linspace(990,1000,size(rho,3)); +%z_step = (z(1)-z(2)); + +%Initialize variables +x = density_object.rho.x*1000; +y = density_object.rho.y*1000; +z = (density_object.rho.z+start_z)*1000; +z_step = -density_object.step_size; +num_step = (z(end)-z(1))/z_step; +rho = density_object.rho.val; + + +rho = 10*rho; +%gladstone_dale_air = 0.225e-3; % kg/m^3 + +%Calculate n field +n = (app.density_object.fluid_glasstone*rho+1); + +%Interpolate based off grid or no grid +if density_object.grid == "Gridded Data" + if min(size(x))== 1 + [x,y,z] = ndgrid(x,y,z); + end + F = griddedInterpolant(X,Y,Z,n,lower(density_object.interp_method)); + +else + F = scatteredInterpolant(X(:),Y(:),Z(:),n(:),lower(density_object.interp_method)); +end + +%for counter = 1:size(z, 2) +for counter = 1:num_step; + tic + if ~exist("lightfield.n.original", 'var') + lightfield.n.original = 1.0003 * ones(size(lightfield.position.x)); %Refractive index of air is 1.0003 + else + lightfield.n.original = lightfield.n.inquiry; + end + + % RK4 Step 1 + k1x = lightfield.direction.dx ./ lightfield.direction.dz; + k1y = lightfield.direction.dy ./ lightfield.direction.dz; + k1z = 1; % dz_step assumed constant + + % Inquiry position for k2 + inquiry.position.x = lightfield.position.x + 0.5 * z_step * k1x; + inquiry.position.y = lightfield.position.y + 0.5 * z_step * k1y; + inquiry.position.z = lightfield.position.z + 0.5 * z_step * k1z; + + % lightfield.n.inquiry = interp3(y, x, z, n, ... + % inquiry.position.y, ... + % inquiry.position.x, ... + % inquiry.position.z, "linear", nan); + % lightfield.n.inquiry(isnan(lightfield.n.inquiry)) = lightfield.n.original(isnan(lightfield.n.inquiry)); + lightfield.n.inquiry = F(inquiry.position.y,inquiry.position.x,inquiry.position.z); + lightfield.n.inquiry(isnan(lightfield.n.inquiry)) = lightfield.n.original(isnan(lightfield.n.inquiry)); + + k2x = (lightfield.direction.dx .* lightfield.n.original ./ lightfield.n.inquiry) ./ lightfield.direction.dz; + k2y = (lightfield.direction.dy .* lightfield.n.original ./ lightfield.n.inquiry) ./ lightfield.direction.dz; + k2z = 1; + + % Inquiry position for k3 + inquiry.position.x = lightfield.position.x + 0.5 * z_step * k2x; + inquiry.position.y = lightfield.position.y + 0.5 * z_step * k2y; + inquiry.position.z = lightfield.position.z + 0.5 * z_step * k2z; + + % lightfield.n.inquiry = interp3(y, x, z, n, ... + % inquiry.position.y, ... + % inquiry.position.x, ... + % inquiry.position.z, "linear", nan); + % lightfield.n.inquiry(isnan(lightfield.n.inquiry)) = lightfield.n.original(isnan(lightfield.n.inquiry)); + + lightfield.n.inquiry = F(inquiry.position.y,inquiry.position.x,inquiry.position.z); + lightfield.n.inquiry(isnan(lightfield.n.inquiry)) = lightfield.n.original(isnan(lightfield.n.inquiry)); + + k3x = (lightfield.direction.dx .* lightfield.n.original ./ lightfield.n.inquiry) ./ lightfield.direction.dz; + k3y = (lightfield.direction.dy .* lightfield.n.original ./ lightfield.n.inquiry) ./ lightfield.direction.dz; + k3z = 1; + + % Inquiry position for k4 + inquiry.position.x = lightfield.position.x + z_step * k3x; + inquiry.position.y = lightfield.position.y + z_step * k3y; + inquiry.position.z = lightfield.position.z + z_step * k3z; + + % lightfield.n.inquiry = interp3(y, x, z, n, ... + % inquiry.position.y, ... + % inquiry.position.x, ... + % inquiry.position.z, "linear", nan); + % lightfield.n.inquiry(isnan(lightfield.n.inquiry)) = lightfield.n.original(isnan(lightfield.n.inquiry));\ + lightfield.n.inquiry = F(inquiry.position.y,inquiry.position.x,inquiry.position.z); + lightfield.n.inquiry(isnan(lightfield.n.inquiry)) = lightfield.n.original(isnan(lightfield.n.inquiry)); + + k4x = (lightfield.direction.dx .* lightfield.n.original ./ lightfield.n.inquiry) ./ lightfield.direction.dz; + k4y = (lightfield.direction.dy .* lightfield.n.original ./ lightfield.n.inquiry) ./ lightfield.direction.dz; + k4z = 1; + + % Combine RK4 steps for positions + lightfield.position.x = lightfield.position.x + (z_step / 6) * (k1x + 2*k2x + 2*k3x + k4x); + lightfield.position.y = lightfield.position.y + (z_step / 6) * (k1y + 2*k2y + 2*k3y + k4y); + lightfield.position.z = lightfield.position.z + (z_step / 6) * (k1z + 2*k2z + 2*k3z + k4z); + + % Update direction using Snell's law + lightfield.direction.dx = lightfield.direction.dx .* lightfield.n.original ./ lightfield.n.inquiry; + lightfield.direction.dy = lightfield.direction.dy .* lightfield.n.original ./ lightfield.n.inquiry; + lightfield.direction.dz = lightfield.direction.dz; % Adjust if dz_step changes with refractive index + + fprintf('For Loop Counter = %d ', counter); + toc +end %End of rk4 step preocess + +clearvars inquiry; + +% Exiting the density field +lightfield.n.original = lightfield.n.inquiry; +lightfield.n.inquiry = 1.003*ones(size(lightfield.position.x)); +% Use Snell's law to update the direction +lightfield.direction.dx = lightfield.direction.dx .* lightfield.n.original ./ lightfield.n.inquiry; +lightfield.direction.dy = lightfield.direction.dy .* lightfield.n.original ./ lightfield.n.inquiry; +% Propagate rays by a step +lightfield.position.x = lightfield.position.x + lightfield.direction.dx ./ lightfield.direction.dz * z_step; +lightfield.position.y = lightfield.position.y + lightfield.direction.dy ./ lightfield.direction.dz * z_step; +lightfield.position.z = lightfield.position.z + z_step; + +end \ No newline at end of file diff --git a/Matlab App v5/function_trace_through_density_grad.m b/Matlab App v5/function_trace_through_density_grad.m new file mode 100644 index 0000000..89c9af6 --- /dev/null +++ b/Matlab App v5/function_trace_through_density_grad.m @@ -0,0 +1,136 @@ +function [lightfield] = function_trace_through_density_grad(lightfield, start_z, density_object) +tic +% x = linspace(-20*1024/0.6562/2,20*1024/0.6562/2,size(rho,2)); +% y = linspace(-20*1024/0.6562/2,20*1024/0.6562/2,size(rho,1)); +% z = linspace(end_z,start_z,size(rho,3)); +%z = linspace(990,1000,size(rho,3)); +%z_step = (z(1)-z(2)); + +%Initialize variables +x = density_object.rho.x*1000; +y = density_object.rho.y*1000; +z = (density_object.rho.z+start_z)*1000; +z_step = -density_object.step_size; +num_step = abs((z(end)-z(1))/z_step); +rho = density_object.rho.rho; + + +%rho = 10*rho; +%gladstone_dale_air = 0.225e-3; % kg/m^3 + +%Calculate n field +n = (density_object.fluid_glasstone*rho+1); + +%Interpolate based off grid or no grid +if density_object.grid == "Gridded Data" + if min(size(x))== 1 + [x,y,z] = ndgrid(x,y,z); + end + F = griddedInterpolant(x,y,z,n,lower(density_object.interp_method)); +else + F = scatteredInterpolant(x(:),y(:),z(:),n(:),lower(density_object.interp_method)); +end + +lightfield.n.original = 1.0003 * ones(size(lightfield.position.x)); +lightfield.n.inquiry = lightfield.n.original; + +%for counter = 1:size(z, 2) +for counter = 1:num_step; + tic + % if ~exist("lightfield.n.original", 'var') + % lightfield.n.original = 1.0003 * ones(size(lightfield.position.x)); %Refractive index of air is 1.0003 + % else + % lightfield.n.original = lightfield.n.inquiry; + % end + + % RK4 Step 1 + k1x = lightfield.direction.dx ./ lightfield.direction.dz; + k1y = lightfield.direction.dy ./ lightfield.direction.dz; + k1z = 1; % dz_step assumed constant + + % Inquiry position for k2 + inquiry.position.x = lightfield.position.x + 0.5 * z_step * k1x; + inquiry.position.y = lightfield.position.y + 0.5 * z_step * k1y; + inquiry.position.z = lightfield.position.z + 0.5 * z_step * k1z; + + % lightfield.n.inquiry = interp3(y, x, z, n, ... + % inquiry.position.y, ... + % inquiry.position.x, ... + % inquiry.position.z, "linear", nan); + % lightfield.n.inquiry(isnan(lightfield.n.inquiry)) = lightfield.n.original(isnan(lightfield.n.inquiry)); + lightfield.n.inquiry = F(inquiry.position.x,inquiry.position.y,inquiry.position.z); + lightfield.n.inquiry(isnan(lightfield.n.inquiry)) = lightfield.n.original(isnan(lightfield.n.inquiry)); + + k2x = (lightfield.direction.dx .* lightfield.n.original ./ lightfield.n.inquiry) ./ lightfield.direction.dz; + k2y = (lightfield.direction.dy .* lightfield.n.original ./ lightfield.n.inquiry) ./ lightfield.direction.dz; + k2z = 1; + + % Inquiry position for k3 + inquiry.position.x = lightfield.position.x + 0.5 * z_step * k2x; + inquiry.position.y = lightfield.position.y + 0.5 * z_step * k2y; + inquiry.position.z = lightfield.position.z + 0.5 * z_step * k2z; + + % lightfield.n.inquiry = interp3(y, x, z, n, ... + % inquiry.position.y, ... + % inquiry.position.x, ... + % inquiry.position.z, "linear", nan); + % lightfield.n.inquiry(isnan(lightfield.n.inquiry)) = lightfield.n.original(isnan(lightfield.n.inquiry)); + + lightfield.n.inquiry = F(inquiry.position.x,inquiry.position.y,inquiry.position.z); + lightfield.n.inquiry(isnan(lightfield.n.inquiry)) = lightfield.n.original(isnan(lightfield.n.inquiry)); + + k3x = (lightfield.direction.dx .* lightfield.n.original ./ lightfield.n.inquiry) ./ lightfield.direction.dz; + k3y = (lightfield.direction.dy .* lightfield.n.original ./ lightfield.n.inquiry) ./ lightfield.direction.dz; + k3z = 1; + + % Inquiry position for k4 + inquiry.position.x = lightfield.position.x + z_step * k3x; + inquiry.position.y = lightfield.position.y + z_step * k3y; + inquiry.position.z = lightfield.position.z + z_step * k3z; + + % lightfield.n.inquiry = interp3(y, x, z, n, ... + % inquiry.position.y, ... + % inquiry.position.x, ... + % inquiry.position.z, "linear", nan); + % lightfield.n.inquiry(isnan(lightfield.n.inquiry)) = lightfield.n.original(isnan(lightfield.n.inquiry));\ + lightfield.n.inquiry = F(inquiry.position.x,inquiry.position.y,inquiry.position.z); + lightfield.n.inquiry(isnan(lightfield.n.inquiry)) = lightfield.n.original(isnan(lightfield.n.inquiry)); + + k4x = (lightfield.direction.dx .* lightfield.n.original ./ lightfield.n.inquiry) ./ lightfield.direction.dz; + k4y = (lightfield.direction.dy .* lightfield.n.original ./ lightfield.n.inquiry) ./ lightfield.direction.dz; + k4z = 1; + + % Combine RK4 steps for positions + lightfield.position.x = lightfield.position.x + (z_step / 6) * (k1x + 2*k2x + 2*k3x + k4x); + lightfield.position.y = lightfield.position.y + (z_step / 6) * (k1y + 2*k2y + 2*k3y + k4y); + lightfield.position.z = lightfield.position.z + (z_step / 6) * (k1z + 2*k2z + 2*k3z + k4z); + + % Update direction using Snell's law + lightfield.direction.dx = lightfield.direction.dx .* lightfield.n.original ./ lightfield.n.inquiry; + lightfield.direction.dy = lightfield.direction.dy .* lightfield.n.original ./ lightfield.n.inquiry; + lightfield.direction.dz = lightfield.direction.dz .* lightfield.n.original ./ lightfield.n.inquiry; + + %Normalize Components + % ray_norm = sqrt(lightfield.direction.dx.^2+lightfield.direction.dy.^2+lightfield.direction.dz.^2); + % lightfield.direction.dx = lightfield.direction.dx./ray_norm; + % lightfield.direction.dy = lightfield.direction.dy./ray_norm; + % lightfield.direction.dz = lightfield.direction.dz./ray_norm; + + fprintf('For Loop Counter = %d ', counter); + toc +end %End of rk4 step preocess + +clearvars inquiry; + +% Exiting the density field +lightfield.n.original = lightfield.n.inquiry; +lightfield.n.inquiry = 1.003*ones(size(lightfield.position.x)); +% Use Snell's law to update the direction +lightfield.direction.dx = lightfield.direction.dx .* lightfield.n.original ./ lightfield.n.inquiry; +lightfield.direction.dy = lightfield.direction.dy .* lightfield.n.original ./ lightfield.n.inquiry; +% Propagate rays by a step +lightfield.position.x = lightfield.position.x + lightfield.direction.dx ./ lightfield.direction.dz * z_step; +lightfield.position.y = lightfield.position.y + lightfield.direction.dy ./ lightfield.direction.dz * z_step; +lightfield.position.z = lightfield.position.z + z_step; +toc +end \ No newline at end of file diff --git a/Matlab App v5/function_trace_through_density_grad_rk4_sharma_gpu_v3.m b/Matlab App v5/function_trace_through_density_grad_rk4_sharma_gpu_v3.m new file mode 100644 index 0000000..c06433f --- /dev/null +++ b/Matlab App v5/function_trace_through_density_grad_rk4_sharma_gpu_v3.m @@ -0,0 +1,134 @@ +function [lightfield] = function_trace_through_density_grad_rk4_sharma_gpu_v3(lightfield, start_z, density_object) +% GPU RK4 ray tracer using finite-difference gradients and interp3 +tic +interp_method = density_object.interp_method; +step_size = density_object.step_size; % [um] +delta = -step_size; % finite difference step + +x = density_object.rho.x * 1000; % mm → um +y = density_object.rho.y * 1000; +z = (density_object.rho.z+start_z) * 1000; +rho = permute(density_object.rho.rho, [2,1,3]); +n = density_object.fluid_glasstone * rho + 1; + +% Move to gpu +[x, y, z] = deal(gpuArray(x), gpuArray(y), gpuArray(z)); +n_grid = gpuArray(n); + + +x_min = min(x); x_max = max(x); +y_min = min(y); y_max = max(y); +z_min = min(z); z_max = max(z); + +% Ray Initialization +pos = gpuArray([lightfield.position.x, lightfield.position.y, lightfield.position.z]); % [um] +dir = gpuArray([lightfield.direction.dx, lightfield.direction.dy, lightfield.direction.dz]); + +num_rays = size(pos,1); +is_active = true(num_rays,1); +prev_active_count = num_rays + 1; + +counter = 1; +max_iter = 10e7; +chunk_size = density_object.partition; +while true || counter < max_iter + idx = find(is_active); + if isempty(idx); break; end + + + for c = 1:ceil(length(idx)/chunk_size) + + % Get chunk indices + chunk_start = (c-1)*chunk_size + 1; + chunk_end = min(c*chunk_size, length(idx)); + chunk_idx = idx(chunk_start:chunk_end); + + % Stage A + [n0, gradn0] = interpolate_n_and_gradient_gpu(x, y, z, n_grid, pos(chunk_idx,:), delta, interp_method); + delta_t = step_size ./ n0; + Tn = dir(chunk_idx,:) .* n0; + A = gradn0 .* n0 .* delta_t; + + % Stage B + %pos1 = pos; + pos1(chunk_idx,:) = pos(chunk_idx,:) + (0.5 * Tn + 1/8 * A) .* delta_t; + [n1, gradn1] = interpolate_n_and_gradient_gpu(x, y, z, n_grid, pos1(chunk_idx,:), delta, interp_method); + clearvars pos1 + B = gradn1 .* n1 .* delta_t; + + % Stage C + %pos2 = pos; + pos2(chunk_idx,:) = pos(chunk_idx,:) + (Tn + 0.5 * B) .* delta_t; + [n2, gradn2] = interpolate_n_and_gradient_gpu(x, y, z, n_grid, pos2(chunk_idx,:), delta, interp_method); + clearvars pos2 + C = gradn2 .* n2 .* delta_t; + + % Final direction update + Tn_new = Tn + (1/6) * (A + 4*B + C); + %temp_pos = pos; + temp_pos(chunk_idx,:) = pos(chunk_idx,:) + (Tn + 1/6 * (A + 2*B)) .* delta_t; + + % Final direction normalization + n_new = interp3(x, y, z, n_grid, temp_pos(chunk_idx,1), temp_pos(chunk_idx,2), temp_pos(chunk_idx,3), interp_method, 1.0); + dir(chunk_idx,:) = normalize_vector_gpu(Tn_new ./ n_new); + + % Deactivate invalid rays + invalid = temp_pos(chunk_idx,1) < x_min | temp_pos(chunk_idx,1) > x_max | ... + temp_pos(chunk_idx,2) < y_min | temp_pos(chunk_idx,2) > y_max | ... + temp_pos(chunk_idx,3) < z_min | temp_pos(chunk_idx,3) > z_max; + + nan_mask = any(isnan(temp_pos(chunk_idx,:)), 2) | ... + any(isnan(dir(chunk_idx,:)), 2) | ... + isnan(n0) | n0 <= 0; + + is_active(chunk_idx(invalid | nan_mask)) = false; + + %Position update + pos(chunk_idx,:) = temp_pos(chunk_idx,:); + clearvars temp_pos + curr_active_count = sum(is_active); + if curr_active_count ~= prev_active_count + fprintf('\nNumber of lightrays remaining = %d', curr_active_count); + prev_active_count = curr_active_count; + end + end + counter = counter + 1; + if counter == max_iter + fprintf('\ncounter threshold met\n') + break; + end +end +fprintf('\nLightrays passed through density gradient in %d total steps\n',counter) + +% Output to CPU +pos = gather(pos); +dir = gather(dir); + +lightfield.position.x = pos(:,1); +lightfield.position.y = pos(:,2); +lightfield.position.z = pos(:,3); +lightfield.direction.dx = dir(:,1); +lightfield.direction.dy = dir(:,2); +lightfield.direction.dz = dir(:,3); + +toc +end + +function [n_val, grad_n] = interpolate_n_and_gradient_gpu(x, y, z, n_grid, pos, delta, interp_method) +X = pos(:,1); Y = pos(:,2); Z = pos(:,3); + +n_val = interp3(x, y, z, n_grid, X, Y, Z, interp_method, 1.0); + +grad_n = zeros(size(pos), 'like', pos); +grad_n(:,1) = (interp3(x, y, z, n_grid, X+delta, Y, Z, interp_method, 1.0) - ... + interp3(x, y, z, n_grid, X-delta, Y, Z, interp_method, 1.0)) ./ (2*delta); +grad_n(:,2) = (interp3(x, y, z, n_grid, X, Y+delta, Z, interp_method, 1.0) - ... + interp3(x, y, z, n_grid, X, Y-delta, Z, interp_method, 1.0)) ./ (2*delta); +grad_n(:,3) = (interp3(x, y, z, n_grid, X, Y, Z+delta, interp_method, 1.0) - ... + interp3(x, y, z, n_grid, X, Y, Z-delta, interp_method, 1.0)) ./ (2*delta); +end + +function norm_vec = normalize_vector_gpu(v) +mag = sqrt(sum(v.^2, 2)); +norm_vec = v ./ mag; +end \ No newline at end of file diff --git a/Matlab App v5/function_trace_through_density_grad_rk4_sharma_nongrid.m b/Matlab App v5/function_trace_through_density_grad_rk4_sharma_nongrid.m new file mode 100644 index 0000000..2184186 --- /dev/null +++ b/Matlab App v5/function_trace_through_density_grad_rk4_sharma_nongrid.m @@ -0,0 +1,107 @@ +function [lightfield] = function_trace_through_density_grad_rk4_sharma_nongrid(lightfield, start_z, density_object) + +% INPUTS: +% lightfield: structure containing initial ray positions and directions +% start_z: starting z-plane [mm] +% density_object: structure with refractive index interpolant (Fn) and grid info + +% OUTPUT: +% lightfield: structure with updated ray positions and directions + +tic + +% Setup +step_size = -density_object.step_size; % [um] +delta = -(step_size); % [um] finite difference step for gradient estimation +x = density_object.rho.x * 1000; % Convert mm to um +y = density_object.rho.y * 1000; +z = (density_object.rho.z+start_z) * 1000; +rho = permute(density_object.rho.rho, [2,1,3]) +n = density_object.fluid_glasstone * rho + 1; +x_min = min(x); +x_max = max(x); +y_min = min(y); +y_max = max(y); + +Fn = scatteredInterpolant({x, y, z}, n, lower(density_object.interp_method)); +%Fn.ExtrapolationMethod = 'nearest'; +z_min = min(z); +z_max = max(z); + +% Ray position and direction initialization +pos = [lightfield.position.x, lightfield.position.y, lightfield.position.z]; % [um] +dir = [lightfield.direction.dx, lightfield.direction.dy, lightfield.direction.dz]; % unit vectors + +num_rays = size(pos,1); +is_active = true(num_rays,1); +prev_active_count = num_rays + 1; +while sum(is_active) > 0 + idx = find(is_active); + if isempty(idx); break; end + + n0 = Fn(pos(idx,1), pos(idx,2), pos(idx,3)); + gradn0 = finite_gradient(Fn, pos(idx,:), delta); + delta_t = step_size; + Tn = dir(idx,:) .* n0; + %Calculate A + A = gradn0 .* n0 .* step_size; + + %Update Position and Calculate B + pos1 = pos(idx,:) + (0.5 * Tn + 1/8 * A) .* delta_t; + n1 = Fn(pos1(:,1), pos1(:,2), pos1(:,3)); + gradn1 = finite_gradient(Fn, pos1, delta); + B = gradn1 .* n1 .* delta_t; + + %Update Position and Calculate C + pos2 = pos(idx,:) + (Tn + 0.5 * B) .* delta_t; + n2 = Fn(pos2(:,1), pos2(:,2), pos2(:,3)); + gradn2 = finite_gradient(Fn, pos2, delta); + C = gradn2 .* n2 .* delta_t; + + %Clalculate new positions and new directions + Tn_new = Tn + (1/6) * (A + 4*B + C); + temp_pos(idx,1) = pos(idx,1) + (Tn(:,1) + 1/6 * (A(:,1) + 2*B(:,1))) .* delta_t(:); + temp_pos(idx,2) = pos(idx,2) + (Tn(:,2) + 1/6 * (A(:,2) + 2*B(:,2))) .* delta_t(:); + temp_pos(idx,3) = pos(idx,3) + (Tn(:,3) + 1/6 * (A(:,3) + 2*B(:,3))) .* delta_t(:); + dir(idx,:) = normalize_vector(Tn_new ./ n0); + + % Deactivate rays that leave volume or encounter NaN + invalid = temp_pos(idx,1) < x_min | temp_pos(idx,1) > x_max | temp_pos(idx,2) < y_min | temp_pos(idx,2) > y_max; + exited = temp_pos(idx,3) > z_max | temp_pos(idx,3) < z_min; + nan_mask = any(isnan(temp_pos(idx,:)), 2) | any(isnan(dir(idx,:)), 2) | isnan(n0) | n0 <= 0; + + % Mark these rays as inactive + is_active(idx(invalid | nan_mask | exited)) = false; + dir(invalid,:) = NaN; + pos(invalid,:) = NaN; + pos(idx,:) = temp_pos(idx,:); + curr_active_count = sum(is_active); + if curr_active_count <= prev_active_count-100 + fprintf('\n Number of lightrays remaining = %d', curr_active_count); + prev_active_count = curr_active_count; + end +end + +% Update final lightfield +lightfield.position.x = pos(:,1); +lightfield.position.y = pos(:,2); +lightfield.position.z = pos(:,3); +lightfield.direction.dx = dir(:,1); +lightfield.direction.dy = dir(:,2); +lightfield.direction.dz = dir(:,3); + +toc +end + +function grad_n = finite_gradient(Fn, pos, delta) +N = size(pos,1); +grad_n = zeros(N,3); +grad_n(:,1) = (Fn(pos(:,1)+delta, pos(:,2), pos(:,3)) - Fn(pos(:,1)-delta, pos(:,2), pos(:,3))) ./ (2*delta); +grad_n(:,2) = (Fn(pos(:,1), pos(:,2)+delta, pos(:,3)) - Fn(pos(:,1), pos(:,2)-delta, pos(:,3))) ./ (2*delta); +grad_n(:,3) = (Fn(pos(:,1), pos(:,2), pos(:,3)+delta) - Fn(pos(:,1), pos(:,2), pos(:,3)-delta)) ./ (2*delta); +end + +function norm_vec = normalize_vector(v) +mag = sqrt(sum(v.^2,2)); +norm_vec = v ./ mag; +end diff --git a/Matlab App v5/function_trace_through_density_grad_rk4_sharma_while_loop.m b/Matlab App v5/function_trace_through_density_grad_rk4_sharma_while_loop.m new file mode 100644 index 0000000..7100d56 --- /dev/null +++ b/Matlab App v5/function_trace_through_density_grad_rk4_sharma_while_loop.m @@ -0,0 +1,107 @@ +function [lightfield] = function_trace_through_density_grad_rk4_sharma_while_loop(lightfield, start_z, density_object) + +% INPUTS: +% lightfield: structure containing initial ray positions and directions +% start_z: starting z-plane [mm] +% density_object: structure with refractive index interpolant (Fn) and grid info + +% OUTPUT: +% lightfield: structure with updated ray positions and directions + +tic + +% Setup +step_size = -density_object.step_size; % [um] +delta = -(step_size); % [um] finite difference step for gradient estimation +x = density_object.rho.x * 1000; % Convert mm to um +y = density_object.rho.y * 1000; +z = (density_object.rho.z+start_z) * 1000; +rho = permute(density_object.rho.rho, [2,1,3]) +n = density_object.fluid_glasstone * rho + 1; +x_min = min(x); +x_max = max(x); +y_min = min(y); +y_max = max(y); + +Fn = griddedInterpolant({x, y, z}, n, lower(density_object.interp_method)); +%Fn.ExtrapolationMethod = 'nearest'; +z_min = min(z); +z_max = max(z); + +% Ray position and direction initialization +pos = [lightfield.position.x, lightfield.position.y, lightfield.position.z]; % [um] +dir = [lightfield.direction.dx, lightfield.direction.dy, lightfield.direction.dz]; % unit vectors + +num_rays = size(pos,1); +is_active = true(num_rays,1); +prev_active_count = num_rays + 1; +while sum(is_active) > 0 + idx = find(is_active); + if isempty(idx); break; end + + n0 = Fn(pos(idx,1), pos(idx,2), pos(idx,3)); + gradn0 = finite_gradient(Fn, pos(idx,:), delta); + delta_t = step_size; + Tn = dir(idx,:) .* n0; + %Calculate A + A = gradn0 .* n0 .* step_size; + + %Update Position and Calculate B + pos1 = pos(idx,:) + (0.5 * Tn + 1/8 * A) .* delta_t; + n1 = Fn(pos1(:,1), pos1(:,2), pos1(:,3)); + gradn1 = finite_gradient(Fn, pos1, delta); + B = gradn1 .* n1 .* delta_t; + + %Update Position and Calculate C + pos2 = pos(idx,:) + (Tn + 0.5 * B) .* delta_t; + n2 = Fn(pos2(:,1), pos2(:,2), pos2(:,3)); + gradn2 = finite_gradient(Fn, pos2, delta); + C = gradn2 .* n2 .* delta_t; + + %Clalculate new positions and new directions + Tn_new = Tn + (1/6) * (A + 4*B + C); + temp_pos(idx,1) = pos(idx,1) + (Tn(:,1) + 1/6 * (A(:,1) + 2*B(:,1))) .* delta_t(:); + temp_pos(idx,2) = pos(idx,2) + (Tn(:,2) + 1/6 * (A(:,2) + 2*B(:,2))) .* delta_t(:); + temp_pos(idx,3) = pos(idx,3) + (Tn(:,3) + 1/6 * (A(:,3) + 2*B(:,3))) .* delta_t(:); + dir(idx,:) = normalize_vector(Tn_new ./ n0); + + % Deactivate rays that leave volume or encounter NaN + invalid = temp_pos(idx,1) < x_min | temp_pos(idx,1) > x_max | temp_pos(idx,2) < y_min | temp_pos(idx,2) > y_max; + exited = temp_pos(idx,3) > z_max | temp_pos(idx,3) < z_min; + nan_mask = any(isnan(temp_pos(idx,:)), 2) | any(isnan(dir(idx,:)), 2) | isnan(n0) | n0 <= 0; + + % Mark these rays as inactive + is_active(idx(invalid | nan_mask | exited)) = false; + dir(invalid,:) = NaN; + pos(invalid,:) = NaN; + pos(idx,:) = temp_pos(idx,:); + curr_active_count = sum(is_active); + if curr_active_count <= prev_active_count-100 + fprintf('\n Number of lightrays remaining = %d', curr_active_count); + prev_active_count = curr_active_count; + end +end + +% Update final lightfield +lightfield.position.x = pos(:,1); +lightfield.position.y = pos(:,2); +lightfield.position.z = pos(:,3); +lightfield.direction.dx = dir(:,1); +lightfield.direction.dy = dir(:,2); +lightfield.direction.dz = dir(:,3); + +toc +end + +function grad_n = finite_gradient(Fn, pos, delta) +N = size(pos,1); +grad_n = zeros(N,3); +grad_n(:,1) = (Fn(pos(:,1)+delta, pos(:,2), pos(:,3)) - Fn(pos(:,1)-delta, pos(:,2), pos(:,3))) ./ (2*delta); +grad_n(:,2) = (Fn(pos(:,1), pos(:,2)+delta, pos(:,3)) - Fn(pos(:,1), pos(:,2)-delta, pos(:,3))) ./ (2*delta); +grad_n(:,3) = (Fn(pos(:,1), pos(:,2), pos(:,3)+delta) - Fn(pos(:,1), pos(:,2), pos(:,3)-delta)) ./ (2*delta); +end + +function norm_vec = normalize_vector(v) +mag = sqrt(sum(v.^2,2)); +norm_vec = v ./ mag; +end diff --git a/Matlab App v5/truncate_gaussian.m b/Matlab App v5/truncate_gaussian.m new file mode 100644 index 0000000..a1b4fdb --- /dev/null +++ b/Matlab App v5/truncate_gaussian.m @@ -0,0 +1,9 @@ +% Truncated Gaussian function +function val = truncate_gaussian(mu, sigma, lower, upper) + while true + val = normrnd(mu, sigma); % Generate a normal random value + if val >= lower && val <= upper + break; % Accept the value if within range + end + end +end \ No newline at end of file