示例#1
0
def test_nlm3_thresh():
    from imgtools import test_images, calcPSNR, read3dTiff
    dev = OCLDevice(useDevice=1)



    # data = test_images.blobs64()

    data = read3dTiff("/Users/mweigert/Data/synthetics/blobs64.tif")

    np.random.seed(0)
    data = 100.*data/np.amax(data)
    y = np.maximum(0,data + np.random.normal(0,20,data.shape))
    y = y.astype(np.float32)
    y = y.astype(np.uint16)

    t = time()
    out = nlm3_thresh(dev,y,2,3,30,60)

    print time()-t
    print calcPSNR(data,out)
    # sigs = np.linspace(3,70,30)

    # bests = []
    # for s0 in np.linspace(2,20,10):
    #     y = data + np.random.normal(0,s0,data.shape)
    #     y = y.astype(np.float32)
    #     sigs = s0*np.linspace(.1,5 ,20)

    #     ind=np.argmax([calcPSNR(data,nlm3_fast(dev,y,2,3,s)) for s in sigs])
    #     print s0,sigs[ind]
    #     bests.append([s0,sigs[ind]])

    return out
示例#2
0
def test_nlm3_thresh():
    from imgtools import test_images, calcPSNR, read3dTiff
    dev = OCLDevice(useDevice=1)



    # data = test_images.blobs64()

    data = read3dTiff("/Users/mweigert/Data/synthetics/blobs64.tif")

    np.random.seed(0)
    data = 100.*data/np.amax(data)
    y = np.maximum(0,data + np.random.normal(0,20,data.shape))
    y = y.astype(np.float32)
    y = y.astype(np.uint16)

    t = time()
    out = nlm3_thresh(dev,y,2,3,30,60)

    print time()-t
    print calcPSNR(data,out)
    # sigs = np.linspace(3,70,30)

    # bests = []
    # for s0 in np.linspace(2,20,10):
    #     y = data + np.random.normal(0,s0,data.shape)
    #     y = y.astype(np.float32)
    #     sigs = s0*np.linspace(.1,5 ,20)

    #     ind=np.argmax([calcPSNR(data,nlm3_fast(dev,y,2,3,s)) for s in sigs])
    #     print s0,sigs[ind]
    #     bests.append([s0,sigs[ind]])

    return out
示例#3
0
def bm4d(data,sigma):
    tmpName = utils.absPath("0123456789_TMP.tiff")
    tmpName2 = utils.absPath("0123456789_OUT_TMP.tiff")
    imgtools.write3dTiff(data,tmpName)
    subprocess.call([utils.absPath("cxx_code/bm4d/bm4d.sh"),tmpName,tmpName2,str(sigma)], stdout=subprocess.PIPE)

    out = imgtools.read3dTiff(tmpName2)
    # os.remove(tmpName)
    # os.remove(tmpName2)
    return out
示例#4
0
def bm4d(data,sigma):
    tmpName = utils.absPath("0123456789_TMP.tiff")
    tmpName2 = utils.absPath("0123456789_OUT_TMP.tiff")
    imgtools.write3dTiff(data,tmpName)
    subprocess.call([utils.absPath("cxx_code/bm4d/bm4d.sh"),tmpName,tmpName2,str(sigma)], stdout=subprocess.PIPE)

    out = imgtools.read3dTiff(tmpName2)
    # os.remove(tmpName)
    # os.remove(tmpName2)
    return out
示例#5
0
def test_bm4d():
    from imgtools import test_images, calcPSNR, read3dTiff
    dev = OCLDevice()

    data = test_images.blobs64()

    data = read3dTiff("/Users/mweigert/Data/synthetics/filaments64.tif")

    data = 100.*data/np.amax(data)
    y = data + np.random.normal(0,20,data.shape)
    y = y.astype(np.float32)

    out = bm4d(y,20)
    print calcPSNR(data,out)
    sigs = np.linspace(3,70,30)

    return data,out
示例#6
0
def test_tv3_gpu():
    from imgtools import test_images, calcPSNR, read3dTiff
    dev = OCLDevice(useDevice=1)

    data = read3dTiff("/Users/mweigert/Data/synthetics/blobs64.tif")

    np.random.seed(0)
    data = 100.*data/np.amax(data)
    y = np.maximum(0,data + np.random.normal(0,0.2*np.amax(data),data.shape))
    y = y.astype(np.float32)

    t = time()
    out = tv3_gpu(dev,y,.4*np.amax(data))

    print "time:", time()-t
    print "PSNR: ",utils.calcPSNR(data,out)
    return data,y,out
示例#7
0
def test_bm4d():
    from imgtools import test_images, calcPSNR, read3dTiff
    dev = OCLDevice()

    data = test_images.blobs64()

    data = read3dTiff("/Users/mweigert/Data/synthetics/filaments64.tif")

    data = 100.*data/np.amax(data)
    y = data + np.random.normal(0,20,data.shape)
    y = y.astype(np.float32)

    out = bm4d(y,20)
    print calcPSNR(data,out)
    sigs = np.linspace(3,70,30)

    return data,out
示例#8
0
def test_tv3_gpu():
    from imgtools import test_images, calcPSNR, read3dTiff
    dev = OCLDevice(useDevice=1)

    data = read3dTiff("/Users/mweigert/Data/synthetics/blobs64.tif")

    np.random.seed(0)
    data = 100.*data/np.amax(data)
    y = np.maximum(0,data + np.random.normal(0,0.2*np.amax(data),data.shape))
    y = y.astype(np.float32)

    t = time()
    out = tv3_gpu(dev,y,.4*np.amax(data))

    print "time:", time()-t
    print "PSNR: ",utils.calcPSNR(data,out)
    return data,y,out
示例#9
0
def test_real():
    import imgtools
    import time

    d = imgtools.read3dTiff("/Users/mweigert/Data/sqeazy_corpus/Norden_GFP-LAP_4-1.tif")

    rend = VolumeRenderer((600,600))

    rend.set_modelView(mat4_rotation(.5,0,1.,0))

    # rend.set_box_boundaries(.3*np.array([-1,1,-1,1,-1,1]))
    t1 = time.time()

    rend.set_data(d, autoConvert = True)
    rend.set_units([1.,1.,6.])
    t2 = time.time()

    out = rend.render(maxVal = 200.)

    print "time to set data :\t %.2f ms"%(1000*(t2-t1))

    print "time to render:\t %.2f ms"%(1000*(time.time()-t2))

    return d, rend, out