Skip to content
Snippets Groups Projects
Commit 924c0ea7 authored by ac's avatar ac
Browse files

darkTubes regional max

parent 0a22d267
No related branches found
No related tags found
No related merge requests found
......@@ -21,7 +21,7 @@ bw = imdilate(bw,ones(4*thickness));
imp(~bw) = 0;
imfm = fibermetric(imp);
% imfm = imfm .* imregionalmax(imfm);
imfm = imfm .* imregionalmax(imfm);
4;
tic
ROOT = '/g/leverjs/Schuman_OCT/OCT/qualifiedYes';
ROOT = '/g/leverjs/Schuman_OCT/OCT/qualified';
% ROOT = '/g/leverjs/Schuman_OCT/OCT/qualified';
PID = 'P10010';
% PID = 'P10125'
% PID = 'P10010';
PID = 'P10125'
flist = dir(fullfile(ROOT,['/' PID '*.LEVER']));
mx = regexp({flist.name},'P(?<PID>\d+)_(?<scanType>.+)_(?<date>\d+-\d+-\d+)_(?<time>\d+-\d+-\d+)_(?<eye>\w\w)_(?<scanID>.+?)_.*.LEVER','names');
tblMeta = struct2table(vertcat(mx{:}));
......@@ -21,6 +22,10 @@ p = ljsStartParallel(96);
% radii = {[5,5,5]};
radii = {[8]} % dark tubes
% radii = {[0.5,8,8],[5,5,5],[8]}; % plate,blob, dark tube
radii
imf = RSF.getImf(tblMeta,radii);
imf = RSF.quantizeImX(imf,[0,100]);
d = [];
......
File suppressed by a .gitattributes entry, the file's encoding is unsupported, or the file size exceeds the limit.
......@@ -43,7 +43,7 @@ for i = 1:length(dxx)
idxn = find(dxx{i}(:,2)==n & dxx{i}(:,3) == n);
nt.X = [dxx{i}(idxm,1),dxx{i}(idxn,1),dxx{i}(j,1)];
nt.ncd = (dxx{i}(j,1));
nt.md = min(pData.md(n),pData.md(m));
nt.md = pData.md(m);
nt.dmd = dmd;
nt.mn = [m,n];
nt.ddx = pData.dx(n) - pData.dx(m);
......@@ -54,6 +54,7 @@ for i = 1:length(dxx)
% find sex
idx = find(tblMD.subjectID == pData.subjectID(m),1,'first');
nt.sex = tblMD.gender_full(idx);
nt.velocity = nt.dmd ./ years(nt.ddx);
if abs(nt.dmd)>4
continue
end
......
load('/home/ac/git/rsf/src/MATLAB/ncdVSvfmd/results/qualYes_ncdVSvfmd_[[0.5,8,8]].mat')
% load('/home/ac/git/rsf/src/MATLAB/ncdVSvfmd/results/qualYes_ncdVSvfmd_[[0.5,8,8]].mat')
r2 = [];
for i = 1:length(dxx)
......@@ -54,7 +54,7 @@ dMD = [];
end
end
NDIMS = 3;
NDIMS = 4;
if all(0==triu(d,1),'all') || size(d,1)<NDIMS
continue
end
......@@ -72,11 +72,16 @@ dMD = [];
dEmbed = [dEmbed ; dY];
dNCD = [dNCD ; diag(d)];
dMD = [dMD;0*diag(d)];
if length(find(abs(dMD)>0)) <1
if length(find(abs(dMD)>0)) <4
continue
end
% [r,p] = corr(dMD,dEmbed);
[r,p] = corr(dMD,dEmbed,'rows','pairwise');
[r,p] = corr(dMD,dEmbed,'rows','complete');
if length(find(dMD<0))<3
continue
end
[r,p,length(find(dMD<0))]
r2 = [r2,r^2];
end
\ No newline at end of file
......@@ -18,13 +18,15 @@ load('../qualify/onh_rnfl_thickness.mat');
% radii = {[0.5,8,8],[5,5,5],[8]}; % plate,blob
% radii = {[0.5,8,8],[5,5,5],[0]}; % plate,blob
radii = {[0.5,8,8]}; % plate
% radii = {[0.5,8,8]}; % plate
% radii = {[5,5,5]}; % plate
% radii = {[7,4,4]}; % plate
radii = {[8]};
radii
[rho2,tblVelo, pData, dxx] = kernelCorr(radii,tblVFMD,tblMeta,tblRNFL);
[rmse1,~] = regnetCorr(tblVelo);median(rmse1)
saveFile = fullfile(SAVE_FOLDER,['qualYes_ncdVSvfmd_' jsonencode(radii) '.mat']);
save(saveFile)
% saveFile = fullfile(SAVE_FOLDER,['qualEns_ncdVSvfmd_' jsonencode(radii) '.mat']);
% save(saveFile)
......@@ -41,17 +41,18 @@ end
p=ljsStartParallel(96);
imf = RSF.getImf(pData,radii);
% note images are quantized below during building worklist for parpool
[C,ia,ic] = unique(pData.subjectID);
% worklist is buckets by patient. each bucket gets pairwise distances
% computed (below).
workList = [];
for px = 1:length(C)
work1 = [];
idx = find(ic==px);
work1.imf = imf(idx);
work1.imf = RSF.quantizeImX(work1.imf);
wl = [idx,idx];
wl = [wl;nchoosek(idx,2)];
work1.wl = wl;
......
......@@ -22,8 +22,10 @@ for i = 1:length(xTarget)
trainY = T;
trainY(i) = [];
% mdl = fitrnet(trainX2,trainY2,'Activations','sigmoid','standardize',false,'LayerSizes',[10]);
mdl = fitrnet(trainX,trainY,"OptimizeHyperparameters","auto", "HyperparameterOptimizationOptions",...
struct("AcquisitionFunctionName","expected-improvement-plus",'verbose',0,'showplots',false));
% mdl = fitrnet(trainX,trainY,"OptimizeHyperparameters","auto", "HyperparameterOptimizationOptions",...
% struct("AcquisitionFunctionName","expected-improvement-plus",'verbose',0,'showplots',false));
mdl = fitrensemble(trainX,trainY,'OptimizeHyperparameters','all',...
'HyperparameterOptimizationOptions',struct('Verbose',0,'ShowPlots',false));
mdlX{i} = mdl;
pred = mdl.predict(xTarget(i,:));
err(i) = abs(T(i) - pred);
......
ROOT = '/g/leverjs/Schuman_OCT/OCT/combined';
target = '/g/leverjs/Schuman_OCT/OCT/qualifiedYes';
target = '/g/leverjs/Schuman_OCT/OCT/qualified';
if ~exist(target,'dir')
mkdir(target);
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment