use clap::Parser;
use nuscenes_data::{error::Result, DatasetLoader};
use std::path::PathBuf;
#[derive(Parser)]
struct Opts {
pub version: String,
pub data_dir: PathBuf,
#[clap(long)]
pub no_check: bool,
}
fn main() -> Result<()> {
let opts = Opts::parse();
let dataset = DatasetLoader {
check: !opts.no_check,
..Default::default()
}
.load(&opts.version, &opts.data_dir)?;
for scene in dataset.scene_iter() {
println!("read scene {}", scene.token);
let log = scene.log();
println!("captured at {}", log.date_captured);
for sample in scene.sample_iter() {
println!(
"found sample {} in scene {} with timestamp {}",
sample.token, scene.token, sample.timestamp
);
assert_eq!(scene.token, sample.scene_token);
for annotation in sample.annotation_iter() {
println!(
"found annotation {} in sample {}",
annotation.token, sample.token,
);
}
for sample_data in sample.sample_data_iter() {
println!(
"found data {} in sample {}",
sample_data.token, sample.token
);
}
}
}
Ok(())
}