Пример #1
0
def test_regression():
    np.random.seed(220)
    img = np.random.random_sample((1024, 1024))
    img *= 255
    img = img.astype(np.uint8)
    features = pftas(img)
    assert not np.any(features == 0.)
Пример #2
0
def test_regression():
    np.random.seed(220)
    img = np.random.random_sample((1024,1024))
    img *= 255
    img = img.astype(np.uint8)
    features = pftas(img)
    assert not np.any(features == 0.)
Пример #3
0
    def calculate(self, resource):
        """ Append descriptors to SURF h5 table """
        #initalizing
        except_image_only(resource)

        image_uri = resource.image
        #image_uri = BQServer().prepare_url(image_uri, remap='display')
        im = image2numpy(image_uri, remap='display')
        im = np.uint8(im)
        descriptor = pftas(im)

        #initalizing rows for the table
        return descriptor
Пример #4
0
def get_mahotas_features(image, bin_image):
    """
    """    
#    pdb.set_trace()
    zer = zernike.zernike_moments(image, len(image)/2)  #adding 25
    mm = []
    for i in range(7):
        for j in range(7):
            mm.append(np.log10(moments(image, i,j)))  #adding 49
    rou = features.roundness(bin_image)        #adding 1
    el1 = features.ellipse_axes(bin_image)[0]
    el2 = features.ellipse_axes(bin_image)[0]#adding 2
    exe = features.eccentricity(bin_image)    #adding 1
    pft = features.pftas(image)               #adding 54    
    hara = mahotas.features.haralick(image).reshape(-1)   #adding 52   
#    return np.concatenate((zer, np.array([rou]), np.array(ellip), hara.reshape(-1), lbps.reshape(-1)))
    #adding in total 184 features
    return np.concatenate((zer, np.array(mm), np.array([rou, el1, el2, exe]), pft, hara))
Пример #5
0
def get_TAS(img_array, grid_size=4):
    """
    Parameterless TAS for one image.
    :param img_array:
    :param grid_size:
    :return: 27* grid_size^2 (check)
    """
    img = np.asarray(img_array)
    window_size = (np.asarray([img.shape])[0:2] / grid_size).astype(int)[0]
    im_grid = np.asarray(skimage.util.view_as_blocks(img, tuple([window_size[0], window_size[1], 3])))
    windows = []
    for i in range(grid_size):
        for j in range(grid_size):
            windows.append(im_grid[i, j, 0])
    tas_features = []
    for i in range(len(windows)):
        t = pftas(windows[i])
        t = np.ravel(np.asarray(t))
        tas_features.append(t)
    out = np.ravel(np.asarray(tas_features))
    return out
Пример #6
0
def get_TAS(im, grid_size=4):
    """
    Parameterless TAS para una imagen.
    :param im_path:
    :param grid_size:
    :return: 27* grid_size^2 (check)
    """
    if type(im) == str:
        img = mahotas.imread(im)
    else:
        img = im
    window_size = (np.asarray([img.shape])[0:2] / grid_size).astype(int)[0]
    if len(img.shape) == 3:
        im_grid = np.asarray(
            skimage.util.view_as_blocks(
                img, tuple([window_size[0], window_size[1], 3])))
        windows = []
        for i in range(grid_size):
            for j in range(grid_size):
                windows.append(im_grid[i, j, 0])
    else:
        im_grid = np.asarray(
            skimage.util.view_as_blocks(img, tuple(window_size)))
        windows = []
        for i in range(grid_size):
            for j in range(grid_size):
                windows.append(im_grid[i, j])
    tas_features = []
    for i in range(len(windows)):
        # if (i % 10 == 0):
        #     print("|", end="", flush=True)
        t = pftas(windows[i])
        t = np.ravel(np.asarray(t))
        tas_features.append(t)
    # print(" ")
    out = np.ravel(np.asarray(tas_features))
    return out
Пример #7
0
def test_tas():
    np.random.seed(22)
    f = np.random.rand(1024, 1024)
    f = (f * 255).astype(np.uint8)
    assert np.abs(tas(f).sum()-6) < 0.0001
    assert np.abs(pftas(f).sum()-6) < 0.0001
Пример #8
0
def test_zero_image():
    features = pftas(np.zeros((64,64), np.uint8))
    assert not np.any(np.isnan(features))
Пример #9
0
def test_tas():
    np.random.seed(22)
    f = np.random.rand(1024, 1024)
    f = (f * 255).astype(np.uint8)
    assert np.abs(tas(f).sum() - 6) < 0.0001
    assert np.abs(pftas(f).sum() - 6) < 0.0001
Пример #10
0
def test_zero_image():
    features = pftas(np.zeros((64, 64), np.uint8))
    assert not np.any(np.isnan(features))
def masked_pftas(intensity_image):
    T = otsu(intensity_image, ignore_zeros=True)
    return pftas(intensity_image, T=T)