コード例 #1
0
def mesh():
    dphi, dtheta = np.pi / 20.0, np.pi / 20.0
    [phi, theta] = np.mgrid[0:np.pi + dphi * 1.5:dphi,
                            0:2 * np.pi + dtheta * 1.5:dtheta]
    m0 = 4
    m1 = 3
    m2 = 2
    m3 = 3
    m4 = 6
    m5 = 2
    m6 = 6
    m7 = 4
    r = np.sin(m0 * phi)**m1 + np.cos(m2 * phi)**m3 + np.sin(
        m4 * theta)**m5 + np.cos(m6 * theta)**m7
    x = r * np.sin(phi) * np.cos(theta)
    y = r * np.cos(phi)
    z = r * np.sin(phi) * np.sin(theta)
    vts, fs, ns, cs = myvi.build_mesh(x, y, z)
    cs[:] = myvi.util.auto_lookup(vts[:, 2],
                                  myvi.util.linear_color('jet')) / 255

    manager = myvi.Manager()
    obj = manager.add_obj('mesh', vts, fs, ns, cs)
    obj.set_style(mode='grid')
    manager.show('Mesh Demo')
コード例 #2
0
def dem():
    img = imread('data/dem.png')
    vts, fs, ns, cs = myvi.util.build_surf2d(img, ds=1, k=0.3, sigma=2)

    manager = myvi.Manager()
    manager.add_obj('dem', vts, fs, ns, cs)
    manager.show('DEM Demo')
コード例 #3
0
ファイル: test3d.py プロジェクト: Prevalenter/Vehicle-limiter
def viewer3d(imgs, title):
    imgs = ndimg.gaussian_filter(imgs, 1)
    vts, fs, ns, vs = myvi.util.build_surf3d(imgs, 1, 80)

    manager = myvi.Manager()
    manager.add_surf('vessel', vts, fs, ns, (1, 0, 0))
    manager.show(title)
コード例 #4
0
def arrow():
    v1, v2 = np.array([[[0, 0, 0], [5, 5, 5]], [[0, 15, 5], [2, 8, 3]]],
                      dtype=np.float32)
    vts, fs, ns, c = myvi.util.build_arrows(v1, v2, 1, 1, 1, 1, (1, 0, 0))
    manager = myvi.Manager()
    manager.add_surf('dem', vts, fs, ns, c)
    manager.show('DEM Demo')
コード例 #5
0
def surface2d():
	x, y = np.ogrid[-2:2:20j, -2:2:20j]  
	z = x * np.exp( - x**2 - y**2)
	vts, fs, ns, cs = myvi.util.build_surf2d(z, ds=1, k=20, sigma=2)
	cs[:] = myvi.util.auto_lookup(vts[:,2], myvi.util.linear_color('jet'))/255
	manager = myvi.Manager()
	manager.add_surf('dem', vts, fs, ns, cs)
	manager.show('DEM Demo') 
コード例 #6
0
def volume():
    fs = glob('data/vessel*.png')
    imgs = np.array([imread(i, True) for i in fs])
    imgs = ndimg.gaussian_filter(imgs, 1)
    vts, fs, ns, vs = myvi.util.build_surf3d(imgs, 1, 128)

    manager = myvi.Manager()
    manager.add_obj('vessel', vts, fs, ns, (1, 0, 0))
    manager.show('Vessel Demo')
コード例 #7
0
def random_balls():
    os = np.random.rand(30).reshape((-1, 3))
    rs = np.random.rand(10) / 5
    cs = (np.random.rand(10) * 255).astype(np.uint8)
    cs = myvi.linear_color('jet')[cs] / 255

    vts, fs, ns, cs = myvi.build_balls(os, rs, cs)
    manager = myvi.Manager()
    manager.add_obj('balls', vts, fs, ns, cs)
    manager.show('Random Balls Demo')
コード例 #8
0
def cube_surf():
    from skimage.data import camera
    lut = np.zeros((256, 3), dtype=np.uint8)
    lut[:, 0] = np.arange(256)
    imgs = np.array([camera()[:300, ::]] * 256)
    vts, fs, ns, cs = myvi.build_img_cube(imgs)
    manager = myvi.Manager()
    obj = manager.add_surf('cube', vts, fs, ns, cs)
    vts, fs, ns, cs = myvi.build_img_box(imgs)
    obj = manager.add_surf('box', vts, fs, ns, cs)
    obj.set_style(mode='grid')
    manager.show('Cube Demo')
コード例 #9
0
ファイル: test.py プロジェクト: Prevalenter/Vehicle-limiter
def ball_ring():
	os = np.random.rand(30).reshape((-1,3))
	rs = np.random.rand(10)/7
	cs = (np.random.rand(10)*255).astype(np.uint8)
	cs = myvi.linear_color('jet')[cs]/255

	vts_b, fs_b, ns_b, cs_b = myvi.build_balls(list(os), list(rs), list(cs))
	vts_l, fs_l, ns_l, cs_l = myvi.build_line(os[:,0], os[:,1], os[:,2], list(cs))
	manager = myvi.Manager()
	manager.add_surf('balls', vts_b, fs_b, ns_b, cs_b)
	line = manager.add_surf('line', vts_l, fs_l, ns_l, cs_l)
	line.set_style(mode='grid')
	manager.show('Balls Ring Demo')
コード例 #10
0
ファイル: test3d.py プロジェクト: Prevalenter/Vehicle-limiter
def balls_with_mark():
    os = np.random.rand(30).reshape((-1, 3))
    rs = np.random.rand(10) / 7
    cs = (np.random.rand(10) * 255).astype(np.uint8)
    cs = myvi.linear_color('jet')[cs] / 255

    vts_b, fs_b, ns_b, cs_b = myvi.build_balls(os, rs, cs)
    cont = ['ID:%s' % i for i in range(10)]
    vtss, fss, pps, h, color = myvi.build_marks(cont, os, rs, 0.05, (1, 1, 1))
    manager = myvi.Manager()
    manager.add_surf('balls', vts_b, fs_b, ns_b, cs_b)
    line = manager.add_mark('line', vtss, fss, pps, h, color)
    line.set_style(mode='grid')
    manager.show('Balls Mark Demo')
コード例 #11
0
ファイル: test.py プロジェクト: Prevalenter/Vehicle-limiter
def line():
	vts = np.array([(0,0,0),(1,1,0),(2,1,0),(1,0,0)], dtype=np.float32)
	fs = np.array([(0,1,2),(1,2,3)], dtype=np.uint32)
	ns = np.ones((4,3), dtype=np.float32)

	n_mer, n_long = 6, 11
	pi = np.pi
	dphi = pi / 1000.0
	phi = np.arange(0.0, 2 * pi + 0.5 * dphi, dphi)
	mu = phi * n_mer
	x = np.cos(mu) * (1 + np.cos(n_long * mu / n_mer) * 0.5)
	y = np.sin(mu) * (1 + np.cos(n_long * mu / n_mer) * 0.5)
	z = np.sin(n_long * mu / n_mer) * 0.5

	vts, fs, ns, cs = myvi.build_line(x, y, z, (1, 0, 0))
	cs[:] = myvi.auto_lookup(vts[:,2], myvi.linear_color('jet'))/255

	manager = myvi.Manager()
	obj = manager.add_surf('line', vts, fs, ns, cs)
	obj.set_style(mode='grid')
	manager.show('Line Rings')
コード例 #12
0
def cube_surf():
	from skimage.data import camera
	lut = np.zeros((256,3), dtype=np.uint8)
	lut[:,0] = np.arange(256)
	imgs = np.array([camera()[:300,::]]*256)
	'''
	imgs = np.zeros((100,200,300), dtype=np.uint8)
	imgs[:30,10:20,50:60] = 255

	vts, fs, ns, vs = myvi.util.build_surf3d(imgs, 1, 128)
	manager = myvi.Manager()
	manager.add_surf('vessel', vts, fs, ns, (1,0,0))
	'''
	manager = myvi.Manager()
	vts, fs, ns, cs = myvi.build_img_cube(imgs)
	obj = manager.add_surf('cube', vts, fs, ns, cs)
	vts, fs, ns, cs = myvi.build_img_box(imgs)
	obj = manager.add_surf('box', vts, fs, ns, cs)
	obj.set_style(mode='grid')
	
	manager.show('Cube Demo') 
コード例 #13
0
def ball():
    vts, fs, ns, cs = myvi.build_ball((100, 100, 100), 50, (1, 0, 0))
    manager = myvi.Manager()
    manager.add_obj('balls', vts, fs, ns, cs)
    manager.show('Ball Demo')
コード例 #14
0
def cube():
    vts, fs, ns, cs = myvi.build_cube((0, 0, 0), (1, 1, 1))
    manager = myvi.Manager()
    obj = manager.add_surf('cube', vts, fs, ns, cs)
    obj.set_style(mode='grid')
    manager.show('Cube Demo')