diff --git a/matlab/+Import/setPixelPhysicalSizeFolderRecursive.m b/matlab/+Import/setPixelPhysicalSizeFolderRecursive.m
index 0d8e4890183a0d9fb85439256bd8cab31663f53f..c9ed197bead94032d824c9a8cc5d2427b0cf0e1d 100644
--- a/matlab/+Import/setPixelPhysicalSizeFolderRecursive.m
+++ b/matlab/+Import/setPixelPhysicalSizeFolderRecursive.m
@@ -6,7 +6,7 @@ if ~all(size(physicalSize)==[1,3])
     return
 end
 
-flist=dir(fullfile(folder,'**\*.LEVER'));
+flist=dir(fullfile(folder,'**/*.LEVER'));
 for ff=1:length(flist)
     strDB=fullfile(flist(ff).folder,flist(ff).name);
     conn = database(strDB, '','', 'org.sqlite.JDBC', 'jdbc:sqlite:');
diff --git a/matlab/+SSF/channel_distances.m b/matlab/+SSF/channel_distances.m
new file mode 100644
index 0000000000000000000000000000000000000000..557fc9d3b94ba8a5b3919a1f3045c8517b01099d
--- /dev/null
+++ b/matlab/+SSF/channel_distances.m
@@ -0,0 +1,48 @@
+% kymograph channels -- check CONSTANTS numbers may vary
+% ERK_CHANNEL = 1;
+% AKT_CHANNEL = 2;
+% VELOCITY_CHANNEL = 4; 
+function res = channel_distances(flist,classList,channel1,channel2,clipLimits)
+res=table();
+
+if ~exist('clipLimits','var') || isempty(clipLimits)
+    clipLimits = SSF.getClipLimits(flist,[channel1,channel2]);
+end
+
+parfor ff = 1:length(flist)    
+    class = classList{ff};
+    
+    nr = table();
+    
+    strDB = fullfile(flist(ff).folder,flist(ff).name);
+    im1 = leversc.loadImage(strDB,1,channel1);  
+    im2= leversc.loadImage(strDB,1,channel2);   
+    
+    im1 = SSF.quantize8(im1,clipLimits{ff,1});
+    im2 = SSF.quantize8(im2,clipLimits{ff,2});
+    
+    d1 = SSF.ncd_ssf_volume(im1,im2);
+    d2 = SSF.ncd_ssf_volume(im2,im1);
+    d = min(d1,d2);
+    
+    nr.idx = ff;
+    nr.class = {class};
+    nr.d = d;
+    res(ff,:) = nr;
+end
+res.Properties.VariableNames = {'idx','class','d'};
+res.class=cellfun(@upper,res.class,'UniformOutput',false);
+boxplot(res.d,res.class,'notch','on');
+ylabel('NCD( Akt_{SSF}, Velocity_{SSF} )','FontSize',12)
+xlabel('experimental condition','FontSize',12)
+set(gcf,'color','w')
+4;
+
+% 
+% classes = unique(res.class);
+% mu=[];stderr=[];
+% for i = 1:length(classes)
+%     idx = find(strcmp(res.class,classes(i)));
+%     mu(i) = mean(res.d(idx));
+%     stderr(i) = std(res.d(idx))/sqrt(length(idx));
+% end
\ No newline at end of file
diff --git a/matlab/+SSF/getClipLimits.m b/matlab/+SSF/getClipLimits.m
index 5eb239d722123d4d52ddce3616e4cc7fe3158b7b..65359c1fc2d115be1369b522e2bac40ccc8d417e 100644
--- a/matlab/+SSF/getClipLimits.m
+++ b/matlab/+SSF/getClipLimits.m
@@ -24,14 +24,22 @@ parfor ff=1:length(flist)
             im_ff = abs(im_ff);
         end
         px = im_ff(find(im_ff));
-        kymoPixels{ff} = px;
+        kymoPixels{ff}{c} = px;
     end    
 end 
 
 kymoPixels = vertcat(kymoPixels{:});
-
-clip_neg = SSF.getClipQuantiles(kymoPixels(kymoPixels<0),127);
-clip_pos = SSF.getClipQuantiles(kymoPixels(kymoPixels>0),127);
-clipLimits = [clip_neg,clip_pos];
-clipLimits = repmat({clipLimits},length(flist),1);
+for c = 1:size(kymoPixels,2)
+    kp = kymoPixels(:,c);
+    kp = kp{:};
+    if all(kp>0) || all(kp<0)
+        cx = SSF.getClipQuantiles(kp,254);
+    else
+        clip_neg = SSF.getClipQuantiles(kp(kp<0),127);
+        clip_pos = SSF.getClipQuantiles(kp(kp>0),127);
+        cx = [clip_neg,clip_pos];
+    end  
+    clipLimits{c} = cx;
+end
+clipLimits = repmat(clipLimits,length(flist),1);
 4;
diff --git a/matlab/+SSF/getClipQuantiles.m b/matlab/+SSF/getClipQuantiles.m
index b6cf656da7db13c1329c2e9925aea4501b021cff..377956572e9e169ba8cfce7d2ebbf9409c76caa6 100644
--- a/matlab/+SSF/getClipQuantiles.m
+++ b/matlab/+SSF/getClipQuantiles.m
@@ -1,12 +1,12 @@
 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);
 
-pxTarget = linspace(2.5,97.5,nQuant);
-clipLimits = prctile(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);
+
+% pxTarget = linspace(2.5,97.5,nQuant);
+% clipLimits = prctile(voxels,pxTarget);
diff --git a/matlab/+SSF/quantize8.m b/matlab/+SSF/quantize8.m
index 1dbd08aae04dce4c1cd80852fee2cc602c4bd804..b74a16a41960bf5bcbb82d695bfce2dfd2dae24a 100644
--- a/matlab/+SSF/quantize8.m
+++ b/matlab/+SSF/quantize8.m
@@ -7,13 +7,5 @@ if isa(im,'uint8')
 end
 
 im = uint8(imquantize(im,clipLimits));
-% 
-% for c = 1:size(im,4)
-%     im(:,:,:,c) = max(im(:,:,:,c),clipLimits(c,1));
-%     im(:,:,:,c) = min(im(:,:,:,c),clipLimits(c,2));
-%     im(:,:,:,c) = (im(:,:,:,c) - clipLimits(c,1)) ./ (clipLimits(c,2) - clipLimits(c,1));
-% end
-% im = im2uint8(im);
-
 im = max(im,1);
 im(0 == im_in) = 0;
\ No newline at end of file