Switch to side-by-side view

--- a
+++ b/Update_frontend/task_upgrade.m
@@ -0,0 +1,104 @@
+%task 2 ___ Update 1.0
+%%%a front end script %%%%%%%%%%%%%%%%%%
+%% the contour can be visualized in this script in a more mathematically efficient manner
+%% the images will be saved in a directory after plot 
+%% this can be loaded for the next step processing 
+%% this script is designed for all knds of scenario which may arrise according to 3D image processing
+%%
+%%%%%%Task 2  a differennt approach <more mathematical>%%%%%%%%%%%%%%%%%%%%%%%%
+%=========================================================================
+
+clear all;
+close all;
+clc; 
+
+%input the params from the user 
+
+prompt = {'Enter Xus (cm):','Enter Yus (cm):','Enter sx (cm):'...
+    'Enter sy (cm):','Enter FOV (Degrees):'...
+    'Enter Angle per Frame (Degrees):','Enter R (cm):','Enter Yp (cm):'};
+dlg_title = 'Input User Parameters';
+num_lines = 1;
+def = {'10','10','0.1','0.1','120','2','2','6'};
+answer = inputdlg(prompt,dlg_title,num_lines,def);
+Xus = str2double(answer(1));Yus = str2double(answer(2));
+sx = str2double(answer(3));sy = str2double(answer(4));
+FOV = str2double(answer(5));APF = str2double(answer(6));
+R = str2double(answer(7));Yp = str2double(answer(8));
+
+%define figures
+
+h = figure;
+image_index = 1;
+
+%make folder 
+
+mkdir('Projection_Images');
+cd('Projection_Images');
+
+for angle = -FOV/2 : APF : FOV/2
+    %generate the parametric array 
+    t = linspace(0,2*pi,1000);
+    
+    %convert the angle to radians
+    alpha = angle*pi/180;
+    
+    %calculate A
+    A = 1 + (tan(alpha))^2;
+    
+    if (R^2 - Yp^2 +  Yp^2/A < 0) 
+        continue;
+    end
+   
+    %Parametric eqautions of the intersection contours    
+    x = sqrt(R^2 - Yp^2 +  Yp^2/A)*cos(t);
+    y = Yp/A + sqrt(R^2 - Yp^2 +  Yp^2/A)/sqrt(A)*sin(t);
+    z = y*tan(alpha);
+
+    %Get the computed points in to a matrix
+    points = [x;y;z];
+    
+    %plot the intersection contours
+    h = plot3(points(1,:),points(2,:),points(3,:));hold on;
+    title('Intersection Contours');axis tight;
+    
+    %compute the rotational matrix 
+    Rx = rotx(-angle);
+    
+    %flatten the inclined contour
+    points = Rx*points;
+    
+    %extract the X,Y coordinates from the flattened contour
+    X = points(1,:);
+    Y = points(2,:);
+    
+    %apply a shift to X coordinates
+    X = X + Xus/2;
+    
+    %create an image pad
+    image_pad = zeros(Xus/sx,Yus/sy);
+    Xn = roundn(X,-1)*10;
+    Yn = roundn(Y,-1)*10;
+    
+    %Sketch the boundary of the contour on the image pad
+    for i = 1 : numel(Xn)
+        image_pad(Xn(i),Yn(i)) = 255;
+    end
+    
+    %convert the image pad matrix to uni8
+    im = mat2gray(image_pad);
+    
+    %fill the contour interior to complete the projection image
+    im = imfill(im,'holes');
+    
+    %save the image
+    filename = 'p%d.bmp';
+    filename = sprintf(filename,image_index);
+    image_index = image_index + 1;
+    imwrite(im,filename);
+
+end
+
+%save the 
+saveas(h,'Intersection_contours.fig');
+