Question
I NEED A MATLAB CODE THAT DEALS WITH ALL 3 PARTS DESCRIBED BELOW. PLEASE ALSO WRITE IN COMMENTS THE DETAILS OF CODE PARTS. You are
I NEED A MATLAB CODE THAT DEALS WITH ALL 3 PARTS DESCRIBED BELOW. PLEASE ALSO WRITE IN COMMENTS THE DETAILS OF CODE PARTS.
You are given simulated diffraction-limited 2D images of single fluorophores. The purpose is to reconstruct the original image by determining the accurate positions of the fluorophores.
PART1.
You have a surface with 51 fluorophores. You were able to switch on the fluorophores one at a time by photophysics and thus you have 51 separate images of each fluorophore. Each image shows the diffracted image of a single fluorophore, taken by 20 x 20 camera pixels. The image has high level of background noise (because the single dye is very dim). The physical scale of the imaged area is 1 um x 1 um. First of all, visualize one of these images using MATLAB. Use imread and imshow functions. As the image has only 20 x 20 pixels (tiny!), blow up the images using functions like truesize. You also need to adjust z scale as the images have small amplitude.
PART2.
Then, add all 51 images and show what it looks like. Notice that the diffracted spots overlap with each other and make an overall blurred image, from which you cannot tell the hidden structure at all. This is what you will see by conventional microscopy.
PART3
Now, lets analyze the images by STORM analysis technique. Fit each image with 2D Gaussian and find the center position. Use the modified fmgaussfit function. You will need to use meshgrid to define the x- and y-axes as the input for this function. The function should be called in the following format, where fitresult(5:6) contains the x and y coordinate of the center position of the Gaussian fitting.
[fitresult, zfit, fiterr, zerr, resnorm, rr] = fmgaussfit(XX,YY,ZZ);
Collect these positions for all 51 images and display them as a collection of dots in 1 um x 1um scale (use scatter function). Then you will be able to uncover the hidden structure of the fluorophores. Notice that, even in the presence of large noise (I added noise at the level of 7% of the peak height, which can be achieved with less than one thousand photons detected from each fluorophore), we are able to determine the fluorophore positions very accurately within several tens of nanometers.
follwoing this link you can find a folder of all 51 images and modified gaussian function
https://drive.google.com/drive/folders/1sw9lqS0qpjmRBpi6_OXt8so9gYKIL4kO?usp=sharing
So far i could only do these
%loop for reading all images and saving them in multidimensional array
imageData = zeros(20,20,51);
for i = 1:51;
pngFilename = strcat('dye_image_', num2str(i), '.png');
imageData = imread(pngFilename);
%adjusting z scale for making higher amplitude
imageData = imageData*10;
end
%creating a figure and blowing up the image
I = figure;
imshow(imageData);
truesize(imageData, [200 200]);
but there is a problem in reading and saving all files in one multidimensional array
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started