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);