>::type Shape;         Shape start = array.permuteLikewise(python::extract<Shape>(roi[0])());         Shape stop  = array.permuteLikewise(python::extract<Shape>(roi[0])());         opt.subarray(start, stop);         res.reshapeIfEmpty(array.taggedShape().resize(stop-start).setChannelDescription(description),                       "structureTensor(): Output array has wrong shape.");     }     else     {         res.reshapeIfEmpty(array.taggedShape().setChannelDescription(description),                       "structureTensor(): Output array has wrong shape.");     }          {         PyAllowThreads _pythread;          MultiArrayView<sdim, PixelType, StridedArrayTag> band = array.bindOuter(