propagation (ImageEM & ImageQLSI classes method)
Applies a variation of the microscope focus on the images.
propagation
Apply a variation of the microscope focus on the images.
Synthax
% general form
obj.propagation(z)
objList.propagation(z)
obj2 = obj.propagation(z);
% examples
obj.propagation(-1e-6)
obj2 = obj.propagation(0.2e-6);
Description
obj.propagation(z) computes the new T and OPD images when a variation z of the focus of the microscope is numerically applied.
Objects vectors can also be used with this method. The transformation applies then to all the objects of the vector.
If an output obj2 is used, obj2 = obj.propagation(z), then the object is not modified, and is duplicated.
Example
Numerical refocusing
Code to numerically modify the focus of the image
%% Code that imports one experimental image (of long Geobacillus bacteria)
%% and creates a series of images at different focuses from this single image
ME = Medium('water','glass');
OB = Objective(100,0.7,'Olympus');
MI = Microscope(OB,200,'sC8-944','PhaseLIVE');
lambda = 531e-9;
IL = Illumination(lambda,ME);
%% IMPORT THE IMAGES
folder = 'GeobLongFilaments';
Im = importItfRef(folder,MI);
%% INTERFEROGRAM PROCESSING
IM = Im.QLSIprocess(IL);
%% list of defocus values in µm
zList = -20:10;
No = length(zList);
IMlist = ImageQLSI(No);
for io = 1:No
IMlist(io) = copy(IM(1));
IMlist(io) = IMlist(io).propagation(zList(io)*1e-6);
IMlist(io).comment = [num2str(zList(io)) ' µm'];
end
% select the area supposed to correspond to a zero wavfront value
IMlist.level0(Center="Manual", Size="Manual");
% crop the image
IMlist.crop(Size=2000);
% build a movie from the series of images:
IMlist.makeMoviedx('/Users/perseus/Documents/im.avi', ...
persp=0,theta=0, phi=0, ...
zrange = [-80, 100])