Skip to content
Snippets Groups Projects
Commit 47f69f64 authored by ac's avatar ac
Browse files

SSF channelDistance

parent 546457fe
No related branches found
No related tags found
No related merge requests found
......@@ -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:');
......
% 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
......@@ -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;
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);
......@@ -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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment