How can I modify code to Fit tif image series of beads (PSF) with Gaussian; Handling empty or non-fittable problematic tif frames inbetween series?
1 次查看(过去 30 天)
显示 更早的评论
Hello, I am new to Matlab coding and have a small problem with some code I am using and would be great if someone could help me out!
I use the (attached on this thread) fitpeak.m to fit a series of moving fluorescent beads on microscope saved as a tif series. It fits the bead psf with a gausian and gives me the fitted values as output.
This fitpeak.m is called by the script as follow;
%Fit the data
for k=1:size(selected_frames,3)
cur_frame = selected_frames(:,:,k);
x_lineprof=cur_frame(maxx(k),:);
y_lineprof=cur_frame(:,maxy(k));
[temp_peakpos_x, temp_peakwidth_x, temp_rmse_x]= fitpeak(double(x_lineprof),1,1,maxy(k),10,1);
[temp_peakpos_y, temp_peakwidth_y, temp_rmse_y]= fitpeak(double(y_lineprof'),1,1,maxx(k),10,1);
peakpos_x(k) = temp_peakpos_x;
peakpos_y(k) = temp_peakpos_y;
peakwidth_x(k) = temp_peakwidth_x;
peakwidth_y(k) = temp_peakwidth_y;
rmse_x(k) = temp_rmse_x;
rmse_y(k) = temp_rmse_y;
But currently if there is a blank tif image between the series (example, if the bead moves out of focus and disappears just for one frame and comes back in the next) or a frame which cannot be fitted appears, the script does not complete the run, giving following error;
Subscript indices must either be real positive integers or logicals.
Error in fitpeak (line 19)
win(i,:) = xcoord(ppos(i)-35:ppos(i)+35);
Error in TifSPT (line 136)
[temp_peakpos_x, temp_peakwidth_x, temp_rmse_x]= fitpeak(double(x_lineprof),1,1,maxy(k),10,1);
Could someone help me on how I can modify the script so as to accommodate such blank tifs by skipping to the next tif, (after filling the array with a zero value for that particular frame which was not fitted) and carrying on the analysis (and keep filling the array with fitted values till end of tif frame series)?
Thanks a lot in advance!
Sarala
0 个评论
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interpolation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!