Skip to content
Snippets Groups Projects
Commit 40957cee authored by ac_fx's avatar ac_fx
Browse files

updated goAll

parent a1e3dd18
Branches
No related tags found
No related merge requests found
......@@ -159,21 +159,11 @@ for t=1:CONSTANTS.imageData.NumberOfFrames
else
idx=sub2ind(szImage,iCell.pts(:,2),iCell.pts(:,1));
end
% erode the segmentation a bit...
% im1=0*im;
% im1(idx)=1;
% % d=bwdist(~im1);
% % im1(d<2)=0;
% % idx1=find(im1);
% % if ~isempty(idx1)
% % idx=idx1;
% % end
idxLabel=find(tids(:,1)==iCell.trackID);
im(idx)=tids(idxLabel,2);
% im(idx)=iCell.trackID;
end
% im=segRefine.segRefine(im,filename,t);
im=setMissingTrackLabels(conn,im,tids,t);
fname=['mask' num2str(t-1,digitFormat) '.tif'];
im=uint16(im);
if size(im,3)>1
......
......@@ -4,22 +4,31 @@ function trc = getTRC(strDB,baseName,CONSTANTS,r)
lndRadius=fitdist(r,'lognormal');
% lndRadius.sigma=lndRadius.sigma*1.5;
alpha = 1e-2;
xn=icdf(lndRadius,[alpha, 0.5]);
xn=icdf(lndRadius,[alpha, 0.5,0.95]);
rRange(1)=0.5*xn(1);
rRange(2)=0.75*xn(2);
rRange(1)=xn(1);
rRange(2)=xn(3);
if AutoParam.isPhase(strDB)
rRange=max(rRange,[2,4]);
elseif is3D(CONSTANTS)
rRange=max(rRange,[0.5,1]);
if contains(strDB,'SIM')
rRange(1) = prctile(r,1);
rRange(2) = prctile(r,99);
else
rRange=max(rRange,[1.5,2]);
rRange(1) = prctile(r,0.25);
rRange(2) = prctile(r,10);
end
4;
% if AutoParam.isPhase(strDB)
% rRange=max(rRange,[2,4]);
% elseif is3D(CONSTANTS)
% rRange=max(rRange,[0.5,1]);
% else
% rRange=max(rRange,[1.5,2]);
% end
trc=table();
trc.baseName={baseName};
trc.xn=xn;
trc.xn=xn(1:2);
trc.rRange=rRange;
trc.radius={r};
trc.lndRadius=lndRadius;
strDB='/home/ac/git/ljsctc/src/output/3d_Fluo-N3DH-CHO_training_01.LEVER';
[conn,CONSTANTS,segParams]=openDB(strDB);
segParams.minimumRadius_um=[4 0.2500 5];
rx=linspace(0.8,0.94,10);
resTable=table();
for ix=1:length(rx)
fprintf(1,'\n sensitivity=%0.2f\n',rx(ix))
segParams.sensitivity=rx(ix);
expName='3d_Fluo-N3DH-CHO_training_01';
ljsctc=get_ljsctc(expName);
ljsctc.segParams=segParams;
res=goCTC(ljsctc);
resTable=[resTable;res];
end
close(conn);
\ No newline at end of file
......@@ -45,10 +45,13 @@
% datasets (DRO, TRIF, etc.)
% e.g.
% expName='2d_DIC-C2DH-HeLa_training_01';ljsctc=get_ljsctc(expName)
function ljsctc=get_ljsctc(expName)
function ljsctc=get_ljsctc(expName,outPath)
ljsctc = [];
ljsctc.outPath = './output';
if ~exist('outPath','var')
outPath = './output';
end
ljsctc.outPath = outPath;
ljsctc.expName=expName;
[baseName,movieID,trainOrChallenge]=LJSCTC.nameParts(expName);
% to omit a field, set it to []. rawImagePath,outPath,segParams expName, are minimum
......@@ -64,6 +67,11 @@ ljsctc.strDB=fullfile(ljsctc.outPath,[expName '.LEVER']);
datasetSpecifier=baseName(4:end);
[sp,pixelSize]=getSegParams(datasetSpecifier); % from the manual tuned cache
if ~isempty(sp)
if length(sp.minimumRadius_um)==3
sp.minimumRadius_um = [0.5,1,0.5].*sp.minimumRadius_um;
else
sp.minimumRadius_um=0.5*sp.minimumRadius_um;
end
ljsctc.segParams = sp;
ljsctc.pixelPhysicalSize=pixelSize;
else
......
ROOT='/g/leverjs/ctc2021_manual/2d';
flist=dir(fullfile(ROOT,'*training*.LEVER'));
ROOT='/g/leverjs/ctc2021_manual/';
flist=dir(fullfile(ROOT,'**/*training*.LEVER'));
tblRes=table();
for ff=1:length(flist)
[~,expName]=fileparts(flist(ff).name)
outpath = '/g/leverjs/ctc2022';
if ~exist(outpath,'dir')
mkdir(outpath);
end
for ff=35:length(flist)
% for ff=31:32
[~,expName]=fileparts(flist(ff).name);
if '2'==flist(ff).folder(end-1)
% continue
expName=['2d_' expName];
ljsctc=get_ljsctc(expName);
else
expName=['3d_' expName];
end
if AutoParam.isPhase(fullfile(flist(ff).folder,flist(ff).name))
continue
end
ljsctc=get_ljsctc(expName,outpath);
if ljsctc.segParams.bCytoplasmic
continue
end
% trc = Supervised.extractRadii(fullfile(flist(ff).folder,flist(ff).name),ljsctc.gtTrainingPath)
% ljsctc.segParams.minimumRadius_um = [trc.xn(1),0.5,trc.xn(2)];
% ljsctc.segParams.minimumRadius_um = [trc.rRange(1),0.5,trc.rRange(2)];
4;
%
ljsctc.segParams.minimumRadius_um = [1.5,0.25,3];
% ljsctc.segParams.minimumRadius_um = [7,0.5,10];
ljsctc.segParams.sensitivity = 0;
res=goCTC(ljsctc);
tblRes=[tblRes;res]
end
......@@ -42,6 +42,12 @@ if ~isempty(ljsctc.pixelPhysicalSize)
CONSTANTS.imageData.PixelPhysicalSize=ljsctc.pixelPhysicalSize;
Write.updateConstants(conn,CONSTANTS);
end
% clear algorithms and write default set
exec(conn,'delete from tblAlgorithms');
load('qAlgorithms.mat');
insert(conn,'tblAlgorithms',{'fqn','type','jsAlgorithmInfo'},qAlgorithms)
% set up segParams
if isempty(ljsctc.segParams)
% NOTE -- for best results check out getSegParams()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment