def make_node(self, x):
    x = theano.tensor.as_tensor_variable(x)
    if self.inverse:
        if (x.type.ndim != ((self.n_dims_before + len(self.dims_neighbourhoods)) + 1)):
            raise TypeError()
    elif (x.type.ndim != (self.n_dims_before + len(self.dims_neighbourhoods))):
        raise TypeError()
    return gof.Apply(self, [x], [x.type()])
def make_node(self, x):
    x = theano.tensor.as_tensor_variable(x)
    if self.inverse:
        if (x.type.ndim != ((self.n_dims_before + len(self.dims_neighbourhoods)) + 1)):
            raise TypeError()
    elif (x.type.ndim != (self.n_dims_before + len(self.dims_neighbourhoods))):
        raise TypeError()
    return gof.Apply(self, [x], [x.type()])