Format par4GblFnc8c.m
This commit is contained in:
@@ -1,26 +1,21 @@
|
|||||||
%% CALLED By p4loop8c.m %%
|
%% CALLED By p4loop8c.m %%
|
||||||
function [p4L2, ...
|
function [p4L2, TmpexpScanIntens3,TmpFexpScanSpots3,TmpFexpScanBMtp3,TmpanlZoneRefs3,Tmpsbdg3]= ...
|
||||||
TmpexpScanIntens3,TmpFexpScanSpots3,TmpFexpScanBMtp3,TmpanlZoneRefs3,Tmpsbdg3]= ...
|
|
||||||
par4GblFnc8c(parMat,tptLength,~,selScanNumLst,~,Fflg,PTmapPos,optCirMask,diaExt,doCircle,cirPixA,cirMask,~,...
|
par4GblFnc8c(parMat,tptLength,~,selScanNumLst,~,Fflg,PTmapPos,optCirMask,diaExt,doCircle,cirPixA,cirMask,~,...
|
||||||
TmpexpScanIntens,TmpFexpScanSpots,TmpFexpScanBMtp,TmpanlZoneRefs,scCount,tifFileLstP4,~,ImParMat, ...
|
TmpexpScanIntens,TmpFexpScanSpots,TmpFexpScanBMtp,TmpanlZoneRefs,scCount,tifFileLstP4,~,ImParMat, ...
|
||||||
numRows,numCols,scLst,resDir,expDir,~, Tmpsbdg)
|
numRows,numCols,scLst,resDir,expDir,~, Tmpsbdg)
|
||||||
|
|
||||||
|
selScan=selScanNumLst(scCount);
|
||||||
|
tptLength0=length(tifFileLstP4{scCount});
|
||||||
selScan= selScanNumLst(scCount);
|
%tptLength=numFiles;
|
||||||
|
|
||||||
tptLength0= length(tifFileLstP4{scCount});
|
|
||||||
%tptLength= numFiles;
|
|
||||||
tifFileLst={tifFileLstP4(scCount)};
|
tifFileLst={tifFileLstP4(scCount)};
|
||||||
|
|
||||||
% Extract the Imaging time stamps from selected tif files
|
% Extract the Imaging time stamps from selected tif files
|
||||||
%clear('e','f'); %can't use clear inside a parfor loop. Preallocation
|
% clear('e','f'); %can't use clear inside a parfor loop. Preallocation
|
||||||
%can be larger than useable .bmp files! Therefore must be small and
|
% can be larger than useable .bmp files! Therefore must be small and
|
||||||
%increased during for loop to maintain cell size integrity between e & f
|
% increased during for loop to maintain cell size integrity between e & f
|
||||||
e= cell(1,2); f= cell(1,2); %(tptLength,2); f= cell(tptLength,2);
|
e=cell(1,2); f=cell(1,2); %(tptLength,2); f=cell(tptLength,2);
|
||||||
nndx=0;
|
nndx=0;
|
||||||
|
|
||||||
|
|
||||||
for tPt=1:tptLength0 %size(tifFileLst,1) %length(tifFileLst)
|
for tPt=1:tptLength0 %size(tifFileLst,1) %length(tifFileLst)
|
||||||
tifFileLstP4{scCount}(tPt)
|
tifFileLstP4{scCount}(tPt)
|
||||||
scLst;
|
scLst;
|
||||||
@@ -30,124 +25,101 @@ selScan= selScanNumLst(scCount);
|
|||||||
expDir;
|
expDir;
|
||||||
swCatch=0;
|
swCatch=0;
|
||||||
nndx=nndx+1;
|
nndx=nndx+1;
|
||||||
|
tifFile=char(fullfile(expDir,char(scLst(scCount)), tifFileLstP4{scCount}(tPt)));
|
||||||
tifFile=char(fullfile(expDir,char(scLst(scCount)), tifFileLstP4{scCount}(tPt)));
|
|
||||||
try
|
try
|
||||||
info = imfinfo(tifFile); %('D:\jwrDevel\DevelCurveFittingJWR\ImageScans\Scan2\020hr002.tif')
|
info=imfinfo(tifFile); %('D:\jwrDevel\DevelCurveFittingJWR\ImageScans\Scan2\020hr002.tif')
|
||||||
|
|
||||||
catch ME
|
catch ME
|
||||||
%Note: During parallel operation Matlab will not open file (fid)
|
% Note: During parallel operation Matlab will not open file (fid)
|
||||||
%etc. Therefore error message text will not be written.The only way
|
% etc. Therefore error message text will not be written.The only way
|
||||||
%to get it out would be to pass variable through called function to
|
% to get it out would be to pass variable through called function to
|
||||||
%the ..Main8c script outside the parfor loop and print to file from
|
% the ..Main8c script outside the parfor loop and print to file from
|
||||||
%there. Consequently for now it only prints error to file when one
|
% there. Consequently for now it only prints error to file when one
|
||||||
%edits p4loop8c.m from 'parfor' to ordinary 'for' loop
|
% edits p4loop8c.m from 'parfor' to ordinary 'for' loop
|
||||||
fFail=((fullfile(resDir,'PrintResults','ImageFileReadFailure.txt')));
|
fFail=((fullfile(resDir,'PrintResults','ImageFileReadFailure.txt')));
|
||||||
fid = fopen(fFail,'a'); %create,open and append
|
fid=fopen(fFail,'a'); %create,open and append
|
||||||
%fprintf(fid,'%s \n',char(tifFile))
|
%fprintf(fid,'%s \n',char(tifFile))
|
||||||
fclose(fid)
|
fclose(fid)
|
||||||
nndx=nndx-1;
|
nndx=nndx-1;
|
||||||
swCatch=1;
|
swCatch=1;
|
||||||
rep = getReport(ME, 'basic');
|
rep=getReport(ME, 'basic');
|
||||||
rep=strcat('Read info failure for-',tifFile,' -', rep);
|
rep=strcat('Read info failure for-',tifFile,' -', rep);
|
||||||
%fprintf(fid,'%s \n',rep) %See Note:
|
%fprintf(fid,'%s \n',rep) %See Note:
|
||||||
|
|
||||||
end
|
end
|
||||||
tptLength= nndx;
|
tptLength=nndx;
|
||||||
scTmNumeric= 1; %initialize for parfor
|
scTmNumeric=1; %initialize for parfor
|
||||||
if swCatch==0
|
if swCatch==0
|
||||||
scTmNumeric(nndx)=datenum(info.FileModDate);
|
scTmNumeric(nndx)=datenum(info.FileModDate);
|
||||||
e(nndx,:)= {tifFile, scTmNumeric(nndx)};
|
e(nndx,:)={tifFile, scTmNumeric(nndx)};
|
||||||
%newtifFileLst(nndx)= tifFileLst(tPt);
|
%newtifFileLst(nndx)=tifFileLst(tPt);
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end % end for tPt=1:length(tifFileLst) loop
|
|
||||||
|
|
||||||
%clear tifFileLst; %Can't use clear inside a parfor loop
|
|
||||||
tifFileLst= cell(nndx,1);
|
|
||||||
f= {sortrows(e,2)};
|
|
||||||
tifFileLst= f{1,1}(:,1);
|
|
||||||
|
|
||||||
areaOfIntensAboveBG= zeros(24,16,length(tifFileLst));
|
|
||||||
% *******Calculate Time series for each Plate of Selected Scan ********
|
|
||||||
lastPlateOnScan=1; %Ncode
|
|
||||||
|
|
||||||
|
% clear tifFileLst;
|
||||||
|
tifFileLst=cell(nndx,1);
|
||||||
|
f={sortrows(e,2)};
|
||||||
|
tifFileLst=f{1,1}(:,1);
|
||||||
|
areaOfIntensAboveBG=zeros(24,16,length(tifFileLst));
|
||||||
|
% Calculate Time series for each Plate of Selected Scan
|
||||||
|
lastPlateOnScan=1; %Ncode
|
||||||
tSeriesv=[]; t0Seriesv=[];
|
tSeriesv=[]; t0Seriesv=[];
|
||||||
if tptLength>0 %added to jump over and fill data for invalid Sscan(plate runs
|
if tptLength>0 % added to jump over and fill data for invalid Sscan(plate runs
|
||||||
scTmNumv= cell2mat(f{1,1}(:,2)); %(:,2)) %120613 fix for variant length data
|
scTmNumv=cell2mat(f{1,1}(:,2)); % (:,2))120613 fix for variant length data
|
||||||
prtTmNumv=min(scTmNumv)-.000001;
|
prtTmNumv=min(scTmNumv)-.000001;
|
||||||
tSeriesv=((scTmNumv-prtTmNumv)*24);
|
tSeriesv=((scTmNumv-prtTmNumv)*24);
|
||||||
t0Seriesv=((scTmNumv-scTmNumv(1))*24);
|
t0Seriesv=((scTmNumv-scTmNumv(1))*24);
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
%*********************
|
% added to jump over and fill data for invalid Sscan(plate runs
|
||||||
|
if tptLength>=3
|
||||||
%-------------------------------------------------------
|
% Create blank scan
|
||||||
|
|
||||||
if tptLength>= 3 %added to jump over and fill data for invalid Sscan(plate runs
|
|
||||||
%*******Create Blank Scan*********************
|
|
||||||
ImHeigth=2075;
|
ImHeigth=2075;
|
||||||
ImWidth=1400;
|
ImWidth=1400;
|
||||||
Empsc=zeros(ImHeigth,ImWidth); %Ncode
|
Empsc=zeros(ImHeigth,ImWidth); %Ncode
|
||||||
|
|
||||||
|
% Start scan loop
|
||||||
%**************************************************************************
|
|
||||||
%*********Start Scan Loop**************************************************
|
|
||||||
lastPlateOnScan=1; %Ncode
|
lastPlateOnScan=1; %Ncode
|
||||||
%**********************************************************************************************************************************
|
disp('Before call to NIscanIntens.....')
|
||||||
disp('Before call to NIscanIntens.....')
|
|
||||||
resDir; %debugging parfor
|
% Execute Image conversion into Intensity Data
|
||||||
%>>>*******Execute Image conversion into Intensity Data******
|
[Tmpsbdg2, scanIntens, ~, ~, ~, TmpexpScanIntens2, TmpFexpScanSpots2, TmpFexpScanBMtp2, TmpanlZoneRefs2,areaOfIntensAboveBG]= ...
|
||||||
[Tmpsbdg2, scanIntens, ~, ~, ~, TmpexpScanIntens2, TmpFexpScanSpots2, TmpFexpScanBMtp2, TmpanlZoneRefs2,areaOfIntensAboveBG]= ...
|
|
||||||
NIscanIntensBGpar4GblFnc(Fflg,tifFileLst, ImParMat, PTmapPos,optCirMask,diaExt,doCircle,cirPixA,numRows,numCols,ImHeigth,ImWidth,cirMask, ...
|
NIscanIntensBGpar4GblFnc(Fflg,tifFileLst, ImParMat, PTmapPos,optCirMask,diaExt,doCircle,cirPixA,numRows,numCols,ImHeigth,ImWidth,cirMask, ...
|
||||||
tptLength,selScan,Empsc,TmpexpScanIntens,TmpFexpScanSpots,TmpFexpScanBMtp,TmpanlZoneRefs,resDir, Tmpsbdg);
|
tptLength,selScan,Empsc,TmpexpScanIntens,TmpFexpScanSpots,TmpFexpScanBMtp,TmpanlZoneRefs,resDir, Tmpsbdg);
|
||||||
|
|
||||||
%<<<<*******************************************************************************************************************************
|
TmpexpScanIntens3=TmpexpScanIntens2;
|
||||||
|
TmpFexpScanSpots3=TmpFexpScanSpots2;
|
||||||
|
TmpFexpScanBMtp3=TmpFexpScanBMtp2;
|
||||||
|
TmpanlZoneRefs3=TmpanlZoneRefs2;
|
||||||
|
Tmpsbdg3=Tmpsbdg2;
|
||||||
|
|
||||||
TmpexpScanIntens3= TmpexpScanIntens2;
|
% clear plate
|
||||||
TmpFexpScanSpots3= TmpFexpScanSpots2;
|
CFscanIntens=zeros(384,1); % zeros(16,24);
|
||||||
TmpFexpScanBMtp3= TmpFexpScanBMtp2;
|
plate=[];
|
||||||
TmpanlZoneRefs3= TmpanlZoneRefs2;
|
plate=zeros(24,16,tptLength);
|
||||||
Tmpsbdg3= Tmpsbdg2;
|
plate(:,:,:,1)=scanIntens(1:1:24,16:-1:1,:); % TmpexpScanIntens2(1:1:24,16:-1:1,:);%Ncode Dev3Vertical Similar to below
|
||||||
|
|
||||||
|
% NIcheck: Check for bad scans at time points (swapped plates etc.)
|
||||||
|
% Set up cell arrays for storing each plate in each Scan ..(scan,plate)
|
||||||
|
SWprint=0;
|
||||||
|
if SWprint==1
|
||||||
|
wkDir=pwd;
|
||||||
|
cd (fullfile(resDir,'PrintResults'));
|
||||||
|
end
|
||||||
|
|
||||||
%***********************************************************************************
|
% Construct Legacy ...Intens.txt file
|
||||||
|
if SWprint==1
|
||||||
%Package Image data ->for Legacy Printing
|
filename=(strcat('Plate',num2str(selScan),'_Intens.txt'));
|
||||||
|
fid=fopen(filename,'w');
|
||||||
%clear plate %Can't use clear inside a parfor loop
|
end
|
||||||
CFscanIntens= zeros(384,1);%zeros(16,24);
|
|
||||||
plate= [];
|
|
||||||
plate= zeros(24,16,tptLength);
|
|
||||||
|
|
||||||
plate(:,:,:,1)= scanIntens(1:1:24,16:-1:1,:); %TmpexpScanIntens2(1:1:24,16:-1:1,:);%Ncode Dev3Vertical Similar to below
|
|
||||||
|
|
||||||
%*******************************
|
|
||||||
%NIcheck %Check for bad scans at time points (swapped plates etc.)
|
|
||||||
%*******************************
|
|
||||||
%set up cell arrays for storing each plate in each Scan ..(scan,plate)
|
|
||||||
SWprint=0;
|
|
||||||
if SWprint==1
|
|
||||||
wkDir=pwd;
|
|
||||||
cd (fullfile(resDir,'PrintResults'));
|
|
||||||
end
|
|
||||||
|
|
||||||
% Construct Legacy ...Intens.txt file
|
|
||||||
if SWprint==1
|
|
||||||
filename=(strcat('Plate',num2str(selScan),'_Intens.txt'));
|
|
||||||
fid = fopen(filename,'w');
|
|
||||||
end
|
|
||||||
if length(size(plate))==2 %Only two dims if only one image
|
if length(size(plate))==2 %Only two dims if only one image
|
||||||
numOfImages=1;
|
numOfImages=1;
|
||||||
else
|
else
|
||||||
numOfImages= size(plate,3);
|
numOfImages=size(plate,3);
|
||||||
end
|
end
|
||||||
CFscanIntens= zeros(384,numOfImages);
|
CFscanIntens=zeros(384,numOfImages);
|
||||||
locIndx=0; pl=1;
|
locIndx=0; pl=1;
|
||||||
for n=1:numCols %Ncode changed to 16 for Vert
|
for n=1:numCols %Ncode changed to 16 for Vert
|
||||||
for m=1:numRows %Ncode change to 24 for Vert
|
for m=1:numRows %Ncode change to 24 for Vert
|
||||||
locIndx=locIndx+1;
|
locIndx=locIndx+1;
|
||||||
|
|
||||||
for k=1:numOfImages
|
for k=1:numOfImages
|
||||||
if SWprint==1
|
if SWprint==1
|
||||||
if k==1 && numOfImages==1, fprintf(fid,'%.2f\n',plate(m,n,k,pl));end
|
if k==1 && numOfImages==1, fprintf(fid,'%.2f\n',plate(m,n,k,pl));end
|
||||||
@@ -155,31 +127,25 @@ for n=1:numCols %Ncode changed to 16 for Vert
|
|||||||
if k>1 && k<numOfImages, fprintf(fid,'\t%.2f',plate(m,n,k,pl));end %
|
if k>1 && k<numOfImages, fprintf(fid,'\t%.2f',plate(m,n,k,pl));end %
|
||||||
if k~=1 && k==numOfImages,fprintf(fid,'\t%.2f\n',plate(m,n,k,pl));end
|
if k~=1 && k==numOfImages,fprintf(fid,'\t%.2f\n',plate(m,n,k,pl));end
|
||||||
end
|
end
|
||||||
|
CFscanIntens(locIndx,k)=plate(m,n,k,pl);
|
||||||
|
end
|
||||||
CFscanIntens(locIndx,k)= plate(m,n,k,pl);
|
|
||||||
end
|
end
|
||||||
%MatLab Cell storage
|
|
||||||
|
|
||||||
end
|
end
|
||||||
end %end row loop n
|
|
||||||
|
|
||||||
if SWprint==1
|
if SWprint==1
|
||||||
fclose(fid);
|
fclose(fid);
|
||||||
end
|
end
|
||||||
|
|
||||||
%++++++++++++++++++++++
|
% printGrwAreas
|
||||||
%printGrwAreas
|
% Area as the max number of pixels with intensities greater than the Background
|
||||||
|
% grArea(row,col,tPt,Plate) Note that images r and c are 90 degrees shifted
|
||||||
|
% and then mirror imaged. Thus data must be inverted and rotated to get
|
||||||
|
% for the rows a-p and col 1-24 (and the EMS expected 1-384) orientation
|
||||||
|
% clear grArea
|
||||||
|
grArea=ones(24,16,tptLength);
|
||||||
|
grArea(:,:,:,1)=areaOfIntensAboveBG(1:1:24,16:-1:1,:); %for Ncode dev3vert
|
||||||
|
|
||||||
%Area as the max number of pixels with intensities greater than the Background
|
% for p=1:lastPlateOnScan
|
||||||
%grArea(row,col,tPt,Plate) Note that images r and c are 90 degrees shifted
|
|
||||||
%and then mirror imaged. Thus data must be inverted and rotated to get
|
|
||||||
%for the rows a-p and col 1-24 (and the EMS expected 1-384) orientation
|
|
||||||
%clear grArea
|
|
||||||
grArea= ones(24,16,tptLength);
|
|
||||||
grArea(:,:,:,1)= areaOfIntensAboveBG(1:1:24,16:-1:1,:); %for Ncode dev3vert
|
|
||||||
|
|
||||||
%for p=1:lastPlateOnScan
|
|
||||||
if SWprint==1
|
if SWprint==1
|
||||||
if SWgrowthArea==1
|
if SWgrowthArea==1
|
||||||
filename=(strcat('Plate',num2str(selScan),'_Areas.txt'));
|
filename=(strcat('Plate',num2str(selScan),'_Areas.txt'));
|
||||||
@@ -187,145 +153,127 @@ grArea(:,:,:,1)= areaOfIntensAboveBG(1:1:24,16:-1:1,:); %for Ncode dev3vert
|
|||||||
filename=(strcat('ALTgrowthA_Scan',num2str(selScan),'_Plate',num2str(1),'_Areas.txt'));
|
filename=(strcat('ALTgrowthA_Scan',num2str(selScan),'_Plate',num2str(1),'_Areas.txt'));
|
||||||
filename=(strcat('ALTgrowthA_Plate',num2str(selScan),'_Plate','_Areas.txt'));
|
filename=(strcat('ALTgrowthA_Plate',num2str(selScan),'_Plate','_Areas.txt'));
|
||||||
end
|
end
|
||||||
fid = fopen(filename,'w');
|
fid=fopen(filename,'w');
|
||||||
end
|
end
|
||||||
locIndx=0;
|
locIndx=0;
|
||||||
Ag= zeros(1,384);
|
Ag=zeros(1,384);
|
||||||
for m=1:16 %Ncode change from 16 %Vert back to 16
|
for m=1:16 %N code change from 16 %Vert back to 16
|
||||||
for n=1:24 %Ncode change from 24 %Vert back to 24
|
for n=1:24 %Ncode change from 24 %Vert back to 24
|
||||||
growthArea=max(grArea(n,m,:,1));
|
growthArea=max(grArea(n,m,:,1));
|
||||||
if SWprint==1
|
if SWprint==1
|
||||||
fprintf(fid,'%3.f\n',growthArea);
|
fprintf(fid,'%3.f\n',growthArea);
|
||||||
end
|
end
|
||||||
locIndx=locIndx+1;
|
locIndx=locIndx+1;
|
||||||
Ag(locIndx)= growthArea;
|
Ag(locIndx)=growthArea;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if SWprint==1
|
if SWprint==1
|
||||||
fclose(fid);
|
fclose(fid);
|
||||||
end
|
end
|
||||||
%end
|
|
||||||
%++++++++++++++++++++++++
|
|
||||||
|
|
||||||
if SWprint==1
|
if SWprint==1
|
||||||
cd(wkDir);
|
cd(wkDir);
|
||||||
fclose('all');
|
fclose('all');
|
||||||
end
|
end
|
||||||
|
|
||||||
%********AutoImCF curveFit kickoff setup***********************************************************
|
% AutoImCF curveFit kickoff setup
|
||||||
autoImCFlag=1;
|
autoImCFlag=1;
|
||||||
|
if autoImCFlag==1, SWgrowthArea=1;end
|
||||||
if autoImCFlag==1, SWgrowthArea=1;end
|
times=tSeriesv;
|
||||||
|
scanAreas=Ag; % growthArea;
|
||||||
times= tSeriesv;
|
|
||||||
|
|
||||||
scanAreas= Ag; %growthArea;
|
|
||||||
offsets=0;
|
offsets=0;
|
||||||
suffix= strcat('Scan', num2str(selScan),'_Plate', num2str(1)); %char(QspLst(n));
|
suffix=strcat('Scan', num2str(selScan),'_Plate', num2str(1)); % char(QspLst(n));
|
||||||
AUCfinalTime=96;
|
AUCfinalTime=96;
|
||||||
arrayFormat=384;
|
arrayFormat=384;
|
||||||
currDirResults= fullfile(resDir,'PrintResults');
|
currDirResults=fullfile(resDir,'PrintResults');
|
||||||
|
|
||||||
%******Version compatability fixes*******assoc'd with diff and solve
|
% Version compatability fixes
|
||||||
%{
|
%{
|
||||||
v11a='7.12.0.635 (R2011a)';
|
v11a='7.12.0.635 (R2011a)';
|
||||||
v14a='8.3.0.532 (R2014a)';
|
v14a='8.3.0.532 (R2014a)';
|
||||||
%v14b='8.4.0.150421 (R2014b)';
|
%v14b='8.4.0.150421 (R2014b)';
|
||||||
v18a='9.4.0.813654 (R2018a)';
|
v18a='9.4.0.813654 (R2018a)';
|
||||||
v18b='9.5.0.944444 (R2018b)';
|
v18b='9.5.0.944444 (R2018b)';
|
||||||
%Fourth order derivative of logistic equation********************************
|
% Fourth order derivative of logistic equation
|
||||||
if isequal(v18a,version)||isequal(v18b,version)
|
if isequal(v18a,version)||isequal(v18b,version)
|
||||||
syms t K r l;
|
syms t K r l;
|
||||||
fd4= diff(K / (1 + exp(-r* (t - l ))),t,4);
|
fd4=diff(K / (1 + exp(-r* (t - l ))),t,4);
|
||||||
else
|
else
|
||||||
fd4=diff(sym('K / (1 + exp(-r* (t - l )))'),4);
|
fd4=diff(sym('K / (1 + exp(-r* (t - l )))'),4);
|
||||||
end
|
end
|
||||||
sols= solve(fd4);
|
sols=solve(fd4);
|
||||||
if isequal(v11a,version) || isequal(v14a,version)
|
if isequal(v11a,version) || isequal(v14a,version)
|
||||||
else
|
else
|
||||||
tmpswap= sols(1);
|
tmpswap=sols(1);
|
||||||
sols(1)= sols(3);
|
sols(1)=sols(3);
|
||||||
sols(3)= tmpswap;
|
sols(3)=tmpswap;
|
||||||
end
|
end
|
||||||
%}
|
%}
|
||||||
|
|
||||||
if verLessThan('matlab','8.3') %original work 23_0227 updated 23_0525 (8.4 changed to 8.3)
|
if verLessThan('matlab','8.3') % original work 23_0227 updated 23_0525 (8.4 changed to 8.3)
|
||||||
fd4=diff(sym('K / (1 + exp(-r* (t - l )))'),4);
|
fd4=diff(sym('K / (1 + exp(-r* (t - l )))'),4);
|
||||||
sols= solve(fd4);
|
sols=solve(fd4);
|
||||||
else %accomodate new matlab changes after 2014a fix 2nd update 23_0227
|
else % accomodate new matlab changes after 2014a fix 2nd update 23_0227
|
||||||
syms t K r l;
|
syms t K r l;
|
||||||
fd4= diff(K / (1 + exp(-r* (t - l ))),t,4);
|
fd4=diff(K / (1 + exp(-r* (t - l ))),t,4);
|
||||||
sols= solve(fd4);
|
sols=solve(fd4);
|
||||||
tmpswap= sols(1);
|
tmpswap=sols(1);
|
||||||
sols(1)= sols(3);
|
sols(1)=sols(3);
|
||||||
sols(3)= tmpswap;
|
sols(3)=tmpswap;
|
||||||
end
|
end
|
||||||
%********************************************************************************
|
|
||||||
%CFscanIntens
|
|
||||||
%adsd
|
|
||||||
%********************************************************************************
|
|
||||||
|
|
||||||
%>>>>>>>>>>>Call CurveFit routine >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|
||||||
%NCfitImCF(times, CFscanIntens, offsets, suffix, AUCfinalTime, arrayFormat, scanAreas, currDirResults, autoImCFlag, selScan,sols) %,scan)%, scPltList) outputDirectory;
|
|
||||||
%[scanTmp2]= NCfitImCFparforFailGbl(times, CFscanIntens, offsets, suffix, AUCfinalTime, arrayFormat, scanAreas, currDirResults, autoImCFlag, selScan, sols, scanTmp); %,scan)%, scPltList) outputDirectory;
|
|
||||||
|
|
||||||
|
% CFscanIntens
|
||||||
|
% Call CurveFit routine
|
||||||
|
% NCfitImCF(times, CFscanIntens, offsets, suffix, AUCfinalTime, arrayFormat, scanAreas, currDirResults, autoImCFlag, selScan,sols) %,scan)%, scPltList) outputDirectory;
|
||||||
|
% [scanTmp2]=NCfitImCFparforFailGbl(times, CFscanIntens, offsets, suffix, AUCfinalTime, arrayFormat, scanAreas, currDirResults, autoImCFlag, selScan, sols, scanTmp); %,scan)%, scPltList) outputDirectory;
|
||||||
[par4scanselIntensStd,par4scanselTimesStd,par4scanTimesELr,par4scanIntensELr,par4scanCFparameters,par4scanCFdate,outC2,outCstd2]= ...
|
[par4scanselIntensStd,par4scanselTimesStd,par4scanTimesELr,par4scanIntensELr,par4scanCFparameters,par4scanCFdate,outC2,outCstd2]= ...
|
||||||
NCfitImCFparforFailGbl2(parMat,times, CFscanIntens, offsets, suffix, AUCfinalTime, arrayFormat, scanAreas, currDirResults, autoImCFlag, selScan, sols); %,scan)%, scPltList) outputDirectory;
|
NCfitImCFparforFailGbl2(parMat,times, CFscanIntens, offsets, suffix, AUCfinalTime, arrayFormat, scanAreas, currDirResults, autoImCFlag, selScan, sols); %,scan)%, scPltList) outputDirectory;
|
||||||
%<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
else %fill with default values when an invalid plate scan occurs
|
||||||
else %fill with default values when an invalid plate scan occurs
|
CFscanIntens=zeros(16,24);
|
||||||
CFscanIntens= zeros(16,24);
|
Ag=zeros(1,384);
|
||||||
Ag= zeros(1,384);
|
|
||||||
%Preallocation for parfor loop**********************************
|
|
||||||
|
|
||||||
times= tSeriesv;
|
% Preallocation for parfor loop
|
||||||
st(1,1:size(times,2))= 1111;
|
times=tSeriesv;
|
||||||
resMat(1,1:27)= 0;
|
st(1,1:size(times,2))=1111;
|
||||||
resMatStd= resMat;
|
resMat(1,1:27)=0;
|
||||||
outC2= zeros(384,27);
|
resMatStd=resMat;
|
||||||
outCstd2= zeros(384,27);
|
outC2=zeros(384,27);
|
||||||
for m=1:384
|
outCstd2=zeros(384,27);
|
||||||
pa{m}= st;
|
for m=1:384
|
||||||
|
pa{m}=st;
|
||||||
par4scanCFparameters{m}= parMat;
|
par4scanCFparameters{m}=parMat;
|
||||||
par4scanCFdate{m}= datestr((now),31);
|
par4scanCFdate{m}=datestr((now),31);
|
||||||
end
|
end
|
||||||
par4scanselTimesStd= pa;
|
par4scanselTimesStd=pa;
|
||||||
par4scanselIntensStd= pa;
|
par4scanselIntensStd=pa;
|
||||||
par4scanTimesELr= pa;
|
par4scanTimesELr=pa;
|
||||||
par4scanIntensELr= pa;
|
par4scanIntensELr=pa;
|
||||||
par4resMat= zeros(384,27);
|
par4resMat=zeros(384,27);
|
||||||
par4resMatStd= zeros(384,27);
|
par4resMatStd=zeros(384,27);
|
||||||
%{
|
%{
|
||||||
TmpexpScanIntens00= cell(1); %cell(1,scanMax);
|
TmpexpScanIntens00=cell(1); %cell(1,scanMax);
|
||||||
TmpFexpScanSpots00= cell(1); %cell(1,scanMax);
|
TmpFexpScanSpots00=cell(1); %cell(1,scanMax);
|
||||||
TmpFexpScanBMtp00= cell(1); %cell(1,scanMax);
|
TmpFexpScanBMtp00=cell(1); %cell(1,scanMax);
|
||||||
TmpanlZoneRefs00= cell(1); %cell(1,scanMax);
|
TmpanlZoneRefs00=cell(1); %cell(1,scanMax);
|
||||||
Tmpsbdg00= cell(1);
|
Tmpsbdg00=cell(1);
|
||||||
%}
|
%}
|
||||||
|
TmpexpScanIntens3=cell(1); %TmpexpScanIntens2;
|
||||||
TmpexpScanIntens3= cell(1); %TmpexpScanIntens2;
|
TmpFexpScanSpots3=cell(1); %TmpFexpScanSpots2;
|
||||||
TmpFexpScanSpots3= cell(1); %TmpFexpScanSpots2;
|
TmpFexpScanBMtp3=cell(1); %TmpFexpScanBMtp2;
|
||||||
TmpFexpScanBMtp3= cell(1); %TmpFexpScanBMtp2;
|
TmpanlZoneRefs3=cell(1); %TmpanlZoneRefs2;
|
||||||
TmpanlZoneRefs3= cell(1); %TmpanlZoneRefs2;
|
Tmpsbdg3=cell(1); %Tmpsbdg2;
|
||||||
Tmpsbdg3= cell(1); %Tmpsbdg2;
|
end %if tptLenth>=3 line19 20_0928
|
||||||
%****************************************************************
|
|
||||||
|
|
||||||
|
|
||||||
end %if tptLenth>=3 line19 20_0928
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
tSeriesv; %debuggin parfor
|
|
||||||
p4L1{1}= tSeriesv;
|
|
||||||
p4L1{2}= t0Seriesv;
|
|
||||||
p4L1{3}= datestr(prtTmNumv,31);
|
|
||||||
p4L1{4}= CFscanIntens;
|
|
||||||
|
|
||||||
|
tSeriesv; %debuggin parfor
|
||||||
|
p4L1{1}=tSeriesv;
|
||||||
|
p4L1{2}=t0Seriesv;
|
||||||
|
p4L1{3}=datestr(prtTmNumv,31);
|
||||||
|
p4L1{4}=CFscanIntens;
|
||||||
|
|
||||||
locIndx=0;
|
locIndx=0;
|
||||||
for n=1:numCols %Ncode changed to 16 for Vert
|
for n=1:numCols % Ncode changed to 16 for Vert
|
||||||
for m=1:numRows %Ncode change to 24 for Vert
|
for m=1:numRows % Ncode change to 24 for Vert
|
||||||
locIndx=locIndx+1;
|
locIndx=locIndx+1;
|
||||||
rc=[n,m];
|
rc=[n,m];
|
||||||
p4rcTmp(locIndx)={rc};
|
p4rcTmp(locIndx)={rc};
|
||||||
@@ -333,25 +281,24 @@ p4L1{4}= CFscanIntens;
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
p4L1{5}= p4rcTmp;
|
p4L1{5}=p4rcTmp;
|
||||||
p4L1{6}= p4pIndxTmp;
|
p4L1{6}=p4pIndxTmp;
|
||||||
p4L1{7}= Ag;
|
p4L1{7}=Ag;
|
||||||
|
|
||||||
p4L1{8}= par4scanselIntensStd;
|
p4L1{8}=par4scanselIntensStd;
|
||||||
p4L1{9}= par4scanselTimesStd;
|
p4L1{9}=par4scanselTimesStd;
|
||||||
p4L1{10}= par4scanTimesELr;
|
p4L1{10}=par4scanTimesELr;
|
||||||
p4L1{11}= par4scanIntensELr;
|
p4L1{11}=par4scanIntensELr;
|
||||||
|
|
||||||
p4L1{12}= par4scanCFparameters;
|
p4L1{12}=par4scanCFparameters;
|
||||||
p4L1{13}= par4scanCFdate;
|
p4L1{13}=par4scanCFdate;
|
||||||
|
|
||||||
p4L1{14}= outC2;
|
p4L1{14}=outC2;
|
||||||
p4L1{15}= outCstd2;
|
p4L1{15}=outCstd2;
|
||||||
p4L1{16}= selScan;
|
p4L1{16}=selScan;
|
||||||
|
|
||||||
p4L1{17}= cirPixA;
|
p4L1{17}=cirPixA;
|
||||||
p4L1{18}= datestr((now),31);
|
p4L1{18}=datestr((now),31);
|
||||||
|
|
||||||
p4L2= p4L1;
|
p4L2=p4L1;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user