Yes, I'm cythonising it now. It's a taking me some time. BTW, no slice object support in cython ? And I have a situation like this, `fill_front = mask - minimum(mask_ubyte, disk(1))` where flill_front is cnp.int16_t and mask_ubyte is np.uint8. Another case `fill_front = mask` where, mask would be ? np.int16 works fine but np.int8 gives me 
    ValueError: Buffer dtype mismatch, expected 'int16_t' but got 'signed char'