Skip to main content

Ptychography (1) Basic Concept

Coherent Diffractive Imaging

[1]
Also known as lensless imaging, is based on the retrieval of a complex sample structure (phase) from a measurement of scattered radiation intensity from a coherently illuminated sample out of the imaging plane.

[2]
Coherent diffractive imaging (CDI) is an alternative technique that promises, in theory, to allow imaging of specimens at a resolution limited only by the wavelength of the illuminating radiation. CDI replaces the imaging optics and their associated imperfections, with a solution to an inverse problem (phase problem). The inversion step involves determining the complex exit-surface wave function from the recorded intensity, which in the case of diffractive imaging is in the far field.  Reconstruction of the full complex exit wave recovers the amplitude and phase of the specimen transmission function, related to physical properties of the specimen. CDI involves a non-linear inverse problem and the consequent issue of the non-uniqueness of the solution is exacerbated by the deleterious effects of measurement noise. One approach for circumventing these problems has been the introduction of so-called phase diversity in the probing radiation, most commonly by using overlapping probe positions with respect to the sample, and performing multiple measurements
to over-determine the inverse problem

Ptychography 

[1]
scanning coherent diffractive imaging (CDI) technique.

[2]
Electron ptychography has the advantage that it can provide information at atomic resolution but this has been demonstrated only relatively recently and requires extremely high experimental stability with respect to both the probe shape and position. The advantage of ptychography is that measurement noise between adjacent probe positions is uncorrelated and, provided that the inverse problem is well posed, results in a reconstruction that is more robust and dose efficient when compared with CDI techniques using a single probe position.


ref:
[1] https://doi.org/10.1364/OE.24.008360
[2] http://dx.doi.org/10.1063/1.4941269

Comments

Popular posts from this blog

MLLS in matlab

MLLS stands for  multiple linear least squares fitting, which is the common strategy for the solving EELS edge overlapping and which is also built-in the GMS software. The target spectrum Y and the reference spectrum X Y = A * X Assuming Y is 1*256 matrix and we have three reference spectrums, ie, X is 3*256 matrix. So A is 1*3 matrix. The target is to solve A. If Y and X are n*n matrices, we can use the simple formula Y * inv(X) = A * X * inv(X), ie., A = Y * inv(X). However, Y and X are not n*n  matrices, it is necessary to have some trick to solve it. We can multiply the transpose matrix to produce n*n matrix. Y * X' = A * X * X'  (ps X' means the transpose matrix of X) so A = Y * X' * inv(X * X') Here is the Matlab code: =========  % create target spectrum x=0:256; c=[90,120,155]; sig=[5,10,8]; int=[5,10,8]; xn=zeros(size(x)); ref=zeros(length(c),length(x)); factor=rand(size(c))'; for i=1:length(c)     xn=xn+int(i)*ex...

Drift correction in Matlab

In order to improve S/N ratio, microscopist uses several short acquisition time images, and then sum them up. So the drift correction is very important. Here is the demo of how to use Matlab do drift correction. In the first, load an image, and using circshift function to shift the object in the image. Then use fft cross correlation to compute the moving distance. Finally, shift the object to the origial position. Here is the testing code: == % Demo of drift correction % 2018/11/15  by Renfong im1= imread('cameraman.tif');    % reference image [sy,sx]=size(im1); % shift the object im2=circshift(im1,[20,10]);    % the object moved down 20 pixels and moved right 10 pixels. figure(1); subplot(121);imshow(im1); subplot(122);imshow(im2); % Using fft cross correlations to detect the moving distance[1] fftim1=fft2(im1); fftim2=fft2(im2); cc=fftshift(ifft2(fftim1.*conj(fftim2))); [shiftY,shiftX]=find(cc==max(cc(:))...

k-means clustering

In order to clustering data to reduce the noise, we can use the simple k-means clustering algorithm. The idea of k-means is quite simple. Here is the step of the k-means algorithm. 1. Randomly pick samples (depending on how many groups we want to cluster) as the references. 2. Compute the distance between each data point and references. 3. Comparing the distance to each reference, grouping the data points from the shortest distance. 4. Compute the centroid of each group as the new reference. 5. Repeat 2-4, until the centroids are the same with the previous result. Here is the Matlab code: ======================================= % An example for k-means clustering % % Renfong 2018/12/19 % % create test data % There are 3 types of sigal % 1-20, 36-70, 91-100 are the group 1 % 21-35 are group 2 % 71-90 are group 3 xx=0:1:1024; cen=[120, 360, 780]; amp=[100, 60, 55]; sig=[50, 10, 30]; % peak 1+3 for i=1:20     sp(i,:)=amp(1)*exp((-...