From 310d50165571dd89e2835e14d3af886c02559c0f Mon Sep 17 00:00:00 2001 From: sccolbert Date: Sat, 10 Oct 2009 22:43:52 +0200 Subject: [PATCH] wrapped 7 more functions new functions: cvSobel cvLaplace cvCanny cvPreCornerDetect cvCornerEigenValsAndVecs cvCornerMinEigenVal cvCornerHarris --- scikits/image/opencv/opencv_backend.c | 583 +++-- scikits/image/opencv/opencv_backend.pxd | 3 + scikits/image/opencv/opencv_backend.pyx | 18 + scikits/image/opencv/opencv_cv.c | 3105 +++++++++++++++++++++-- scikits/image/opencv/opencv_cv.pyx | 233 +- scikits/image/opencv/opencv_type.pxd | 8 +- 6 files changed, 3520 insertions(+), 430 deletions(-) diff --git a/scikits/image/opencv/opencv_backend.c b/scikits/image/opencv/opencv_backend.c index faa5312c..91995255 100644 --- a/scikits/image/opencv/opencv_backend.c +++ b/scikits/image/opencv/opencv_backend.c @@ -1,4 +1,4 @@ -/* Generated by Cython 0.11.3 on Sat Oct 10 18:20:41 2009 */ +/* Generated by Cython 0.11.3 on Sat Oct 10 21:52:16 2009 */ #define PY_SSIZE_T_CLEAN #include "Python.h" @@ -702,7 +702,10 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_ndims(PyArray static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(PyArrayObject *, PyObject *); /*proto*/ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_dtype(PyArrayObject *, PyArrayObject *); /*proto*/ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_shape(PyArrayObject *, PyArrayObject *); /*proto*/ +static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_width_and_height(PyArrayObject *, PyArrayObject *); /*proto*/ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_like(PyArrayObject *, PyArrayObject *); /*proto*/ +static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_not_sharing_data(PyArrayObject *, PyArrayObject *); /*proto*/ +static PyArrayObject *__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array(int, npy_intp *, PyObject *); /*proto*/ static PyArrayObject *__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like(PyArrayObject *); /*proto*/ static PyArrayObject *__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like_diff_dtype(PyArrayObject *, PyObject *); /*proto*/ #define __Pyx_MODULE_NAME "scikits.image.opencv.opencv_backend" @@ -764,6 +767,10 @@ static PyObject *__pyx_kp_49; static char __pyx_k_49[] = "dtypes not same"; static PyObject *__pyx_kp_50; static char __pyx_k_50[] = "arrays not same shape"; +static PyObject *__pyx_kp_51; +static char __pyx_k_51[] = "Arrays must have same width and height"; +static PyObject *__pyx_kp_52; +static char __pyx_k_52[] = "In place operation not supported. Make sure the out array is not just a view of src array"; static PyObject *__pyx_int_15; static char __pyx_k___getbuffer__[] = "__getbuffer__"; static PyObject *__pyx_kp___getbuffer__; @@ -818,7 +825,7 @@ static char __pyx_k_28[] = "Non-native byte order not supported"; static char __pyx_k_29[] = "Format string allocated too short."; static char __pyx_k_30[] = "unknown dtype code in numpy.pxd (%d)"; -/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":40 +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":43 * cdef int IPLIMAGE_SIZE = sizeof(IplImage) * * cdef void populate_iplimage(np.ndarray arr, IplImage* img): # <<<<<<<<<<<<<< @@ -837,7 +844,7 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( int __pyx_t_3; __Pyx_SetupRefcountContext("populate_iplimage"); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":47 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":50 * * # everything that will never change * img.nSize = IPLIMAGE_SIZE # <<<<<<<<<<<<<< @@ -846,7 +853,7 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( */ __pyx_v_img->nSize = __pyx_v_7scikits_5image_6opencv_14opencv_backend_IPLIMAGE_SIZE; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":48 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":51 * # everything that will never change * img.nSize = IPLIMAGE_SIZE * img.ID = 0 # <<<<<<<<<<<<<< @@ -855,7 +862,7 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( */ __pyx_v_img->ID = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":49 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":52 * img.nSize = IPLIMAGE_SIZE * img.ID = 0 * img.dataOrder = 0 # <<<<<<<<<<<<<< @@ -864,7 +871,7 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( */ __pyx_v_img->dataOrder = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":50 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":53 * img.ID = 0 * img.dataOrder = 0 * img.origin = 0 # <<<<<<<<<<<<<< @@ -873,7 +880,7 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( */ __pyx_v_img->origin = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":51 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":54 * img.dataOrder = 0 * img.origin = 0 * img.roi = NULL # <<<<<<<<<<<<<< @@ -882,7 +889,7 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( */ __pyx_v_img->roi = NULL; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":52 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":55 * img.origin = 0 * img.roi = NULL * img.maskROI = NULL # <<<<<<<<<<<<<< @@ -891,7 +898,7 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( */ __pyx_v_img->maskROI = NULL; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":53 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":56 * img.roi = NULL * img.maskROI = NULL * img.imageId = NULL # <<<<<<<<<<<<<< @@ -900,7 +907,7 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( */ __pyx_v_img->imageId = NULL; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":54 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":57 * img.maskROI = NULL * img.imageId = NULL * img.tileInfo = NULL # <<<<<<<<<<<<<< @@ -909,7 +916,7 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( */ __pyx_v_img->tileInfo = NULL; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":57 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":60 * * cdef int channels * cdef int ndim = arr.ndim # <<<<<<<<<<<<<< @@ -918,7 +925,7 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( */ __pyx_v_ndim = __pyx_v_arr->nd; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":58 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":61 * cdef int channels * cdef int ndim = arr.ndim * cdef np.npy_intp* shape = arr.shape # <<<<<<<<<<<<<< @@ -927,7 +934,7 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( */ __pyx_v_shape = __pyx_v_arr->dimensions; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":59 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":62 * cdef int ndim = arr.ndim * cdef np.npy_intp* shape = arr.shape * cdef np.npy_intp* strides = arr.strides # <<<<<<<<<<<<<< @@ -936,7 +943,7 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( */ __pyx_v_strides = __pyx_v_arr->strides; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":63 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":66 * # nChannels is essentially the value of np.shape[2] of a 3D numpy array * # for a 2D array, nChannels is 1 * if ndim == 2: # <<<<<<<<<<<<<< @@ -946,7 +953,7 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( __pyx_t_1 = (__pyx_v_ndim == 2); if (__pyx_t_1) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":64 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":67 * # for a 2D array, nChannels is 1 * if ndim == 2: * img.nChannels = 1 # <<<<<<<<<<<<<< @@ -958,7 +965,7 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( } /*else*/ { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":66 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":69 * img.nChannels = 1 * else: * img.nChannels = shape[2] # <<<<<<<<<<<<<< @@ -969,26 +976,26 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( } __pyx_L3:; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":68 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":71 * img.nChannels = shape[2] * * img.depth = _ipltypes[arr.dtype] # <<<<<<<<<<<<<< * img.width = shape[1] * img.height = shape[0] */ - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp__ipltypes); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp__ipltypes); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_1); - __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_arr), __pyx_kp_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_arr), __pyx_kp_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_2 = PyObject_GetItem(__pyx_1, __pyx_t_2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetItem(__pyx_1, __pyx_t_2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_2); __Pyx_DECREF(__pyx_1); __pyx_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_2); __pyx_2 = 0; __pyx_v_img->depth = __pyx_t_3; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":69 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":72 * * img.depth = _ipltypes[arr.dtype] * img.width = shape[1] # <<<<<<<<<<<<<< @@ -997,7 +1004,7 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( */ __pyx_v_img->width = (__pyx_v_shape[1]); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":70 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":73 * img.depth = _ipltypes[arr.dtype] * img.width = shape[1] * img.height = shape[0] # <<<<<<<<<<<<<< @@ -1006,20 +1013,20 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( */ __pyx_v_img->height = (__pyx_v_shape[0]); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":71 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":74 * img.width = shape[1] * img.height = shape[0] * img.imageSize = arr.nbytes # <<<<<<<<<<<<<< * img.imageData = arr.data * img.widthStep = strides[0] */ - __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_arr), __pyx_kp_nbytes); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_arr), __pyx_kp_nbytes); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_img->imageSize = __pyx_t_3; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":72 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":75 * img.height = shape[0] * img.imageSize = arr.nbytes * img.imageData = arr.data # <<<<<<<<<<<<<< @@ -1028,7 +1035,7 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( */ __pyx_v_img->imageData = ((char *)__pyx_v_arr->data); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":73 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":76 * img.imageSize = arr.nbytes * img.imageData = arr.data * img.widthStep = strides[0] # <<<<<<<<<<<<<< @@ -1037,7 +1044,7 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( */ __pyx_v_img->widthStep = (__pyx_v_strides[0]); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":78 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":81 * # deallocate images, but it will never attempt to deallocate images we * # create ourselves. * img.imageDataOrigin = NULL # <<<<<<<<<<<<<< @@ -1056,7 +1063,7 @@ static void __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage( __Pyx_FinishRefcountContext(); } -/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":80 +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":83 * img.imageDataOrigin = NULL * * cdef int validate_array(np.ndarray arr) except -1: # <<<<<<<<<<<<<< @@ -1072,7 +1079,7 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(PyAr PyObject *__pyx_t_3 = NULL; __Pyx_SetupRefcountContext("validate_array"); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":81 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":84 * * cdef int validate_array(np.ndarray arr) except -1: * if arr.ndim != 2 and arr.ndim != 3: # <<<<<<<<<<<<<< @@ -1086,29 +1093,29 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(PyAr } if (__pyx_t_1) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":82 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":85 * cdef int validate_array(np.ndarray arr) except -1: * if arr.ndim != 2 and arr.ndim != 3: * raise ValueError('Arrays must have either 2 or 3 dimensions') # <<<<<<<<<<<<<< * if arr.ndim == 3: * if arr.shape[2] > 4: */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __Pyx_INCREF(__pyx_kp_43); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_43); __Pyx_GIVEREF(__pyx_kp_43); - __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L3; } __pyx_L3:; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":83 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":86 * if arr.ndim != 2 and arr.ndim != 3: * raise ValueError('Arrays must have either 2 or 3 dimensions') * if arr.ndim == 3: # <<<<<<<<<<<<<< @@ -1118,7 +1125,7 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(PyAr __pyx_t_1 = (__pyx_v_arr->nd == 3); if (__pyx_t_1) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":84 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":87 * raise ValueError('Arrays must have either 2 or 3 dimensions') * if arr.ndim == 3: * if arr.shape[2] > 4: # <<<<<<<<<<<<<< @@ -1128,24 +1135,24 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(PyAr __pyx_t_1 = ((__pyx_v_arr->dimensions[2]) > 4); if (__pyx_t_1) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":85 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":88 * if arr.ndim == 3: * if arr.shape[2] > 4: * raise ValueError('A 3D array must have 4 or less channels') # <<<<<<<<<<<<<< * if arr.dtype not in _ipltypes: * raise ValueError('Arrays must have one of the following dtypes: uint8, int8, int16, int32, float32, float64') */ - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __Pyx_INCREF(__pyx_kp_44); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_44); __Pyx_GIVEREF(__pyx_kp_44); - __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_2, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L5; } __pyx_L5:; @@ -1153,45 +1160,45 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(PyAr } __pyx_L4:; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":86 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":89 * if arr.shape[2] > 4: * raise ValueError('A 3D array must have 4 or less channels') * if arr.dtype not in _ipltypes: # <<<<<<<<<<<<<< * raise ValueError('Arrays must have one of the following dtypes: uint8, int8, int16, int32, float32, float64') * return 1 */ - __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_arr), __pyx_kp_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_arr), __pyx_kp_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp__ipltypes); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp__ipltypes); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_1); - __pyx_t_1 = (!PySequence_Contains(__pyx_1, __pyx_t_2)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = (!PySequence_Contains(__pyx_1, __pyx_t_2)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_1); __pyx_1 = 0; if (__pyx_t_1) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":87 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":90 * raise ValueError('A 3D array must have 4 or less channels') * if arr.dtype not in _ipltypes: * raise ValueError('Arrays must have one of the following dtypes: uint8, int8, int16, int32, float32, float64') # <<<<<<<<<<<<<< * return 1 * */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __Pyx_INCREF(__pyx_kp_45); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_45); __Pyx_GIVEREF(__pyx_kp_45); - __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L6; } __pyx_L6:; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":88 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":91 * if arr.dtype not in _ipltypes: * raise ValueError('Arrays must have one of the following dtypes: uint8, int8, int16, int32, float32, float64') * return 1 # <<<<<<<<<<<<<< @@ -1214,7 +1221,7 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(PyAr return __pyx_r; } -/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":90 +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":93 * return 1 * * cdef int assert_dtype(np.ndarray arr, dtypes) except -1: # <<<<<<<<<<<<<< @@ -1229,53 +1236,53 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(PyArra PyObject *__pyx_t_3 = NULL; __Pyx_SetupRefcountContext("assert_dtype"); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":91 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":94 * * cdef int assert_dtype(np.ndarray arr, dtypes) except -1: * if arr.dtype not in dtypes: # <<<<<<<<<<<<<< * raise ValueError('Unsupported dtype for this operation. \ * Supported dtypes are %s' % str(dtypes)) */ - __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_arr), __pyx_kp_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_arr), __pyx_kp_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = (!PySequence_Contains(__pyx_v_dtypes, __pyx_t_1)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = (!PySequence_Contains(__pyx_v_dtypes, __pyx_t_1)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":93 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":96 * if arr.dtype not in dtypes: * raise ValueError('Unsupported dtype for this operation. \ * Supported dtypes are %s' % str(dtypes)) # <<<<<<<<<<<<<< * return 1 * */ - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __Pyx_INCREF(__pyx_v_dtypes); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_dtypes); __Pyx_GIVEREF(__pyx_v_dtypes); - __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Remainder(__pyx_kp_46, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Remainder(__pyx_kp_46, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_1, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L3; } __pyx_L3:; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":94 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":97 * raise ValueError('Unsupported dtype for this operation. \ * Supported dtypes are %s' % str(dtypes)) * return 1 # <<<<<<<<<<<<<< @@ -1297,7 +1304,7 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(PyArra return __pyx_r; } -/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":96 +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":99 * return 1 * * cdef int assert_ndims(np.ndarray arr, dims) except -1: # <<<<<<<<<<<<<< @@ -1312,42 +1319,42 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_ndims(PyArra PyObject *__pyx_t_3 = NULL; __Pyx_SetupRefcountContext("assert_ndims"); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":97 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":100 * * cdef int assert_ndims(np.ndarray arr, dims) except -1: * if arr.ndim not in dims: # <<<<<<<<<<<<<< * raise ValueError('Incorrect number of dimensions') * return 1 */ - __pyx_t_1 = PyInt_FromLong(__pyx_v_arr->nd); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(__pyx_v_arr->nd); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = (!PySequence_Contains(__pyx_v_dims, __pyx_t_1)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = (!PySequence_Contains(__pyx_v_dims, __pyx_t_1)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":98 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":101 * cdef int assert_ndims(np.ndarray arr, dims) except -1: * if arr.ndim not in dims: * raise ValueError('Incorrect number of dimensions') # <<<<<<<<<<<<<< * return 1 * */ - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __Pyx_INCREF(__pyx_kp_47); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_47); __Pyx_GIVEREF(__pyx_kp_47); - __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_3, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L3; } __pyx_L3:; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":99 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":102 * if arr.ndim not in dims: * raise ValueError('Incorrect number of dimensions') * return 1 # <<<<<<<<<<<<<< @@ -1369,7 +1376,7 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_ndims(PyArra return __pyx_r; } -/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":101 +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":104 * return 1 * * cdef int assert_nchannels(np.ndarray arr, channels) except -1: # <<<<<<<<<<<<<< @@ -1385,7 +1392,7 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(Py PyObject *__pyx_t_3 = NULL; __Pyx_SetupRefcountContext("assert_nchannels"); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":103 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":106 * cdef int assert_nchannels(np.ndarray arr, channels) except -1: * cdef int nchannels * if arr.ndim == 2: # <<<<<<<<<<<<<< @@ -1395,7 +1402,7 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(Py __pyx_t_1 = (__pyx_v_arr->nd == 2); if (__pyx_t_1) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":104 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":107 * cdef int nchannels * if arr.ndim == 2: * nchannels = 1 # <<<<<<<<<<<<<< @@ -1407,7 +1414,7 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(Py } /*else*/ { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":106 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":109 * nchannels = 1 * else: * nchannels = arr.shape[2] # <<<<<<<<<<<<<< @@ -1418,42 +1425,42 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(Py } __pyx_L3:; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":107 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":110 * else: * nchannels = arr.shape[2] * if nchannels not in channels: # <<<<<<<<<<<<<< * raise ValueError('Incorrect number of channels') * return 1 */ - __pyx_t_2 = PyInt_FromLong(__pyx_v_nchannels); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyInt_FromLong(__pyx_v_nchannels); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = (!PySequence_Contains(__pyx_v_channels, __pyx_t_2)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = (!PySequence_Contains(__pyx_v_channels, __pyx_t_2)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_1) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":108 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":111 * nchannels = arr.shape[2] * if nchannels not in channels: * raise ValueError('Incorrect number of channels') # <<<<<<<<<<<<<< * return 1 * */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __Pyx_INCREF(__pyx_kp_48); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_48); __Pyx_GIVEREF(__pyx_kp_48); - __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L4; } __pyx_L4:; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":109 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":112 * if nchannels not in channels: * raise ValueError('Incorrect number of channels') * return 1 # <<<<<<<<<<<<<< @@ -1475,7 +1482,7 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(Py return __pyx_r; } -/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":111 +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":114 * return 1 * * cdef int assert_same_dtype(np.ndarray arr1, np.ndarray arr2) except -1: # <<<<<<<<<<<<<< @@ -1491,48 +1498,48 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_dtype(P int __pyx_t_4; __Pyx_SetupRefcountContext("assert_same_dtype"); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":112 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":115 * * cdef int assert_same_dtype(np.ndarray arr1, np.ndarray arr2) except -1: * if arr1.dtype != arr2.dtype: # <<<<<<<<<<<<<< * raise ValueError('dtypes not same') * return 1 */ - __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_arr1), __pyx_kp_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_arr1), __pyx_kp_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_arr2), __pyx_kp_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_arr2), __pyx_kp_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":113 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":116 * cdef int assert_same_dtype(np.ndarray arr1, np.ndarray arr2) except -1: * if arr1.dtype != arr2.dtype: * raise ValueError('dtypes not same') # <<<<<<<<<<<<<< * return 1 * */ - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __Pyx_INCREF(__pyx_kp_49); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_49); __Pyx_GIVEREF(__pyx_kp_49); - __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_2, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L3; } __pyx_L3:; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":114 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":117 * if arr1.dtype != arr2.dtype: * raise ValueError('dtypes not same') * return 1 # <<<<<<<<<<<<<< @@ -1555,7 +1562,7 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_dtype(P return __pyx_r; } -/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":116 +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":119 * return 1 * * cdef int assert_same_shape(np.ndarray arr1, np.ndarray arr2) except -1: # <<<<<<<<<<<<<< @@ -1570,7 +1577,7 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_shape(P PyObject *__pyx_t_3 = NULL; __Pyx_SetupRefcountContext("assert_same_shape"); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":117 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":120 * * cdef int assert_same_shape(np.ndarray arr1, np.ndarray arr2) except -1: * if not np.PyArray_SAMESHAPE(arr1, arr2): # <<<<<<<<<<<<<< @@ -1580,34 +1587,34 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_shape(P __pyx_t_1 = (!PyArray_SAMESHAPE(__pyx_v_arr1, __pyx_v_arr2)); if (__pyx_t_1) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":118 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":121 * cdef int assert_same_shape(np.ndarray arr1, np.ndarray arr2) except -1: * if not np.PyArray_SAMESHAPE(arr1, arr2): * raise ValueError('arrays not same shape') # <<<<<<<<<<<<<< * return 1 * */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __Pyx_INCREF(__pyx_kp_50); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_50); __Pyx_GIVEREF(__pyx_kp_50); - __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L3; } __pyx_L3:; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":119 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":122 * if not np.PyArray_SAMESHAPE(arr1, arr2): * raise ValueError('arrays not same shape') * return 1 # <<<<<<<<<<<<<< * - * cdef int assert_like(np.ndarray arr1, np.ndarray arr2) except -1: + * cdef int assert_same_width_and_height(np.ndarray arr1, np.ndarray arr2) except -1: */ __pyx_r = 1; goto __pyx_L0; @@ -1624,7 +1631,100 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_shape(P return __pyx_r; } -/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":121 +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":124 + * return 1 + * + * cdef int assert_same_width_and_height(np.ndarray arr1, np.ndarray arr2) except -1: # <<<<<<<<<<<<<< + * cdef np.npy_intp* shape1 = arr1.shape + * cdef np.npy_intp* shape2 = arr2.shape + */ + +static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_width_and_height(PyArrayObject *__pyx_v_arr1, PyArrayObject *__pyx_v_arr2) { + npy_intp *__pyx_v_shape1; + npy_intp *__pyx_v_shape2; + int __pyx_r; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + __Pyx_SetupRefcountContext("assert_same_width_and_height"); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":125 + * + * cdef int assert_same_width_and_height(np.ndarray arr1, np.ndarray arr2) except -1: + * cdef np.npy_intp* shape1 = arr1.shape # <<<<<<<<<<<<<< + * cdef np.npy_intp* shape2 = arr2.shape + * if (shape1[0] != shape2[0]) or (shape1[1] != shape2[1]): + */ + __pyx_v_shape1 = __pyx_v_arr1->dimensions; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":126 + * cdef int assert_same_width_and_height(np.ndarray arr1, np.ndarray arr2) except -1: + * cdef np.npy_intp* shape1 = arr1.shape + * cdef np.npy_intp* shape2 = arr2.shape # <<<<<<<<<<<<<< + * if (shape1[0] != shape2[0]) or (shape1[1] != shape2[1]): + * raise ValueError('Arrays must have same width and height') + */ + __pyx_v_shape2 = __pyx_v_arr2->dimensions; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":127 + * cdef np.npy_intp* shape1 = arr1.shape + * cdef np.npy_intp* shape2 = arr2.shape + * if (shape1[0] != shape2[0]) or (shape1[1] != shape2[1]): # <<<<<<<<<<<<<< + * raise ValueError('Arrays must have same width and height') + * return 1 + */ + if (!((__pyx_v_shape1[0]) != (__pyx_v_shape2[0]))) { + __pyx_t_1 = ((__pyx_v_shape1[1]) != (__pyx_v_shape2[1])); + } else { + __pyx_t_1 = ((__pyx_v_shape1[0]) != (__pyx_v_shape2[0])); + } + if (__pyx_t_1) { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":128 + * cdef np.npy_intp* shape2 = arr2.shape + * if (shape1[0] != shape2[0]) or (shape1[1] != shape2[1]): + * raise ValueError('Arrays must have same width and height') # <<<<<<<<<<<<<< + * return 1 + * + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(__pyx_kp_51); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_51); + __Pyx_GIVEREF(__pyx_kp_51); + __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + goto __pyx_L3; + } + __pyx_L3:; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":129 + * if (shape1[0] != shape2[0]) or (shape1[1] != shape2[1]): + * raise ValueError('Arrays must have same width and height') + * return 1 # <<<<<<<<<<<<<< + * + * cdef int assert_like(np.ndarray arr1, np.ndarray arr2) except -1: + */ + __pyx_r = 1; + goto __pyx_L0; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("scikits.image.opencv.opencv_backend.assert_same_width_and_height"); + __pyx_r = -1; + __pyx_L0:; + __Pyx_FinishRefcountContext(); + return __pyx_r; +} + +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":131 * return 1 * * cdef int assert_like(np.ndarray arr1, np.ndarray arr2) except -1: # <<<<<<<<<<<<<< @@ -1637,30 +1737,30 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_like(PyArray int __pyx_t_1; __Pyx_SetupRefcountContext("assert_like"); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":122 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":132 * * cdef int assert_like(np.ndarray arr1, np.ndarray arr2) except -1: * assert_same_dtype(arr1, arr2) # <<<<<<<<<<<<<< * assert_same_shape(arr1, arr2) * return 1 */ - __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_dtype(__pyx_v_arr1, __pyx_v_arr2); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_dtype(__pyx_v_arr1, __pyx_v_arr2); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":123 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":133 * cdef int assert_like(np.ndarray arr1, np.ndarray arr2) except -1: * assert_same_dtype(arr1, arr2) * assert_same_shape(arr1, arr2) # <<<<<<<<<<<<<< * return 1 * */ - __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_shape(__pyx_v_arr1, __pyx_v_arr2); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_shape(__pyx_v_arr1, __pyx_v_arr2); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":124 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":134 * assert_same_dtype(arr1, arr2) * assert_same_shape(arr1, arr2) * return 1 # <<<<<<<<<<<<<< * - * cdef np.ndarray new_array_like(np.ndarray arr): + * cdef int assert_not_sharing_data(np.ndarray arr1, np.ndarray arr2) except -1: */ __pyx_r = 1; goto __pyx_L0; @@ -1675,9 +1775,127 @@ static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_like(PyArray return __pyx_r; } -/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":126 +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":136 * return 1 * + * cdef int assert_not_sharing_data(np.ndarray arr1, np.ndarray arr2) except -1: # <<<<<<<<<<<<<< + * if arr1.data == arr2.data: + * raise ValueError('In place operation not supported. Make sure \ + */ + +static int __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_not_sharing_data(PyArrayObject *__pyx_v_arr1, PyArrayObject *__pyx_v_arr2) { + int __pyx_r; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + __Pyx_SetupRefcountContext("assert_not_sharing_data"); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":137 + * + * cdef int assert_not_sharing_data(np.ndarray arr1, np.ndarray arr2) except -1: + * if arr1.data == arr2.data: # <<<<<<<<<<<<<< + * raise ValueError('In place operation not supported. Make sure \ + * the out array is not just a view of src array') + */ + __pyx_t_1 = (__pyx_v_arr1->data == __pyx_v_arr2->data); + if (__pyx_t_1) { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":138 + * cdef int assert_not_sharing_data(np.ndarray arr1, np.ndarray arr2) except -1: + * if arr1.data == arr2.data: + * raise ValueError('In place operation not supported. Make sure \ # <<<<<<<<<<<<<< + * the out array is not just a view of src array') + * return 1 + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(__pyx_kp_52); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_52); + __Pyx_GIVEREF(__pyx_kp_52); + __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + goto __pyx_L3; + } + __pyx_L3:; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":140 + * raise ValueError('In place operation not supported. Make sure \ + * the out array is not just a view of src array') + * return 1 # <<<<<<<<<<<<<< + * + * cdef np.ndarray new_array(int ndim, np.npy_intp* shape, dtype): + */ + __pyx_r = 1; + goto __pyx_L0; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("scikits.image.opencv.opencv_backend.assert_not_sharing_data"); + __pyx_r = -1; + __pyx_L0:; + __Pyx_FinishRefcountContext(); + return __pyx_r; +} + +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":142 + * return 1 + * + * cdef np.ndarray new_array(int ndim, np.npy_intp* shape, dtype): # <<<<<<<<<<<<<< + * # need to incref because numpy will apprently steal a dtype reference + * Py_INCREF(dtype) + */ + +static PyArrayObject *__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array(int __pyx_v_ndim, npy_intp *__pyx_v_shape, PyObject *__pyx_v_dtype) { + PyArrayObject *__pyx_r = NULL; + PyObject *__pyx_t_1 = NULL; + __Pyx_SetupRefcountContext("new_array"); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":144 + * cdef np.ndarray new_array(int ndim, np.npy_intp* shape, dtype): + * # need to incref because numpy will apprently steal a dtype reference + * Py_INCREF(dtype) # <<<<<<<<<<<<<< + * return PyArray_Empty(ndim, shape, dtype, 0) + * + */ + Py_INCREF(__pyx_v_dtype); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":145 + * # need to incref because numpy will apprently steal a dtype reference + * Py_INCREF(dtype) + * return PyArray_Empty(ndim, shape, dtype, 0) # <<<<<<<<<<<<<< + * + * cdef np.ndarray new_array_like(np.ndarray arr): + */ + __Pyx_XDECREF(((PyObject *)__pyx_r)); + __pyx_t_1 = PyArray_Empty(__pyx_v_ndim, __pyx_v_shape, __pyx_v_dtype, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + goto __pyx_L0; + + __pyx_r = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("scikits.image.opencv.opencv_backend.new_array"); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF((PyObject *)__pyx_r); + __Pyx_FinishRefcountContext(); + return __pyx_r; +} + +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":147 + * return PyArray_Empty(ndim, shape, dtype, 0) + * * cdef np.ndarray new_array_like(np.ndarray arr): # <<<<<<<<<<<<<< * # need to incref because numpy will apprently steal a dtype reference * Py_INCREF(arr.dtype) @@ -1689,19 +1907,19 @@ static PyArrayObject *__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_arra PyObject *__pyx_t_2 = NULL; __Pyx_SetupRefcountContext("new_array_like"); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":128 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":149 * cdef np.ndarray new_array_like(np.ndarray arr): * # need to incref because numpy will apprently steal a dtype reference * Py_INCREF(arr.dtype) # <<<<<<<<<<<<<< * return PyArray_Empty(arr.ndim, arr.shape, arr.dtype, 0) * */ - __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_arr), __pyx_kp_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_arr), __pyx_kp_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); Py_INCREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":129 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":150 * # need to incref because numpy will apprently steal a dtype reference * Py_INCREF(arr.dtype) * return PyArray_Empty(arr.ndim, arr.shape, arr.dtype, 0) # <<<<<<<<<<<<<< @@ -1709,12 +1927,12 @@ static PyArrayObject *__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_arra * cdef np.ndarray new_array_like_diff_dtype(np.ndarray arr, dtype): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); - __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_arr), __pyx_kp_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_arr), __pyx_kp_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyArray_Empty(__pyx_v_arr->nd, __pyx_v_arr->dimensions, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyArray_Empty(__pyx_v_arr->nd, __pyx_v_arr->dimensions, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L0; @@ -1732,7 +1950,7 @@ static PyArrayObject *__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_arra return __pyx_r; } -/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":131 +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":152 * return PyArray_Empty(arr.ndim, arr.shape, arr.dtype, 0) * * cdef np.ndarray new_array_like_diff_dtype(np.ndarray arr, dtype): # <<<<<<<<<<<<<< @@ -1745,7 +1963,7 @@ static PyArrayObject *__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_arra PyObject *__pyx_t_1 = NULL; __Pyx_SetupRefcountContext("new_array_like_diff_dtype"); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":133 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":154 * cdef np.ndarray new_array_like_diff_dtype(np.ndarray arr, dtype): * # need to incref because numpy will apprently steal a dtype reference * Py_INCREF(dtype) # <<<<<<<<<<<<<< @@ -1754,7 +1972,7 @@ static PyArrayObject *__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_arra */ Py_INCREF(__pyx_v_dtype); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":134 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":155 * # need to incref because numpy will apprently steal a dtype reference * Py_INCREF(dtype) * return PyArray_Empty(arr.ndim, arr.shape, dtype, 0) # <<<<<<<<<<<<<< @@ -1762,9 +1980,9 @@ static PyArrayObject *__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_arra * */ __Pyx_XDECREF(((PyObject *)__pyx_r)); - __pyx_t_1 = PyArray_Empty(__pyx_v_arr->nd, __pyx_v_arr->dimensions, __pyx_v_dtype, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyArray_Empty(__pyx_v_arr->nd, __pyx_v_arr->dimensions, __pyx_v_dtype, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; @@ -3410,6 +3628,8 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_48, __pyx_k_48, sizeof(__pyx_k_48), 0, 0, 0}, {&__pyx_kp_49, __pyx_k_49, sizeof(__pyx_k_49), 0, 0, 0}, {&__pyx_kp_50, __pyx_k_50, sizeof(__pyx_k_50), 0, 0, 0}, + {&__pyx_kp_51, __pyx_k_51, sizeof(__pyx_k_51), 0, 0, 0}, + {&__pyx_kp_52, __pyx_k_52, sizeof(__pyx_k_52), 0, 0, 0}, {&__pyx_kp___getbuffer__, __pyx_k___getbuffer__, sizeof(__pyx_k___getbuffer__), 1, 1, 1}, {&__pyx_kp___releasebuffer__, __pyx_k___releasebuffer__, sizeof(__pyx_k___releasebuffer__), 1, 1, 1}, {&__pyx_kp_info, __pyx_k_info, sizeof(__pyx_k_info), 1, 1, 1}, @@ -3427,7 +3647,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {0, 0, 0, 0, 0, 0} }; static int __Pyx_InitCachedBuiltins(void) { - __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_kp_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_kp_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_range = __Pyx_GetName(__pyx_b, __pyx_kp_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_kp_RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; @@ -3510,7 +3730,10 @@ PyMODINIT_FUNC PyInit_opencv_backend(void) if (__Pyx_ExportFunction("assert_nchannels", (void (*)(void))__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels, "int (PyArrayObject *, PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("assert_same_dtype", (void (*)(void))__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_dtype, "int (PyArrayObject *, PyArrayObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("assert_same_shape", (void (*)(void))__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_shape, "int (PyArrayObject *, PyArrayObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__Pyx_ExportFunction("assert_same_width_and_height", (void (*)(void))__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_width_and_height, "int (PyArrayObject *, PyArrayObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("assert_like", (void (*)(void))__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_like, "int (PyArrayObject *, PyArrayObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__Pyx_ExportFunction("assert_not_sharing_data", (void (*)(void))__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_not_sharing_data, "int (PyArrayObject *, PyArrayObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__Pyx_ExportFunction("new_array", (void (*)(void))__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array, "PyArrayObject *(int, npy_intp *, PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("new_array_like", (void (*)(void))__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like, "PyArrayObject *(PyArrayObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("new_array_like_diff_dtype", (void (*)(void))__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like_diff_dtype, "PyArrayObject *(PyArrayObject *, PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /*--- Type init code ---*/ @@ -3541,115 +3764,115 @@ PyMODINIT_FUNC PyInit_opencv_backend(void) */ import_array(); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":10 - * # Data Type Handling - * #------------------------------------------------------------------------------- + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":13 + * # for some reason these have to declared as dtype objects rather than just the + * # dtype itself.... * UINT8 = np.dtype('uint8') # <<<<<<<<<<<<<< * INT8 = np.dtype('int8') * INT16 = np.dtype('int16') */ - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __Pyx_INCREF(__pyx_kp_31); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_31); __Pyx_GIVEREF(__pyx_kp_31); - __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - if (PyObject_SetAttr(__pyx_m, __pyx_kp_32, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttr(__pyx_m, __pyx_kp_32, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":11 - * #------------------------------------------------------------------------------- + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":14 + * # dtype itself.... * UINT8 = np.dtype('uint8') * INT8 = np.dtype('int8') # <<<<<<<<<<<<<< * INT16 = np.dtype('int16') * INT32 = np.dtype('int32') */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __Pyx_INCREF(__pyx_kp_33); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_33); __Pyx_GIVEREF(__pyx_kp_33); - __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; - if (PyObject_SetAttr(__pyx_m, __pyx_kp_34, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttr(__pyx_m, __pyx_kp_34, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":12 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":15 * UINT8 = np.dtype('uint8') * INT8 = np.dtype('int8') * INT16 = np.dtype('int16') # <<<<<<<<<<<<<< * INT32 = np.dtype('int32') * FLOAT32 = np.dtype('float32') */ - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __Pyx_INCREF(__pyx_kp_35); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_35); __Pyx_GIVEREF(__pyx_kp_35); - __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - if (PyObject_SetAttr(__pyx_m, __pyx_kp_36, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttr(__pyx_m, __pyx_kp_36, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":13 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":16 * INT8 = np.dtype('int8') * INT16 = np.dtype('int16') * INT32 = np.dtype('int32') # <<<<<<<<<<<<<< * FLOAT32 = np.dtype('float32') * FLOAT64 = np.dtype('float64') */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __Pyx_INCREF(__pyx_kp_37); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_37); __Pyx_GIVEREF(__pyx_kp_37); - __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; - if (PyObject_SetAttr(__pyx_m, __pyx_kp_38, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttr(__pyx_m, __pyx_kp_38, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":14 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":17 * INT16 = np.dtype('int16') * INT32 = np.dtype('int32') * FLOAT32 = np.dtype('float32') # <<<<<<<<<<<<<< * FLOAT64 = np.dtype('float64') * */ - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __Pyx_INCREF(__pyx_kp_39); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_39); __Pyx_GIVEREF(__pyx_kp_39); - __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - if (PyObject_SetAttr(__pyx_m, __pyx_kp_40, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttr(__pyx_m, __pyx_kp_40, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":15 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":18 * INT32 = np.dtype('int32') * FLOAT32 = np.dtype('float32') * FLOAT64 = np.dtype('float64') # <<<<<<<<<<<<<< * * cdef int IPL_DEPTH_SIGN = 0x80000000 */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __Pyx_INCREF(__pyx_kp_41); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_41); __Pyx_GIVEREF(__pyx_kp_41); - __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; - if (PyObject_SetAttr(__pyx_m, __pyx_kp_42, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttr(__pyx_m, __pyx_kp_42, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":17 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":20 * FLOAT64 = np.dtype('float64') * * cdef int IPL_DEPTH_SIGN = 0x80000000 # <<<<<<<<<<<<<< @@ -3658,7 +3881,7 @@ PyMODINIT_FUNC PyInit_opencv_backend(void) */ __pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_SIGN = 0x80000000; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":18 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":21 * * cdef int IPL_DEPTH_SIGN = 0x80000000 * cdef int IPL_DEPTH_8U = 8 # <<<<<<<<<<<<<< @@ -3667,7 +3890,7 @@ PyMODINIT_FUNC PyInit_opencv_backend(void) */ __pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_8U = 8; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":19 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":22 * cdef int IPL_DEPTH_SIGN = 0x80000000 * cdef int IPL_DEPTH_8U = 8 * cdef int IPL_DEPTH_8S = (IPL_DEPTH_SIGN | 8) # <<<<<<<<<<<<<< @@ -3676,7 +3899,7 @@ PyMODINIT_FUNC PyInit_opencv_backend(void) */ __pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_8S = (__pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_SIGN | 8); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":20 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":23 * cdef int IPL_DEPTH_8U = 8 * cdef int IPL_DEPTH_8S = (IPL_DEPTH_SIGN | 8) * cdef int IPL_DEPTH_16S = (IPL_DEPTH_SIGN | 16) # <<<<<<<<<<<<<< @@ -3685,7 +3908,7 @@ PyMODINIT_FUNC PyInit_opencv_backend(void) */ __pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_16S = (__pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_SIGN | 16); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":21 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":24 * cdef int IPL_DEPTH_8S = (IPL_DEPTH_SIGN | 8) * cdef int IPL_DEPTH_16S = (IPL_DEPTH_SIGN | 16) * cdef int IPL_DEPTH_32S = (IPL_DEPTH_SIGN | 32) # <<<<<<<<<<<<<< @@ -3694,7 +3917,7 @@ PyMODINIT_FUNC PyInit_opencv_backend(void) */ __pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_32S = (__pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_SIGN | 32); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":22 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":25 * cdef int IPL_DEPTH_16S = (IPL_DEPTH_SIGN | 16) * cdef int IPL_DEPTH_32S = (IPL_DEPTH_SIGN | 32) * cdef int IPL_DEPTH_32F = 32 # <<<<<<<<<<<<<< @@ -3703,7 +3926,7 @@ PyMODINIT_FUNC PyInit_opencv_backend(void) */ __pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_32F = 32; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":23 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":26 * cdef int IPL_DEPTH_32S = (IPL_DEPTH_SIGN | 32) * cdef int IPL_DEPTH_32F = 32 * cdef int IPL_DEPTH_64F = 64 # <<<<<<<<<<<<<< @@ -3712,77 +3935,77 @@ PyMODINIT_FUNC PyInit_opencv_backend(void) */ __pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_64F = 64; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":28 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":31 * # I'd like a better to associate the IPL data type flag to the proper numpy * # types without using a dictionary. * _ipltypes = {UINT8: IPL_DEPTH_8U, INT8: IPL_DEPTH_8S, INT16: IPL_DEPTH_16S, # <<<<<<<<<<<<<< * INT32: IPL_DEPTH_32S, FLOAT32: IPL_DEPTH_32F, * FLOAT64: IPL_DEPTH_64F} */ - __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_1)); - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_32); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_32); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_2); - __pyx_t_1 = PyInt_FromLong(__pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_8U); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(__pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_8U); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_1, __pyx_2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_2); __pyx_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_34); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_34); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_2); - __pyx_t_1 = PyInt_FromLong(__pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_8S); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(__pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_8S); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_1, __pyx_2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_2); __pyx_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_36); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_36); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_2); - __pyx_t_1 = PyInt_FromLong(__pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_16S); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(__pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_16S); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_1, __pyx_2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_2); __pyx_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":29 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":32 * # types without using a dictionary. * _ipltypes = {UINT8: IPL_DEPTH_8U, INT8: IPL_DEPTH_8S, INT16: IPL_DEPTH_16S, * INT32: IPL_DEPTH_32S, FLOAT32: IPL_DEPTH_32F, # <<<<<<<<<<<<<< * FLOAT64: IPL_DEPTH_64F} * */ - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_38); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_38); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_2); - __pyx_t_1 = PyInt_FromLong(__pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_32S); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(__pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_32S); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_1, __pyx_2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_2); __pyx_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_40); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_40); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_2); - __pyx_t_1 = PyInt_FromLong(__pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_32F); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(__pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_32F); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_1, __pyx_2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_2); __pyx_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":30 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":33 * _ipltypes = {UINT8: IPL_DEPTH_8U, INT8: IPL_DEPTH_8S, INT16: IPL_DEPTH_16S, * INT32: IPL_DEPTH_32S, FLOAT32: IPL_DEPTH_32F, * FLOAT64: IPL_DEPTH_64F} # <<<<<<<<<<<<<< * * */ - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_42); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_42); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_2); - __pyx_t_1 = PyInt_FromLong(__pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_64F); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyInt_FromLong(__pyx_v_7scikits_5image_6opencv_14opencv_backend_IPL_DEPTH_64F); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_1, __pyx_2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_2); __pyx_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyObject_SetAttr(__pyx_m, __pyx_kp__ipltypes, ((PyObject *)__pyx_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttr(__pyx_m, __pyx_kp__ipltypes, ((PyObject *)__pyx_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":38 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_backend.pyx":41 * * * cdef int IPLIMAGE_SIZE = sizeof(IplImage) # <<<<<<<<<<<<<< diff --git a/scikits/image/opencv/opencv_backend.pxd b/scikits/image/opencv/opencv_backend.pxd index 198fb29c..e26242da 100644 --- a/scikits/image/opencv/opencv_backend.pxd +++ b/scikits/image/opencv/opencv_backend.pxd @@ -26,6 +26,9 @@ cdef int assert_ndims(np.ndarray arr, dims) except -1 cdef int assert_nchannels(np.ndarray arr, channels) except -1 cdef int assert_same_dtype(np.ndarray arr1, np.ndarray arr2) except -1 cdef int assert_same_shape(np.ndarray arr1, np.ndarray arr2) except -1 +cdef int assert_same_width_and_height(np.ndarray arr1, np.ndarray arr2) except -1 cdef int assert_like(np.ndarray arr1, np.ndarray arr2) except -1 +cdef int assert_not_sharing_data(np.ndarray arr1, np.ndarray arr2) except -1 +cdef np.ndarray new_array(int ndim, np.npy_intp* shape, dtype) cdef np.ndarray new_array_like(np.ndarray arr) cdef np.ndarray new_array_like_diff_dtype(np.ndarray arr, dtype) \ No newline at end of file diff --git a/scikits/image/opencv/opencv_backend.pyx b/scikits/image/opencv/opencv_backend.pyx index 946b141d..484872d5 100644 --- a/scikits/image/opencv/opencv_backend.pyx +++ b/scikits/image/opencv/opencv_backend.pyx @@ -120,12 +120,30 @@ cdef int assert_same_shape(np.ndarray arr1, np.ndarray arr2) except -1: if not np.PyArray_SAMESHAPE(arr1, arr2): raise ValueError('arrays not same shape') return 1 + +cdef int assert_same_width_and_height(np.ndarray arr1, np.ndarray arr2) except -1: + cdef np.npy_intp* shape1 = arr1.shape + cdef np.npy_intp* shape2 = arr2.shape + if (shape1[0] != shape2[0]) or (shape1[1] != shape2[1]): + raise ValueError('Arrays must have same width and height') + return 1 cdef int assert_like(np.ndarray arr1, np.ndarray arr2) except -1: assert_same_dtype(arr1, arr2) assert_same_shape(arr1, arr2) return 1 + +cdef int assert_not_sharing_data(np.ndarray arr1, np.ndarray arr2) except -1: + if arr1.data == arr2.data: + raise ValueError('In place operation not supported. Make sure \ + the out array is not just a view of src array') + return 1 +cdef np.ndarray new_array(int ndim, np.npy_intp* shape, dtype): + # need to incref because numpy will apprently steal a dtype reference + Py_INCREF(dtype) + return PyArray_Empty(ndim, shape, dtype, 0) + cdef np.ndarray new_array_like(np.ndarray arr): # need to incref because numpy will apprently steal a dtype reference Py_INCREF(arr.dtype) diff --git a/scikits/image/opencv/opencv_cv.c b/scikits/image/opencv/opencv_cv.c index 54e5a82e..1ab4165e 100644 --- a/scikits/image/opencv/opencv_cv.c +++ b/scikits/image/opencv/opencv_cv.c @@ -1,4 +1,4 @@ -/* Generated by Cython 0.11.3 on Sat Oct 10 18:13:30 2009 */ +/* Generated by Cython 0.11.3 on Sat Oct 10 22:42:51 2009 */ #define PY_SSIZE_T_CLEAN #include "Python.h" @@ -306,6 +306,80 @@ static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/ + +static INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { + PyObject *r; + if (!j) return NULL; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + return r; +} + + +#define __Pyx_GetItemInt_List(o, i, size, to_py_func) ((size <= sizeof(Py_ssize_t)) ? \ + __Pyx_GetItemInt_List_Fast(o, i, size <= sizeof(long)) : \ + __Pyx_GetItemInt_Generic(o, to_py_func(i))) + +static INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, int fits_long) { + if (likely(o != Py_None)) { + if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) { + PyObject *r = PyList_GET_ITEM(o, i); + Py_INCREF(r); + return r; + } + else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) { + PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i); + Py_INCREF(r); + return r; + } + } + return __Pyx_GetItemInt_Generic(o, fits_long ? PyInt_FromLong(i) : PyLong_FromLongLong(i)); +} + +#define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func) ((size <= sizeof(Py_ssize_t)) ? \ + __Pyx_GetItemInt_Tuple_Fast(o, i, size <= sizeof(long)) : \ + __Pyx_GetItemInt_Generic(o, to_py_func(i))) + +static INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, int fits_long) { + if (likely(o != Py_None)) { + if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, i); + Py_INCREF(r); + return r; + } + else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) { + PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i); + Py_INCREF(r); + return r; + } + } + return __Pyx_GetItemInt_Generic(o, fits_long ? PyInt_FromLong(i) : PyLong_FromLongLong(i)); +} + + +#define __Pyx_GetItemInt(o, i, size, to_py_func) ((size <= sizeof(Py_ssize_t)) ? \ + __Pyx_GetItemInt_Fast(o, i, size <= sizeof(long)) : \ + __Pyx_GetItemInt_Generic(o, to_py_func(i))) + +static INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int fits_long) { + PyObject *r; + if (PyList_CheckExact(o) && ((0 <= i) & (i < PyList_GET_SIZE(o)))) { + r = PyList_GET_ITEM(o, i); + Py_INCREF(r); + } + else if (PyTuple_CheckExact(o) && ((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { + r = PyTuple_GET_ITEM(o, i); + Py_INCREF(r); + } + else if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_item && (likely(i >= 0))) { + r = PySequence_GetItem(o, i); + } + else { + r = __Pyx_GetItemInt_Generic(o, fits_long ? PyInt_FromLong(i) : PyLong_FromLongLong(i)); + } + return r; +} + static INLINE void __Pyx_RaiseNoneNotIterableError(void); static INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); @@ -673,6 +747,32 @@ struct __pyx_t_7scikits_5image_6opencv_11opencv_type__IplImage { typedef struct __pyx_t_7scikits_5image_6opencv_11opencv_type__IplImage __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage; +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_type.pxd":36 + * ctypedef _IplImage IplImage + * + * ctypedef struct CvPoint2D32F: # <<<<<<<<<<<<<< + * float x + * float y + */ + +typedef struct { + float x; + float y; +} __pyx_t_7scikits_5image_6opencv_11opencv_type_CvPoint2D32F; + +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_type.pxd":40 + * float y + * + * ctypedef struct CvSize: # <<<<<<<<<<<<<< + * int width + * int height + */ + +typedef struct { + int width; + int height; +} __pyx_t_7scikits_5image_6opencv_11opencv_type_CvSize; + typedef __pyx_t_5numpy_uint8_t __pyx_t_7scikits_5image_6opencv_14opencv_backend_UINT8_t; typedef __pyx_t_5numpy_int8_t __pyx_t_7scikits_5image_6opencv_14opencv_backend_INT8_t; @@ -685,13 +785,21 @@ typedef __pyx_t_5numpy_float32_t __pyx_t_7scikits_5image_6opencv_14opencv_backen typedef __pyx_t_5numpy_float64_t __pyx_t_7scikits_5image_6opencv_14opencv_backend_FLOAT64_t; -typedef void (*__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvSmoothPtr)(__pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage *, __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage *, int, int, int, double, double); - typedef void (*__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvSobelPtr)(__pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage *, __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage *, int, int, int); typedef void (*__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvLaplacePtr)(__pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage *, __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage *, int); typedef void (*__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvCannyPtr)(__pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage *, __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage *, double, double, int); + +typedef void (*__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvPreCorneDetectPtr)(__pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage *, __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage *, int); + +typedef void (*__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvCornerEigenValsAndVecsPtr)(__pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage *, __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage *, int, int); + +typedef void (*__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvCornerMinEigenValPtr)(__pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage *, __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage *, int, int); + +typedef void (*__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvCornerHarrisPtr)(__pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage *, __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage *, int, int, double); + +typedef void (*__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvSmoothPtr)(__pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage *, __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage *, int, int, int, double, double); /* Module declarations from python_buffer */ /* Module declarations from stdlib */ @@ -718,26 +826,35 @@ static int (*__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_ndims)(PyAr static int (*__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels)(PyArrayObject *, PyObject *); /*proto*/ static int (*__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_dtype)(PyArrayObject *, PyArrayObject *); /*proto*/ static int (*__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_shape)(PyArrayObject *, PyArrayObject *); /*proto*/ +static int (*__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_width_and_height)(PyArrayObject *, PyArrayObject *); /*proto*/ static int (*__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_like)(PyArrayObject *, PyArrayObject *); /*proto*/ +static int (*__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_not_sharing_data)(PyArrayObject *, PyArrayObject *); /*proto*/ +static PyArrayObject *(*__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array)(int, npy_intp *, PyObject *); /*proto*/ static PyArrayObject *(*__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like)(PyArrayObject *); /*proto*/ static PyArrayObject *(*__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like_diff_dtype)(PyArrayObject *, PyObject *); /*proto*/ /* Module declarations from scikits.image.opencv.opencv_cv */ -static __pyx_t_7scikits_5image_6opencv_9opencv_cv_cvSmoothPtr __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvSmooth; static __pyx_t_7scikits_5image_6opencv_9opencv_cv_cvSobelPtr __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvSobel; static __pyx_t_7scikits_5image_6opencv_9opencv_cv_cvLaplacePtr __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvLaplace; static __pyx_t_7scikits_5image_6opencv_9opencv_cv_cvCannyPtr __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvCanny; -static int __pyx_k_39; -static PyObject *__pyx_k_40 = 0; +static __pyx_t_7scikits_5image_6opencv_9opencv_cv_cvPreCorneDetectPtr __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvPreCornerDetect; +static __pyx_t_7scikits_5image_6opencv_9opencv_cv_cvCornerEigenValsAndVecsPtr __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvCornerEigenValsAndVecs; +static __pyx_t_7scikits_5image_6opencv_9opencv_cv_cvCornerMinEigenValPtr __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvCornerMinEigenVal; +static __pyx_t_7scikits_5image_6opencv_9opencv_cv_cvCornerHarrisPtr __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvCornerHarris; +static __pyx_t_7scikits_5image_6opencv_9opencv_cv_cvSmoothPtr __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvSmooth; +static int __pyx_k_42; +static PyObject *__pyx_k_43 = 0; #define __Pyx_MODULE_NAME "scikits.image.opencv.opencv_cv" int __pyx_module_is_main_scikits__image__opencv__opencv_cv = 0; /* Implementation of scikits.image.opencv.opencv_cv */ -static char __pyx_k_36[] = "libcv.so"; -static char __pyx_k_37[] = "cv.dll"; -static char __pyx_k_38[] = "The opencv libraries were not found. Please make sure they are installed and available on the system path."; -static PyObject *__pyx_int_2; +static char __pyx_k_38[] = "libcv.so"; +static char __pyx_k_39[] = "cv.dll"; +static char __pyx_k_40[] = "The opencv libraries were not found. Please make sure they are installed and available on the system path."; static PyObject *__pyx_int_1; +static PyObject *__pyx_int_neg_1; +static PyObject *__pyx_int_6; +static PyObject *__pyx_int_2; static PyObject *__pyx_int_3; static char __pyx_k___main__[] = "__main__"; static PyObject *__pyx_kp___main__; @@ -745,16 +862,30 @@ static char __pyx_k_src[] = "src"; static PyObject *__pyx_kp_src; static char __pyx_k_out[] = "out"; static PyObject *__pyx_kp_out; +static char __pyx_k_xorder[] = "xorder"; +static PyObject *__pyx_kp_xorder; +static char __pyx_k_yorder[] = "yorder"; +static PyObject *__pyx_kp_yorder; +static char __pyx_k_aperture_size[] = "aperture_size"; +static PyObject *__pyx_kp_aperture_size; +static char __pyx_k_31[] = "threshold1"; +static PyObject *__pyx_kp_31; +static char __pyx_k_32[] = "threshold2"; +static PyObject *__pyx_kp_32; +static char __pyx_k_block_size[] = "block_size"; +static PyObject *__pyx_kp_block_size; +static char __pyx_k_k[] = "k"; +static PyObject *__pyx_kp_k; static char __pyx_k_smoothtype[] = "smoothtype"; static PyObject *__pyx_kp_smoothtype; -static char __pyx_k_31[] = "param1"; -static PyObject *__pyx_kp_31; -static char __pyx_k_32[] = "param2"; -static PyObject *__pyx_kp_32; -static char __pyx_k_33[] = "param3"; +static char __pyx_k_33[] = "param1"; static PyObject *__pyx_kp_33; -static char __pyx_k_34[] = "param4"; +static char __pyx_k_34[] = "param2"; static PyObject *__pyx_kp_34; +static char __pyx_k_35[] = "param3"; +static PyObject *__pyx_kp_35; +static char __pyx_k_36[] = "param4"; +static PyObject *__pyx_kp_36; static char __pyx_k_in_place[] = "in_place"; static PyObject *__pyx_kp_in_place; static char __pyx_k_ctypes[] = "ctypes"; @@ -765,8 +896,8 @@ static char __pyx_k_np[] = "np"; static PyObject *__pyx_kp_np; static char __pyx_k_opencv_backend[] = "opencv_backend"; static PyObject *__pyx_kp_opencv_backend; -static char __pyx_k_35[] = "*"; -static PyObject *__pyx_kp_35; +static char __pyx_k_37[] = "*"; +static PyObject *__pyx_kp_37; static char __pyx_k_opencv_constants[] = "opencv_constants"; static PyObject *__pyx_kp_opencv_constants; static char __pyx_k_CDLL[] = "CDLL"; @@ -777,38 +908,67 @@ static char __pyx_k_RuntimeError[] = "RuntimeError"; static PyObject *__pyx_kp_RuntimeError; static char __pyx_k_addressof[] = "addressof"; static PyObject *__pyx_kp_addressof; -static char __pyx_k_cvSmooth[] = "cvSmooth"; -static PyObject *__pyx_kp_cvSmooth; static char __pyx_k_cvSobel[] = "cvSobel"; static PyObject *__pyx_kp_cvSobel; static char __pyx_k_cvLaplace[] = "cvLaplace"; static PyObject *__pyx_kp_cvLaplace; static char __pyx_k_cvCanny[] = "cvCanny"; static PyObject *__pyx_kp_cvCanny; +static char __pyx_k_cvPreCornerDetect[] = "cvPreCornerDetect"; +static PyObject *__pyx_kp_cvPreCornerDetect; +static char __pyx_k_41[] = "cvCornerEigenValsAndVecs"; +static PyObject *__pyx_kp_41; +static char __pyx_k_cvCornerMinEigenVal[] = "cvCornerMinEigenVal"; +static PyObject *__pyx_kp_cvCornerMinEigenVal; +static char __pyx_k_cvCornerHarris[] = "cvCornerHarris"; +static PyObject *__pyx_kp_cvCornerHarris; +static char __pyx_k_cvSmooth[] = "cvSmooth"; +static PyObject *__pyx_kp_cvSmooth; static char __pyx_k_CV_GAUSSIAN[] = "CV_GAUSSIAN"; static PyObject *__pyx_kp_CV_GAUSSIAN; -static char __pyx_k_CV_BLUR_NO_SCALE[] = "CV_BLUR_NO_SCALE"; -static PyObject *__pyx_kp_CV_BLUR_NO_SCALE; -static char __pyx_k_42[] = "UINT8"; -static PyObject *__pyx_kp_42; -static char __pyx_k_43[] = "INT8"; -static PyObject *__pyx_kp_43; -static char __pyx_k_44[] = "FLOAT32"; +static char __pyx_k_44[] = "UINT8"; static PyObject *__pyx_kp_44; +static char __pyx_k_45[] = "INT8"; +static PyObject *__pyx_kp_45; +static char __pyx_k_46[] = "FLOAT32"; +static PyObject *__pyx_kp_46; +static char __pyx_k_ValueError[] = "ValueError"; +static PyObject *__pyx_kp_ValueError; static char __pyx_k_dtype[] = "dtype"; static PyObject *__pyx_kp_dtype; -static char __pyx_k_45[] = "INT16"; -static PyObject *__pyx_kp_45; +static char __pyx_k_48[] = "INT16"; +static PyObject *__pyx_kp_48; +static char __pyx_k_reshape[] = "reshape"; +static PyObject *__pyx_kp_reshape; +static char __pyx_k_shape[] = "shape"; +static PyObject *__pyx_kp_shape; +static char __pyx_k_CV_BLUR_NO_SCALE[] = "CV_BLUR_NO_SCALE"; +static PyObject *__pyx_kp_CV_BLUR_NO_SCALE; static char __pyx_k_CV_BLUR[] = "CV_BLUR"; static PyObject *__pyx_kp_CV_BLUR; -static PyObject *__pyx_kp_36; -static PyObject *__pyx_kp_37; static PyObject *__pyx_kp_38; +static PyObject *__pyx_kp_39; +static PyObject *__pyx_kp_40; static PyObject *__pyx_builtin_RuntimeError; -static PyObject *__pyx_kp_41; -static PyObject *__pyx_kp_46; -static char __pyx_k_41[] = "In place operation not supported with this filter"; -static char __pyx_k_46[] = "In place operation not supported with this filter"; +static PyObject *__pyx_builtin_ValueError; +static PyObject *__pyx_kp_47; +static char __pyx_k_47[] = "aperture_size must be 3, 5, or 7"; +static PyObject *__pyx_kp_49; +static char __pyx_k_49[] = "aperture_size must be 3, 5, or 7"; +static PyObject *__pyx_kp_50; +static char __pyx_k_50[] = "aperture_size must be 3, 5, or 7"; +static PyObject *__pyx_kp_51; +static char __pyx_k_51[] = "aperture_size must be 3, 5, or 7"; +static PyObject *__pyx_kp_52; +static char __pyx_k_52[] = "aperture_size must be 3, 5, or 7"; +static PyObject *__pyx_kp_53; +static char __pyx_k_53[] = "aperture_size must be 3, 5, or 7"; +static PyObject *__pyx_kp_54; +static char __pyx_k_54[] = "aperture_size must be 3, 5, or 7"; +static PyObject *__pyx_kp_55; +static PyObject *__pyx_kp_56; +static char __pyx_k_55[] = "In place operation not supported with this filter"; +static char __pyx_k_56[] = "In place operation not supported with this filter"; static PyObject *__pyx_int_15; static char __pyx_k___getbuffer__[] = "__getbuffer__"; static PyObject *__pyx_kp___getbuffer__; @@ -818,15 +978,12 @@ static char __pyx_k_info[] = "info"; static PyObject *__pyx_kp_info; static char __pyx_k_flags[] = "flags"; static PyObject *__pyx_kp_flags; -static char __pyx_k_ValueError[] = "ValueError"; -static PyObject *__pyx_kp_ValueError; static char __pyx_k_range[] = "range"; static PyObject *__pyx_kp_range; static PyObject *__pyx_kp_1; static PyObject *__pyx_kp_2; static PyObject *__pyx_kp_5; static PyObject *__pyx_kp_23; -static PyObject *__pyx_builtin_ValueError; static PyObject *__pyx_builtin_range; static char __pyx_k_1[] = "ndarray is not C contiguous"; static char __pyx_k_2[] = "ndarray is not Fortran contiguous"; @@ -863,9 +1020,2302 @@ static char __pyx_k_28[] = "Non-native byte order not supported"; static char __pyx_k_29[] = "Format string allocated too short."; static char __pyx_k_30[] = "unknown dtype code in numpy.pxd (%d)"; -/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":52 +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":67 * # Function Implementations * #################################### + * def cvSobel(np.ndarray src, np.ndarray out=None, int xorder=1, int yorder=0, # <<<<<<<<<<<<<< + * int aperture_size=3): + * + */ + +static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSobel(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSobel(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyArrayObject *__pyx_v_src = 0; + PyArrayObject *__pyx_v_out = 0; + int __pyx_v_xorder; + int __pyx_v_yorder; + int __pyx_v_aperture_size; + __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage __pyx_v_srcimg; + __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage __pyx_v_outimg; + PyObject *__pyx_r = NULL; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_src,&__pyx_kp_out,&__pyx_kp_xorder,&__pyx_kp_yorder,&__pyx_kp_aperture_size,0}; + __Pyx_SetupRefcountContext("cvSobel"); + __pyx_self = __pyx_self; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + PyObject* values[5] = {0,0,0,0,0}; + values[1] = (PyObject*)((PyArrayObject *)Py_None); + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 0: + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_src); + if (likely(values[0])) kw_args--; + else goto __pyx_L5_argtuple_error; + case 1: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_out); + if (unlikely(value)) { values[1] = value; kw_args--; } + } + case 2: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_xorder); + if (unlikely(value)) { values[2] = value; kw_args--; } + } + case 3: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_yorder); + if (unlikely(value)) { values[3] = value; kw_args--; } + } + case 4: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_aperture_size); + if (unlikely(value)) { values[4] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "cvSobel") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + __pyx_v_src = ((PyArrayObject *)values[0]); + __pyx_v_out = ((PyArrayObject *)values[1]); + if (values[2]) { + __pyx_v_xorder = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_xorder == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } else { + __pyx_v_xorder = 1; + } + if (values[3]) { + __pyx_v_yorder = __Pyx_PyInt_AsInt(values[3]); if (unlikely((__pyx_v_yorder == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } else { + __pyx_v_yorder = 0; + } + if (values[4]) { + __pyx_v_aperture_size = __Pyx_PyInt_AsInt(values[4]); if (unlikely((__pyx_v_aperture_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } else { + __pyx_v_aperture_size = 3; + } + } else { + __pyx_v_out = ((PyArrayObject *)Py_None); + __pyx_v_xorder = 1; + __pyx_v_yorder = 0; + __pyx_v_aperture_size = 3; + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 5: __pyx_v_aperture_size = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 4)); if (unlikely((__pyx_v_aperture_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 4: __pyx_v_yorder = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_yorder == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 3: __pyx_v_xorder = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_xorder == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 2: __pyx_v_out = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 1)); + case 1: __pyx_v_src = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 0)); + break; + default: goto __pyx_L5_argtuple_error; + } + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("cvSobel", 0, 1, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("scikits.image.opencv.opencv_cv.cvSobel"); + return NULL; + __pyx_L4_argument_unpacking_done:; + __Pyx_INCREF((PyObject *)__pyx_v_out); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_5numpy_ndarray, 1, "src", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_out), __pyx_ptype_5numpy_ndarray, 1, "out", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":70 + * int aperture_size=3): + * + * validate_array(src) # <<<<<<<<<<<<<< + * assert_dtype(src, [UINT8, INT8, FLOAT32]) + * assert_nchannels(src, [1]) + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(__pyx_v_src); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":71 + * + * validate_array(src) + * assert_dtype(src, [UINT8, INT8, FLOAT32]) # <<<<<<<<<<<<<< + * assert_nchannels(src, [1]) + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_44); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_45); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_2); + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_46); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_3); + __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_1); + __Pyx_GIVEREF(__pyx_1); + PyList_SET_ITEM(__pyx_t_2, 1, __pyx_2); + __Pyx_GIVEREF(__pyx_2); + PyList_SET_ITEM(__pyx_t_2, 2, __pyx_3); + __Pyx_GIVEREF(__pyx_3); + __pyx_1 = 0; + __pyx_2 = 0; + __pyx_3 = 0; + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_src, ((PyObject *)__pyx_t_2)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":72 + * validate_array(src) + * assert_dtype(src, [UINT8, INT8, FLOAT32]) + * assert_nchannels(src, [1]) # <<<<<<<<<<<<<< + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(__pyx_int_1); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(__pyx_v_src, ((PyObject *)__pyx_t_2)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":74 + * assert_nchannels(src, [1]) + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): # <<<<<<<<<<<<<< + * raise ValueError('aperture_size must be 3, 5, or 7') + * + */ + if ((__pyx_v_aperture_size != 3)) { + if ((__pyx_v_aperture_size != 5)) { + __pyx_t_3 = (__pyx_v_aperture_size != 7); + } else { + __pyx_t_3 = (__pyx_v_aperture_size != 5); + } + __pyx_t_4 = __pyx_t_3; + } else { + __pyx_t_4 = (__pyx_v_aperture_size != 3); + } + if (__pyx_t_4) { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":75 + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + * raise ValueError('aperture_size must be 3, 5, or 7') # <<<<<<<<<<<<<< + * + * if out is not None: + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(__pyx_kp_47); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_47); + __Pyx_GIVEREF(__pyx_kp_47); + __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + goto __pyx_L6; + } + __pyx_L6:; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":77 + * raise ValueError('aperture_size must be 3, 5, or 7') + * + * if out is not None: # <<<<<<<<<<<<<< + * validate_array(out) + * assert_not_sharing_data(src, out) + */ + __pyx_t_4 = (((PyObject *)__pyx_v_out) != Py_None); + if (__pyx_t_4) { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":78 + * + * if out is not None: + * validate_array(out) # <<<<<<<<<<<<<< + * assert_not_sharing_data(src, out) + * assert_same_shape(src, out) + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(__pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":79 + * if out is not None: + * validate_array(out) + * assert_not_sharing_data(src, out) # <<<<<<<<<<<<<< + * assert_same_shape(src, out) + * assert_nchannels(out, [1]) + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_not_sharing_data(__pyx_v_src, __pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":80 + * validate_array(out) + * assert_not_sharing_data(src, out) + * assert_same_shape(src, out) # <<<<<<<<<<<<<< + * assert_nchannels(out, [1]) + * if src.dtype == UINT8 or src.dtype == INT8: + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_shape(__pyx_v_src, __pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":81 + * assert_not_sharing_data(src, out) + * assert_same_shape(src, out) + * assert_nchannels(out, [1]) # <<<<<<<<<<<<<< + * if src.dtype == UINT8 or src.dtype == INT8: + * assert_dtype(out, [INT16]) + */ + __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_5)); + __Pyx_INCREF(__pyx_int_1); + PyList_SET_ITEM(__pyx_t_5, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(__pyx_v_out, ((PyObject *)__pyx_t_5)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":82 + * assert_same_shape(src, out) + * assert_nchannels(out, [1]) + * if src.dtype == UINT8 or src.dtype == INT8: # <<<<<<<<<<<<<< + * assert_dtype(out, [INT16]) + * else: + */ + __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_src), __pyx_kp_dtype); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_44); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_1, Py_EQ); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!__pyx_t_4) { + __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_src), __pyx_kp_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_45); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_2); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_2, __pyx_2, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_6 = __pyx_t_3; + } else { + __pyx_t_6 = __pyx_t_4; + } + if (__pyx_t_6) { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":83 + * assert_nchannels(out, [1]) + * if src.dtype == UINT8 or src.dtype == INT8: + * assert_dtype(out, [INT16]) # <<<<<<<<<<<<<< + * else: + * assert_dtype(out, [FLOAT32]) + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_48); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_3); + __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_5)); + PyList_SET_ITEM(__pyx_t_5, 0, __pyx_3); + __Pyx_GIVEREF(__pyx_3); + __pyx_3 = 0; + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_out, ((PyObject *)__pyx_t_5)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; + goto __pyx_L8; + } + /*else*/ { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":85 + * assert_dtype(out, [INT16]) + * else: + * assert_dtype(out, [FLOAT32]) # <<<<<<<<<<<<<< + * else: + * if src.dtype == UINT8 or src.dtype == INT8: + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_46); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_5)); + PyList_SET_ITEM(__pyx_t_5, 0, __pyx_1); + __Pyx_GIVEREF(__pyx_1); + __pyx_1 = 0; + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_out, ((PyObject *)__pyx_t_5)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; + } + __pyx_L8:; + goto __pyx_L7; + } + /*else*/ { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":87 + * assert_dtype(out, [FLOAT32]) + * else: + * if src.dtype == UINT8 or src.dtype == INT8: # <<<<<<<<<<<<<< + * out = new_array_like_diff_dtype(src, INT16) + * else: + */ + __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_src), __pyx_kp_dtype); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_44); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_2); + __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_2, Py_EQ); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!__pyx_t_6) { + __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_src), __pyx_kp_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_45); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_2, __pyx_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_3 = __pyx_t_4; + } else { + __pyx_t_3 = __pyx_t_6; + } + if (__pyx_t_3) { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":88 + * else: + * if src.dtype == UINT8 or src.dtype == INT8: + * out = new_array_like_diff_dtype(src, INT16) # <<<<<<<<<<<<<< + * else: + * out = new_array_like(src) + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_48); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_t_5 = ((PyObject *)__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like_diff_dtype(__pyx_v_src, __pyx_1)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(((PyObject *)__pyx_v_out)); + __pyx_v_out = ((PyArrayObject *)__pyx_t_5); + __pyx_t_5 = 0; + goto __pyx_L9; + } + /*else*/ { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":90 + * out = new_array_like_diff_dtype(src, INT16) + * else: + * out = new_array_like(src) # <<<<<<<<<<<<<< + * + * cdef IplImage srcimg + */ + __pyx_t_5 = ((PyObject *)__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like(__pyx_v_src)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(((PyObject *)__pyx_v_out)); + __pyx_v_out = ((PyArrayObject *)__pyx_t_5); + __pyx_t_5 = 0; + } + __pyx_L9:; + } + __pyx_L7:; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":95 + * cdef IplImage outimg + * + * populate_iplimage(src, &srcimg) # <<<<<<<<<<<<<< + * populate_iplimage(out, &outimg) + * + */ + __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage(__pyx_v_src, (&__pyx_v_srcimg)); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":96 + * + * populate_iplimage(src, &srcimg) + * populate_iplimage(out, &outimg) # <<<<<<<<<<<<<< + * + * c_cvSobel(&srcimg, &outimg, xorder, yorder, aperture_size) + */ + __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage(__pyx_v_out, (&__pyx_v_outimg)); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":98 + * populate_iplimage(out, &outimg) + * + * c_cvSobel(&srcimg, &outimg, xorder, yorder, aperture_size) # <<<<<<<<<<<<<< + * + * return out + */ + __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvSobel((&__pyx_v_srcimg), (&__pyx_v_outimg), __pyx_v_xorder, __pyx_v_yorder, __pyx_v_aperture_size); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":100 + * c_cvSobel(&srcimg, &outimg, xorder, yorder, aperture_size) + * + * return out # <<<<<<<<<<<<<< + * + * def cvLaplace(np.ndarray src, np.ndarray out=None, int aperture_size=3): + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_out)); + __pyx_r = ((PyObject *)__pyx_v_out); + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_1); + __Pyx_XDECREF(__pyx_2); + __Pyx_XDECREF(__pyx_3); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("scikits.image.opencv.opencv_cv.cvSobel"); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_DECREF((PyObject *)__pyx_v_out); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_FinishRefcountContext(); + return __pyx_r; +} + +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":102 + * return out + * + * def cvLaplace(np.ndarray src, np.ndarray out=None, int aperture_size=3): # <<<<<<<<<<<<<< + * validate_array(src) + * assert_dtype(src, [UINT8, INT8, FLOAT32]) + */ + +static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvLaplace(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvLaplace(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyArrayObject *__pyx_v_src = 0; + PyArrayObject *__pyx_v_out = 0; + int __pyx_v_aperture_size; + __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage __pyx_v_srcimg; + __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage __pyx_v_outimg; + PyObject *__pyx_r = NULL; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_src,&__pyx_kp_out,&__pyx_kp_aperture_size,0}; + __Pyx_SetupRefcountContext("cvLaplace"); + __pyx_self = __pyx_self; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + PyObject* values[3] = {0,0,0}; + values[1] = (PyObject*)((PyArrayObject *)Py_None); + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 0: + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_src); + if (likely(values[0])) kw_args--; + else goto __pyx_L5_argtuple_error; + case 1: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_out); + if (unlikely(value)) { values[1] = value; kw_args--; } + } + case 2: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_aperture_size); + if (unlikely(value)) { values[2] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "cvLaplace") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + __pyx_v_src = ((PyArrayObject *)values[0]); + __pyx_v_out = ((PyArrayObject *)values[1]); + if (values[2]) { + __pyx_v_aperture_size = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_aperture_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } else { + __pyx_v_aperture_size = 3; + } + } else { + __pyx_v_out = ((PyArrayObject *)Py_None); + __pyx_v_aperture_size = 3; + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 3: __pyx_v_aperture_size = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_aperture_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 2: __pyx_v_out = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 1)); + case 1: __pyx_v_src = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 0)); + break; + default: goto __pyx_L5_argtuple_error; + } + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("cvLaplace", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("scikits.image.opencv.opencv_cv.cvLaplace"); + return NULL; + __pyx_L4_argument_unpacking_done:; + __Pyx_INCREF((PyObject *)__pyx_v_out); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_5numpy_ndarray, 1, "src", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_out), __pyx_ptype_5numpy_ndarray, 1, "out", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":103 + * + * def cvLaplace(np.ndarray src, np.ndarray out=None, int aperture_size=3): + * validate_array(src) # <<<<<<<<<<<<<< + * assert_dtype(src, [UINT8, INT8, FLOAT32]) + * assert_nchannels(src, [1]) + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(__pyx_v_src); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":104 + * def cvLaplace(np.ndarray src, np.ndarray out=None, int aperture_size=3): + * validate_array(src) + * assert_dtype(src, [UINT8, INT8, FLOAT32]) # <<<<<<<<<<<<<< + * assert_nchannels(src, [1]) + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_44); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_45); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_2); + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_46); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_3); + __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_1); + __Pyx_GIVEREF(__pyx_1); + PyList_SET_ITEM(__pyx_t_2, 1, __pyx_2); + __Pyx_GIVEREF(__pyx_2); + PyList_SET_ITEM(__pyx_t_2, 2, __pyx_3); + __Pyx_GIVEREF(__pyx_3); + __pyx_1 = 0; + __pyx_2 = 0; + __pyx_3 = 0; + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_src, ((PyObject *)__pyx_t_2)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":105 + * validate_array(src) + * assert_dtype(src, [UINT8, INT8, FLOAT32]) + * assert_nchannels(src, [1]) # <<<<<<<<<<<<<< + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(__pyx_int_1); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(__pyx_v_src, ((PyObject *)__pyx_t_2)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":107 + * assert_nchannels(src, [1]) + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): # <<<<<<<<<<<<<< + * raise ValueError('aperture_size must be 3, 5, or 7') + * + */ + if ((__pyx_v_aperture_size != 3)) { + if ((__pyx_v_aperture_size != 5)) { + __pyx_t_3 = (__pyx_v_aperture_size != 7); + } else { + __pyx_t_3 = (__pyx_v_aperture_size != 5); + } + __pyx_t_4 = __pyx_t_3; + } else { + __pyx_t_4 = (__pyx_v_aperture_size != 3); + } + if (__pyx_t_4) { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":108 + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + * raise ValueError('aperture_size must be 3, 5, or 7') # <<<<<<<<<<<<<< + * + * + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(__pyx_kp_49); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_49); + __Pyx_GIVEREF(__pyx_kp_49); + __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + goto __pyx_L6; + } + __pyx_L6:; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":111 + * + * + * if out is not None: # <<<<<<<<<<<<<< + * validate_array(out) + * assert_not_sharing_data(src, out) + */ + __pyx_t_4 = (((PyObject *)__pyx_v_out) != Py_None); + if (__pyx_t_4) { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":112 + * + * if out is not None: + * validate_array(out) # <<<<<<<<<<<<<< + * assert_not_sharing_data(src, out) + * assert_same_shape(src, out) + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(__pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":113 + * if out is not None: + * validate_array(out) + * assert_not_sharing_data(src, out) # <<<<<<<<<<<<<< + * assert_same_shape(src, out) + * assert_nchannels(out, [1]) + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_not_sharing_data(__pyx_v_src, __pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":114 + * validate_array(out) + * assert_not_sharing_data(src, out) + * assert_same_shape(src, out) # <<<<<<<<<<<<<< + * assert_nchannels(out, [1]) + * if src.dtype == UINT8 or src.dtype == INT8: + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_shape(__pyx_v_src, __pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":115 + * assert_not_sharing_data(src, out) + * assert_same_shape(src, out) + * assert_nchannels(out, [1]) # <<<<<<<<<<<<<< + * if src.dtype == UINT8 or src.dtype == INT8: + * assert_dtype(out, [INT16]) + */ + __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_5)); + __Pyx_INCREF(__pyx_int_1); + PyList_SET_ITEM(__pyx_t_5, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(__pyx_v_out, ((PyObject *)__pyx_t_5)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":116 + * assert_same_shape(src, out) + * assert_nchannels(out, [1]) + * if src.dtype == UINT8 or src.dtype == INT8: # <<<<<<<<<<<<<< + * assert_dtype(out, [INT16]) + * else: + */ + __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_src), __pyx_kp_dtype); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_44); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_1, Py_EQ); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!__pyx_t_4) { + __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_src), __pyx_kp_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_45); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_2); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_2, __pyx_2, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_6 = __pyx_t_3; + } else { + __pyx_t_6 = __pyx_t_4; + } + if (__pyx_t_6) { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":117 + * assert_nchannels(out, [1]) + * if src.dtype == UINT8 or src.dtype == INT8: + * assert_dtype(out, [INT16]) # <<<<<<<<<<<<<< + * else: + * assert_dtype(out, [FLOAT32]) + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_48); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_3); + __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_5)); + PyList_SET_ITEM(__pyx_t_5, 0, __pyx_3); + __Pyx_GIVEREF(__pyx_3); + __pyx_3 = 0; + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_out, ((PyObject *)__pyx_t_5)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; + goto __pyx_L8; + } + /*else*/ { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":119 + * assert_dtype(out, [INT16]) + * else: + * assert_dtype(out, [FLOAT32]) # <<<<<<<<<<<<<< + * else: + * if src.dtype == UINT8 or src.dtype == INT8: + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_46); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_5)); + PyList_SET_ITEM(__pyx_t_5, 0, __pyx_1); + __Pyx_GIVEREF(__pyx_1); + __pyx_1 = 0; + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_out, ((PyObject *)__pyx_t_5)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; + } + __pyx_L8:; + goto __pyx_L7; + } + /*else*/ { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":121 + * assert_dtype(out, [FLOAT32]) + * else: + * if src.dtype == UINT8 or src.dtype == INT8: # <<<<<<<<<<<<<< + * out = new_array_like_diff_dtype(src, INT16) + * else: + */ + __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_src), __pyx_kp_dtype); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_44); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_2); + __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_2, Py_EQ); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!__pyx_t_6) { + __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_src), __pyx_kp_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_45); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_2, __pyx_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_3 = __pyx_t_4; + } else { + __pyx_t_3 = __pyx_t_6; + } + if (__pyx_t_3) { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":122 + * else: + * if src.dtype == UINT8 or src.dtype == INT8: + * out = new_array_like_diff_dtype(src, INT16) # <<<<<<<<<<<<<< + * else: + * out = new_array_like(src) + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_48); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_t_5 = ((PyObject *)__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like_diff_dtype(__pyx_v_src, __pyx_1)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(((PyObject *)__pyx_v_out)); + __pyx_v_out = ((PyArrayObject *)__pyx_t_5); + __pyx_t_5 = 0; + goto __pyx_L9; + } + /*else*/ { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":124 + * out = new_array_like_diff_dtype(src, INT16) + * else: + * out = new_array_like(src) # <<<<<<<<<<<<<< + * + * cdef IplImage srcimg + */ + __pyx_t_5 = ((PyObject *)__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like(__pyx_v_src)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(((PyObject *)__pyx_v_out)); + __pyx_v_out = ((PyArrayObject *)__pyx_t_5); + __pyx_t_5 = 0; + } + __pyx_L9:; + } + __pyx_L7:; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":129 + * cdef IplImage outimg + * + * populate_iplimage(src, &srcimg) # <<<<<<<<<<<<<< + * populate_iplimage(out, &outimg) + * + */ + __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage(__pyx_v_src, (&__pyx_v_srcimg)); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":130 + * + * populate_iplimage(src, &srcimg) + * populate_iplimage(out, &outimg) # <<<<<<<<<<<<<< + * + * c_cvLaplace(&srcimg, &outimg, aperture_size) + */ + __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage(__pyx_v_out, (&__pyx_v_outimg)); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":132 + * populate_iplimage(out, &outimg) + * + * c_cvLaplace(&srcimg, &outimg, aperture_size) # <<<<<<<<<<<<<< + * + * return out + */ + __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvLaplace((&__pyx_v_srcimg), (&__pyx_v_outimg), __pyx_v_aperture_size); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":134 + * c_cvLaplace(&srcimg, &outimg, aperture_size) + * + * return out # <<<<<<<<<<<<<< + * + * def cvCanny(np.ndarray src, np.ndarray out=None, double threshold1=10, + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_out)); + __pyx_r = ((PyObject *)__pyx_v_out); + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_1); + __Pyx_XDECREF(__pyx_2); + __Pyx_XDECREF(__pyx_3); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("scikits.image.opencv.opencv_cv.cvLaplace"); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_DECREF((PyObject *)__pyx_v_out); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_FinishRefcountContext(); + return __pyx_r; +} + +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":136 + * return out + * + * def cvCanny(np.ndarray src, np.ndarray out=None, double threshold1=10, # <<<<<<<<<<<<<< + * double threshold2=50, int aperture_size=3): + * validate_array(src) + */ + +static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvCanny(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvCanny(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyArrayObject *__pyx_v_src = 0; + PyArrayObject *__pyx_v_out = 0; + double __pyx_v_threshold1; + double __pyx_v_threshold2; + int __pyx_v_aperture_size; + __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage __pyx_v_srcimg; + __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage __pyx_v_outimg; + PyObject *__pyx_r = NULL; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_src,&__pyx_kp_out,&__pyx_kp_31,&__pyx_kp_32,&__pyx_kp_aperture_size,0}; + __Pyx_SetupRefcountContext("cvCanny"); + __pyx_self = __pyx_self; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + PyObject* values[5] = {0,0,0,0,0}; + values[1] = (PyObject*)((PyArrayObject *)Py_None); + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 0: + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_src); + if (likely(values[0])) kw_args--; + else goto __pyx_L5_argtuple_error; + case 1: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_out); + if (unlikely(value)) { values[1] = value; kw_args--; } + } + case 2: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_31); + if (unlikely(value)) { values[2] = value; kw_args--; } + } + case 3: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_32); + if (unlikely(value)) { values[3] = value; kw_args--; } + } + case 4: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_aperture_size); + if (unlikely(value)) { values[4] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "cvCanny") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + __pyx_v_src = ((PyArrayObject *)values[0]); + __pyx_v_out = ((PyArrayObject *)values[1]); + if (values[2]) { + __pyx_v_threshold1 = __pyx_PyFloat_AsDouble(values[2]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } else { + __pyx_v_threshold1 = ((double)10); + } + if (values[3]) { + __pyx_v_threshold2 = __pyx_PyFloat_AsDouble(values[3]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } else { + __pyx_v_threshold2 = ((double)50); + } + if (values[4]) { + __pyx_v_aperture_size = __Pyx_PyInt_AsInt(values[4]); if (unlikely((__pyx_v_aperture_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } else { + __pyx_v_aperture_size = 3; + } + } else { + __pyx_v_out = ((PyArrayObject *)Py_None); + __pyx_v_threshold1 = ((double)10); + __pyx_v_threshold2 = ((double)50); + __pyx_v_aperture_size = 3; + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 5: __pyx_v_aperture_size = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 4)); if (unlikely((__pyx_v_aperture_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 4: __pyx_v_threshold2 = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 3: __pyx_v_threshold1 = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 2: __pyx_v_out = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 1)); + case 1: __pyx_v_src = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 0)); + break; + default: goto __pyx_L5_argtuple_error; + } + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("cvCanny", 0, 1, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("scikits.image.opencv.opencv_cv.cvCanny"); + return NULL; + __pyx_L4_argument_unpacking_done:; + __Pyx_INCREF((PyObject *)__pyx_v_out); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_5numpy_ndarray, 1, "src", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_out), __pyx_ptype_5numpy_ndarray, 1, "out", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":138 + * def cvCanny(np.ndarray src, np.ndarray out=None, double threshold1=10, + * double threshold2=50, int aperture_size=3): + * validate_array(src) # <<<<<<<<<<<<<< + * assert_nchannels(src, [1]) + * + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(__pyx_v_src); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":139 + * double threshold2=50, int aperture_size=3): + * validate_array(src) + * assert_nchannels(src, [1]) # <<<<<<<<<<<<<< + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(__pyx_int_1); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(__pyx_v_src, ((PyObject *)__pyx_t_2)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":141 + * assert_nchannels(src, [1]) + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): # <<<<<<<<<<<<<< + * raise ValueError('aperture_size must be 3, 5, or 7') + * + */ + if ((__pyx_v_aperture_size != 3)) { + if ((__pyx_v_aperture_size != 5)) { + __pyx_t_3 = (__pyx_v_aperture_size != 7); + } else { + __pyx_t_3 = (__pyx_v_aperture_size != 5); + } + __pyx_t_4 = __pyx_t_3; + } else { + __pyx_t_4 = (__pyx_v_aperture_size != 3); + } + if (__pyx_t_4) { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":142 + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + * raise ValueError('aperture_size must be 3, 5, or 7') # <<<<<<<<<<<<<< + * + * + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(__pyx_kp_50); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_50); + __Pyx_GIVEREF(__pyx_kp_50); + __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + goto __pyx_L6; + } + __pyx_L6:; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":145 + * + * + * if out is not None: # <<<<<<<<<<<<<< + * validate_array(out) + * assert_nchannels(out, [1]) + */ + __pyx_t_4 = (((PyObject *)__pyx_v_out) != Py_None); + if (__pyx_t_4) { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":146 + * + * if out is not None: + * validate_array(out) # <<<<<<<<<<<<<< + * assert_nchannels(out, [1]) + * assert_same_shape(src, out) + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(__pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":147 + * if out is not None: + * validate_array(out) + * assert_nchannels(out, [1]) # <<<<<<<<<<<<<< + * assert_same_shape(src, out) + * assert_not_sharing_data(src, out) + */ + __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_5)); + __Pyx_INCREF(__pyx_int_1); + PyList_SET_ITEM(__pyx_t_5, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(__pyx_v_out, ((PyObject *)__pyx_t_5)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":148 + * validate_array(out) + * assert_nchannels(out, [1]) + * assert_same_shape(src, out) # <<<<<<<<<<<<<< + * assert_not_sharing_data(src, out) + * else: + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_shape(__pyx_v_src, __pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":149 + * assert_nchannels(out, [1]) + * assert_same_shape(src, out) + * assert_not_sharing_data(src, out) # <<<<<<<<<<<<<< + * else: + * out = new_array_like(src) + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_not_sharing_data(__pyx_v_src, __pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + goto __pyx_L7; + } + /*else*/ { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":151 + * assert_not_sharing_data(src, out) + * else: + * out = new_array_like(src) # <<<<<<<<<<<<<< + * + * cdef IplImage srcimg + */ + __pyx_t_5 = ((PyObject *)__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like(__pyx_v_src)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(((PyObject *)__pyx_v_out)); + __pyx_v_out = ((PyArrayObject *)__pyx_t_5); + __pyx_t_5 = 0; + } + __pyx_L7:; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":155 + * cdef IplImage srcimg + * cdef IplImage outimg + * populate_iplimage(src, &srcimg) # <<<<<<<<<<<<<< + * populate_iplimage(out, &outimg) + * + */ + __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage(__pyx_v_src, (&__pyx_v_srcimg)); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":156 + * cdef IplImage outimg + * populate_iplimage(src, &srcimg) + * populate_iplimage(out, &outimg) # <<<<<<<<<<<<<< + * + * c_cvCanny(&srcimg, &outimg, threshold1, threshold2, aperture_size) + */ + __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage(__pyx_v_out, (&__pyx_v_outimg)); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":158 + * populate_iplimage(out, &outimg) + * + * c_cvCanny(&srcimg, &outimg, threshold1, threshold2, aperture_size) # <<<<<<<<<<<<<< + * + * return out + */ + __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvCanny((&__pyx_v_srcimg), (&__pyx_v_outimg), __pyx_v_threshold1, __pyx_v_threshold2, __pyx_v_aperture_size); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":160 + * c_cvCanny(&srcimg, &outimg, threshold1, threshold2, aperture_size) + * + * return out # <<<<<<<<<<<<<< + * + * def cvPreCornerDetect(np.ndarray src, np.ndarray out=None, int aperture_size=3): + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_out)); + __pyx_r = ((PyObject *)__pyx_v_out); + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("scikits.image.opencv.opencv_cv.cvCanny"); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_DECREF((PyObject *)__pyx_v_out); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_FinishRefcountContext(); + return __pyx_r; +} + +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":162 + * return out + * + * def cvPreCornerDetect(np.ndarray src, np.ndarray out=None, int aperture_size=3): # <<<<<<<<<<<<<< + * validate_array(src) + * assert_dtype(src, [UINT8, FLOAT32]) + */ + +static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvPreCornerDetect(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvPreCornerDetect(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyArrayObject *__pyx_v_src = 0; + PyArrayObject *__pyx_v_out = 0; + int __pyx_v_aperture_size; + __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage __pyx_v_srcimg; + __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage __pyx_v_outimg; + PyObject *__pyx_r = NULL; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_src,&__pyx_kp_out,&__pyx_kp_aperture_size,0}; + __Pyx_SetupRefcountContext("cvPreCornerDetect"); + __pyx_self = __pyx_self; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + PyObject* values[3] = {0,0,0}; + values[1] = (PyObject*)((PyArrayObject *)Py_None); + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 0: + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_src); + if (likely(values[0])) kw_args--; + else goto __pyx_L5_argtuple_error; + case 1: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_out); + if (unlikely(value)) { values[1] = value; kw_args--; } + } + case 2: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_aperture_size); + if (unlikely(value)) { values[2] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "cvPreCornerDetect") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + __pyx_v_src = ((PyArrayObject *)values[0]); + __pyx_v_out = ((PyArrayObject *)values[1]); + if (values[2]) { + __pyx_v_aperture_size = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_aperture_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } else { + __pyx_v_aperture_size = 3; + } + } else { + __pyx_v_out = ((PyArrayObject *)Py_None); + __pyx_v_aperture_size = 3; + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 3: __pyx_v_aperture_size = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_aperture_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 2: __pyx_v_out = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 1)); + case 1: __pyx_v_src = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 0)); + break; + default: goto __pyx_L5_argtuple_error; + } + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("cvPreCornerDetect", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("scikits.image.opencv.opencv_cv.cvPreCornerDetect"); + return NULL; + __pyx_L4_argument_unpacking_done:; + __Pyx_INCREF((PyObject *)__pyx_v_out); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_5numpy_ndarray, 1, "src", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_out), __pyx_ptype_5numpy_ndarray, 1, "out", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":163 + * + * def cvPreCornerDetect(np.ndarray src, np.ndarray out=None, int aperture_size=3): + * validate_array(src) # <<<<<<<<<<<<<< + * assert_dtype(src, [UINT8, FLOAT32]) + * assert_nchannels(src, [1]) + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(__pyx_v_src); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":164 + * def cvPreCornerDetect(np.ndarray src, np.ndarray out=None, int aperture_size=3): + * validate_array(src) + * assert_dtype(src, [UINT8, FLOAT32]) # <<<<<<<<<<<<<< + * assert_nchannels(src, [1]) + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_44); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_46); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_2); + __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_1); + __Pyx_GIVEREF(__pyx_1); + PyList_SET_ITEM(__pyx_t_2, 1, __pyx_2); + __Pyx_GIVEREF(__pyx_2); + __pyx_1 = 0; + __pyx_2 = 0; + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_src, ((PyObject *)__pyx_t_2)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":165 + * validate_array(src) + * assert_dtype(src, [UINT8, FLOAT32]) + * assert_nchannels(src, [1]) # <<<<<<<<<<<<<< + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(__pyx_int_1); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(__pyx_v_src, ((PyObject *)__pyx_t_2)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":167 + * assert_nchannels(src, [1]) + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): # <<<<<<<<<<<<<< + * raise ValueError('aperture_size must be 3, 5, or 7') + * + */ + if ((__pyx_v_aperture_size != 3)) { + if ((__pyx_v_aperture_size != 5)) { + __pyx_t_3 = (__pyx_v_aperture_size != 7); + } else { + __pyx_t_3 = (__pyx_v_aperture_size != 5); + } + __pyx_t_4 = __pyx_t_3; + } else { + __pyx_t_4 = (__pyx_v_aperture_size != 3); + } + if (__pyx_t_4) { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":168 + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + * raise ValueError('aperture_size must be 3, 5, or 7') # <<<<<<<<<<<<<< + * + * if out is not None: + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(__pyx_kp_51); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_51); + __Pyx_GIVEREF(__pyx_kp_51); + __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + goto __pyx_L6; + } + __pyx_L6:; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":170 + * raise ValueError('aperture_size must be 3, 5, or 7') + * + * if out is not None: # <<<<<<<<<<<<<< + * validate_array(out) + * assert_same_shape(src, out) + */ + __pyx_t_4 = (((PyObject *)__pyx_v_out) != Py_None); + if (__pyx_t_4) { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":171 + * + * if out is not None: + * validate_array(out) # <<<<<<<<<<<<<< + * assert_same_shape(src, out) + * assert_dtype(out, [FLOAT32]) + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(__pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":172 + * if out is not None: + * validate_array(out) + * assert_same_shape(src, out) # <<<<<<<<<<<<<< + * assert_dtype(out, [FLOAT32]) + * assert_not_sharing_data(src, out) + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_shape(__pyx_v_src, __pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":173 + * validate_array(out) + * assert_same_shape(src, out) + * assert_dtype(out, [FLOAT32]) # <<<<<<<<<<<<<< + * assert_not_sharing_data(src, out) + * else: + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_46); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_5)); + PyList_SET_ITEM(__pyx_t_5, 0, __pyx_1); + __Pyx_GIVEREF(__pyx_1); + __pyx_1 = 0; + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_out, ((PyObject *)__pyx_t_5)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":174 + * assert_same_shape(src, out) + * assert_dtype(out, [FLOAT32]) + * assert_not_sharing_data(src, out) # <<<<<<<<<<<<<< + * else: + * out = new_array_like_diff_dtype(src, FLOAT32) + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_not_sharing_data(__pyx_v_src, __pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + goto __pyx_L7; + } + /*else*/ { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":176 + * assert_not_sharing_data(src, out) + * else: + * out = new_array_like_diff_dtype(src, FLOAT32) # <<<<<<<<<<<<<< + * + * cdef IplImage srcimg + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_46); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_2); + __pyx_t_5 = ((PyObject *)__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like_diff_dtype(__pyx_v_src, __pyx_2)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_2); __pyx_2 = 0; + __Pyx_DECREF(((PyObject *)__pyx_v_out)); + __pyx_v_out = ((PyArrayObject *)__pyx_t_5); + __pyx_t_5 = 0; + } + __pyx_L7:; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":180 + * cdef IplImage srcimg + * cdef IplImage outimg + * populate_iplimage(src, &srcimg) # <<<<<<<<<<<<<< + * populate_iplimage(out, &outimg) + * + */ + __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage(__pyx_v_src, (&__pyx_v_srcimg)); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":181 + * cdef IplImage outimg + * populate_iplimage(src, &srcimg) + * populate_iplimage(out, &outimg) # <<<<<<<<<<<<<< + * + * c_cvPreCornerDetect(&srcimg, &outimg, aperture_size) + */ + __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage(__pyx_v_out, (&__pyx_v_outimg)); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":183 + * populate_iplimage(out, &outimg) + * + * c_cvPreCornerDetect(&srcimg, &outimg, aperture_size) # <<<<<<<<<<<<<< + * + * return out + */ + __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvPreCornerDetect((&__pyx_v_srcimg), (&__pyx_v_outimg), __pyx_v_aperture_size); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":185 + * c_cvPreCornerDetect(&srcimg, &outimg, aperture_size) + * + * return out # <<<<<<<<<<<<<< + * + * def cvCornerEigenValsAndVecs(np.ndarray src, int block_size=3, + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_out)); + __pyx_r = ((PyObject *)__pyx_v_out); + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_1); + __Pyx_XDECREF(__pyx_2); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("scikits.image.opencv.opencv_cv.cvPreCornerDetect"); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_DECREF((PyObject *)__pyx_v_out); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_FinishRefcountContext(); + return __pyx_r; +} + +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":187 + * return out + * + * def cvCornerEigenValsAndVecs(np.ndarray src, int block_size=3, # <<<<<<<<<<<<<< + * int aperture_size=3): + * + */ + +static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvCornerEigenValsAndVecs(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvCornerEigenValsAndVecs(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyArrayObject *__pyx_v_src = 0; + int __pyx_v_block_size; + int __pyx_v_aperture_size; + npy_intp __pyx_v_outshape[2]; + PyObject *__pyx_v_out; + __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage __pyx_v_srcimg; + __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage __pyx_v_outimg; + PyObject *__pyx_r = NULL; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_src,&__pyx_kp_block_size,&__pyx_kp_aperture_size,0}; + __Pyx_SetupRefcountContext("cvCornerEigenValsAndVecs"); + __pyx_self = __pyx_self; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + PyObject* values[3] = {0,0,0}; + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 0: + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_src); + if (likely(values[0])) kw_args--; + else goto __pyx_L5_argtuple_error; + case 1: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_block_size); + if (unlikely(value)) { values[1] = value; kw_args--; } + } + case 2: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_aperture_size); + if (unlikely(value)) { values[2] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "cvCornerEigenValsAndVecs") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + __pyx_v_src = ((PyArrayObject *)values[0]); + if (values[1]) { + __pyx_v_block_size = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_block_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } else { + __pyx_v_block_size = 3; + } + if (values[2]) { + __pyx_v_aperture_size = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_aperture_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } else { + __pyx_v_aperture_size = 3; + } + } else { + __pyx_v_block_size = 3; + __pyx_v_aperture_size = 3; + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 3: __pyx_v_aperture_size = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_aperture_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 2: __pyx_v_block_size = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_block_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 1: __pyx_v_src = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 0)); + break; + default: goto __pyx_L5_argtuple_error; + } + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("cvCornerEigenValsAndVecs", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("scikits.image.opencv.opencv_cv.cvCornerEigenValsAndVecs"); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_v_out = Py_None; __Pyx_INCREF(Py_None); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_5numpy_ndarray, 1, "src", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":194 + * # given source array + * + * validate_array(src) # <<<<<<<<<<<<<< + * assert_nchannels(src, [1]) + * assert_dtype(src, [UINT8, FLOAT32]) + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(__pyx_v_src); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":195 + * + * validate_array(src) + * assert_nchannels(src, [1]) # <<<<<<<<<<<<<< + * assert_dtype(src, [UINT8, FLOAT32]) + * + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(__pyx_int_1); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(__pyx_v_src, ((PyObject *)__pyx_t_2)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":196 + * validate_array(src) + * assert_nchannels(src, [1]) + * assert_dtype(src, [UINT8, FLOAT32]) # <<<<<<<<<<<<<< + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_44); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_46); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_2); + __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_1); + __Pyx_GIVEREF(__pyx_1); + PyList_SET_ITEM(__pyx_t_2, 1, __pyx_2); + __Pyx_GIVEREF(__pyx_2); + __pyx_1 = 0; + __pyx_2 = 0; + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_src, ((PyObject *)__pyx_t_2)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":198 + * assert_dtype(src, [UINT8, FLOAT32]) + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): # <<<<<<<<<<<<<< + * raise ValueError('aperture_size must be 3, 5, or 7') + * + */ + if ((__pyx_v_aperture_size != 3)) { + if ((__pyx_v_aperture_size != 5)) { + __pyx_t_3 = (__pyx_v_aperture_size != 7); + } else { + __pyx_t_3 = (__pyx_v_aperture_size != 5); + } + __pyx_t_4 = __pyx_t_3; + } else { + __pyx_t_4 = (__pyx_v_aperture_size != 3); + } + if (__pyx_t_4) { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":199 + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + * raise ValueError('aperture_size must be 3, 5, or 7') # <<<<<<<<<<<<<< + * + * cdef np.npy_intp outshape[2] + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(__pyx_kp_52); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_52); + __Pyx_GIVEREF(__pyx_kp_52); + __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + goto __pyx_L6; + } + __pyx_L6:; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":202 + * + * cdef np.npy_intp outshape[2] + * outshape[0] = src.shape[0] # <<<<<<<<<<<<<< + * outshape[1] = src.shape[1] * 6 + * + */ + (__pyx_v_outshape[0]) = (__pyx_v_src->dimensions[0]); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":203 + * cdef np.npy_intp outshape[2] + * outshape[0] = src.shape[0] + * outshape[1] = src.shape[1] * 6 # <<<<<<<<<<<<<< + * + * out = new_array(2, outshape, FLOAT32) + */ + (__pyx_v_outshape[1]) = ((__pyx_v_src->dimensions[1]) * ((npy_intp)6)); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":205 + * outshape[1] = src.shape[1] * 6 + * + * out = new_array(2, outshape, FLOAT32) # <<<<<<<<<<<<<< + * + * cdef IplImage srcimg + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_46); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_t_5 = ((PyObject *)__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array(2, __pyx_v_outshape, __pyx_1)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_v_out); + __pyx_v_out = __pyx_t_5; + __pyx_t_5 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":209 + * cdef IplImage srcimg + * cdef IplImage outimg + * populate_iplimage(src, &srcimg) # <<<<<<<<<<<<<< + * populate_iplimage(out, &outimg) + * + */ + __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage(__pyx_v_src, (&__pyx_v_srcimg)); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":210 + * cdef IplImage outimg + * populate_iplimage(src, &srcimg) + * populate_iplimage(out, &outimg) # <<<<<<<<<<<<<< + * + * c_cvCornerEigenValsAndVecs(&srcimg, &outimg, block_size, aperture_size) + */ + if (!(__Pyx_TypeTest(__pyx_v_out, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage(((PyArrayObject *)__pyx_v_out), (&__pyx_v_outimg)); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":212 + * populate_iplimage(out, &outimg) + * + * c_cvCornerEigenValsAndVecs(&srcimg, &outimg, block_size, aperture_size) # <<<<<<<<<<<<<< + * + * return out.reshape(out.shape[0], -1, 6) + */ + __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvCornerEigenValsAndVecs((&__pyx_v_srcimg), (&__pyx_v_outimg), __pyx_v_block_size, __pyx_v_aperture_size); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":214 + * c_cvCornerEigenValsAndVecs(&srcimg, &outimg, block_size, aperture_size) + * + * return out.reshape(out.shape[0], -1, 6) # <<<<<<<<<<<<<< + * + * def cvCornerMinEigenVal(np.ndarray src, int block_size=3, + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = PyObject_GetAttr(__pyx_v_out, __pyx_kp_reshape); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyObject_GetAttr(__pyx_v_out, __pyx_kp_shape); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_2 = __Pyx_GetItemInt(__pyx_t_2, 0, sizeof(long), PyInt_FromLong); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_2); + __Pyx_GIVEREF(__pyx_2); + __Pyx_INCREF(__pyx_int_neg_1); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_neg_1); + __Pyx_GIVEREF(__pyx_int_neg_1); + __Pyx_INCREF(__pyx_int_6); + PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_int_6); + __Pyx_GIVEREF(__pyx_int_6); + __pyx_2 = 0; + __pyx_t_6 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_1); + __Pyx_XDECREF(__pyx_2); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("scikits.image.opencv.opencv_cv.cvCornerEigenValsAndVecs"); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_DECREF(__pyx_v_out); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_FinishRefcountContext(); + return __pyx_r; +} + +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":216 + * return out.reshape(out.shape[0], -1, 6) + * + * def cvCornerMinEigenVal(np.ndarray src, int block_size=3, # <<<<<<<<<<<<<< + * int aperture_size=3): + * + */ + +static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvCornerMinEigenVal(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvCornerMinEigenVal(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyArrayObject *__pyx_v_src = 0; + int __pyx_v_block_size; + int __pyx_v_aperture_size; + PyObject *__pyx_v_out; + __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage __pyx_v_srcimg; + __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage __pyx_v_outimg; + PyObject *__pyx_r = NULL; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_src,&__pyx_kp_block_size,&__pyx_kp_aperture_size,0}; + __Pyx_SetupRefcountContext("cvCornerMinEigenVal"); + __pyx_self = __pyx_self; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + PyObject* values[3] = {0,0,0}; + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 0: + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_src); + if (likely(values[0])) kw_args--; + else goto __pyx_L5_argtuple_error; + case 1: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_block_size); + if (unlikely(value)) { values[1] = value; kw_args--; } + } + case 2: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_aperture_size); + if (unlikely(value)) { values[2] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "cvCornerMinEigenVal") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + __pyx_v_src = ((PyArrayObject *)values[0]); + if (values[1]) { + __pyx_v_block_size = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_block_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } else { + __pyx_v_block_size = 3; + } + if (values[2]) { + __pyx_v_aperture_size = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_aperture_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } else { + __pyx_v_aperture_size = 3; + } + } else { + __pyx_v_block_size = 3; + __pyx_v_aperture_size = 3; + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 3: __pyx_v_aperture_size = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_aperture_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 2: __pyx_v_block_size = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_block_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 1: __pyx_v_src = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 0)); + break; + default: goto __pyx_L5_argtuple_error; + } + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("cvCornerMinEigenVal", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("scikits.image.opencv.opencv_cv.cvCornerMinEigenVal"); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_v_out = Py_None; __Pyx_INCREF(Py_None); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_5numpy_ndarray, 1, "src", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":223 + * # given source array + * + * validate_array(src) # <<<<<<<<<<<<<< + * assert_nchannels(src, [1]) + * assert_dtype(src, [UINT8, FLOAT32]) + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(__pyx_v_src); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":224 + * + * validate_array(src) + * assert_nchannels(src, [1]) # <<<<<<<<<<<<<< + * assert_dtype(src, [UINT8, FLOAT32]) + * + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(__pyx_int_1); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(__pyx_v_src, ((PyObject *)__pyx_t_2)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":225 + * validate_array(src) + * assert_nchannels(src, [1]) + * assert_dtype(src, [UINT8, FLOAT32]) # <<<<<<<<<<<<<< + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_44); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_46); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_2); + __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_1); + __Pyx_GIVEREF(__pyx_1); + PyList_SET_ITEM(__pyx_t_2, 1, __pyx_2); + __Pyx_GIVEREF(__pyx_2); + __pyx_1 = 0; + __pyx_2 = 0; + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_src, ((PyObject *)__pyx_t_2)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":227 + * assert_dtype(src, [UINT8, FLOAT32]) + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): # <<<<<<<<<<<<<< + * raise ValueError('aperture_size must be 3, 5, or 7') + * + */ + if ((__pyx_v_aperture_size != 3)) { + if ((__pyx_v_aperture_size != 5)) { + __pyx_t_3 = (__pyx_v_aperture_size != 7); + } else { + __pyx_t_3 = (__pyx_v_aperture_size != 5); + } + __pyx_t_4 = __pyx_t_3; + } else { + __pyx_t_4 = (__pyx_v_aperture_size != 3); + } + if (__pyx_t_4) { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":228 + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + * raise ValueError('aperture_size must be 3, 5, or 7') # <<<<<<<<<<<<<< + * + * out = new_array_like_diff_dtype(src, FLOAT32) + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(__pyx_kp_53); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_53); + __Pyx_GIVEREF(__pyx_kp_53); + __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + goto __pyx_L6; + } + __pyx_L6:; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":230 + * raise ValueError('aperture_size must be 3, 5, or 7') + * + * out = new_array_like_diff_dtype(src, FLOAT32) # <<<<<<<<<<<<<< + * + * cdef IplImage srcimg + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_46); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_t_5 = ((PyObject *)__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like_diff_dtype(__pyx_v_src, __pyx_1)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_v_out); + __pyx_v_out = __pyx_t_5; + __pyx_t_5 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":234 + * cdef IplImage srcimg + * cdef IplImage outimg + * populate_iplimage(src, &srcimg) # <<<<<<<<<<<<<< + * populate_iplimage(out, &outimg) + * + */ + __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage(__pyx_v_src, (&__pyx_v_srcimg)); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":235 + * cdef IplImage outimg + * populate_iplimage(src, &srcimg) + * populate_iplimage(out, &outimg) # <<<<<<<<<<<<<< + * + * c_cvCornerMinEigenVal(&srcimg, &outimg, block_size, aperture_size) + */ + if (!(__Pyx_TypeTest(__pyx_v_out, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage(((PyArrayObject *)__pyx_v_out), (&__pyx_v_outimg)); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":237 + * populate_iplimage(out, &outimg) + * + * c_cvCornerMinEigenVal(&srcimg, &outimg, block_size, aperture_size) # <<<<<<<<<<<<<< + * + * return out + */ + __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvCornerMinEigenVal((&__pyx_v_srcimg), (&__pyx_v_outimg), __pyx_v_block_size, __pyx_v_aperture_size); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":239 + * c_cvCornerMinEigenVal(&srcimg, &outimg, block_size, aperture_size) + * + * return out # <<<<<<<<<<<<<< + * + * def cvCornerHarris(np.ndarray src, int block_size=3, int aperture_size=3, + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_out); + __pyx_r = __pyx_v_out; + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_1); + __Pyx_XDECREF(__pyx_2); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("scikits.image.opencv.opencv_cv.cvCornerMinEigenVal"); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_DECREF(__pyx_v_out); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_FinishRefcountContext(); + return __pyx_r; +} + +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":241 + * return out + * + * def cvCornerHarris(np.ndarray src, int block_size=3, int aperture_size=3, # <<<<<<<<<<<<<< + * double k=0.04): + * + */ + +static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvCornerHarris(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvCornerHarris(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyArrayObject *__pyx_v_src = 0; + int __pyx_v_block_size; + int __pyx_v_aperture_size; + double __pyx_v_k; + PyObject *__pyx_v_out; + __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage __pyx_v_srcimg; + __pyx_t_7scikits_5image_6opencv_11opencv_type_IplImage __pyx_v_outimg; + PyObject *__pyx_r = NULL; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_src,&__pyx_kp_block_size,&__pyx_kp_aperture_size,&__pyx_kp_k,0}; + __Pyx_SetupRefcountContext("cvCornerHarris"); + __pyx_self = __pyx_self; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + PyObject* values[4] = {0,0,0,0}; + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 0: + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_src); + if (likely(values[0])) kw_args--; + else goto __pyx_L5_argtuple_error; + case 1: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_block_size); + if (unlikely(value)) { values[1] = value; kw_args--; } + } + case 2: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_aperture_size); + if (unlikely(value)) { values[2] = value; kw_args--; } + } + case 3: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_k); + if (unlikely(value)) { values[3] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "cvCornerHarris") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + __pyx_v_src = ((PyArrayObject *)values[0]); + if (values[1]) { + __pyx_v_block_size = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_block_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } else { + __pyx_v_block_size = 3; + } + if (values[2]) { + __pyx_v_aperture_size = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_aperture_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } else { + __pyx_v_aperture_size = 3; + } + if (values[3]) { + __pyx_v_k = __pyx_PyFloat_AsDouble(values[3]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } else { + __pyx_v_k = 0.040000000000000001; + } + } else { + __pyx_v_block_size = 3; + __pyx_v_aperture_size = 3; + __pyx_v_k = 0.040000000000000001; + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 4: __pyx_v_k = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 3: __pyx_v_aperture_size = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_aperture_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 2: __pyx_v_block_size = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_block_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 1: __pyx_v_src = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 0)); + break; + default: goto __pyx_L5_argtuple_error; + } + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("cvCornerHarris", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("scikits.image.opencv.opencv_cv.cvCornerHarris"); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_v_out = Py_None; __Pyx_INCREF(Py_None); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_5numpy_ndarray, 1, "src", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":248 + * # given source array + * + * validate_array(src) # <<<<<<<<<<<<<< + * assert_nchannels(src, [1]) + * assert_dtype(src, [UINT8, FLOAT32]) + */ + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(__pyx_v_src); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":249 + * + * validate_array(src) + * assert_nchannels(src, [1]) # <<<<<<<<<<<<<< + * assert_dtype(src, [UINT8, FLOAT32]) + * + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(__pyx_int_1); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(__pyx_v_src, ((PyObject *)__pyx_t_2)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":250 + * validate_array(src) + * assert_nchannels(src, [1]) + * assert_dtype(src, [UINT8, FLOAT32]) # <<<<<<<<<<<<<< + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_44); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_46); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_2); + __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_1); + __Pyx_GIVEREF(__pyx_1); + PyList_SET_ITEM(__pyx_t_2, 1, __pyx_2); + __Pyx_GIVEREF(__pyx_2); + __pyx_1 = 0; + __pyx_2 = 0; + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_src, ((PyObject *)__pyx_t_2)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":252 + * assert_dtype(src, [UINT8, FLOAT32]) + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): # <<<<<<<<<<<<<< + * raise ValueError('aperture_size must be 3, 5, or 7') + * + */ + if ((__pyx_v_aperture_size != 3)) { + if ((__pyx_v_aperture_size != 5)) { + __pyx_t_3 = (__pyx_v_aperture_size != 7); + } else { + __pyx_t_3 = (__pyx_v_aperture_size != 5); + } + __pyx_t_4 = __pyx_t_3; + } else { + __pyx_t_4 = (__pyx_v_aperture_size != 3); + } + if (__pyx_t_4) { + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":253 + * + * if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + * raise ValueError('aperture_size must be 3, 5, or 7') # <<<<<<<<<<<<<< + * + * out = new_array_like_diff_dtype(src, FLOAT32) + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(__pyx_kp_54); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_54); + __Pyx_GIVEREF(__pyx_kp_54); + __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + goto __pyx_L6; + } + __pyx_L6:; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":255 + * raise ValueError('aperture_size must be 3, 5, or 7') + * + * out = new_array_like_diff_dtype(src, FLOAT32) # <<<<<<<<<<<<<< + * + * cdef IplImage srcimg + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_46); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_t_5 = ((PyObject *)__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like_diff_dtype(__pyx_v_src, __pyx_1)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_v_out); + __pyx_v_out = __pyx_t_5; + __pyx_t_5 = 0; + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":259 + * cdef IplImage srcimg + * cdef IplImage outimg + * populate_iplimage(src, &srcimg) # <<<<<<<<<<<<<< + * populate_iplimage(out, &outimg) + * + */ + __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage(__pyx_v_src, (&__pyx_v_srcimg)); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":260 + * cdef IplImage outimg + * populate_iplimage(src, &srcimg) + * populate_iplimage(out, &outimg) # <<<<<<<<<<<<<< + * + * c_cvCornerHarris(&srcimg, &outimg, block_size, aperture_size, k) + */ + if (!(__Pyx_TypeTest(__pyx_v_out, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage(((PyArrayObject *)__pyx_v_out), (&__pyx_v_outimg)); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":262 + * populate_iplimage(out, &outimg) + * + * c_cvCornerHarris(&srcimg, &outimg, block_size, aperture_size, k) # <<<<<<<<<<<<<< + * + * return out + */ + __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvCornerHarris((&__pyx_v_srcimg), (&__pyx_v_outimg), __pyx_v_block_size, __pyx_v_aperture_size, __pyx_v_k); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":264 + * c_cvCornerHarris(&srcimg, &outimg, block_size, aperture_size, k) + * + * return out # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_out); + __pyx_r = __pyx_v_out; + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_1); + __Pyx_XDECREF(__pyx_2); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("scikits.image.opencv.opencv_cv.cvCornerHarris"); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_DECREF(__pyx_v_out); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_FinishRefcountContext(); + return __pyx_r; +} + +/* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":267 + * + * * def cvSmooth(np.ndarray src, np.ndarray out=None, int smoothtype=CV_GAUSSIAN, int param1=3, # <<<<<<<<<<<<<< * int param2=0, double param3=0, double param4=0, bool in_place=False): * @@ -893,14 +3343,14 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_t_6; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_src,&__pyx_kp_out,&__pyx_kp_smoothtype,&__pyx_kp_31,&__pyx_kp_32,&__pyx_kp_33,&__pyx_kp_34,&__pyx_kp_in_place,0}; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_src,&__pyx_kp_out,&__pyx_kp_smoothtype,&__pyx_kp_33,&__pyx_kp_34,&__pyx_kp_35,&__pyx_kp_36,&__pyx_kp_in_place,0}; __Pyx_SetupRefcountContext("cvSmooth"); __pyx_self = __pyx_self; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[8] = {0,0,0,0,0,0,0,0}; values[1] = (PyObject*)((PyArrayObject *)Py_None); - values[7] = (PyObject*)__pyx_k_40; + values[7] = (PyObject*)__pyx_k_43; switch (PyTuple_GET_SIZE(__pyx_args)) { case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); @@ -930,22 +3380,22 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * } case 3: if (kw_args > 0) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_31); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_33); if (unlikely(value)) { values[3] = value; kw_args--; } } case 4: if (kw_args > 0) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_32); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_34); if (unlikely(value)) { values[4] = value; kw_args--; } } case 5: if (kw_args > 0) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_33); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_35); if (unlikely(value)) { values[5] = value; kw_args--; } } case 6: if (kw_args > 0) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_34); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_36); if (unlikely(value)) { values[6] = value; kw_args--; } } case 7: @@ -955,51 +3405,51 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "cvSmooth") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "cvSmooth") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } __pyx_v_src = ((PyArrayObject *)values[0]); __pyx_v_out = ((PyArrayObject *)values[1]); if (values[2]) { - __pyx_v_smoothtype = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_smoothtype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_smoothtype = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_smoothtype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else { - __pyx_v_smoothtype = __pyx_k_39; + __pyx_v_smoothtype = __pyx_k_42; } if (values[3]) { - __pyx_v_param1 = __Pyx_PyInt_AsInt(values[3]); if (unlikely((__pyx_v_param1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_param1 = __Pyx_PyInt_AsInt(values[3]); if (unlikely((__pyx_v_param1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else { __pyx_v_param1 = 3; } if (values[4]) { - __pyx_v_param2 = __Pyx_PyInt_AsInt(values[4]); if (unlikely((__pyx_v_param2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_param2 = __Pyx_PyInt_AsInt(values[4]); if (unlikely((__pyx_v_param2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else { __pyx_v_param2 = 0; } if (values[5]) { - __pyx_v_param3 = __pyx_PyFloat_AsDouble(values[5]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_param3 = __pyx_PyFloat_AsDouble(values[5]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else { __pyx_v_param3 = ((double)0); } if (values[6]) { - __pyx_v_param4 = __pyx_PyFloat_AsDouble(values[6]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_param4 = __pyx_PyFloat_AsDouble(values[6]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else { __pyx_v_param4 = ((double)0); } __pyx_v_in_place = ((PyObject *)values[7]); } else { __pyx_v_out = ((PyArrayObject *)Py_None); - __pyx_v_smoothtype = __pyx_k_39; + __pyx_v_smoothtype = __pyx_k_42; __pyx_v_param1 = 3; __pyx_v_param2 = 0; __pyx_v_param3 = ((double)0); __pyx_v_param4 = ((double)0); - __pyx_v_in_place = __pyx_k_40; + __pyx_v_in_place = __pyx_k_43; switch (PyTuple_GET_SIZE(__pyx_args)) { case 8: __pyx_v_in_place = ((PyObject *)PyTuple_GET_ITEM(__pyx_args, 7)); - case 7: __pyx_v_param4 = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 6)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - case 6: __pyx_v_param3 = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 5)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - case 5: __pyx_v_param2 = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 4)); if (unlikely((__pyx_v_param2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - case 4: __pyx_v_param1 = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_param1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - case 3: __pyx_v_smoothtype = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_smoothtype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 7: __pyx_v_param4 = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 6)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 6: __pyx_v_param3 = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 5)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 5: __pyx_v_param2 = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 4)); if (unlikely((__pyx_v_param2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 4: __pyx_v_param1 = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_param1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + case 3: __pyx_v_smoothtype = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_smoothtype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L3_error;} case 2: __pyx_v_out = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 1)); case 1: __pyx_v_src = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 0)); break; @@ -1008,26 +3458,26 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("cvSmooth", 0, 1, 8, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __Pyx_RaiseArgtupleInvalid("cvSmooth", 0, 1, 8, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("scikits.image.opencv.opencv_cv.cvSmooth"); return NULL; __pyx_L4_argument_unpacking_done:; __Pyx_INCREF((PyObject *)__pyx_v_out); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_5numpy_ndarray, 1, "src", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_out), __pyx_ptype_5numpy_ndarray, 1, "out", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_in_place), &PyBool_Type, 1, "in_place", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_5numpy_ndarray, 1, "src", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_out), __pyx_ptype_5numpy_ndarray, 1, "out", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_in_place), &PyBool_Type, 1, "in_place", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":55 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":270 * int param2=0, double param3=0, double param4=0, bool in_place=False): * * validate_array(src) # <<<<<<<<<<<<<< * if out is not None: * validate_array(out) */ - __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(__pyx_v_src); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(__pyx_v_src); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":56 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":271 * * validate_array(src) * if out is not None: # <<<<<<<<<<<<<< @@ -1037,83 +3487,83 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * __pyx_t_2 = (((PyObject *)__pyx_v_out) != Py_None); if (__pyx_t_2) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":57 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":272 * validate_array(src) * if out is not None: * validate_array(out) # <<<<<<<<<<<<<< * * # there are restrictions that must be placed on the data depending on */ - __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(__pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_validate_array(__pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L6; } __pyx_L6:; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":63 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":278 * * # CV_BLUR_NO_SCALE * if smoothtype == CV_BLUR_NO_SCALE: # <<<<<<<<<<<<<< * * if in_place: */ - __pyx_t_3 = PyInt_FromLong(__pyx_v_smoothtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(__pyx_v_smoothtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_CV_BLUR_NO_SCALE); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_CV_BLUR_NO_SCALE); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_1); - __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_1, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_1, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_2) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":65 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":280 * if smoothtype == CV_BLUR_NO_SCALE: * * if in_place: # <<<<<<<<<<<<<< * raise RuntimeError('In place operation not supported with this filter') * */ - __pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_in_place)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_in_place)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__pyx_t_2) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":66 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":281 * * if in_place: * raise RuntimeError('In place operation not supported with this filter') # <<<<<<<<<<<<<< * * assert_dtype(src, [UINT8, INT8, FLOAT32]) */ - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - __Pyx_INCREF(__pyx_kp_41); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_41); - __Pyx_GIVEREF(__pyx_kp_41); - __pyx_t_3 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_INCREF(__pyx_kp_55); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_55); + __Pyx_GIVEREF(__pyx_kp_55); + __pyx_t_3 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L8; } __pyx_L8:; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":68 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":283 * raise RuntimeError('In place operation not supported with this filter') * * assert_dtype(src, [UINT8, INT8, FLOAT32]) # <<<<<<<<<<<<<< * assert_ndims(src, [2]) * */ - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_42); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_44); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_1); - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_43); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_45); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_2); - __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_44); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_46); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_3); - __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_1); __Pyx_GIVEREF(__pyx_1); @@ -1124,25 +3574,25 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * __pyx_1 = 0; __pyx_2 = 0; __pyx_3 = 0; - __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_src, ((PyObject *)__pyx_t_3)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_src, ((PyObject *)__pyx_t_3)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":69 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":284 * * assert_dtype(src, [UINT8, INT8, FLOAT32]) * assert_ndims(src, [2]) # <<<<<<<<<<<<<< * * if out is not None: */ - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __Pyx_INCREF(__pyx_int_2); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); - __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_ndims(__pyx_v_src, ((PyObject *)__pyx_t_3)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_ndims(__pyx_v_src, ((PyObject *)__pyx_t_3)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":71 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":286 * assert_ndims(src, [2]) * * if out is not None: # <<<<<<<<<<<<<< @@ -1152,103 +3602,103 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * __pyx_t_2 = (((PyObject *)__pyx_v_out) != Py_None); if (__pyx_t_2) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":72 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":287 * * if out is not None: * if src.dtype == FLOAT32: # <<<<<<<<<<<<<< * assert_dtype(out, [FLOAT32]) * else: */ - __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_src), __pyx_kp_dtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_src), __pyx_kp_dtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_44); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_46); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_1); - __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_1, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_1, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_2) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":73 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":288 * if out is not None: * if src.dtype == FLOAT32: * assert_dtype(out, [FLOAT32]) # <<<<<<<<<<<<<< * else: * assert_dtype(out, [INT16]) */ - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_44); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_46); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_2); - __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_4)); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_2); __Pyx_GIVEREF(__pyx_2); __pyx_2 = 0; - __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_out, ((PyObject *)__pyx_t_4)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_out, ((PyObject *)__pyx_t_4)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; goto __pyx_L10; } /*else*/ { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":75 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":290 * assert_dtype(out, [FLOAT32]) * else: * assert_dtype(out, [INT16]) # <<<<<<<<<<<<<< * assert_same_shape(src, out) * else: */ - __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_45); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_48); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_3); - __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_4)); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_3); __Pyx_GIVEREF(__pyx_3); __pyx_3 = 0; - __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_out, ((PyObject *)__pyx_t_4)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_out, ((PyObject *)__pyx_t_4)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; } __pyx_L10:; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":76 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":291 * else: * assert_dtype(out, [INT16]) * assert_same_shape(src, out) # <<<<<<<<<<<<<< * else: * if src.dtype == FLOAT32: */ - __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_shape(__pyx_v_src, __pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_shape(__pyx_v_src, __pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L9; } /*else*/ { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":78 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":293 * assert_same_shape(src, out) * else: * if src.dtype == FLOAT32: # <<<<<<<<<<<<<< * out = new_array_like(src) * else: */ - __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_src), __pyx_kp_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_src), __pyx_kp_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_44); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_46); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_1); - __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_1, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_1, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_2) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":79 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":294 * else: * if src.dtype == FLOAT32: * out = new_array_like(src) # <<<<<<<<<<<<<< * else: * out = new_array_like_diff_dtype(src, INT16) */ - __pyx_t_3 = ((PyObject *)__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like(__pyx_v_src)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyObject *)__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like(__pyx_v_src)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_v_out)); __pyx_v_out = ((PyArrayObject *)__pyx_t_3); @@ -1257,16 +3707,16 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * } /*else*/ { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":81 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":296 * out = new_array_like(src) * else: * out = new_array_like_diff_dtype(src, INT16) # <<<<<<<<<<<<<< * * # CV_BLUR and CV_GAUSSIAN */ - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_45); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_48); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_2); - __pyx_t_3 = ((PyObject *)__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like_diff_dtype(__pyx_v_src, __pyx_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyObject *)__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like_diff_dtype(__pyx_v_src, __pyx_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_2); __pyx_2 = 0; __Pyx_DECREF(((PyObject *)__pyx_v_out)); @@ -1279,33 +3729,33 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * goto __pyx_L7; } - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":84 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":299 * * # CV_BLUR and CV_GAUSSIAN * elif smoothtype == CV_BLUR or smoothtype == CV_GAUSSIAN: # <<<<<<<<<<<<<< * * assert_dtype(src, [UINT8, INT8, FLOAT32]) */ - __pyx_t_3 = PyInt_FromLong(__pyx_v_smoothtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(__pyx_v_smoothtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_CV_BLUR); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_CV_BLUR); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_3, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_3, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_3); __pyx_3 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_2) { - __pyx_t_4 = PyInt_FromLong(__pyx_v_smoothtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong(__pyx_v_smoothtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_CV_GAUSSIAN); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_CV_GAUSSIAN); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_1); - __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_1, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_1, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __pyx_t_5; } else { @@ -1313,20 +3763,20 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * } if (__pyx_t_6) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":86 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":301 * elif smoothtype == CV_BLUR or smoothtype == CV_GAUSSIAN: * * assert_dtype(src, [UINT8, INT8, FLOAT32]) # <<<<<<<<<<<<<< * assert_nchannels(src, [1, 3]) * */ - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_42); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_44); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_2); - __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_43); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_45); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_3); - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_44); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_46); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_1); - __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_2); __Pyx_GIVEREF(__pyx_2); @@ -1337,17 +3787,17 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * __pyx_2 = 0; __pyx_3 = 0; __pyx_1 = 0; - __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_src, ((PyObject *)__pyx_t_3)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_src, ((PyObject *)__pyx_t_3)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":87 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":302 * * assert_dtype(src, [UINT8, INT8, FLOAT32]) * assert_nchannels(src, [1, 3]) # <<<<<<<<<<<<<< * * if in_place: */ - __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __Pyx_INCREF(__pyx_int_1); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_int_1); @@ -1355,20 +3805,20 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * __Pyx_INCREF(__pyx_int_3); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); - __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(__pyx_v_src, ((PyObject *)__pyx_t_3)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(__pyx_v_src, ((PyObject *)__pyx_t_3)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":89 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":304 * assert_nchannels(src, [1, 3]) * * if in_place: # <<<<<<<<<<<<<< * out = src * elif out is not None: */ - __pyx_t_6 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_in_place)); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_in_place)); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__pyx_t_6) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":90 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":305 * * if in_place: * out = src # <<<<<<<<<<<<<< @@ -1381,7 +3831,7 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * goto __pyx_L12; } - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":91 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":306 * if in_place: * out = src * elif out is not None: # <<<<<<<<<<<<<< @@ -1391,26 +3841,26 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * __pyx_t_6 = (((PyObject *)__pyx_v_out) != Py_None); if (__pyx_t_6) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":92 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":307 * out = src * elif out is not None: * assert_like(src, out) # <<<<<<<<<<<<<< * else: * out = new_array_like(src) */ - __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_like(__pyx_v_src, __pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_like(__pyx_v_src, __pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L12; } /*else*/ { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":94 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":309 * assert_like(src, out) * else: * out = new_array_like(src) # <<<<<<<<<<<<<< * * # CV_MEDIAN and CV_BILATERAL */ - __pyx_t_3 = ((PyObject *)__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like(__pyx_v_src)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = ((PyObject *)__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like(__pyx_v_src)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_v_out)); __pyx_v_out = ((PyArrayObject *)__pyx_t_3); @@ -1421,18 +3871,18 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * } /*else*/ { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":98 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":313 * # CV_MEDIAN and CV_BILATERAL * else: * assert_dtype(src, [UINT8, INT8]) # <<<<<<<<<<<<<< * assert_nchannels(src, [1, 3]) * */ - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_42); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_44); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_2); - __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_43); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_45); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_3); - __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_2); __Pyx_GIVEREF(__pyx_2); @@ -1440,17 +3890,17 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * __Pyx_GIVEREF(__pyx_3); __pyx_2 = 0; __pyx_3 = 0; - __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_src, ((PyObject *)__pyx_t_3)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_dtype(__pyx_v_src, ((PyObject *)__pyx_t_3)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":99 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":314 * else: * assert_dtype(src, [UINT8, INT8]) * assert_nchannels(src, [1, 3]) # <<<<<<<<<<<<<< * * if in_place: */ - __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __Pyx_INCREF(__pyx_int_1); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_int_1); @@ -1458,42 +3908,42 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * __Pyx_INCREF(__pyx_int_3); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_int_3); __Pyx_GIVEREF(__pyx_int_3); - __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(__pyx_v_src, ((PyObject *)__pyx_t_3)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels(__pyx_v_src, ((PyObject *)__pyx_t_3)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":101 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":316 * assert_nchannels(src, [1, 3]) * * if in_place: # <<<<<<<<<<<<<< * raise RuntimeError('In place operation not supported with this filter') * */ - __pyx_t_6 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_in_place)); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_in_place)); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__pyx_t_6) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":102 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":317 * * if in_place: * raise RuntimeError('In place operation not supported with this filter') # <<<<<<<<<<<<<< * * if out is not None: */ - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - __Pyx_INCREF(__pyx_kp_46); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_46); - __Pyx_GIVEREF(__pyx_kp_46); - __pyx_t_4 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_INCREF(__pyx_kp_56); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_56); + __Pyx_GIVEREF(__pyx_kp_56); + __pyx_t_4 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_4, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L13; } __pyx_L13:; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":104 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":319 * raise RuntimeError('In place operation not supported with this filter') * * if out is not None: # <<<<<<<<<<<<<< @@ -1503,26 +3953,26 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * __pyx_t_6 = (((PyObject *)__pyx_v_out) != Py_None); if (__pyx_t_6) { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":105 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":320 * * if out is not None: * assert_like(src, out) # <<<<<<<<<<<<<< * else: * out = new_array_like(src) */ - __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_like(__pyx_v_src, __pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_like(__pyx_v_src, __pyx_v_out); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L14; } /*else*/ { - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":107 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":322 * assert_like(src, out) * else: * out = new_array_like(src) # <<<<<<<<<<<<<< * * cdef IplImage srcimg */ - __pyx_t_4 = ((PyObject *)__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like(__pyx_v_src)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = ((PyObject *)__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like(__pyx_v_src)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(((PyObject *)__pyx_v_out)); __pyx_v_out = ((PyArrayObject *)__pyx_t_4); @@ -1532,7 +3982,7 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * } __pyx_L7:; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":111 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":326 * cdef IplImage srcimg * cdef IplImage outimg * populate_iplimage(src, &srcimg) # <<<<<<<<<<<<<< @@ -1541,7 +3991,7 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * */ __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage(__pyx_v_src, (&__pyx_v_srcimg)); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":112 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":327 * cdef IplImage outimg * populate_iplimage(src, &srcimg) * populate_iplimage(out, &outimg) # <<<<<<<<<<<<<< @@ -1550,7 +4000,7 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * */ __pyx_f_7scikits_5image_6opencv_14opencv_backend_populate_iplimage(__pyx_v_out, (&__pyx_v_outimg)); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":114 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":329 * populate_iplimage(out, &outimg) * * c_cvSmooth(&srcimg, &outimg, smoothtype, param1, param2, param3, param4) # <<<<<<<<<<<<<< @@ -1559,7 +4009,7 @@ static PyObject *__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth(PyObject * */ __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvSmooth((&__pyx_v_srcimg), (&__pyx_v_outimg), __pyx_v_smoothtype, __pyx_v_param1, __pyx_v_param2, __pyx_v_param3, __pyx_v_param4); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":116 + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":331 * c_cvSmooth(&srcimg, &outimg, smoothtype, param1, param2, param3, param4) * * return out # <<<<<<<<<<<<<< @@ -3168,6 +5618,13 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc } static struct PyMethodDef __pyx_methods[] = { + {__Pyx_NAMESTR("cvSobel"), (PyCFunction)__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSobel, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)}, + {__Pyx_NAMESTR("cvLaplace"), (PyCFunction)__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvLaplace, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)}, + {__Pyx_NAMESTR("cvCanny"), (PyCFunction)__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvCanny, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)}, + {__Pyx_NAMESTR("cvPreCornerDetect"), (PyCFunction)__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvPreCornerDetect, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)}, + {__Pyx_NAMESTR("cvCornerEigenValsAndVecs"), (PyCFunction)__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvCornerEigenValsAndVecs, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)}, + {__Pyx_NAMESTR("cvCornerMinEigenVal"), (PyCFunction)__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvCornerMinEigenVal, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)}, + {__Pyx_NAMESTR("cvCornerHarris"), (PyCFunction)__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvCornerHarris, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)}, {__Pyx_NAMESTR("cvSmooth"), (PyCFunction)__pyx_pf_7scikits_5image_6opencv_9opencv_cv_cvSmooth, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)}, {0, 0, 0, 0} }; @@ -3176,16 +5633,22 @@ static void __pyx_init_filenames(void); /*proto*/ char* __pyx_import_star_type_names[] = { "FLOAT32_t", + "CvPoint2D32F", "INT8_t", "cvSobelPtr", "UINT8_t", "INT32_t", "cvLaplacePtr", "INT16_t", + "cvCornerHarrisPtr", + "cvCornerMinEigenValPtr", + "CvSize", "IplImage", "FLOAT64_t", + "cvPreCorneDetectPtr", "_IplImage", "cvSmoothPtr", + "cvCornerEigenValsAndVecsPtr", "cvCannyPtr", 0 }; @@ -3200,22 +5663,38 @@ static int __pyx_import_star_set(PyObject *o, PyObject* py_name, char *name) { type_name++; } if (0); + else if (__Pyx_StrEq(name, "c_cvCornerMinEigenVal")) { + PyErr_Format(PyExc_TypeError, "Cannot convert Python object c_cvCornerMinEigenVal to scikits.image.opencv.opencv_cv.cvCornerMinEigenValPtr"); + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L2_error;} + } else if (__Pyx_StrEq(name, "c_cvCanny")) { PyErr_Format(PyExc_TypeError, "Cannot convert Python object c_cvCanny to scikits.image.opencv.opencv_cv.cvCannyPtr"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L2_error;} + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L2_error;} + } + else if (__Pyx_StrEq(name, "c_cvCornerHarris")) { + PyErr_Format(PyExc_TypeError, "Cannot convert Python object c_cvCornerHarris to scikits.image.opencv.opencv_cv.cvCornerHarrisPtr"); + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L2_error;} } else if (__Pyx_StrEq(name, "c_cvLaplace")) { PyErr_Format(PyExc_TypeError, "Cannot convert Python object c_cvLaplace to scikits.image.opencv.opencv_cv.cvLaplacePtr"); - {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L2_error;} - } - else if (__Pyx_StrEq(name, "c_cvSobel")) { - PyErr_Format(PyExc_TypeError, "Cannot convert Python object c_cvSobel to scikits.image.opencv.opencv_cv.cvSobelPtr"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L2_error;} } else if (__Pyx_StrEq(name, "c_cvSmooth")) { PyErr_Format(PyExc_TypeError, "Cannot convert Python object c_cvSmooth to scikits.image.opencv.opencv_cv.cvSmoothPtr"); + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L2_error;} + } + else if (__Pyx_StrEq(name, "c_cvSobel")) { + PyErr_Format(PyExc_TypeError, "Cannot convert Python object c_cvSobel to scikits.image.opencv.opencv_cv.cvSobelPtr"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L2_error;} } + else if (__Pyx_StrEq(name, "c_cvCornerEigenValsAndVecs")) { + PyErr_Format(PyExc_TypeError, "Cannot convert Python object c_cvCornerEigenValsAndVecs to scikits.image.opencv.opencv_cv.cvCornerEigenValsAndVecsPtr"); + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L2_error;} + } + else if (__Pyx_StrEq(name, "c_cvPreCornerDetect")) { + PyErr_Format(PyExc_TypeError, "Cannot convert Python object c_cvPreCornerDetect to scikits.image.opencv.opencv_cv.cvPreCorneDetectPtr"); + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L2_error;} + } else { if (PyObject_SetAttr(__pyx_m, py_name, o) < 0) goto bad; } @@ -3347,44 +5826,64 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp___main__, __pyx_k___main__, sizeof(__pyx_k___main__), 1, 1, 1}, {&__pyx_kp_src, __pyx_k_src, sizeof(__pyx_k_src), 1, 1, 1}, {&__pyx_kp_out, __pyx_k_out, sizeof(__pyx_k_out), 1, 1, 1}, - {&__pyx_kp_smoothtype, __pyx_k_smoothtype, sizeof(__pyx_k_smoothtype), 1, 1, 1}, + {&__pyx_kp_xorder, __pyx_k_xorder, sizeof(__pyx_k_xorder), 1, 1, 1}, + {&__pyx_kp_yorder, __pyx_k_yorder, sizeof(__pyx_k_yorder), 1, 1, 1}, + {&__pyx_kp_aperture_size, __pyx_k_aperture_size, sizeof(__pyx_k_aperture_size), 1, 1, 1}, {&__pyx_kp_31, __pyx_k_31, sizeof(__pyx_k_31), 1, 1, 1}, {&__pyx_kp_32, __pyx_k_32, sizeof(__pyx_k_32), 1, 1, 1}, + {&__pyx_kp_block_size, __pyx_k_block_size, sizeof(__pyx_k_block_size), 1, 1, 1}, + {&__pyx_kp_k, __pyx_k_k, sizeof(__pyx_k_k), 1, 1, 1}, + {&__pyx_kp_smoothtype, __pyx_k_smoothtype, sizeof(__pyx_k_smoothtype), 1, 1, 1}, {&__pyx_kp_33, __pyx_k_33, sizeof(__pyx_k_33), 1, 1, 1}, {&__pyx_kp_34, __pyx_k_34, sizeof(__pyx_k_34), 1, 1, 1}, + {&__pyx_kp_35, __pyx_k_35, sizeof(__pyx_k_35), 1, 1, 1}, + {&__pyx_kp_36, __pyx_k_36, sizeof(__pyx_k_36), 1, 1, 1}, {&__pyx_kp_in_place, __pyx_k_in_place, sizeof(__pyx_k_in_place), 1, 1, 1}, {&__pyx_kp_ctypes, __pyx_k_ctypes, sizeof(__pyx_k_ctypes), 1, 1, 1}, {&__pyx_kp_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 1, 1, 1}, {&__pyx_kp_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 1, 1}, {&__pyx_kp_opencv_backend, __pyx_k_opencv_backend, sizeof(__pyx_k_opencv_backend), 1, 1, 1}, - {&__pyx_kp_35, __pyx_k_35, sizeof(__pyx_k_35), 1, 1, 1}, + {&__pyx_kp_37, __pyx_k_37, sizeof(__pyx_k_37), 1, 1, 1}, {&__pyx_kp_opencv_constants, __pyx_k_opencv_constants, sizeof(__pyx_k_opencv_constants), 1, 1, 1}, {&__pyx_kp_CDLL, __pyx_k_CDLL, sizeof(__pyx_k_CDLL), 1, 1, 1}, {&__pyx_kp_cv, __pyx_k_cv, sizeof(__pyx_k_cv), 1, 1, 1}, {&__pyx_kp_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 1, 1, 1}, {&__pyx_kp_addressof, __pyx_k_addressof, sizeof(__pyx_k_addressof), 1, 1, 1}, - {&__pyx_kp_cvSmooth, __pyx_k_cvSmooth, sizeof(__pyx_k_cvSmooth), 1, 1, 1}, {&__pyx_kp_cvSobel, __pyx_k_cvSobel, sizeof(__pyx_k_cvSobel), 1, 1, 1}, {&__pyx_kp_cvLaplace, __pyx_k_cvLaplace, sizeof(__pyx_k_cvLaplace), 1, 1, 1}, {&__pyx_kp_cvCanny, __pyx_k_cvCanny, sizeof(__pyx_k_cvCanny), 1, 1, 1}, + {&__pyx_kp_cvPreCornerDetect, __pyx_k_cvPreCornerDetect, sizeof(__pyx_k_cvPreCornerDetect), 1, 1, 1}, + {&__pyx_kp_41, __pyx_k_41, sizeof(__pyx_k_41), 1, 1, 1}, + {&__pyx_kp_cvCornerMinEigenVal, __pyx_k_cvCornerMinEigenVal, sizeof(__pyx_k_cvCornerMinEigenVal), 1, 1, 1}, + {&__pyx_kp_cvCornerHarris, __pyx_k_cvCornerHarris, sizeof(__pyx_k_cvCornerHarris), 1, 1, 1}, + {&__pyx_kp_cvSmooth, __pyx_k_cvSmooth, sizeof(__pyx_k_cvSmooth), 1, 1, 1}, {&__pyx_kp_CV_GAUSSIAN, __pyx_k_CV_GAUSSIAN, sizeof(__pyx_k_CV_GAUSSIAN), 1, 1, 1}, - {&__pyx_kp_CV_BLUR_NO_SCALE, __pyx_k_CV_BLUR_NO_SCALE, sizeof(__pyx_k_CV_BLUR_NO_SCALE), 1, 1, 1}, - {&__pyx_kp_42, __pyx_k_42, sizeof(__pyx_k_42), 1, 1, 1}, - {&__pyx_kp_43, __pyx_k_43, sizeof(__pyx_k_43), 1, 1, 1}, {&__pyx_kp_44, __pyx_k_44, sizeof(__pyx_k_44), 1, 1, 1}, - {&__pyx_kp_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 1, 1, 1}, {&__pyx_kp_45, __pyx_k_45, sizeof(__pyx_k_45), 1, 1, 1}, + {&__pyx_kp_46, __pyx_k_46, sizeof(__pyx_k_46), 1, 1, 1}, + {&__pyx_kp_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 1, 1, 1}, + {&__pyx_kp_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 1, 1, 1}, + {&__pyx_kp_48, __pyx_k_48, sizeof(__pyx_k_48), 1, 1, 1}, + {&__pyx_kp_reshape, __pyx_k_reshape, sizeof(__pyx_k_reshape), 1, 1, 1}, + {&__pyx_kp_shape, __pyx_k_shape, sizeof(__pyx_k_shape), 1, 1, 1}, + {&__pyx_kp_CV_BLUR_NO_SCALE, __pyx_k_CV_BLUR_NO_SCALE, sizeof(__pyx_k_CV_BLUR_NO_SCALE), 1, 1, 1}, {&__pyx_kp_CV_BLUR, __pyx_k_CV_BLUR, sizeof(__pyx_k_CV_BLUR), 1, 1, 1}, - {&__pyx_kp_36, __pyx_k_36, sizeof(__pyx_k_36), 0, 0, 0}, - {&__pyx_kp_37, __pyx_k_37, sizeof(__pyx_k_37), 0, 0, 0}, {&__pyx_kp_38, __pyx_k_38, sizeof(__pyx_k_38), 0, 0, 0}, - {&__pyx_kp_41, __pyx_k_41, sizeof(__pyx_k_41), 0, 0, 0}, - {&__pyx_kp_46, __pyx_k_46, sizeof(__pyx_k_46), 0, 0, 0}, + {&__pyx_kp_39, __pyx_k_39, sizeof(__pyx_k_39), 0, 0, 0}, + {&__pyx_kp_40, __pyx_k_40, sizeof(__pyx_k_40), 0, 0, 0}, + {&__pyx_kp_47, __pyx_k_47, sizeof(__pyx_k_47), 0, 0, 0}, + {&__pyx_kp_49, __pyx_k_49, sizeof(__pyx_k_49), 0, 0, 0}, + {&__pyx_kp_50, __pyx_k_50, sizeof(__pyx_k_50), 0, 0, 0}, + {&__pyx_kp_51, __pyx_k_51, sizeof(__pyx_k_51), 0, 0, 0}, + {&__pyx_kp_52, __pyx_k_52, sizeof(__pyx_k_52), 0, 0, 0}, + {&__pyx_kp_53, __pyx_k_53, sizeof(__pyx_k_53), 0, 0, 0}, + {&__pyx_kp_54, __pyx_k_54, sizeof(__pyx_k_54), 0, 0, 0}, + {&__pyx_kp_55, __pyx_k_55, sizeof(__pyx_k_55), 0, 0, 0}, + {&__pyx_kp_56, __pyx_k_56, sizeof(__pyx_k_56), 0, 0, 0}, {&__pyx_kp___getbuffer__, __pyx_k___getbuffer__, sizeof(__pyx_k___getbuffer__), 1, 1, 1}, {&__pyx_kp___releasebuffer__, __pyx_k___releasebuffer__, sizeof(__pyx_k___releasebuffer__), 1, 1, 1}, {&__pyx_kp_info, __pyx_k_info, sizeof(__pyx_k_info), 1, 1, 1}, {&__pyx_kp_flags, __pyx_k_flags, sizeof(__pyx_k_flags), 1, 1, 1}, - {&__pyx_kp_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 1, 1, 1}, {&__pyx_kp_range, __pyx_k_range, sizeof(__pyx_k_range), 1, 1, 1}, {&__pyx_kp_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 0}, {&__pyx_kp_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 0}, @@ -3398,7 +5897,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { }; static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_kp_RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_kp_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_kp_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_range = __Pyx_GetName(__pyx_b, __pyx_kp_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; @@ -3406,8 +5905,10 @@ static int __Pyx_InitCachedBuiltins(void) { } static int __Pyx_InitGlobals(void) { - __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_6 = PyInt_FromLong(6); if (unlikely(!__pyx_int_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_15 = PyInt_FromLong(15); if (unlikely(!__pyx_int_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; @@ -3499,7 +6000,10 @@ PyMODINIT_FUNC PyInit_opencv_cv(void) if (__Pyx_ImportFunction(__pyx_2, "assert_nchannels", (void (**)(void))&__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_nchannels, "int (PyArrayObject *, PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ImportFunction(__pyx_2, "assert_same_dtype", (void (**)(void))&__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_dtype, "int (PyArrayObject *, PyArrayObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ImportFunction(__pyx_2, "assert_same_shape", (void (**)(void))&__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_shape, "int (PyArrayObject *, PyArrayObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__Pyx_ImportFunction(__pyx_2, "assert_same_width_and_height", (void (**)(void))&__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_same_width_and_height, "int (PyArrayObject *, PyArrayObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ImportFunction(__pyx_2, "assert_like", (void (**)(void))&__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_like, "int (PyArrayObject *, PyArrayObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__Pyx_ImportFunction(__pyx_2, "assert_not_sharing_data", (void (**)(void))&__pyx_f_7scikits_5image_6opencv_14opencv_backend_assert_not_sharing_data, "int (PyArrayObject *, PyArrayObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__Pyx_ImportFunction(__pyx_2, "new_array", (void (**)(void))&__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array, "PyArrayObject *(int, npy_intp *, PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ImportFunction(__pyx_2, "new_array_like", (void (**)(void))&__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like, "PyArrayObject *(PyArrayObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ImportFunction(__pyx_2, "new_array_like_diff_dtype", (void (**)(void))&__pyx_f_7scikits_5image_6opencv_14opencv_backend_new_array_like_diff_dtype, "PyArrayObject *(PyArrayObject *, PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} Py_DECREF(__pyx_2); __pyx_2 = 0; @@ -3535,9 +6039,9 @@ PyMODINIT_FUNC PyInit_opencv_cv(void) */ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 5; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __Pyx_INCREF(__pyx_kp_35); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_35); - __Pyx_GIVEREF(__pyx_kp_35); + __Pyx_INCREF(__pyx_kp_37); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_37); + __Pyx_GIVEREF(__pyx_kp_37); __pyx_1 = __Pyx_Import(__pyx_kp_opencv_backend, ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 5; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_1); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; @@ -3553,9 +6057,9 @@ PyMODINIT_FUNC PyInit_opencv_cv(void) */ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __Pyx_INCREF(__pyx_kp_35); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_35); - __Pyx_GIVEREF(__pyx_kp_35); + __Pyx_INCREF(__pyx_kp_37); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_37); + __Pyx_GIVEREF(__pyx_kp_37); __pyx_1 = __Pyx_Import(__pyx_kp_opencv_constants, ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_1); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; @@ -3591,9 +6095,9 @@ PyMODINIT_FUNC PyInit_opencv_cv(void) __Pyx_DECREF(__pyx_1); __pyx_1 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L2_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_2)); - __Pyx_INCREF(__pyx_kp_36); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_36); - __Pyx_GIVEREF(__pyx_kp_36); + __Pyx_INCREF(__pyx_kp_38); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_38); + __Pyx_GIVEREF(__pyx_kp_38); __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L2_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -3655,9 +6159,9 @@ PyMODINIT_FUNC PyInit_opencv_cv(void) __Pyx_DECREF(__pyx_2); __pyx_2 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_5)); - __Pyx_INCREF(__pyx_kp_37); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_37); - __Pyx_GIVEREF(__pyx_kp_37); + __Pyx_INCREF(__pyx_kp_39); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_39); + __Pyx_GIVEREF(__pyx_kp_39); __pyx_t_6 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; @@ -3699,9 +6203,9 @@ PyMODINIT_FUNC PyInit_opencv_cv(void) */ __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_7)); - __Pyx_INCREF(__pyx_kp_38); - PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_kp_38); - __Pyx_GIVEREF(__pyx_kp_38); + __Pyx_INCREF(__pyx_kp_40); + PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_kp_40); + __Pyx_GIVEREF(__pyx_kp_40); __pyx_t_8 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; @@ -3744,11 +6248,11 @@ PyMODINIT_FUNC PyInit_opencv_cv(void) } /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":26 - * ctypedef void (*cvSmoothPtr)(IplImage*, IplImage*, int, int, int, double, double) - * cdef cvSmoothPtr c_cvSmooth - * c_cvSmooth = (ctypes.addressof(cv.cvSmooth))[0] # <<<<<<<<<<<<<< + * ctypedef void (*cvSobelPtr)(IplImage*, IplImage*, int, int, int) + * cdef cvSobelPtr c_cvSobel + * c_cvSobel = (ctypes.addressof(cv.cvSobel))[0] # <<<<<<<<<<<<<< * - * # cvSobel + * # cvLaplace */ __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_ctypes); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_1); @@ -3757,7 +6261,7 @@ PyMODINIT_FUNC PyInit_opencv_cv(void) __Pyx_DECREF(__pyx_1); __pyx_1 = 0; __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_cv); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_2); - __pyx_t_2 = PyObject_GetAttr(__pyx_2, __pyx_kp_cvSmooth); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyObject_GetAttr(__pyx_2, __pyx_kp_cvSobel); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_2); __pyx_2 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -3771,14 +6275,14 @@ PyMODINIT_FUNC PyInit_opencv_cv(void) __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_t_9 = __Pyx_PyInt_AsSize_t(__pyx_t_2); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvSmooth = (((__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvSmoothPtr *)((size_t)__pyx_t_9))[0]); + __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvSobel = (((__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvSobelPtr *)((size_t)__pyx_t_9))[0]); /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":31 - * ctypedef void (*cvSobelPtr)(IplImage*, IplImage*, int, int, int) - * cdef cvSobelPtr c_cvSobel - * c_cvSobel = (ctypes.addressof(cv.cvSobel))[0] # <<<<<<<<<<<<<< + * ctypedef void (*cvLaplacePtr)(IplImage*, IplImage*, int) + * cdef cvLaplacePtr c_cvLaplace + * c_cvLaplace = (ctypes.addressof(cv.cvLaplace))[0] # <<<<<<<<<<<<<< * - * # cvLaplace + * # cvCanny */ __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_ctypes); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_1); @@ -3787,7 +6291,7 @@ PyMODINIT_FUNC PyInit_opencv_cv(void) __Pyx_DECREF(__pyx_1); __pyx_1 = 0; __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_cv); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_2); - __pyx_t_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_cvSobel); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_cvLaplace); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_2); __pyx_2 = 0; __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -3801,14 +6305,14 @@ PyMODINIT_FUNC PyInit_opencv_cv(void) __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_t_9 = __Pyx_PyInt_AsSize_t(__pyx_t_3); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvSobel = (((__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvSobelPtr *)((size_t)__pyx_t_9))[0]); + __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvLaplace = (((__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvLaplacePtr *)((size_t)__pyx_t_9))[0]); /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":36 - * ctypedef void (*cvLaplacePtr)(IplImage*, IplImage*, int) - * cdef cvLaplacePtr c_cvLaplace - * c_cvLaplace = (ctypes.addressof(cv.cvLaplace))[0] # <<<<<<<<<<<<<< + * ctypedef void (*cvCannyPtr)(IplImage*, IplImage*, double, double, int) + * cdef cvCannyPtr c_cvCanny + * c_cvCanny = (ctypes.addressof(cv.cvCanny))[0] # <<<<<<<<<<<<<< * - * # cvCanny + * # cvPreCornerDetect */ __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_ctypes); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_1); @@ -3817,7 +6321,7 @@ PyMODINIT_FUNC PyInit_opencv_cv(void) __Pyx_DECREF(__pyx_1); __pyx_1 = 0; __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_cv); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_2); - __pyx_t_1 = PyObject_GetAttr(__pyx_2, __pyx_kp_cvLaplace); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_2, __pyx_kp_cvCanny); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_2); __pyx_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -3831,14 +6335,14 @@ PyMODINIT_FUNC PyInit_opencv_cv(void) __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_t_9 = __Pyx_PyInt_AsSize_t(__pyx_t_1); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvLaplace = (((__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvLaplacePtr *)((size_t)__pyx_t_9))[0]); + __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvCanny = (((__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvCannyPtr *)((size_t)__pyx_t_9))[0]); /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":41 - * ctypedef void (*cvCannyPtr)(IplImage*, IplImage*, double, double, int) - * cdef cvCannyPtr c_cvCanny - * c_cvCanny = (ctypes.addressof(cv.cvCanny))[0] # <<<<<<<<<<<<<< - * + * ctypedef void (*cvPreCorneDetectPtr)(IplImage*, IplImage*, int) + * cdef cvPreCorneDetectPtr c_cvPreCornerDetect + * c_cvPreCornerDetect = (ctypes.addressof(cv.cvPreCornerDetect))[0] # <<<<<<<<<<<<<< * + * # cvCornerEigenValsAndVecs */ __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_ctypes); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_1); @@ -3847,7 +6351,7 @@ PyMODINIT_FUNC PyInit_opencv_cv(void) __Pyx_DECREF(__pyx_1); __pyx_1 = 0; __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_cv); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_2); - __pyx_t_2 = PyObject_GetAttr(__pyx_2, __pyx_kp_cvCanny); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyObject_GetAttr(__pyx_2, __pyx_kp_cvPreCornerDetect); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_2); __pyx_2 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -3861,33 +6365,153 @@ PyMODINIT_FUNC PyInit_opencv_cv(void) __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_t_9 = __Pyx_PyInt_AsSize_t(__pyx_t_2); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvCanny = (((__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvCannyPtr *)((size_t)__pyx_t_9))[0]); + __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvPreCornerDetect = (((__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvPreCorneDetectPtr *)((size_t)__pyx_t_9))[0]); - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":52 - * # Function Implementations - * #################################### + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":46 + * ctypedef void (*cvCornerEigenValsAndVecsPtr)(IplImage*, IplImage*, int, int) + * cdef cvCornerEigenValsAndVecsPtr c_cvCornerEigenValsAndVecs + * c_cvCornerEigenValsAndVecs = (ctypes.addressof(cv.cvCornerEigenValsAndVecs))[0] # <<<<<<<<<<<<<< + * + * # cvCornerMinEigenVal + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_ctypes); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_t_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_addressof); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_cv); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_2); + __pyx_t_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_41); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_1)); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; + __pyx_t_9 = __Pyx_PyInt_AsSize_t(__pyx_t_3); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvCornerEigenValsAndVecs = (((__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvCornerEigenValsAndVecsPtr *)((size_t)__pyx_t_9))[0]); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":51 + * ctypedef void (*cvCornerMinEigenValPtr)(IplImage*, IplImage*, int, int) + * cdef cvCornerMinEigenValPtr c_cvCornerMinEigenVal + * c_cvCornerMinEigenVal = (ctypes.addressof(cv.cvCornerMinEigenVal))[0] # <<<<<<<<<<<<<< + * + * # cvCornerHarris + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_ctypes); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_t_3 = PyObject_GetAttr(__pyx_1, __pyx_kp_addressof); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_cv); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_2); + __pyx_t_1 = PyObject_GetAttr(__pyx_2, __pyx_kp_cvCornerMinEigenVal); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_1 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + __pyx_t_9 = __Pyx_PyInt_AsSize_t(__pyx_t_1); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvCornerMinEigenVal = (((__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvCornerMinEigenValPtr *)((size_t)__pyx_t_9))[0]); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":56 + * ctypedef void (*cvCornerHarrisPtr)(IplImage*, IplImage*, int, int, double) + * cdef cvCornerHarrisPtr c_cvCornerHarris + * c_cvCornerHarris = (ctypes.addressof(cv.cvCornerHarris))[0] # <<<<<<<<<<<<<< + * + * # cvSmooth + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_ctypes); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_t_1 = PyObject_GetAttr(__pyx_1, __pyx_kp_addressof); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_cv); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_2); + __pyx_t_2 = PyObject_GetAttr(__pyx_2, __pyx_kp_cvCornerHarris); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_3)); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; + __pyx_t_9 = __Pyx_PyInt_AsSize_t(__pyx_t_2); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvCornerHarris = (((__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvCornerHarrisPtr *)((size_t)__pyx_t_9))[0]); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":61 + * ctypedef void (*cvSmoothPtr)(IplImage*, IplImage*, int, int, int, double, double) + * cdef cvSmoothPtr c_cvSmooth + * c_cvSmooth = (ctypes.addressof(cv.cvSmooth))[0] # <<<<<<<<<<<<<< + * + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_ctypes); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_1); + __pyx_t_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_addressof); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_cv); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_2); + __pyx_t_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_cvSmooth); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_1)); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; + __pyx_t_9 = __Pyx_PyInt_AsSize_t(__pyx_t_3); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_7scikits_5image_6opencv_9opencv_cv_c_cvSmooth = (((__pyx_t_7scikits_5image_6opencv_9opencv_cv_cvSmoothPtr *)((size_t)__pyx_t_9))[0]); + + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":267 + * + * * def cvSmooth(np.ndarray src, np.ndarray out=None, int smoothtype=CV_GAUSSIAN, int param1=3, # <<<<<<<<<<<<<< * int param2=0, double param3=0, double param4=0, bool in_place=False): * */ - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_CV_GAUSSIAN); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_CV_GAUSSIAN); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_1); - __pyx_t_10 = __Pyx_PyInt_AsInt(__pyx_1); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyInt_AsInt(__pyx_1); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_k_39 = __pyx_t_10; + __pyx_k_42 = __pyx_t_10; - /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":53 - * #################################### + /* "/home/brucewayne/scikits_image/scikits.image/scikits/image/opencv/opencv_cv.pyx":268 + * * def cvSmooth(np.ndarray src, np.ndarray out=None, int smoothtype=CV_GAUSSIAN, int param1=3, * int param2=0, double param3=0, double param4=0, bool in_place=False): # <<<<<<<<<<<<<< * * validate_array(src) */ - __pyx_t_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - if (!(likely(PyBool_Check(__pyx_t_2)) || (__pyx_t_2) == Py_None || (PyErr_Format(PyExc_TypeError, "Expected bool, got %s", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_k_40 = ((PyObject *)__pyx_t_2); - __Pyx_GIVEREF(__pyx_k_40); + __pyx_t_3 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + if (!(likely(PyBool_Check(__pyx_t_3)) || (__pyx_t_3) == Py_None || (PyErr_Format(PyExc_TypeError, "Expected bool, got %s", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_k_43 = ((PyObject *)__pyx_t_3); + __Pyx_GIVEREF(__pyx_k_43); /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.3-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":690 * ctypedef npy_cdouble complex_t @@ -4068,6 +6692,7 @@ static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { return 0; } + static INLINE void __Pyx_RaiseNoneNotIterableError(void) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); } diff --git a/scikits/image/opencv/opencv_cv.pyx b/scikits/image/opencv/opencv_cv.pyx index d107a32f..9d9894c1 100644 --- a/scikits/image/opencv/opencv_cv.pyx +++ b/scikits/image/opencv/opencv_cv.pyx @@ -20,11 +20,6 @@ except: # opencv function declarations ################################### -# cvSmooth -ctypedef void (*cvSmoothPtr)(IplImage*, IplImage*, int, int, int, double, double) -cdef cvSmoothPtr c_cvSmooth -c_cvSmooth = (ctypes.addressof(cv.cvSmooth))[0] - # cvSobel ctypedef void (*cvSobelPtr)(IplImage*, IplImage*, int, int, int) cdef cvSobelPtr c_cvSobel @@ -40,15 +35,235 @@ ctypedef void (*cvCannyPtr)(IplImage*, IplImage*, double, double, int) cdef cvCannyPtr c_cvCanny c_cvCanny = (ctypes.addressof(cv.cvCanny))[0] - +# cvPreCornerDetect +ctypedef void (*cvPreCorneDetectPtr)(IplImage*, IplImage*, int) +cdef cvPreCorneDetectPtr c_cvPreCornerDetect +c_cvPreCornerDetect = (ctypes.addressof(cv.cvPreCornerDetect))[0] + +# cvCornerEigenValsAndVecs +ctypedef void (*cvCornerEigenValsAndVecsPtr)(IplImage*, IplImage*, int, int) +cdef cvCornerEigenValsAndVecsPtr c_cvCornerEigenValsAndVecs +c_cvCornerEigenValsAndVecs = (ctypes.addressof(cv.cvCornerEigenValsAndVecs))[0] + +# cvCornerMinEigenVal +ctypedef void (*cvCornerMinEigenValPtr)(IplImage*, IplImage*, int, int) +cdef cvCornerMinEigenValPtr c_cvCornerMinEigenVal +c_cvCornerMinEigenVal = (ctypes.addressof(cv.cvCornerMinEigenVal))[0] + +# cvCornerHarris +ctypedef void (*cvCornerHarrisPtr)(IplImage*, IplImage*, int, int, double) +cdef cvCornerHarrisPtr c_cvCornerHarris +c_cvCornerHarris = (ctypes.addressof(cv.cvCornerHarris))[0] + +# cvSmooth +ctypedef void (*cvSmoothPtr)(IplImage*, IplImage*, int, int, int, double, double) +cdef cvSmoothPtr c_cvSmooth +c_cvSmooth = (ctypes.addressof(cv.cvSmooth))[0] -####################################################################### -# Utility Stuff for the C side. Struct creation, error checking, etc.. -####################################################################### #################################### # Function Implementations #################################### +def cvSobel(np.ndarray src, np.ndarray out=None, int xorder=1, int yorder=0, + int aperture_size=3): + + validate_array(src) + assert_dtype(src, [UINT8, INT8, FLOAT32]) + assert_nchannels(src, [1]) + + if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + raise ValueError('aperture_size must be 3, 5, or 7') + + if out is not None: + validate_array(out) + assert_not_sharing_data(src, out) + assert_same_shape(src, out) + assert_nchannels(out, [1]) + if src.dtype == UINT8 or src.dtype == INT8: + assert_dtype(out, [INT16]) + else: + assert_dtype(out, [FLOAT32]) + else: + if src.dtype == UINT8 or src.dtype == INT8: + out = new_array_like_diff_dtype(src, INT16) + else: + out = new_array_like(src) + + cdef IplImage srcimg + cdef IplImage outimg + + populate_iplimage(src, &srcimg) + populate_iplimage(out, &outimg) + + c_cvSobel(&srcimg, &outimg, xorder, yorder, aperture_size) + + return out + +def cvLaplace(np.ndarray src, np.ndarray out=None, int aperture_size=3): + validate_array(src) + assert_dtype(src, [UINT8, INT8, FLOAT32]) + assert_nchannels(src, [1]) + + if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + raise ValueError('aperture_size must be 3, 5, or 7') + + + if out is not None: + validate_array(out) + assert_not_sharing_data(src, out) + assert_same_shape(src, out) + assert_nchannels(out, [1]) + if src.dtype == UINT8 or src.dtype == INT8: + assert_dtype(out, [INT16]) + else: + assert_dtype(out, [FLOAT32]) + else: + if src.dtype == UINT8 or src.dtype == INT8: + out = new_array_like_diff_dtype(src, INT16) + else: + out = new_array_like(src) + + cdef IplImage srcimg + cdef IplImage outimg + + populate_iplimage(src, &srcimg) + populate_iplimage(out, &outimg) + + c_cvLaplace(&srcimg, &outimg, aperture_size) + + return out + +def cvCanny(np.ndarray src, np.ndarray out=None, double threshold1=10, + double threshold2=50, int aperture_size=3): + validate_array(src) + assert_nchannels(src, [1]) + + if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + raise ValueError('aperture_size must be 3, 5, or 7') + + + if out is not None: + validate_array(out) + assert_nchannels(out, [1]) + assert_same_shape(src, out) + assert_not_sharing_data(src, out) + else: + out = new_array_like(src) + + cdef IplImage srcimg + cdef IplImage outimg + populate_iplimage(src, &srcimg) + populate_iplimage(out, &outimg) + + c_cvCanny(&srcimg, &outimg, threshold1, threshold2, aperture_size) + + return out + +def cvPreCornerDetect(np.ndarray src, np.ndarray out=None, int aperture_size=3): + validate_array(src) + assert_dtype(src, [UINT8, FLOAT32]) + assert_nchannels(src, [1]) + + if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + raise ValueError('aperture_size must be 3, 5, or 7') + + if out is not None: + validate_array(out) + assert_same_shape(src, out) + assert_dtype(out, [FLOAT32]) + assert_not_sharing_data(src, out) + else: + out = new_array_like_diff_dtype(src, FLOAT32) + + cdef IplImage srcimg + cdef IplImage outimg + populate_iplimage(src, &srcimg) + populate_iplimage(out, &outimg) + + c_cvPreCornerDetect(&srcimg, &outimg, aperture_size) + + return out + +def cvCornerEigenValsAndVecs(np.ndarray src, int block_size=3, + int aperture_size=3): + + # no option for the out argument on this one. Its easier just + # to make it for them as there is only 1 valid out array for any + # given source array + + validate_array(src) + assert_nchannels(src, [1]) + assert_dtype(src, [UINT8, FLOAT32]) + + if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + raise ValueError('aperture_size must be 3, 5, or 7') + + cdef np.npy_intp outshape[2] + outshape[0] = src.shape[0] + outshape[1] = src.shape[1] * 6 + + out = new_array(2, outshape, FLOAT32) + + cdef IplImage srcimg + cdef IplImage outimg + populate_iplimage(src, &srcimg) + populate_iplimage(out, &outimg) + + c_cvCornerEigenValsAndVecs(&srcimg, &outimg, block_size, aperture_size) + + return out.reshape(out.shape[0], -1, 6) + +def cvCornerMinEigenVal(np.ndarray src, int block_size=3, + int aperture_size=3): + + # no option for the out argument on this one. Its easier just + # to make it for them as there is only 1 valid out array for any + # given source array + + validate_array(src) + assert_nchannels(src, [1]) + assert_dtype(src, [UINT8, FLOAT32]) + + if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + raise ValueError('aperture_size must be 3, 5, or 7') + + out = new_array_like_diff_dtype(src, FLOAT32) + + cdef IplImage srcimg + cdef IplImage outimg + populate_iplimage(src, &srcimg) + populate_iplimage(out, &outimg) + + c_cvCornerMinEigenVal(&srcimg, &outimg, block_size, aperture_size) + + return out + +def cvCornerHarris(np.ndarray src, int block_size=3, int aperture_size=3, + double k=0.04): + + # no option for the out argument on this one. Its easier just + # to make it for them as there is only 1 valid out array for any + # given source array + + validate_array(src) + assert_nchannels(src, [1]) + assert_dtype(src, [UINT8, FLOAT32]) + + if (aperture_size != 3 and aperture_size != 5 and aperture_size != 7): + raise ValueError('aperture_size must be 3, 5, or 7') + + out = new_array_like_diff_dtype(src, FLOAT32) + + cdef IplImage srcimg + cdef IplImage outimg + populate_iplimage(src, &srcimg) + populate_iplimage(out, &outimg) + + c_cvCornerHarris(&srcimg, &outimg, block_size, aperture_size, k) + + return out + + def cvSmooth(np.ndarray src, np.ndarray out=None, int smoothtype=CV_GAUSSIAN, int param1=3, int param2=0, double param3=0, double param4=0, bool in_place=False): diff --git a/scikits/image/opencv/opencv_type.pxd b/scikits/image/opencv/opencv_type.pxd index 8fa0adaf..3fd50810 100644 --- a/scikits/image/opencv/opencv_type.pxd +++ b/scikits/image/opencv/opencv_type.pxd @@ -33,4 +33,10 @@ cdef struct _IplImage: ctypedef _IplImage IplImage - +ctypedef struct CvPoint2D32F: + float x + float y + +ctypedef struct CvSize: + int width + int height