-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuildMaxImageStack.R
More file actions
32 lines (29 loc) · 908 Bytes
/
buildMaxImageStack.R
File metadata and controls
32 lines (29 loc) · 908 Bytes
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
buildMaxImageStack <- function(gradientMagnitude,maxLevel){
maxStack = array(0, dim=c(nrow(gradientMagnitude), ncol(gradientMagnitude), maxLevel))
for(i in 1:nrow(gradientMagnitude)){
for(j in 1:ncol(gradientMagnitude)){
outMax = -1E12
for(n in max(i-1, 1):min(i+2, nrow(maxStack))){
for(m in max(j-1, 1):min(j+2, ncol(maxStack))){
outMax = max(gradientMagnitude[n,m],outMax);
}
}
maxStack[i,j,1] = outMax;
}
}
for (ii in 2:maxLevel){
maxImg = maxStack[,,ii-1]
for(i in 1:nrow(gradientMagnitude)){
for(j in 1:ncol(gradientMagnitude)){
outMax = -1E12;
for(n in max(i-1, 1):min(i+2, nrow(maxStack))){
for(m in max(j-1, 1):min(j+2, ncol(maxStack))){
outMin = max(maxImg[n,m],outMax);
}
}
maxStack[i,j,ii] = outMax
}
}
}
return(maxStack)
}