LCL and RVU share a lot of the same steps in the processing of the image block. Although the text between the two sections differs slightly the steps are the same for the following points:
For each local region V in I:
a) rotate V such that dominant ridge flow is perpendicular to x-axis using nearest neighbour
interpolation;
b) crop rotated V such that no invalid regions are included;
c) with V obtain the ridge-valley signature S (6.2.3.2);
d) determine DT using linear regression on S;
e) for each element S(x), set threshold T(x) of x being ridge or valley based on DT;
f) classify columns in V as ridge (1) or valley (0) with P x = 0, otherwise.
1, if S x < T x ;
g) determine ridge-valley transition vector C from P;
However, the code base, there is a discrepancy in RVU that does not reflect LCL (or vice versa).
Specifically, in RVUPHistogram.cpp on line 314 the for-loop parameters are defined as
for (unsigned int i = 0; i < ridval.size() - 1; i++) {
// circular shift from back to front
if (i == 0) {
j = ridval.size() - 1;
} else {
j = i - 1;
}
if (ridval[i] != ridval[j]) {
change.push_back(1);
} else {
change.push_back(0);
}
}
Of note is that the ridval.size() has 1 subtracted from it, so the loop does not loop over 32 pixels, but over 31 instead.
Whereas in LCL.cpp on line 323 we see the for-loop actually indexing over the full 32 pixels
for (unsigned int i = 0; i < ridval.size(); i++) {
// circular shift from back to front
if (i == 0) {
j = ridval.size() - 1;
} else {
j = i - 1;
}
if (ridval[i] != ridval[j]) {
change.push_back(1);
} else {
change.push_back(0);
}
}
The minus 1 in RVU cannot be ascribed to step j) in section 6.2.5.2. in the norm, as this step in the process is covered from line 346 in the RVU code
for (int i = changeIndex[0] + 1;
i < changeIndex[changeIndex.size() - 1]; i++) {
ridvalComplete.push_back(ridval[i]);
}
LCL and RVU share a lot of the same steps in the processing of the image block. Although the text between the two sections differs slightly the steps are the same for the following points:
However, the code base, there is a discrepancy in RVU that does not reflect LCL (or vice versa).
Specifically, in RVUPHistogram.cpp on line 314 the for-loop parameters are defined as
Of note is that the ridval.size() has 1 subtracted from it, so the loop does not loop over 32 pixels, but over 31 instead.
Whereas in LCL.cpp on line 323 we see the for-loop actually indexing over the full 32 pixels
The minus 1 in RVU cannot be ascribed to step j) in section 6.2.5.2. in the norm, as this step in the process is covered from line 346 in the RVU code