|
| 1 | + |
| 2 | +[FileName,PathName,FilterIndex] = uigetfile('*.bin'); |
| 3 | +pkg image load |
| 4 | +clear M |
| 5 | +close all |
| 6 | + |
| 7 | +D=dir(PathName); |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | +for i=4:size(D,1)-1 |
| 12 | + |
| 13 | + |
| 14 | +fileID = fopen([PathName D(i).name]); |
| 15 | +A = fread(fileID,[1936,1216],'uint8'); |
| 16 | +A=double(A)./255; |
| 17 | + |
| 18 | +M(i-3)=mean(mean(A)); |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | +end |
| 23 | + |
| 24 | +figure(1),subplot(3,1,1),plot(M), xlabel("frame"),ylabel("mean intensity") |
| 25 | + |
| 26 | +% get Frame 1 as Fdark |
| 27 | +fileID = fopen([PathName D(4).name]); |
| 28 | +Fdark = fread(fileID,[1936,1216],'uint8'); |
| 29 | +Fdark=double(Fdark)./255; |
| 30 | +% get Frame 2 as Fv |
| 31 | +fileID = fopen([PathName D(5).name]); |
| 32 | +F0 = fread(fileID,[1936,1216],'uint8'); |
| 33 | +% subtract Fdark |
| 34 | +F0=double(F0)./255-Fdark; |
| 35 | + |
| 36 | +fileID = fopen([PathName D(40).name]); |
| 37 | +Fm = fread(fileID,[1936,1216],'uint8'); |
| 38 | +% subtract Fdark |
| 39 | +Fm=double(Fm)./255-Fdark; |
| 40 | +FmHist=reshape(Fm,1,1936*1216); |
| 41 | + |
| 42 | +% image mask |
| 43 | +threshold=max(max(Fm))/10; |
| 44 | + |
| 45 | +mask=Fm>threshold & (Fm-F0)>=0; |
| 46 | + |
| 47 | +% clean up a bit |
| 48 | +se = strel ("square", 5); |
| 49 | +% remove background |
| 50 | +mask=imerode (mask, se); |
| 51 | +% fill holes |
| 52 | +mask=imdilate(mask, se); |
| 53 | + |
| 54 | +FvFm=(Fm-F0)./Fm.*mask; |
| 55 | + |
| 56 | + colormap('hot') |
| 57 | +figure(1),subplot(3,1,2),imagesc(FvFm),colorbar, axis off |
| 58 | + |
| 59 | +FvFm(FvFm==0)=NaN; |
| 60 | +FvFmHist=reshape(FvFm,1,1936*1216); |
| 61 | +figure(1),subplot(3,1,3),hist(FvFmHist,50),, xlim([0,1]),xlabel("Fv/Fm"),ylabel("no of pixel") |
| 62 | + |
0 commit comments