from __future__ import print_function, unicode_literals, absolute_import, division from six.moves import range, zip, map, reduce, filter import collections import warnings import numpy as np def get_coord(shape, size, margin): n_tiles_i = int(np.ceil((shape[2]-size)/float(size-2*margin))) n_tiles_j = int(np.ceil((shape[1]-size)/float(size-2*margin))) for i in range(n_tiles_i+1): src_start_i = i*(size-2*margin) if i0 else 0 right_i = margin if i0 else 0 right_j = margin if j0 else None) for p in self.pad] for i in self._normalize_exclude(exclude, x.ndim): crop.insert(i,slice(None)) len(crop) == x.ndim or _raise(ValueError()) return x[tuple(crop)]