diff --git a/matlab/+Helpers/buildWrangleFile.m b/matlab/+Helpers/buildWrangleFile.m
index 9d3cf4f801277cf671763c4a528e57c25fc742c4..aca25a262e1540e2623002dbddd6724e0dcd5798 100644
--- a/matlab/+Helpers/buildWrangleFile.m
+++ b/matlab/+Helpers/buildWrangleFile.m
@@ -12,12 +12,13 @@ eraseAll=ljsPath('eraseAll.js');
 if isempty(eraseAll)
     ctcEraseAll(strTarget);
 else
-    system(['node ' eraseAll ' ' strTarget]);
+    system(['/home/ac/.nvm/versions/node/v16.13.0/bin/node ' eraseAll ' ' strTarget]);
 end
 [conn,CONSTANTS]=openDB(strTarget);
 if exist('segParams','var') && ~isempty(segParams)
     Write.setSegParams(conn,segParams);
 end
+
 % set source image dir
 [cx,bFound] = Read.findImageFolder(conn,CONSTANTS);
 if ~bFound
diff --git a/matlab/+Import/leverImport.m b/matlab/+Import/leverImport.m
index af5a9e9782e9c174ca5e487f1124fbe39588e116..2ab1288a51899c72b3437f96c870700f2463cd8e 100644
--- a/matlab/+Import/leverImport.m
+++ b/matlab/+Import/leverImport.m
@@ -17,10 +17,10 @@ if length(rawFolder) > EMPTY_STRLEN
     if exist(rawFolder,'dir')
         MicroscopeData.Original.ConvertDir('h5',rawFolder,leverFolder);
     elseif exist(rawFolder,'file')
-        [imDir,imName,ext]=fileparts(rawFolder);
+        [imDir,imName,ext]=fileparts(rawFolder);importAgneOri
         MicroscopeData.Original.ConvertData(imDir,[imName ext],leverFolder,'h5');
     end
-    
+    importAgneOri
     Import.convertTif(rawFolder,leverFolder);
 end
 
@@ -73,7 +73,8 @@ for ff=1:length(flist)
             % here as a workaround.
             rc=system(['/usr/local/bin/node ' j2lPath ' "' jsname '"']);
         else
-            nodePath=Helpers.linuxFindNode();            
+            nodePath=Helpers.linuxFindNode();     
+            nodePath = '/home/ac/.nvm/versions/node/v16.13.0/bin/node'
             rc=system([nodePath ' ' j2lPath ' "' jsname '"']);
         end
     end
diff --git a/matlab/+SSF/getClipLimits.m b/matlab/+SSF/getClipLimits.m
index dbdc3bde544c0ccacf4d7743ceab35981e2070fa..e1303ec949c38bbe821bfc58e7374c31fabbfe1a 100644
--- a/matlab/+SSF/getClipLimits.m
+++ b/matlab/+SSF/getClipLimits.m
@@ -5,7 +5,9 @@ function clipLimits = getClipLimits(flist,targetChannelNumbers,clipRange,nKeep)
 if ~exist('clipRange','var')
     clipRange= [2.5,97.5];
 end
-
+if ~exist('nKeep','var')
+    nKeep = 0;
+end
 p = ljsStartParallel(); 
 kymoPixels = {};
 parfor ff=1:length(flist)
@@ -36,4 +38,6 @@ for c = 1:size(kymoPixels,2)
     end
     clipLimits(c,find(clipRange==0)) = 0;
 end
+
+
 4;
\ No newline at end of file
diff --git a/matlab/+SSF/go_ssf_ncd.m b/matlab/+SSF/go_ssf_ncd.m
index b81b80177574a705eb463867d42667361402312b..b7e82bec83cf6d5216830922423c1ddea3215ab4 100644
--- a/matlab/+SSF/go_ssf_ncd.m
+++ b/matlab/+SSF/go_ssf_ncd.m
@@ -8,14 +8,24 @@ function d=go_ssf_ncd(kROOT,targetChannels,clipRange, nKeep)
 
 tStart = tic();
 
+if ~exist('nKeep','var')
+    nKeep = 0;
+end
+
+if ~exist('clipRange','var')
+    clipRange = [2.5,97.5];
+end
 flist = dir(fullfile(kROOT,'*.LEVER'));
 d = zeros(length(flist));
 kymoPixels = {};
  
 p = ljsStartParallel();
 % 
-clipLimits = SSF.getClipLimits(flist,targetChannels,clipRange,nKeep);
-
+if iscell(clipRange)
+    clipLimits = clipRange;
+else
+    clipLimits = SSF.getClipLimits(flist,targetChannels,clipRange,nKeep);
+end
 %
 cmdList = NCD.dParallelCommandList(ones(length(flist)),p.NumWorkers);
 W = size(cmdList,2); % for slicing j in parfor
@@ -34,8 +44,13 @@ parfor i=1:H
         end
         strDB_ff = fullfile(flist(ff).folder, flist(ff).name);
         if ~strcmp(strDB_ff,str_ff_prev)
-            im_ff = SSF.loadImage(strDB_ff, targetChannels, clipRange, nKeep);
-            im_ff = SSF.quantize8(im_ff,clipLimits);
+            im_ff = SSF.loadImage(strDB_ff, targetChannels, nKeep);
+            if iscell(clipLimits)
+                cx = clipLimits{ff};
+            else 
+                cx = clipLimits;
+            end
+            im_ff = SSF.quantize8(im_ff,cx);
             str_ff_prev = strDB_ff;
         end
 
@@ -44,8 +59,13 @@ parfor i=1:H
             dxx(i,j) = d1;
         else
             strDB_gg = fullfile(flist(gg).folder,flist(gg).name);
-            im_gg = SSF.loadImage(strDB_gg,targetChannels, clipRange, nKeep);
-            im_gg = SSF.quantize8(im_gg,clipLimits);
+            im_gg = SSF.loadImage(strDB_gg,targetChannels, nKeep);
+            if iscell(clipLimits)
+                cx = clipLimits{gg};
+            else 
+                cx = clipLimits;
+            end
+            im_gg = SSF.quantize8(im_gg,cx);
 
             d1 = SSF.ncd_ssf_volume(im_ff,im_gg);
             d2 = SSF.ncd_ssf_volume(im_gg,im_ff);
diff --git a/matlab/+SSF/loadImage.m b/matlab/+SSF/loadImage.m
index 77ac02a6e39cee70fd1ff3e4a24d18fd16c66e14..54b3f2db8a2deee7fccaed5a752f16801ef64ed6 100644
--- a/matlab/+SSF/loadImage.m
+++ b/matlab/+SSF/loadImage.m
@@ -1,5 +1,5 @@
 
-function im = loadImage(strDB, channelList, clipRange, nKeep)
+function im = loadImage(strDB, channelList, nKeep)
 
 if ~exist('bDouble','var')
     bDouble = false;
@@ -9,11 +9,9 @@ time = 1; % kymo is single time point
 for c=1:length(channelList)
     im(:,:,:,c) = leversc.loadImage(strDB,time,channelList(c));  
 end
-% HACK ACK HACK 
-im = im(:,:,:,:);
 
-if ~exist('clipRange','var')
-    return;
+if ~exist('nKeep','var')
+    return
 end
 if nKeep > 0
     im(im<0) = 0;
diff --git a/matlab/+Segment/thresholdLoG_negative.m b/matlab/+Segment/thresholdLoG_negative.m
index 29aa79124ee71827f938a801a954a8c2f6038a11..bc9137f364257130a2b3a29099d037d862f568e7 100644
--- a/matlab/+Segment/thresholdLoG_negative.m
+++ b/matlab/+Segment/thresholdLoG_negative.m
@@ -27,6 +27,7 @@ if 0== sensitivity
         % distribution?
         epsThresh = 0.05;
     else
+%         epsThresh = 5e-3;
         epsThresh = 1e-3;
     end
     bwn = logical(imn>epsThresh);