def METHOD_NAME():
    # Create dummy image with single pixel in the middle
    im = dummy_blob(size_arr=(9, 9, 9), coordvox=(4, 4, 4))
    if DUMP_IMAGES:
        im.save('tmp_dummy_im_' + datetime.now().strftime("%Y%m%d%H%M%S%f") + '.nii.gz')
    # cube (only asserting along one dimension for convenience)
    data_dil = sct_math.dilate(im.data, size=1, shape='cube')
    assert np.array_equal(data_dil[4, 2:7, 4], np.array([0, 0, 1, 0, 0]))
    data_dil = sct_math.dilate(im.data, size=2, shape='cube')
    assert np.array_equal(data_dil[4, 2:7, 4], np.array([0, 1, 1, 0, 0]))
    data_dil = sct_math.dilate(im.data, size=3, shape='cube')
    assert np.array_equal(data_dil[4, 2:7, 4], np.array([0, 1, 1, 1, 0]))
    # ball (only asserting along one dimension for convenience)
    data_dil = sct_math.dilate(im.data, size=0, shape='ball')
    assert np.array_equal(data_dil[4, 2:7, 4], np.array([0, 0, 1, 0, 0]))
    data_dil = sct_math.dilate(im.data, size=1, shape='ball')
    assert np.array_equal(data_dil[4, 2:7, 4], np.array([0, 1, 1, 1, 0]))
    data_dil = sct_math.dilate(im.data, size=2, shape='ball')
    assert np.array_equal(data_dil[4, 2:7, 4], np.array([1, 1, 1, 1, 1]))
    # square in xy plane
    data_dil = sct_math.dilate(im.data, size=1, shape='disk', dim=1)
    assert np.array_equal(data_dil[2:7, 4, 4], np.array([0, 1, 1, 1, 0]))
    assert np.array_equal(data_dil[4, 4, 2:7], np.array([0, 1, 1, 1, 0]))
    data_dil = sct_math.dilate(im.data, size=1, shape='disk', dim=2)
    assert np.array_equal(data_dil[4, 2:7, 4], np.array([0, 1, 1, 1, 0]))
    assert np.array_equal(data_dil[2:7, 4, 4], np.array([0, 1, 1, 1, 0]))
    # test with Image as input
    im_dil = sct_math.dilate(im, size=1, shape='cube')
    assert np.array_equal(im_dil.data[4, 2:7, 4], np.array([0, 0, 1, 0, 0]))