mirror of
https://github.com/wassname/scikit-image.git
synced 2026-07-01 13:45:49 +08:00
Renaming *_wt to *_weight; correcting the object type of n in _censure_dob_loop
This commit is contained in:
@@ -14,11 +14,14 @@ def _get_filtered_image(image, n_scales, mode):
|
||||
scales = np.zeros((image.shape[0], image.shape[1], n_scales))
|
||||
for i in range(n_scales):
|
||||
n = i + 1
|
||||
inner_wt = (1.0 / (2 * n + 1)**2)
|
||||
outer_wt = (1.0 / (12 * n**2 + 4 * n))
|
||||
# Constant multipliers for the outer region and the inner region
|
||||
# of the bilevel filters with the constraint of keeping the DC bias
|
||||
# 0.
|
||||
inner_weight = (1.0 / (2 * n + 1)**2)
|
||||
outer_weight = (1.0 / (12 * n**2 + 4 * n))
|
||||
integral_img = integral_image(image)
|
||||
filtered_image = np.zeros(image.shape)
|
||||
_censure_dob_loop(image, n, integral_img, filtered_image, inner_wt, outer_wt)
|
||||
_censure_dob_loop(image, n, integral_img, filtered_image, inner_weight, outer_weight)
|
||||
scales[:, :, i] = filtered_image
|
||||
return scales
|
||||
elif mode == 'Octagon':
|
||||
@@ -43,10 +46,10 @@ def _get_filtered_image(image, n_scales, mode):
|
||||
ni = inner_shape[n - 1][1]
|
||||
outer_pixels = (mo + 2 * no)**2 - 2 * no * (no + 1)
|
||||
inner_pixels = (mi + 2 * ni)**2 - 2 * ni * (ni + 1)
|
||||
outer_wt = 1.0 / (outer_pixels - inner_pixels)
|
||||
inner_wt = 1.0 / inner_pixels
|
||||
outer_weight = 1.0 / (outer_pixels - inner_pixels)
|
||||
inner_weight = 1.0 / inner_pixels
|
||||
|
||||
_censure_octagon_loop(image, integral_img, integral_img1, integral_img2, integral_img3, integral_img4, filtered_image, outer_wt, inner_wt, mo, no, mi, ni)
|
||||
_censure_octagon_loop(image, integral_img, integral_img1, integral_img2, integral_img3, integral_img4, filtered_image, outer_weight, inner_weight, mo, no, mi, ni)
|
||||
|
||||
scales[:, :, k] = filtered_image
|
||||
return scales
|
||||
|
||||
@@ -7,10 +7,10 @@ cimport numpy as cnp
|
||||
import numpy as np
|
||||
|
||||
|
||||
def _censure_dob_loop(double[:, ::1] image, cnp.int16_t n,
|
||||
def _censure_dob_loop(double[:, ::1] image, Py_ssize_t n,
|
||||
double[:, ::1] integral_img,
|
||||
double[:, ::1] filtered_image,
|
||||
double inner_wt, double outer_wt):
|
||||
double inner_weight, double outer_weight):
|
||||
|
||||
cdef Py_ssize_t i, j
|
||||
cdef double inner, outer
|
||||
@@ -19,7 +19,7 @@ def _censure_dob_loop(double[:, ::1] image, cnp.int16_t n,
|
||||
for j in range(2 * n, image.shape[1] - 2 * n):
|
||||
inner = integral_img[i + n, j + n] + integral_img[i - n - 1, j - n - 1] - integral_img[i + n, j - n - 1] - integral_img[i - n - 1, j + n]
|
||||
outer = integral_img[i + 2 * n, j + 2 * n] + integral_img[i - 2 * n - 1, j - 2 * n - 1] - integral_img[i + 2 * n, j - 2 * n - 1] - integral_img[i - 2 * n - 1, j + 2 * n]
|
||||
filtered_image[i, j] = outer_wt * outer - (inner_wt + outer_wt) * inner
|
||||
filtered_image[i, j] = outer_weight * outer - (inner_weight + outer_weight) * inner
|
||||
|
||||
|
||||
def _slanted_integral_image(double[:, ::1] image,
|
||||
@@ -58,7 +58,7 @@ def _censure_octagon_loop(double[:, ::1] image, double[:, ::1] integral_img,
|
||||
double[:, ::1] integral_img3,
|
||||
double[:, ::1] integral_img4,
|
||||
double[:, ::1] filtered_image,
|
||||
double outer_wt, double inner_wt,
|
||||
double outer_weight, double inner_weight,
|
||||
int mo, int no, int mi, int ni):
|
||||
|
||||
cdef Py_ssize_t i, j, o_m, i_m, o_set, i_set
|
||||
@@ -82,4 +82,4 @@ def _censure_octagon_loop(double[:, ::1] image, double[:, ::1] integral_img,
|
||||
inner += integral_img2[i - i_set, j - i_m] - integral_img2[i - i_m + 1, j - i_set - 1] - integral_img[i - i_m, -1] - integral_img[i - i_set - 1, j + i_m - 1] + integral_img[i - i_m, j + i_m - 1] + integral_img[i - i_set - 1, -1]
|
||||
inner += integral_img3[i - i_m, j + i_set] - integral_img3[i - i_set - 1, j + i_m - 1] - integral_img[-1, j + i_set] - integral_img[i + i_m - 1, j + i_m - 1] + integral_img[-1, j + i_m - 1] + integral_img[i + i_m - 1, j + i_set]
|
||||
|
||||
filtered_image[i, j] = outer_wt * outer - (outer_wt + inner_wt) * inner
|
||||
filtered_image[i, j] = outer_weight * outer - (outer_weight + inner_weight) * inner
|
||||
|
||||
Reference in New Issue
Block a user