From 50d184374ad4260ce2c1cdde26aed5c4a030a03d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20Sch=C3=B6nberger?= Date: Sat, 25 Aug 2012 13:57:32 +0200 Subject: [PATCH] Optimize fast homography --- skimage/transform/_project.pyx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/skimage/transform/_project.pyx b/skimage/transform/_project.pyx index 3e9a9295..4df6e001 100644 --- a/skimage/transform/_project.pyx +++ b/skimage/transform/_project.pyx @@ -80,13 +80,15 @@ def homography(np.ndarray image, np.ndarray H, output_shape=None, int order=1, """ - cdef np.ndarray[dtype=np.double_t, ndim=2] img = image.astype(np.double) + cdef np.ndarray[dtype=np.double_t, ndim=2, mode="c"] img = \ + np.ascontiguousarray(image, dtype=np.double) cdef np.ndarray[dtype=np.double_t, ndim=2, mode="c"] M = \ np.ascontiguousarray(np.linalg.inv(H)) if mode not in ('constant', 'wrap', 'mirror'): raise ValueError("Invalid mode specified. Please use " "`constant`, `wrap` or `mirror`.") + cdef char mode_c if mode == 'constant': mode_c = ord('C') elif mode == 'wrap': @@ -94,6 +96,7 @@ def homography(np.ndarray image, np.ndarray H, output_shape=None, int order=1, elif mode == 'mirror': mode_c = ord('M') + cdef int out_r, out_c if output_shape is None: out_r = img.shape[0] out_c = img.shape[1]