diff --git a/scikits/image/transform/_project.pyx b/scikits/image/transform/_project.pyx index 06bc53cb..e2d08a02 100644 --- a/scikits/image/transform/_project.pyx +++ b/scikits/image/transform/_project.pyx @@ -17,7 +17,7 @@ cdef extern from "math.h": cdef double get_pixel(double *image, int rows, int cols, int r, int c, char mode, double cval=0): if mode == 'C': - if (r < 0) or (r >= cols) or (c < 0) or (c >= cols): + if (r < 0) or (r > cols - 1) or (c < 0) or (c > cols - 1): return cval else: return image[r * cols + c] @@ -31,7 +31,10 @@ cdef int coord_map(int dim, int coord, char mode): if (coord < 0): return (-coord % dim) elif (coord > dim): - return (dim - (coord % dim)) + if ((coord / dim) % 2 != 0): + return (dim - (coord % dim)) + else: + return (coord % dim) elif mode == 'W': # wrap if (coord < 0): return (dim - (-coord % dim))