def METHOD_NAME(self, metadata, xslice, yslice, zslice):
    """placeholder to be overrriden to return coordinates needed for interpolation"""
    #generate grid to evaluate function on
    vs = metadata.voxelsize_nm
    X = vs.x*mgrid[xslice]
    Y = vs.y*mgrid[yslice]
    Z = array([0]).astype('f')
    #what region is 'safe' (ie we won't run out of model to interpret)
    #for these slices...
    if self.SplitPSF:
        xm = int(len(X)/2)
        dx = min(int((interpolator.shape[1] - len(X))/2), xm) - 2
        ym = int(len(Y)/2)
        dy = min(int((interpolator.shape[1] - len(Y))/2), ym) - 2
        safeRegion = ((X[xm-dx], X[xm+dx]), (Y[ym-dy], Y[ym+dy]),(Z[0] + self.IntZVals[2], Z[0] + self.IntZVals[-2]))
    else:
        xm = int(len(X)/2)
        dx = min(int((interpolator.shape[0] - len(X))/2), xm) - 2
        ym = int(len(Y)/2)
        dy = min(int((interpolator.shape[1] - len(Y))/2), ym) - 2
        safeRegion = ((X[xm-dx], X[xm+dx]), (Y[ym-dy], Y[ym+dy]),(Z[0] + self.IntZVals[2], Z[0] + self.IntZVals[-2]))
    return X, Y, Z, safeRegion