Beispiel #1
0
def iabshow(f1, f2=None, f3=None, factor=17):
    from ia870 import iabinary, iaframe, iadil, iaunion
    from ia870 import iasedisk, iaserot, iasecross, iasesum

    assert f1.dtype == bool, 'f1 must be boolean image'
    factor = max(factor, 9)
    hfactor = factor // 2
    if size(f1.shape) == 1:
        f1 = f1[newaxis, :]
        if f2 != None: f2 = f2[newaxis, :]
        if f3 != None: f3 = f3[newaxis, :]
    bz = zeros(factor * array(f1.shape)).astype(bool)
    b0 = asarray(bz)
    b0[hfactor::factor, hfactor::factor] = f1
    fr1 = iaframe(zeros((factor, factor), bool))
    fr1 = iadil(b0, fr1)

    if f2 is not None:
        assert f1.shape == f2.shape, 'f1 and f2 must have same shape'
        b1 = asarray(bz)
        b1[hfactor::factor, hfactor::factor] = f2
        fr2 = iadil(b1, iasedisk(hfactor - 4))
        fr1 = iaunion(fr1, fr2)

        if f3 is not None:
            assert f1.shape == f3.shape, 'f1 and f3 must have same shape'
            bz[hfactor::factor, hfactor::factor] = f3
            fr3 = iadil(bz, iasesum(iaserot(iasecross(1), 45), hfactor - 1))
            fr1 = iaunion(fr1, fr3)
    return fr1
Beispiel #2
0
def iagradm(f, Bdil=None, Bero=None):
    from ia870 import iasubm,iadil,iaero,iasecross

    if Bdil is None: Bdil = iasecross()
    if Bero is None: Bero = iasecross()

    y = iasubm( iadil(f,Bdil),iaero(f,Bero))
    return y
Beispiel #3
0
def iaclose(f, b=None):
    from ia870 import iaero, iadil, iasecross

    if b is None:
        b = iasecross()

    y = iaero(iadil(f, b), b)

    return y
Beispiel #4
0
def ianshow(X, X1=None, X2=None, X3=None, X4=None, X5=None, X6=None):
    x = timg(X)
    x1, x2, x3, x4, x5, x6 = None, None, None, None, None, None
    if X1 is not None:
        x1 = ia.iadil(ia.ianeg(timg(X1)))
    if X2 is not None:
        x2 = ia.iadil(ia.ianeg(timg(X2)))
    if X3 is not None:
        x3 = ia.iadil(ia.ianeg(timg(X3)))
    if X4 is not None:
        x4 = ia.iadil(ia.ianeg(timg(X4)))
    if X5 is not None:
        x5 = ia.iadil(ia.ianeg(timg(X5)))
    if X6 is not None:
        x6 = ia.iadil(ia.ianeg(timg(X6)))
    return ia.iagshow(x, x1, x2, x3, x4, x5, x6)
Beispiel #5
0
def iaero(f, b=None):
    from ia870 import ianeg, iadil, iasereflect, iasecross

    if b is None: b = iasecross()
    y = ianeg(iadil(ianeg(f), iasereflect(b)))
    return y