mirror of
https://github.com/wassname/scikit-image.git
synced 2026-09-11 12:43:04 +08:00
Change data type of pop variable to float
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 *, Py_ssize_t, np.uint16_t,
|
cdef void _core16(np.uint16_t kernel(Py_ssize_t *, float, 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, Py_ssize_t * pop,
|
cdef inline void histogram_increment(Py_ssize_t * histo, float * 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, Py_ssize_t * pop,
|
cdef inline void histogram_decrement(Py_ssize_t * histo, float * 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 *, Py_ssize_t, np.uint16_t,
|
cdef void _core16(np.uint16_t kernel(Py_ssize_t *, float, 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 *, Py_ssize_t, 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 Py_ssize_t pop
|
cdef float 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 *, Py_ssize_t, np.uint8_t, float,
|
cdef void _core8(np.uint8_t kernel(Py_ssize_t *, float, 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,13 +16,13 @@ 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, Py_ssize_t * pop,
|
cdef inline void histogram_increment(Py_ssize_t * histo, float * 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, Py_ssize_t * pop,
|
cdef inline void histogram_decrement(Py_ssize_t * histo, float * pop,
|
||||||
np.uint8_t value):
|
np.uint8_t value):
|
||||||
histo[value] -= 1
|
histo[value] -= 1
|
||||||
pop[0] -= 1
|
pop[0] -= 1
|
||||||
@@ -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 *, Py_ssize_t, np.uint8_t, float,
|
cdef void _core8(np.uint8_t kernel(Py_ssize_t *, float, 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 *, Py_ssize_t, 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 Py_ssize_t pop
|
cdef float 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, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_autolevel(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint16_t>(imax - imin)
|
return <np.uint16_t>(imax - imin)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_bottomhat(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_bottomhat(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint16_t>(g - i)
|
return <np.uint16_t>(g - i)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_equalize(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_equalize(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_gradient(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_gradient(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_maximum(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_maximum(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_mean(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_mean(Py_ssize_t * histo, float 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,
|
||||||
@@ -123,7 +123,7 @@ cdef inline np.uint16_t kernel_mean(Py_ssize_t * histo, Py_ssize_t pop,
|
|||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_meansubstraction(Py_ssize_t * histo,
|
cdef inline np.uint16_t kernel_meansubstraction(Py_ssize_t * histo,
|
||||||
Py_ssize_t pop,
|
float pop,
|
||||||
np.uint16_t g,
|
np.uint16_t g,
|
||||||
Py_ssize_t bitdepth,
|
Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin,
|
Py_ssize_t maxbin,
|
||||||
@@ -141,7 +141,7 @@ cdef inline np.uint16_t kernel_meansubstraction(Py_ssize_t * histo,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_median(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_median(Py_ssize_t * histo, float 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_median(Py_ssize_t * histo, Py_ssize_t pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_minimum(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_minimum(Py_ssize_t * histo, float 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,
|
||||||
@@ -174,7 +174,7 @@ cdef inline np.uint16_t kernel_minimum(Py_ssize_t * histo, Py_ssize_t pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_modal(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_modal(Py_ssize_t * histo, float 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,
|
||||||
@@ -192,7 +192,7 @@ cdef inline np.uint16_t kernel_modal(Py_ssize_t * histo, Py_ssize_t pop,
|
|||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_morph_contr_enh(Py_ssize_t * histo,
|
cdef inline np.uint16_t kernel_morph_contr_enh(Py_ssize_t * histo,
|
||||||
Py_ssize_t pop,
|
float pop,
|
||||||
np.uint16_t g,
|
np.uint16_t g,
|
||||||
Py_ssize_t bitdepth,
|
Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin,
|
Py_ssize_t maxbin,
|
||||||
@@ -218,7 +218,7 @@ cdef inline np.uint16_t kernel_morph_contr_enh(Py_ssize_t * histo,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_pop(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_pop(Py_ssize_t * histo, float 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,
|
||||||
@@ -226,7 +226,7 @@ cdef inline np.uint16_t kernel_pop(Py_ssize_t * histo, Py_ssize_t pop,
|
|||||||
return <np.uint16_t>(pop)
|
return <np.uint16_t>(pop)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_threshold(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_threshold(Py_ssize_t * histo, float 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,
|
||||||
@@ -242,7 +242,7 @@ cdef inline np.uint16_t kernel_threshold(Py_ssize_t * histo, Py_ssize_t pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_tophat(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_tophat(Py_ssize_t * histo, float 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,
|
||||||
@@ -256,7 +256,7 @@ cdef inline np.uint16_t kernel_tophat(Py_ssize_t * histo, Py_ssize_t pop,
|
|||||||
return <np.uint16_t>(i - g)
|
return <np.uint16_t>(i - g)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_entropy(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_entropy(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_mean(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_pop(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_pop(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_autolevel(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_gradient(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_gradient(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_mean(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_mean(Py_ssize_t * histo, float 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,
|
||||||
@@ -101,7 +101,7 @@ cdef inline np.uint16_t kernel_mean(Py_ssize_t * histo, Py_ssize_t pop,
|
|||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_mean_substraction(Py_ssize_t * histo,
|
cdef inline np.uint16_t kernel_mean_substraction(Py_ssize_t * histo,
|
||||||
Py_ssize_t pop,
|
float pop,
|
||||||
np.uint16_t g,
|
np.uint16_t g,
|
||||||
Py_ssize_t bitdepth,
|
Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin,
|
Py_ssize_t maxbin,
|
||||||
@@ -129,7 +129,7 @@ cdef inline np.uint16_t kernel_mean_substraction(Py_ssize_t * histo,
|
|||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_morph_contr_enh(Py_ssize_t * histo,
|
cdef inline np.uint16_t kernel_morph_contr_enh(Py_ssize_t * histo,
|
||||||
Py_ssize_t pop,
|
float pop,
|
||||||
np.uint16_t g,
|
np.uint16_t g,
|
||||||
Py_ssize_t bitdepth,
|
Py_ssize_t bitdepth,
|
||||||
Py_ssize_t maxbin,
|
Py_ssize_t maxbin,
|
||||||
@@ -165,7 +165,7 @@ cdef inline np.uint16_t kernel_morph_contr_enh(Py_ssize_t * histo,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_percentile(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_percentile(Py_ssize_t * histo, float 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,
|
||||||
@@ -185,7 +185,7 @@ cdef inline np.uint16_t kernel_percentile(Py_ssize_t * histo, Py_ssize_t pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_pop(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_pop(Py_ssize_t * histo, float 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,
|
||||||
@@ -205,7 +205,7 @@ cdef inline np.uint16_t kernel_pop(Py_ssize_t * histo, Py_ssize_t pop,
|
|||||||
return <np.uint16_t>(0)
|
return <np.uint16_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint16_t kernel_threshold(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint16_t kernel_threshold(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_autolevel(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_bottomhat(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_bottomhat(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint8_t>(g - i)
|
return <np.uint8_t>(g - i)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_equalize(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_equalize(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_gradient(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_gradient(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_maximum(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_maximum(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_mean(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_mean(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_meansubstraction(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_meansubstraction(Py_ssize_t * histo, float 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, Py_ssize_t po
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_median(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_median(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_minimum(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_minimum(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_modal(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_modal(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_morph_contr_enh(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_morph_contr_enh(Py_ssize_t * histo, float 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, Py_ssize_t pop
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_pop(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_pop(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_threshold(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_tophat(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_tophat(Py_ssize_t * histo, float 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, Py_ssize_t 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, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_noise_filter(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint8_t>min_i
|
return <np.uint8_t>min_i
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_entropy(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_entropy(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint8_t>e*10
|
return <np.uint8_t>e*10
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_otsu(Py_ssize_t * histo, Py_ssize_t pop, np.uint8_t g,
|
cdef inline np.uint8_t kernel_otsu(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_autolevel(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint8_t>(128)
|
return <np.uint8_t>(128)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_gradient(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_gradient(Py_ssize_t * histo, float 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, Py_ssize_t pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_mean(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_mean(Py_ssize_t * histo, float 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
|
||||||
@@ -93,7 +93,7 @@ cdef inline np.uint8_t kernel_mean(Py_ssize_t * histo, Py_ssize_t pop,
|
|||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_mean_substraction(Py_ssize_t * histo,
|
cdef inline np.uint8_t kernel_mean_substraction(Py_ssize_t * histo,
|
||||||
Py_ssize_t pop,
|
float pop,
|
||||||
np.uint8_t g,
|
np.uint8_t g,
|
||||||
float p0, float p1,
|
float p0, float p1,
|
||||||
Py_ssize_t s0, Py_ssize_t s1):
|
Py_ssize_t s0, Py_ssize_t s1):
|
||||||
@@ -117,7 +117,7 @@ cdef inline np.uint8_t kernel_mean_substraction(Py_ssize_t * histo,
|
|||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_morph_contr_enh(Py_ssize_t * histo,
|
cdef inline np.uint8_t kernel_morph_contr_enh(Py_ssize_t * histo,
|
||||||
Py_ssize_t pop,
|
float 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
|
||||||
@@ -148,7 +148,7 @@ cdef inline np.uint8_t kernel_morph_contr_enh(Py_ssize_t * histo,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_percentile(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_percentile(Py_ssize_t * histo, float 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
|
||||||
@@ -165,7 +165,7 @@ cdef inline np.uint8_t kernel_percentile(Py_ssize_t * histo, Py_ssize_t pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_pop(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_pop(Py_ssize_t * histo, float 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
|
||||||
@@ -182,7 +182,7 @@ cdef inline np.uint8_t kernel_pop(Py_ssize_t * histo, Py_ssize_t pop,
|
|||||||
return <np.uint8_t>(0)
|
return <np.uint8_t>(0)
|
||||||
|
|
||||||
|
|
||||||
cdef inline np.uint8_t kernel_threshold(Py_ssize_t * histo, Py_ssize_t pop,
|
cdef inline np.uint8_t kernel_threshold(Py_ssize_t * histo, float 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