diff --git a/src/+ImportExport/lever2ctc.m b/src/+ImportExport/lever2ctc.m
index eecd479f5dbb3612bd0ee338a12148ebb2552136..e43e2e87a34170e8caac9f1cd83a372c82b10a0b 100644
--- a/src/+ImportExport/lever2ctc.m
+++ b/src/+ImportExport/lever2ctc.m
@@ -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
diff --git a/src/+Supervised/getTRC.m b/src/+Supervised/getTRC.m
index ed04cfc9baf628f8f7e5cedd010aef14b2b59041..db8bd6eaf74851288c8bdd3ebe20384b627501c7 100644
--- a/src/+Supervised/getTRC.m
+++ b/src/+Supervised/getTRC.m
@@ -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;
diff --git a/src/evalSeg.m b/src/evalSeg.m
new file mode 100644
index 0000000000000000000000000000000000000000..bcacb1f5a3d27843f79a7696e9666fb5ed9a479b
--- /dev/null
+++ b/src/evalSeg.m
@@ -0,0 +1,18 @@
+
+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
diff --git a/src/get_ljsctc.m b/src/get_ljsctc.m
index 33ea568c2747eb6a45bb769096ecc8328c73d297..fd2bce82f2f895e5dd45dbf7fded3380c83a8ea0 100644
--- a/src/get_ljsctc.m
+++ b/src/get_ljsctc.m
@@ -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,7 +67,12 @@ ljsctc.strDB=fullfile(ljsctc.outPath,[expName '.LEVER']);
 datasetSpecifier=baseName(4:end);
 [sp,pixelSize]=getSegParams(datasetSpecifier); % from the manual tuned cache
 if ~isempty(sp)
-    ljsctc.segParams = 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
     % is you don't have an sp here, we'll try to learn it for you...if you
diff --git a/src/goAllCTC.m b/src/goAllCTC.m
index d845a955028f4d12258f760a9a6c2cd842eb8641..490f968e8f133a1337dbbafdebe169b689c4007b 100644
--- a/src/goAllCTC.m
+++ b/src/goAllCTC.m
@@ -1,12 +1,35 @@
 
-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)
-    expName=['2d_' expName];
-    ljsctc=get_ljsctc(expName);
+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];
+    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
diff --git a/src/goCTC.m b/src/goCTC.m
index c9a6d443f04fb09121c0bd1f0f46278b3a3d0c9f..2a6d5bcfa0f6f6d7db83de181a52ebf5105dbf05 100644
--- a/src/goCTC.m
+++ b/src/goCTC.m
@@ -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()