diff --git a/matlab/+SSF/channel_distances.m b/matlab/+SSF/channel_distances.m
index 557fc9d3b94ba8a5b3919a1f3045c8517b01099d..47ac27e1f47cf80ad03f44a9b5381ee8077d39b1 100644
--- a/matlab/+SSF/channel_distances.m
+++ b/matlab/+SSF/channel_distances.m
@@ -15,8 +15,8 @@ parfor ff = 1:length(flist)
     nr = table();
     
     strDB = fullfile(flist(ff).folder,flist(ff).name);
-    im1 = leversc.loadImage(strDB,1,channel1);  
-    im2= leversc.loadImage(strDB,1,channel2);   
+    im1 = SSF.loadImage(strDB,channel1);  
+    im2= SSF.loadImage(strDB,channel2);   
     
     im1 = SSF.quantize8(im1,clipLimits{ff,1});
     im2 = SSF.quantize8(im2,clipLimits{ff,2});
diff --git a/matlab/+SSF/getClipLimits.m b/matlab/+SSF/getClipLimits.m
index 65359c1fc2d115be1369b522e2bac40ccc8d417e..bd65dfe1c5ce2351f25f990310bbf67be1197a34 100644
--- a/matlab/+SSF/getClipLimits.m
+++ b/matlab/+SSF/getClipLimits.m
@@ -32,6 +32,8 @@ kymoPixels = vertcat(kymoPixels{:});
 for c = 1:size(kymoPixels,2)
     kp = kymoPixels(:,c);
     kp = kp{:};
+%     clipLimits{c} = quantile(kp,1/255:1/255:1-1/255);
+%     clipLimits{c} = prctile(kp,linspace(0,100,254));
     if all(kp>0) || all(kp<0)
         cx = SSF.getClipQuantiles(kp,254);
     else
diff --git a/matlab/+SSF/getClipQuantiles.m b/matlab/+SSF/getClipQuantiles.m
index 377956572e9e169ba8cfce7d2ebbf9409c76caa6..6e1267c3932970dffde7b2b76430743ab25f12e5 100644
--- a/matlab/+SSF/getClipQuantiles.m
+++ b/matlab/+SSF/getClipQuantiles.m
@@ -1,12 +1,33 @@
 function clipLimits = getClipQuantiles(voxels,nQuant)
 
-mx = mean(voxels);
-sx = std(voxels);
-cl = [mx-sx, mx+sx];
-q1 = length(find(voxels<cl(1)))./length(voxels);
-q2 = 1 - length(find(voxels>cl(2)))./length(voxels);
-pxTarget = linspace(q1,q2,nQuant);
-clipLimits = quantile(voxels,pxTarget);
+% mx = mean(voxels);
+% sx = std(voxels);
+% cl = [mx-sx, mx+sx];
+% q1 = length(find(voxels<cl(1)))./length(voxels);
+% q2 = 1 - length(find(voxels>cl(2)))./length(voxels);
+% pxTarget = linspace(q1,q2,nQuant);
+% clipLimits = quantile(voxels,pxTarget);
 
+% clipLimits = linspace(min(voxels),max(voxels),nQuant+2);
+% clipLimits = clipLimits(2:end-1);
 % pxTarget = linspace(2.5,97.5,nQuant);
 % clipLimits = prctile(voxels,pxTarget);
+% 
+% if max(voxels)<0
+%     pxTarget = linspace(2.5,100,nQuant);
+% else
+%     pxTarget = linspace(0,97.5,nQuant);
+% end
+% clipLimits = prctile(voxels,pxTarget);
+
+% clipLimits = multithresh(voxels,20);
+[~ , clipLimits] = histcounts(voxels);
+if length(clipLimits>nQuant)
+    h = histogram(voxels,'Visible','off');
+    while length(h.BinEdges)>nQuant            
+        N = fewerbins(h);
+        h = histogram(voxels,N,'Visible','off');
+    end
+    clipLimits = h.BinEdges;
+end
+4;