|
a |
|
b/All Matlab Code/Code for Fractal Analysis/boxdiv2.m |
|
|
1 |
%% Quantification of Trabeculae Inside the Heart from MRI Using Fractal Analysis |
|
|
2 |
|
|
|
3 |
%% This code is written by- |
|
|
4 |
%Md. Kamrul Hasan, M1 MAIA |
|
|
5 |
%Md. Fakrul Islam Tushar, M1 MAIA |
|
|
6 |
%% |
|
|
7 |
function c=boxdiv2(c, p) |
|
|
8 |
siz = length(c); |
|
|
9 |
if siz==1 |
|
|
10 |
c=true; |
|
|
11 |
else |
|
|
12 |
siz2 = round(siz/2); |
|
|
13 |
% sub-square top-left |
|
|
14 |
c(1:siz2, 1:siz2) = c(1:siz2, 1:siz2) & (rand<p); |
|
|
15 |
if c(1,1) |
|
|
16 |
c(1:siz2,1:siz2) = boxdiv2(c(1:siz2,1:siz2),p); |
|
|
17 |
end |
|
|
18 |
% sub-square top-right |
|
|
19 |
c((1+siz2):siz,1:siz2) = c((1+siz2):siz,1:siz2) & (rand<p); |
|
|
20 |
if c(1+siz2,1) |
|
|
21 |
c((1+siz2):siz,1:siz2) = boxdiv2(c((1+siz2):siz,1:siz2),p); |
|
|
22 |
end |
|
|
23 |
% sub-square bottom-left |
|
|
24 |
c(1:siz2,(1+siz2):siz) = c(1:siz2,(1+siz2):siz) & (rand<p); |
|
|
25 |
if c(1,1+siz2) |
|
|
26 |
c(1:siz2,(1+siz2):siz) = boxdiv2(c(1:siz2,(1+siz2):siz),p); |
|
|
27 |
end |
|
|
28 |
% sub-square bottom-right |
|
|
29 |
c((1+siz2):siz,(1+siz2):siz) = c((1+siz2):siz,(1+siz2):siz) & (rand<p); |
|
|
30 |
if c(1+siz2,1+siz2) |
|
|
31 |
c((1+siz2):siz,(1+siz2):siz) = boxdiv2(c((1+siz2):siz,(1+siz2):siz),p); |
|
|
32 |
end |
|
|
33 |
end |
|
|
34 |
%% END |