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)
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);
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()
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);
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)
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);
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # 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]
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)
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:
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
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()
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]
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 )
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)
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()