Example #1
0
def test_z_score_image():
    b = map_to_binner(*generate_map_bin(geo, (2048, 2048)))
    img = np.ones((2048, 2048))
    bad = np.unique(np.random.randint(0, 2048 * 2048, 1000))
    urbad = np.unravel_index(bad, (2048, 2048))
    img[urbad] = 10

    z_score = z_score_image(img, b)
    assert all(z_score[urbad] > 2)
Example #2
0
def test_binned_outlier(mask_method):
    b = map_to_binner(*generate_map_bin(geo, (2048, 2048)))
    img = np.ones((2048, 2048))
    bad = np.unique(np.random.randint(0, 2048 * 2048, 1000))
    urbad = np.unravel_index(bad, (2048, 2048))
    img[urbad] = 100
    mask = binned_outlier(img, b, mask_method=mask_method)

    assert_equal(np.where(mask.ravel() == 0)[0], bad)
Example #3
0
def test_mask_img(mask_method):
    b = map_to_binner(*generate_map_bin(geo, (2048, 2048)))
    img = np.ones((2048, 2048))
    r = np.random.RandomState(42)
    bad = np.unique(r.randint(0, 2048 * 2048, 1000))
    urbad = np.unravel_index(bad, (2048, 2048))
    img[urbad] = 10
    mask = mask_img(
        img,
        b,
        auto_type=mask_method,
        edge=None,
        lower_thresh=None,
        upper_thresh=None,
    )

    assert_equal(np.where(mask.ravel() == 0)[0], bad)
Example #4
0
def test_generate_binner_mask():
    b = map_to_binner(
        *generate_map_bin(geo, (2048, 2048)),
        np.random.randint(0, 2, 2048 * 2048, dtype=bool).reshape((2048, 2048))
    )
    assert b
Example #5
0
def test_generate_binner():
    a = generate_binner(geo, (2048, 2048))
    b = map_to_binner(*generate_map_bin(geo, (2048, 2048)))
    assert a
    assert b
    assert_equal(a.flatcount, b.flatcount)
Example #6
0
from tifffile import imread
from xpdtools.tools import binned_outlier, map_to_binner, mask_img
from profilehooks import profile
import pyFAI

geo = pyFAI.load("test.poni")
img = imread("test.tiff")

bo = profile(binned_outlier, skip=1)
# bo = binned_outlier

binner = map_to_binner(geo, img.shape)
a = binner.argsort_index
b = binner.flatcount

for i in range(2):
    bo(
        img,
        binner,
        # bs_width=None,
        mask_method="mean",
    )

# Median
# binned outlier
# median by itself .714
# median multithread .494
# numba median .270
# multithread numba .178

# mask_img