示例#1
0
def updateTransfer ():
    """
    ------------------------------------------------------------------------
    """
    
    global mi, ma, bins

    from yt.mods import ColorTransferFunction
    transfer = ColorTransferFunction( (mi, ma), bins)
    transfer.map_to_colormap(mi, ma, colormap='spring', scale_func = scale_func)

    camera.setTransfer(tf = transfer)
示例#2
0
def updateTransfer():
    """
    ------------------------------------------------------------------------
    """

    global mi, ma, bins

    from yt.mods import ColorTransferFunction
    transfer = ColorTransferFunction((mi, ma), bins)
    transfer.map_to_colormap(mi, ma, colormap='spring', scale_func=scale_func)

    camera.setTransfer(tf=transfer)
示例#3
0
def main():
    """
    ------------------------------------------------------------------------
    """
    

    global bins, ma, mi, tf_interval, global_min, global_max

    ret_args = handleCommandLineArgs()

    datafile = ""

    mi, ma, bins = None, None, None

    for (flag,val) in ret_args:
        if (flag == "data"):
            datafile = val
        elif (flag == "min"):
            mi = float(val)
        elif (flag == "max"):
            ma = float(val)
        elif (flag == "bins"):
            bins = int(val)

    global window, camera, camera2
    initial_size = (1920,1080)

    glutInit(sys.argv)
    glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_ALPHA | GLUT_DEPTH | GLUT_STEREO)
    glutInitWindowSize(*initial_size)
    glutInitWindowPosition(0, 0)
    window = glutCreateWindow("PyCuda GL Interop Example")

    glutDisplayFunc(display)
    glutIdleFunc(idle)
    glutReshapeFunc(resize)
    glutMouseFunc( mouseButton )
    glutMotionFunc( mouseMotion )
    glutKeyboardFunc(keyPressed)
    #glutSpecialFunc(keyPressed)
    init_gl(*initial_size)

    # create texture for blitting to screen
    create_texture(*initial_size)

    import pycuda.gl.autoinit
    import pycuda.gl
    cuda_gl = pycuda.gl

    create_PBO(*initial_size)
    # ----- Load and Set Volume Data -----
    from yt.mods import *
    import numpy as np

    # set to default file if not specified on commandline
    if (len(datafile) == 0):
        datafile = "/home/bogert/log_densities_1024.npy"
        
    data_map = np.load(datafile)
    #data_map *= -1
    
    # ----- Set Transfer Function Parameters -----
    #mi , ma = 0.0, 3.95
    #bins  = 1000

    global_min = np.amin(data_map)
    global_max = np.amax(data_map)

    # set to min/max value of data
    if (mi is None):
        mi = global_min
    if (ma is None):
        ma = global_max

    print "Setting transfer function range to (" + str(mi) + ", " + str(ma) + ")"

    # default to 10000 bins
    if (bins is None):
        bins = 10000

    print "Setting number of bins to " + str(bins)
   
    tf_interval = abs((global_max - global_min))/500

    transfer = ColorTransferFunction( (mi, ma), bins)
    transfer.map_to_colormap(mi, ma, colormap='spring', scale_func = scale_func)

    camera = GLCamera(tf = transfer, width = 1920, height = 1080, grid = data_map)

    glutMainLoop()
示例#4
0
def main():
    """
    ------------------------------------------------------------------------
    """

    global bins, ma, mi, tf_interval, global_min, global_max

    ret_args = handleCommandLineArgs()

    datafile = ""

    mi, ma, bins = None, None, None

    for (flag, val) in ret_args:
        if (flag == "data"):
            datafile = val
        elif (flag == "min"):
            mi = float(val)
        elif (flag == "max"):
            ma = float(val)
        elif (flag == "bins"):
            bins = int(val)

    global window, camera, camera2
    initial_size = (1920, 1080)

    glutInit(sys.argv)
    glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_ALPHA | GLUT_DEPTH
                        | GLUT_STEREO)
    glutInitWindowSize(*initial_size)
    glutInitWindowPosition(0, 0)
    window = glutCreateWindow("PyCuda GL Interop Example")

    glutDisplayFunc(display)
    glutIdleFunc(idle)
    glutReshapeFunc(resize)
    glutMouseFunc(mouseButton)
    glutMotionFunc(mouseMotion)
    glutKeyboardFunc(keyPressed)
    #glutSpecialFunc(keyPressed)
    init_gl(*initial_size)

    # create texture for blitting to screen
    create_texture(*initial_size)

    import pycuda.gl.autoinit
    import pycuda.gl
    cuda_gl = pycuda.gl

    create_PBO(*initial_size)
    # ----- Load and Set Volume Data -----
    from yt.mods import *
    import numpy as np

    # set to default file if not specified on commandline
    if (len(datafile) == 0):
        datafile = "/home/bogert/log_densities_1024.npy"

    data_map = np.load(datafile)
    #data_map *= -1

    # ----- Set Transfer Function Parameters -----
    #mi , ma = 0.0, 3.95
    #bins  = 1000

    global_min = np.amin(data_map)
    global_max = np.amax(data_map)

    # set to min/max value of data
    if (mi is None):
        mi = global_min
    if (ma is None):
        ma = global_max

    print "Setting transfer function range to (" + str(mi) + ", " + str(
        ma) + ")"

    # default to 10000 bins
    if (bins is None):
        bins = 10000

    print "Setting number of bins to " + str(bins)

    tf_interval = abs((global_max - global_min)) / 500

    transfer = ColorTransferFunction((mi, ma), bins)
    transfer.map_to_colormap(mi, ma, colormap='spring', scale_func=scale_func)

    camera = GLCamera(tf=transfer, width=1920, height=1080, grid=data_map)

    glutMainLoop()