mirror of
https://github.com/wassname/scikit-image.git
synced 2026-08-15 12:54:54 +08:00
Change type of pop variable from float to Py_ssize_t
This commit is contained in:
@@ -6,7 +6,7 @@ cdef int int_min(int a, int b)
|
|||||||
|
|
||||||
|
|
||||||
# 16 bit core kernel receives extra information about data bitdepth
|
# 16 bit core kernel receives extra information about data bitdepth
|
||||||
cdef void _core16(np.uint16_t kernel(Py_ssize_t *, float, np.uint16_t,
|
cdef void _core16(np.uint16_t kernel(Py_ssize_t *, Py_ssize_t, np.uint16_t,
|
||||||
Py_ssize_t, Py_ssize_t, Py_ssize_t, float,
|
Py_ssize_t, Py_ssize_t, Py_ssize_t, float,
|
||||||
float, Py_ssize_t, Py_ssize_t),
|
float, Py_ssize_t, Py_ssize_t),
|
||||||
np.ndarray[np.uint16_t, ndim=2] image,
|
np.ndarray[np.uint16_t, ndim=2] image,
|
||||||
|
|||||||
@@ -17,19 +17,19 @@ cdef inline int int_min(int a, int b):
|
|||||||
return a if a <= b else b
|
return a if a <= b else b
|
||||||
|
|
||||||
|
|
||||||
cdef inline void histogram_increment(Py_ssize_t * histo, float * pop,
|
cdef inline void histogram_increment(Py_ssize_t * histo, Py_ssize_t * pop,
|
||||||
np.uint16_t value):
|
np.uint16_t value):
|
||||||
histo[value] += 1
|
histo[value] += 1
|
||||||
pop[0] += 1.
|
pop[0] += 1
|
||||||
|
|
||||||
|
|
||||||
cdef inline void histogram_decrement(Py_ssize_t * histo, float * pop,
|
cdef inline void histogram_decrement(Py_ssize_t * histo, Py_ssize_t * pop,
|
||||||
np.uint16_t value):
|
np.uint16_t value):
|
||||||
histo[value] -= 1
|
histo[value] -= 1
|
||||||
pop[0] -= 1.
|
pop[0] -= 1
|
||||||
|
|
||||||
|
|
||||||
cdef void _core16(np.uint16_t kernel(Py_ssize_t *, float, np.uint16_t,
|
cdef void _core16(np.uint16_t kernel(Py_ssize_t *, Py_ssize_t, np.uint16_t,
|
||||||
Py_ssize_t, Py_ssize_t, Py_ssize_t, float,
|
Py_ssize_t, Py_ssize_t, Py_ssize_t, float,
|
||||||
float, Py_ssize_t, Py_ssize_t),
|
float, Py_ssize_t, Py_ssize_t),
|
||||||
np.ndarray[np.uint16_t, ndim=2] image,
|
np.ndarray[np.uint16_t, ndim=2] image,
|
||||||
@@ -74,7 +74,7 @@ cdef void _core16(np.uint16_t kernel(Py_ssize_t *, float, np.uint16_t,
|
|||||||
# define local variable types
|
# define local variable types
|
||||||
cdef Py_ssize_t r, c, rr, cc, s, value, local_max, i, even_row
|
cdef Py_ssize_t r, c, rr, cc, s, value, local_max, i, even_row
|
||||||
# number of pixels actually inside the neighborhood (float)
|
# number of pixels actually inside the neighborhood (float)
|
||||||
cdef float pop
|
cdef Py_ssize_t pop
|
||||||
|
|
||||||
# allocate memory with malloc
|
# allocate memory with malloc
|
||||||
cdef Py_ssize_t max_se = srows * scols
|
cdef Py_ssize_t max_se = srows * scols
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ cdef np.uint8_t is_in_mask(Py_ssize_t rows, Py_ssize_t cols,
|
|||||||
|
|
||||||
# 8 bit core kernel receives extra information about data inferior and superior
|
# 8 bit core kernel receives extra information about data inferior and superior
|
||||||
# percentiles
|
# percentiles
|
||||||
cdef void _core8(np.uint8_t kernel(Py_ssize_t *, float, np.uint8_t, float,
|
cdef void _core8(np.uint8_t kernel(Py_ssize_t *, Py_ssize_t, np.uint8_t, float,
|
||||||
float, Py_ssize_t, Py_ssize_t),
|
float, Py_ssize_t, Py_ssize_t),
|
||||||
np.ndarray[np.uint8_t, ndim=2] image,
|
np.ndarray[np.uint8_t, ndim=2] image,
|
||||||
np.ndarray[np.uint8_t, ndim=2] selem,
|
np.ndarray[np.uint8_t, ndim=2] selem,
|
||||||
|
|||||||
@@ -16,16 +16,16 @@ cdef inline np.uint8_t uint8_min(np.uint8_t a, np.uint8_t b):
|
|||||||
return a if a <= b else b
|
return a if a <= b else b
|
||||||
|
|
||||||
|
|
||||||
cdef inline void histogram_increment(Py_ssize_t * histo, float * pop,
|
cdef inline void histogram_increment(Py_ssize_t * histo, Py_ssize_t * pop,
|
||||||
np.uint8_t value):
|
np.uint8_t value):
|
||||||
histo[value] += 1
|
histo[value] += 1
|
||||||
pop[0] += 1.
|
pop[0] += 1
|
||||||
|
|
||||||
|
|
||||||
cdef inline void histogram_decrement(Py_ssize_t * histo, float * pop,
|
cdef inline void histogram_decrement(Py_ssize_t * histo, Py_ssize_t * pop,
|
||||||
np.uint8_t value):
|
np.uint8_t value):
|
||||||
histo[value] -= 1
|
histo[value] -= 1
|
||||||
pop[0] -= 1.
|
pop[0] -= 1
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t is_in_mask(Py_ssize_t rows, Py_ssize_t cols,
|
cdef inline np.uint8_t is_in_mask(Py_ssize_t rows, Py_ssize_t cols,
|
||||||
@@ -41,7 +41,7 @@ cdef inline np.uint8_t is_in_mask(Py_ssize_t rows, Py_ssize_t cols,
|
|||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
cdef void _core8(np.uint8_t kernel(Py_ssize_t *, float, np.uint8_t, float,
|
cdef void _core8(np.uint8_t kernel(Py_ssize_t *, Py_ssize_t, np.uint8_t, float,
|
||||||
float, Py_ssize_t, Py_ssize_t),
|
float, Py_ssize_t, Py_ssize_t),
|
||||||
np.ndarray[np.uint8_t, ndim=2] image,
|
np.ndarray[np.uint8_t, ndim=2] image,
|
||||||
np.ndarray[np.uint8_t, ndim=2] selem,
|
np.ndarray[np.uint8_t, ndim=2] selem,
|
||||||
@@ -77,7 +77,7 @@ cdef void _core8(np.uint8_t kernel(Py_ssize_t *, float, np.uint8_t, float,
|
|||||||
cdef Py_ssize_t r, c, rr, cc, s, value, local_max, i, even_row
|
cdef Py_ssize_t r, c, rr, cc, s, value, local_max, i, even_row
|
||||||
|
|
||||||
# number of pixels actually inside the neighborhood (float)
|
# number of pixels actually inside the neighborhood (float)
|
||||||
cdef float pop
|
cdef Py_ssize_t pop
|
||||||
|
|
||||||
# allocate memory with malloc
|
# allocate memory with malloc
|
||||||
cdef Py_ssize_t max_se = srows * scols
|
cdef Py_ssize_t max_se = srows * scols
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from skimage.filter.rank._core16 cimport _core16
|
|||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_autolevel(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_autolevel(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -37,7 +37,7 @@ cdef inline np.uint16_t kernel_autolevel(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(imax - imin)
|
return <np.uint16_t>(imax - imin)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_bottomhat(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_bottomhat(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -51,7 +51,7 @@ cdef inline np.uint16_t kernel_bottomhat(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(g - i)
|
return <np.uint16_t>(g - i)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_equalize(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_equalize(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -70,7 +70,7 @@ cdef inline np.uint16_t kernel_equalize(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_gradient(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_gradient(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -91,7 +91,7 @@ cdef inline np.uint16_t kernel_gradient(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_maximum(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_maximum(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -106,7 +106,7 @@ cdef inline np.uint16_t kernel_maximum(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_mean(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_mean(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -122,7 +122,7 @@ cdef inline np.uint16_t kernel_mean(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_meansubstraction(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_meansubstraction(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -138,7 +138,7 @@ cdef inline np.uint16_t kernel_meansubstraction(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_median(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_median(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -156,7 +156,7 @@ cdef inline np.uint16_t kernel_median(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_minimum(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_minimum(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -171,7 +171,7 @@ cdef inline np.uint16_t kernel_minimum(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_modal(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_modal(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -188,7 +188,7 @@ cdef inline np.uint16_t kernel_modal(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_morph_contr_enh(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_morph_contr_enh(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -212,7 +212,7 @@ cdef inline np.uint16_t kernel_morph_contr_enh(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_pop(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_pop(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -220,7 +220,7 @@ cdef inline np.uint16_t kernel_pop(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(pop)
|
return <np.uint16_t>(pop)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_threshold(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_threshold(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -236,7 +236,7 @@ cdef inline np.uint16_t kernel_threshold(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_tophat(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_tophat(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -250,7 +250,7 @@ cdef inline np.uint16_t kernel_tophat(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(i - g)
|
return <np.uint16_t>(i - g)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_entropy(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_entropy(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from skimage.filter.rank._core16 cimport _core16
|
|||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_mean(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_mean(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -35,7 +35,7 @@ cdef inline np.uint16_t kernel_mean(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_pop(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_pop(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from skimage.filter.rank._core16 cimport _core16, int_min, int_max
|
|||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_autolevel(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_autolevel(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -46,7 +46,7 @@ cdef inline np.uint16_t kernel_autolevel(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_gradient(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_gradient(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -74,7 +74,7 @@ cdef inline np.uint16_t kernel_gradient(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_mean(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_mean(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -100,7 +100,7 @@ cdef inline np.uint16_t kernel_mean(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_mean_substraction(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_mean_substraction(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -125,7 +125,7 @@ cdef inline np.uint16_t kernel_mean_substraction(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_morph_contr_enh(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_morph_contr_enh(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -159,7 +159,7 @@ cdef inline np.uint16_t kernel_morph_contr_enh(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_percentile(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_percentile(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -179,7 +179,7 @@ cdef inline np.uint16_t kernel_percentile(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_pop(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_pop(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
@@ -199,7 +199,7 @@ cdef inline np.uint16_t kernel_pop(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_threshold(Py_ssize_t * histo, float pop,
|
cdef inline np.uint16_t kernel_threshold(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint16_t g, Py_ssize_t bitdepth,
|
np.uint16_t g, Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin, Py_ssize_t midbin,
|
Py_ssize_t maxbin, Py_ssize_t midbin,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from skimage.filter.rank._core8 cimport _core8
|
|||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_autolevel(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_autolevel(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
|
|
||||||
@@ -38,7 +38,7 @@ cdef inline np.uint8_t kernel_autolevel(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_bottomhat(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_bottomhat(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
|
|
||||||
@@ -51,7 +51,7 @@ cdef inline np.uint8_t kernel_bottomhat(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(g - i)
|
return <np.uint8_t>(g - i)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_equalize(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_equalize(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@ cdef inline np.uint8_t kernel_equalize(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_gradient(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_gradient(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
|
|
||||||
@@ -89,7 +89,7 @@ cdef inline np.uint8_t kernel_gradient(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_maximum(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_maximum(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
|
|
||||||
@@ -103,7 +103,7 @@ cdef inline np.uint8_t kernel_maximum(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_mean(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_mean(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
|
|
||||||
@@ -118,7 +118,7 @@ cdef inline np.uint8_t kernel_mean(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_meansubstraction(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_meansubstraction(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
|
|
||||||
@@ -133,7 +133,7 @@ cdef inline np.uint8_t kernel_meansubstraction(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_median(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_median(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
|
|
||||||
@@ -150,7 +150,7 @@ cdef inline np.uint8_t kernel_median(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_minimum(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_minimum(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
|
|
||||||
@@ -164,7 +164,7 @@ cdef inline np.uint8_t kernel_minimum(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_modal(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_modal(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
|
|
||||||
@@ -180,7 +180,7 @@ cdef inline np.uint8_t kernel_modal(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_morph_contr_enh(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_morph_contr_enh(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
|
|
||||||
@@ -203,14 +203,14 @@ cdef inline np.uint8_t kernel_morph_contr_enh(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_pop(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_pop(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
|
|
||||||
return <np.uint8_t>(pop)
|
return <np.uint8_t>(pop)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_threshold(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_threshold(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
|
|
||||||
@@ -225,7 +225,7 @@ cdef inline np.uint8_t kernel_threshold(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_tophat(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_tophat(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
|
|
||||||
@@ -238,7 +238,7 @@ cdef inline np.uint8_t kernel_tophat(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(i - g)
|
return <np.uint8_t>(i - g)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_noise_filter(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_noise_filter(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
|
|
||||||
@@ -262,7 +262,7 @@ cdef inline np.uint8_t kernel_noise_filter(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>min_i
|
return <np.uint8_t>min_i
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_entropy(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_entropy(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
cdef Py_ssize_t i
|
cdef Py_ssize_t i
|
||||||
@@ -278,7 +278,7 @@ cdef inline np.uint8_t kernel_entropy(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>e*10
|
return <np.uint8_t>e*10
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_otsu(Py_ssize_t * histo, float pop, np.uint8_t g,
|
cdef inline np.uint8_t kernel_otsu(Py_ssize_t * histo, Py_ssize_t pop, np.uint8_t g,
|
||||||
float p0, float p1, Py_ssize_t s0,
|
float p0, float p1, Py_ssize_t s0,
|
||||||
Py_ssize_t s1):
|
Py_ssize_t s1):
|
||||||
cdef Py_ssize_t i
|
cdef Py_ssize_t i
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from skimage.filter.rank._core8 cimport _core8, uint8_max, uint8_min
|
|||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_autolevel(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_autolevel(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
cdef int i, imin, imax, sum, delta
|
cdef int i, imin, imax, sum, delta
|
||||||
@@ -45,7 +45,7 @@ cdef inline np.uint8_t kernel_autolevel(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(128)
|
return <np.uint8_t>(128)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_gradient(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_gradient(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
cdef int i, imin, imax, sum, delta
|
cdef int i, imin, imax, sum, delta
|
||||||
@@ -70,7 +70,7 @@ cdef inline np.uint8_t kernel_gradient(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_mean(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_mean(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
cdef int i, sum, mean, n
|
cdef int i, sum, mean, n
|
||||||
@@ -92,7 +92,7 @@ cdef inline np.uint8_t kernel_mean(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_mean_substraction(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_mean_substraction(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
cdef int i, sum, mean, n
|
cdef int i, sum, mean, n
|
||||||
@@ -114,7 +114,7 @@ cdef inline np.uint8_t kernel_mean_substraction(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_morph_contr_enh(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_morph_contr_enh(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
cdef int i, imin, imax, sum, delta
|
cdef int i, imin, imax, sum, delta
|
||||||
@@ -145,7 +145,7 @@ cdef inline np.uint8_t kernel_morph_contr_enh(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_percentile(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_percentile(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
cdef int i
|
cdef int i
|
||||||
@@ -162,7 +162,7 @@ cdef inline np.uint8_t kernel_percentile(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_pop(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_pop(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
cdef int i, sum, n
|
cdef int i, sum, n
|
||||||
@@ -179,7 +179,7 @@ cdef inline np.uint8_t kernel_pop(Py_ssize_t * histo, float pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_threshold(Py_ssize_t * histo, float pop,
|
cdef inline np.uint8_t kernel_threshold(Py_ssize_t * histo, Py_ssize_t pop,
|
||||||
np.uint8_t g, float p0, float p1,
|
np.uint8_t g, float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
cdef int i
|
cdef int i
|
||||||
|
|||||||
Reference in New Issue
Block a user