In [1]:
using AutomotiveDrivingModels
using Distributions
using AutoScenes
using AutoViz
using NGSIM
In [2]:
trajdata = load_trajdata(1);
In [3]:
using Interact
using Cairo
roadway = trajdata.roadway
nothing
In [4]:
const REGIONS = Dict{ASCIIString, SubSceneExtractParams}(
"101A" => SubSceneExtractParams(VecSE2(1966406.608, 570903.793, 2.382), 100.0, 27.0),
"101B" => SubSceneExtractParams(VecSE2(1966501.608, 570804.793, 2.425), 100.0, 25.0),
"101C" => SubSceneExtractParams(VecSE2(1966406.608, 570903.793, 2.382), 100.0, 25.0),
"80A" => SubSceneExtractParams(VecSE2(6042777.824, 2133302.509, 1.684)),
"80B" => SubSceneExtractParams(VecSE2(6042697.824, 2134372.509, 1.745)),
)
Out[4]:
In [5]:
dset = pull_scene_dataset(trajdata, REGIONS["101B"])
length(dset)
Out[5]:
In [6]:
sg = SceneGenerator(dset.factors, (Normal(1.0), Normal(0.5), Normal(0.5), Normal(0.1)), 2)
Out[6]:
In [8]:
scene, source, structure, roadway = sample(sg, dset)
overlays = SceneOverlay[Overwash(RGBA(1.0,1.0,1.0,0.7)), SceneStructureOverlay(structure)]
render(scene, roadway, overlays, cam=SceneFollowCamera(3.0))
Out[8]:
In [11]:
using Interact
starting_scene_index = rand(1:length(dset))
source = dset.sources[starting_scene_index]
scene, structure, roadway = get_scene_structure_and_roadway!(Scene(), dset, starting_scene_index)
overlays = SceneOverlay[Overwash(RGBA(1.0,1.0,1.0,0.7)), SceneStructureOverlay(structure)]
@manipulate for i in 1 : 1000
overlays = SceneOverlay[Overwash(RGBA(1.0,1.0,1.0,0.7)), SceneStructureOverlay(structure)]
render(scene, roadway, overlays, cam=SceneFollowCamera(3.0))
metropolis_hastings_step!(scene, structure, roadway, sg.factors,
sg.propsal_distribution, sg.Δ_propose, sg.mem, sg.rec)
render(scene, roadway, overlays, cam=SceneFollowCamera(3.0))
end
Out[11]:
In [8]:
sdset = sample(5, sg, dset)
length(sdset)
Out[8]:
In [9]:
scene, roadway = get_scene_and_roadway!(Scene(), sdset, dset.trajdatas, 1)
render(scene, roadway, cam=SceneFollowCamera(3.0))
Out[9]:
In [10]:
outpath = "scenedataset_test.dat"
open(io->write(io, sdset), outpath, "w")
In [11]:
sdset2 = open(io->read(io, SceneDataset), outpath, "r")
scene, roadway = get_scene_and_roadway!(Scene(), sdset2, dset.trajdatas, 2, all_vehicles=false)
render(scene, roadway, cam=SceneFollowCamera(3.0))
Out[11]:
In [ ]: