-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgetNGLDM.m
More file actions
36 lines (28 loc) · 1.57 KB
/
Copy pathgetNGLDM.m
File metadata and controls
36 lines (28 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
function NGLDM = getNGLDM(ROIonly,MaskOnly)
mat_in = ROIonly;
mask_in = MaskOnly;
% size = 1 ==> Surrounding 18 voxels
NGLD_matrix = zeros(max(mat_in(:))+1, 19); % Both zeros (gray scale, times) are accounted for
for idx1 = 2:size(mat_in,1)-1
for idx2 = 2:size(mat_in,2)-1
for idx3 = 2:size(mat_in,3)-1
if mask_in(idx1, idx2, idx3)
surrounding_vec = [
mat_in(idx1-1,idx2,idx3) mat_in(idx1+1,idx2,idx3) mat_in(idx1,idx2-1,idx3) mat_in(idx1,idx2+1,idx3) ...
mat_in(idx1-1,idx2-1,idx3) mat_in(idx1+1,idx2+1,idx3) mat_in(idx1-1,idx2+1,idx3) mat_in(idx1+1,idx2-1,idx3) ...
mat_in(idx1,idx2,idx3-1) mat_in(idx1-1,idx2,idx3-1) mat_in(idx1+1,idx2,idx3-1) mat_in(idx1,idx2-1,idx3-1) mat_in(idx1,idx2+1,idx3-1) ...
mat_in(idx1,idx2,idx3+1) mat_in(idx1-1,idx2,idx3+1) mat_in(idx1+1,idx2,idx3+1) mat_in(idx1,idx2-1,idx3+1) mat_in(idx1,idx2+1,idx3+1)];
NGLD_matrix(mat_in(idx1,idx2,idx3)+1, length(find(surrounding_vec==mat_in(idx1,idx2,idx3)))+1) = ...
NGLD_matrix(mat_in(idx1,idx2,idx3)+1, length(find(surrounding_vec==mat_in(idx1,idx2,idx3)))+1)+1;
end
end
end
end
NGLD_matrix = NGLD_matrix(2:end, :);
NGLDM = NGLD_matrix/sum(NGLD_matrix(:)); % Normalize it
% if exist('NGLD_global') == 1
% clear NGLD_global;
% end
% global NGLD_global;
% NGLD_global = NGLD_matrix;
return;