def _tf_fspecial_gauss(size, sigma, ch=1):
    "Function to mimic the 'fspecial' gaussian MATLAB function\n    "
    (x_data, y_data) = np.mgrid[(((- size) // 2) + 1):((size // 2) + 1), (((- size) // 2) + 1):((size // 2) + 1)]
    x_data = np.expand_dims(x_data, axis=(- 1))
    x_data = np.expand_dims(x_data, axis=(- 1))
    y_data = np.expand_dims(y_data, axis=(- 1))
    y_data = np.expand_dims(y_data, axis=(- 1))
    x = tf.constant(x_data, dtype=tf.float32)
    y = tf.constant(y_data, dtype=tf.float32)
    g = tf.exp((- (((x ** 2) + (y ** 2)) / (2.0 * (sigma ** 2)))))
    g = tf.tile(g, [1, 1, ch, 1])
    return (g / tf.reduce_sum(g))
Function to mimic the 'fspecial' gaussian MATLAB function
def _tf_fspecial_gauss(size, sigma, ch=1):
    "\n    "
    (x_data, y_data) = np.mgrid[(((- size) // 2) + 1):((size // 2) + 1), (((- size) // 2) + 1):((size // 2) + 1)]
    x_data = np.expand_dims(x_data, axis=(- 1))
    x_data = np.expand_dims(x_data, axis=(- 1))
    y_data = np.expand_dims(y_data, axis=(- 1))
    y_data = np.expand_dims(y_data, axis=(- 1))
    x = tf.constant(x_data, dtype=tf.float32)
    y = tf.constant(y_data, dtype=tf.float32)
    g = tf.exp((- (((x ** 2) + (y ** 2)) / (2.0 * (sigma ** 2)))))
    g = tf.tile(g, [1, 1, ch, 1])
    return (g / tf.reduce_sum(g))