コード例 #1
0
def initialise_display():
	
	# viz.message('Calibration on Pupil Capture must be set to Manual Marker')
	
	#load scene for luminance.
	# start empty world
	EH = 1.2 #metres from ground.
	Eye_ScreenDist = 1 #distance from screen of ocular point
	Proj_V = 1.12 #measured on 18/01/18 #vertical extent of projection (m)
	Proj_H = 1.965 #horizontal extent of projection (m)

	# setting Field-of-View fov(vertical degree, horizontal ratio(vertical*ratio[deg]))
	vfov = ((np.arctan((Proj_V/2)/Eye_ScreenDist))*2) * (180/np.pi)
	h2v = Proj_H/Proj_V

	#viz.setDisplayMode(1920,1080)
	viz.go()
	viz.window.setSize(1920,1080)
	#viz.fov(vfov,h2v) #sets window aspect ratio.
	viz.fov(vfov,h2v) #sets window aspect ratio.
	#viz.window.setSize([1920,1080]) 
	#viz.window.setBorder(viz.BORDER_NONE)	
	#viz.window.setFullscreen(1)
	#viz.window.setFullscreenMonitor(2)
	#viz.window.setFullscreenRectangle( [0,0,1920,1080] )

	viz.eyeheight(1.2)#viz.MainView.setPosition(0,EH,0) 
	viz.clip(1,60) #clips world at 60m
	# background color
	viz.clearcolor(viz.SKYBLUE)	
コード例 #2
0
ファイル: MirrorTouchCubes2.py プロジェクト: vhilab/thirdArm
def InitHMD():
	global collisionLimbBoxes
	if(USE_HMD):
		pptExtension.setup();
		viz.go(viz.FULLSCREEN)
		viz.clip(0.1)
		vizact.onupdate(0, pptExtension.pptUpdate, avatar, ghostAvatar, collisionLimbBoxes);
		if(len(collisionLimbBoxes) > 0):
			vizact.ontimer(1, pptExtension.refreshAvatar, ghostAvatar, avatar, collisionLimbBoxes);
		else:
			vizact.ontimer(1, pptExtension.refreshAvatar, ghostAvatar, avatar, None);
	else:
		pptSimulation.setup(avatar);
		viz.clip(0.1)
		viz.go(viz.FULLSCREEN);
		vizact.onupdate(0, pptSimulation.pptUpdate, avatar, ghostAvatar, collisionLimbBoxes);
コード例 #3
0
ファイル: main.py プロジェクト: stjordanis/CASO
def main():
    args = parser.parse_args()
    example_ids = [args.image_path]

    model = models.__dict__[args.arch](pretrained=True)
    model.eval()
    model.cuda()

    images = load_images(example_ids=example_ids)
    logits = model(images)
    probs = F.softmax(logits, dim=1)
    print(logits.shape)
    print(logits.max(), logits.min())
    print(probs.max())
    quit()

    caso = CASO(second_order=args.second_order, smooth=args.smooth, \
                full_hessian=args.relu_hessian)
    delta = caso.explain(model, images, lambda1=args.lambda1, lambda2=args.lambda2, \
                 n_iter=args.n_iter, optim=args.optimizer, lr=args.lr,
                 init=args.init, n_samples=args.n_samples, stddev_spread=args.stddev, \
                 times_input=args.times_input, magnitude=args.magnitude)
    delta_np = delta.detach().cpu().numpy()
    delta_viz = viz.agg_default(delta_np)
    delta_viz = viz.clip(delta_viz)
    plt.imshow(delta_viz[0, :], cmap='gray')
    plt.axis('off')
    plt.savefig('delta.png', bbox_inches='tight')
    plt.close()
コード例 #4
0
ファイル: fiveArms.py プロジェクト: vhilab/fiveArms
def InitHMD():
#BL:start		
	global collisionLimbBoxes
#	if USE_HMD:
	pptextension.setup()
	if some_global_variables.headTrackingActive:
		viz.go(viz.HMD | viz.TRACKER)
	else:
		viz.go()
	viz.window.setSize(1260, 950)		
	#viz.go(viz.FULLSCREEN)
#BL:end
	viz.clip(0.1)
	vizact.onupdate(0, pptextension.pptUpdate, some_global_variables.avatar, some_global_variables.ghostAvatar, collisionLimbBoxes);
	if(len(collisionLimbBoxes) > 0):
		vizact.ontimer(1, pptextension.refreshAvatar, some_global_variables.ghostAvatar, some_global_variables.avatar, collisionLimbBoxes);
	else:
		vizact.ontimer(1, pptextension.refreshAvatar, some_global_variables.ghostAvatar, some_global_variables.avatar, None);
コード例 #5
0
ファイル: controlAppendages.py プロジェクト: vhilab/thirdArm
def InitHMD():
    # BL:start
    global collisionLimbBoxes, isLeftHanded
    if USE_HMD:
        viz.go(viz.HMD | viz.TRACKER)
        viz.window.setSize(1260, 950)
        pptExtension.setup(isLeftHanded)
        # viz.go(viz.FULLSCREEN)
        # BL:end
        viz.clip(0.1)
        vizact.onupdate(0, pptExtension.pptUpdate, avatar, ghostAvatar, collisionLimbBoxes)
        if len(collisionLimbBoxes) > 0:
            vizact.ontimer(1, pptExtension.refreshAvatar, ghostAvatar, avatar, collisionLimbBoxes)
        else:
            vizact.ontimer(1, pptExtension.refreshAvatar, ghostAvatar, avatar, None)
    else:
        pptSimulation.setup(avatar)
        viz.clip(0.1)
        viz.go(viz.FULLSCREEN)
        vizact.onupdate(0, pptSimulation.pptUpdate, avatar, ghostAvatar, collisionLimbBoxes)
コード例 #6
0
ファイル: MirrorTouchCubes3.py プロジェクト: vhilab/thirdArm
def InitHMD():
	global collisionLimbBoxes
	if(USE_HMD):
#BL:start		
		viz.go(viz.HMD | viz.TRACKER)
		viz.window.setSize(1260, 950)		
		pptExtension.setup();
		#viz.go(viz.FULLSCREEN)
#BL:end
		viz.clip(0.1)
		vizact.onupdate(0, pptExtension.pptUpdate, avatar, ghostAvatar, collisionLimbBoxes);
		if(len(collisionLimbBoxes) > 0):
			vizact.ontimer(1, pptExtension.refreshAvatar, ghostAvatar, avatar, collisionLimbBoxes);
		else:
			vizact.ontimer(1, pptExtension.refreshAvatar, ghostAvatar, avatar, None);
	else:
		pptSimulation.setup(avatar);
		viz.clip(0.1)
		viz.go(viz.FULLSCREEN);
		vizact.onupdate(0, pptSimulation.pptUpdate, avatar, ghostAvatar, collisionLimbBoxes);
コード例 #7
0
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++	
# Use HMD
elif controlType == HMD:
	HZ = 90
	# viz.fullscreen.x is the inital x position when run	
	# add Odyssey tracker
	ODTracker = steamvr.HMD().getSensor()

	# add the virtual tracker, link it to the MainView and set an offset to get the eye position
	link = viz.link(ODTracker, viz.MainView)

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


viz.clip(.001,1000) # Adjust size of the viewing frustum
viz.go()


######################################################################################################
# Helper functions
def goToStage(nextTrialStage):
	global trial_stage
	trial_stage = nextTrialStage
	print 'Going to: ' + trial_stage

	
def endLine(x):
	# takes the x value and gives the z value of the end trigger line defined in the intersense coordinate system
	return x*K + B[trial_num%2]
	
コード例 #8
0
out = "-1"
# start empty world
###################  PERSPECTIVE CORRECT  ##################
###SET UP PHYSICAL DIMENSIONS OF SCREEN####
EH = 1.2  #metres from ground.
Eye_ScreenDist = 1  #distance from screen of ocular point
Proj_V = 1.115  #vertical extent of projection (m)
Proj_H = 1.965  #horizontal extent of projection (m)

# setting Field-of-View fov(vertical degree, horizontal ratio(vertical*ratio[deg]))
vfov = ((np.arctan((Proj_V / 2) / Eye_ScreenDist)) * 2) * (180 / np.pi)
h2v = Proj_H / Proj_V
viz.go()
viz.fov(vfov, h2v)  #sets window aspect ratio.
viz.eyeheight(1.2)  #viz.MainView.setPosition(0,EH,0)
viz.clip(1, 150)  #Further clip means higher band of dots.

##Create array of trials.
global radiiPool, occlPool
#radiiPool = [50, 150, 250, 900, 1100, 1300, 2500, 3000, 3500, -1] #This was the selection used for Pilot.
radiiPool = [
    300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600, -1
]  #13 radii conditions. 300m steps.
occlPool = [0, .5, 1]  #3 occlusion conditions

N = len(radiiPool) * len(occlPool)  ###Number of conditions.
TRIALS = 10  #is this enough? Let's see.
TotalN = N * TRIALS
TRIALSEQ = range(1, N + 1) * TRIALS
direc = [1, -1] * (TotalN / 2)
TRIALSEQ = np.sort(TRIALSEQ)
コード例 #9
0
offsetNode = viz.addChild("ball.wrl")
offsetNode.alpha(0)
car = viz.addChild("mini.osg", parent=offsetNode)  #load car model here
car.setPosition(0.3, -1.1, 0.2)
viz.setMultiSample(4)
NUM_CARS = 0
carlist = []
pivot = [0, 0, 0]
carchoice = 1
currentcar = 'Mini'
speed = 0.0
steer = 0.0
motion = 0
rotateY = 0.0
rotateX = 0.0
viz.clip(0.1, 30000)
vizconnect.go('camera.py')
viz.splashScreen('assets/tracksplash.jpg')
viz.phys.enable()
#carchoiceinit = vizinput.choose('Choose a car:', ['Mini','BMW','Ford Thunderbird','Ford Focus','Lamborghini Murcielago','TVR Speed 12','Dodge Challenger', 'Caterham Seven'])
#carchoice = carchoiceinit + 1
environmentchoice = vizinput.choose('Select time of day:', ['Day', 'Night'])
viz.message(
    'Arrow Keys to steer. Z to go down a gear, X to go up a gear. G to swap between automatic/manual. Up to accelerate, Down to reverse (Automatic only). Spacebar to brake.'
)
#import Drivingfunctions
track = viz.addChild('assets/environment/track.osgb')
station = viz.addChild('assets/environment/gasStation.fbx')
#buildings = viz.addChild('assets/environment/City.osgb')
tower = viz.addChild('assets/environment/Building.fbx')
if environmentchoice == 0:
コード例 #10
0
c = 0
while c < 3142:
	x_right_mid[c] = ( ( (r)*np.cos(right_array_fix[c]) ) + r) 
	z_right_mid[c] = ( ( (r)*np.sin(right_array_fix[c]) ) + straight_road )
	x_left_mid[c] = ( ( (r)*np.cos(left_array_fix[c]) ) - r)
	z_left_mid[c] = ( ( (r)*np.sin(left_array_fix[c]) ) + straight_road )
	
	c += 1

# start empty world
viz.go()
# setting Field-of-View fov(vertical degree, horizontal ratio(vertical*ratio[deg]))
viz.fov(77,1.25) #sets window aspect ratio.
# clipping distance clip(near[m], far[m])
viz.clip(1,60) #clips world at 60m


##Create array of trials.
N = 1 ###Number of conditions, for this code we only have one.
TRIALS = 10
TotalN = N*TRIALS
TRIALSEQ = range(1,N+1)*TRIALS
direc = [1,-1]*(TotalN/2)
TRIALSEQ = np.sort(TRIALSEQ)
TRIALSEQ_signed = np.array(direc)*np.array(TRIALSEQ)
random.shuffle(TRIALSEQ_signed)

# background color
viz.clearcolor(viz.SKYBLUE)
#viz.MainView.getPosition() ## get powition of main viewpoit
コード例 #11
0
        headTrack = viztracker.Keyboard6DOF()
        link = viz.link(headTrack, viz.MainView)
        headTrack.eyeheight(1.6)
        link.setEnabled(True)
        viz.go()
    elif controlType == HMD:
        HZ = 90
        vizconnect.go('vizconnect_config.py')
        # Overwrite headset ipd
        IPD = viz.MainWindow.getIPD()
        vizact.onupdate(viz.UPDATE_LINKS + 1, overwriteIPD)
        # add Odyssey tracker
        ODTracker = vizconnect.getTracker('head_tracker')

    # Use a large size of the viewing frustum
    viz.clip(.001, 1000)

    # loads experimental conditions
    inputFile = os.path.abspath(
        os.path.join(INPUT_DIR, 'exp_a_subj' + subject + '.csv'))

    with open(inputFile, 'r') as file:
        lines = file.read().split('\n')[1:-1]
        conditions = [[float(x) for x in line.split(',')] for line in lines]

    # Define the trial, with which the experiment starts
    ii = START_ON_TRIAL + 3 if START_ON_TRIAL else 0

    # Initailize trial variables
    reset_trial()
コード例 #12
0
	terrain.enable(viz.SAMPLE_ALPHA_TO_COVERAGE)
	terrain.disable(viz.BLEND)
		
	waterParticles = init()
	waterParticles.add()

	import vizact
	vizact.onkeydown(' ', waterParticles.move, 10)
	
	
	
	
	import GodRay
	GodRay.init()
	# Set the near and far clipping distances.
	viz.clip(.1,100000)
	
	ocean = vizfx.addChild(ART_DIRECTORY + './art/environment/OceanFloor.osgb')
	
	
	
	# Change properties to enable the god ray.
	water = ocean.getChild('Water')
	water.disable(viz.DEPTH_WRITE)
	water.drawOrder(101)

	# Create and apply global fog effect.
#	fog = vizfx.addFogEffect(  colorRamp=viz.addTexture(ART_DIRECTORY + './art/texture/FogRamp.tif'), height=1, density=(.09))
	fog = vizfx.addFogEffect(  colorRamp=viz.addTexture(globals_oa.MODEL_DIRECTORY + 'FogRamp.tif'), height=1, density=(.09))
	vizfx.getComposer().addEffect(fog)
	bgcolor = [0.15*1.2, 0.67*1.2, 0.95*1.2]
コード例 #13
0
def initVFXforDC(terrain):
	global fog, lightSun, swayAnimation, waterCaustics, waterParticles
	
	# Set the near and far clipping distances.
	viz.clip(.1,100000)

	# Change properties to enable the god ray.
	if globals_oa.ocean is not None:
		water = globals_oa.ocean.getChild('Water')
		water.disable(viz.DEPTH_WRITE)
		water.drawOrder(101)

	# Create and apply global fog effect.
	
#	fog = vizfx.addFogEffect(  colorRamp=viz.addTexture(ART_DIRECTORY + './art/texture/FogRamp.tif'), height=1, density=(.09))
#	fog = vizfx.addFogEffect(  colorRamp=viz.addTexture(globals_oa.MODEL_DIRECTORY + 'FogRamp.tif'), height=1, density=(.09))
#	vizfx.getComposer().addEffect(fog)
#	fog.setDensity(.2)

	# Enable fog on main scene.
#	viz.MainScene.enable(viz.FOG, op=viz.OP_ROOT)
#	viz.MainScene.enable(viz.FOG)
#	viz.MainScene.fogColor(viz.GRAY)
#	viz.MainScene.fog(.9)
#
#	# Add sun light.
#	lightSun = vizfx.addPointLight()
#	lightSun.constantAttenuation(0)
#	lightSun.linearAttenuation(0)
#	lightSun.quadraticAttenuation(.3)
#	lightSun.setPosition([0.123,0.84911,-1.929])
#	lightSun.color( viz.WHITE )
#	lightSun.specular( viz.WHITE )
#	lightSun.ambient( viz.BLACK )

	# Apply alpha-to-coverage to plant in each zone.
#	for zone in [globals_oa.terrainZone1, globals_oa.terrainZone2, globals_oa.terrainZone3]:
		# Get the description dictionary.
#		if zone is not None:
	zone = globals_oa.terrainZone1
	if zone is not None:
		descDict = zone.getDescriptionDict()
		for key, value in descDict.iteritems():
			if 'swayanimation' in value[0].lower() or 'billboard' in value[0].lower():
				plant = zone.getChild(key + '-GEODE')
				plant.enable(viz.SAMPLE_ALPHA_TO_COVERAGE)
				plant.disable(viz.BLEND)
		
		# Billboarding was applied in Max. The Zone3 doesn't have the node any more.
		if 'OSG_Billboard001' in zone.getNodeNames():
			urchins = zone.getChild('OSG_Billboard001')
			urchins.enable(viz.SAMPLE_ALPHA_TO_COVERAGE)
			urchins.disable(viz.BLEND)
			
	# Add sway animation.
	if Config.SWAY_ANIMATION:
		if terrain is not None: 
			swayAnimation = SwayAnimation.init(terrain)
			swayAnimation.startSwayAnim()			
				
	# Add water Caustics.
	if Config.WATER_CAUSTICS:
		if terrain is not None:
			waterCaustics = WaterCaustics.init(terrain)
			waterCaustics.startWaterCaustics()

	# Create proximity manager
	manager = vizproximity.Manager()
	target = vizproximity.Target(viz.MainView)
	manager.addTarget(target)
	sensorZone1 = vizproximity.Sensor(vizproximity.Box([Config.X_OFFSET_BTW_ZONES-.1,4,Config.X_OFFSET_BTW_ZONES-.1]), source=viz.Matrix.translate([0,0,0]))
	manager.addSensor( sensorZone1 )
	manager.onEnter( sensorZone1, EnterProximityZone1 )
コード例 #14
0
def crystalBallSceneGo():
# try:
 global crystalBall, skipKey
 viz.clip(.1,100000)
 globals_oa.globeScene.enable(viz.RENDERING)
 viz.fogcolor(viz.BLACK)
 viz.fog(0.2)
 #add globe and crystal ball, spinning
 crystalBall = globals_oa.globeScene.getChild('crystalBall.OSGB')
 crystalBall.alpha(.7)
 floor = globals_oa.globeScene.getChild('sceneFloor.osgb')
 #GenerateStarDome(150000,2,0,2000, 1, 0)

 spinForever = vizact.spin(0,-1,0, 25, dur = viz.FOREVER)
 crystalBall.addAction(spinForever,0)
 globe = globals_oa.globeScene.getChild('earthGlobe.OSGB')
 spinSome = vizact.spin(0,-1,0, 30, dur=viz.FOREVER)
 globe.addAction(spinSome,2)
 yield globals_oa.fader.fadeInTask()

 #play audio file
 globeAudio1 = globals_oa.GLOBE_SCENE_AUDIO1
 globeAudio2 = globals_oa.GLOBE_SCENE_AUDIO2
 globeAudio1.play()
 globeAudio2.play()
 
 if globals_oa.skippingActivated: raise MyException()
 
# spinForever2 = vizact.spin(0,1,0, 20, dur = viz.FOREVER)
# yield viztask.waitTime(20)
 yield viztask.waitAny([viztask.waitTime(20), skipKey])
 crystalBall.visible(viz.OFF)
 fadeOutGlobe = vizact.fadeTo(0,time = 3)
 globe.addAction(fadeOutGlobe, 3)
 yield viztask.waitActionEnd(globe, fadeOutGlobe)
 globe.remove()
 crystalBall.visible(viz.ON)
# yield viztask.waitTime(8)
 yield viztask.waitAny([viztask.waitTime(6), skipKey])
 manager = vizproximity.Manager()
 manager.setDebug(False) #make true to see the outline of the proximity sensor
 rightHandTarget = vizproximity.Target(globals_oa.rightHand)
 leftHandTarget = vizproximity.Target(globals_oa.leftHand)
 ballSensor = vizproximity.Sensor(vizproximity.Sphere(3, center=[0,5.5,0]), source=crystalBall)
 manager.addTarget(rightHandTarget)
 manager.addTarget(leftHandTarget)
 manager.addSensor(ballSensor) 
 yield viztask.waitTime(globeAudio2.getDuration()-33)
 failAudio = globals_oa.GLOBE_FAIL_AUDIO
 failTimer = vizact.ontimer(5 + failAudio.getDuration(), failAudio.play) 

 yield vizproximity.waitEnter(ballSensor)
# failTimer = vizact.ontimer(5 + failAudio.getDuration(),playWrapper, failAudio)
 failTimer.remove()
# yield viztask.waitKeyDown('/')
 
 globals_oa.AUDIO_SUCCESS.play()
 yield globals_oa.fader.fadeOutTask()
 globals_oa.globeScene.disable(viz.RENDERING)
 globals_oa.GLOBE_SCENE_AUDIO1.stop()
 viz.fog(0)
コード例 #15
0
from vhil_devkit_Vive import *

import vizfx.postprocess
monoWindow = viz.addWindow(size=(1,1), pos=(0,1), scene=viz.addScene())
monoQuad = viz.addTexQuad(parent=viz.ORTHO, scene=monoWindow)
monoQuad.setBoxTransform(viz.BOX_ENABLED)
monoQuad.setTexQuadDisplayMode(viz.TEXQUAD_FILL)
texture = vizfx.postprocess.getEffectManager().getColorTexture()
def UpdateTexture():
 monoQuad.texture(texture)
vizact.onupdate(0, UpdateTexture)

#Main Setup Functions
headLight = viz.MainView.getHeadLight() 
headLight.disable() 
viz.clip(.01,1000)

#Setup tracking module
transport_vhil.setUp()


skipKey = viztask.waitKeyDown('-')

#Add fader and sound handler objects for scene handling
fader = View_Fader.addFader()
sound_mixer = viz.addSoundMixer()
 
def loadBoatScene():
  global boatscene
  #load boat and island
  boatscene.initBoat()