Hardik Mehta
Speckle Noise Reduction in Optical Coherent Tomography
Group G: Progress Report
Week 14
Progress
¾ Since the system is ready to take images, we worked on making MATLAB code for post-processing. Figure 1 in the appendix is the raw data that is fed into known MATLAB code that converts it into a matrix of intensities as seen in Figure 2. We will calculate the mean and standard deviation of the intensities of the image.
¾ Through this, we can calculate the contrast ratio given by the formula:
¾ l1 is the height of the correlation between two images taken at the exact same area of the sample. The right side of the formula is an alternative way of checking the contrast ratio that is first calculated by the mean and standard deviation. l1 can be found through the correlation calculation done through the MATLAB code in appendix.
¾ For image assembly, we need to average two fairly decorrelated images. Images that are too correlated will not work since their speckle patterns will be very similar. We average them into one image by creating a blank assembly matrix first. Then, we take the first column of Image 1 and put in it in the first column of the assembly matrix. After this, we take the second column of Image 2 and put it in the second column of the assembly matrix. Like this we alternate grabbing columns between the two Image matrices and copying them into the assembly matrix.
Future Work
Our next step in the project is to image biological tissue and properly post process them using two different checkered patterns on the deformable mirror. We will eventually try to quantify the improvement made through the post processing.
Appendix
Correlation code:
pdIntensity=abs(pdDepthProfiles).^2;
pdIntensity1 = pdIntensity;
SmallRegion=pdIntensity(115:120, 100:200)
std_smallregion=std2(SmallRegion)
mean_smallregion=mean2(SmallRegion)
SpeckleContrastRatio=(std_smallregion)/(mean_smallregion)
figure, imagesc(SmallRegion), colormap('gray'), title('dB2');
pddB = 10.0*log10(pdIntensity);
Correlation=real(ifft2(fft2(pdIntensity1).*conj(fft2(pdIntensity1))));
[V1,I1] = max(Correlation);
[V2,I2] = max(V1);
Image Assembly:
C = zeros(sizeof(A));
C(1:2:end, :) = A(1:2:end, :);
C(2:2:end, :) = B(2:2:end, :);