10     const YAML::Node& n)
 const 
   17     const YAML::Node &n)
 const 
   24     const YAML::Node &n)
 const 
   29     vector<size_t> dim = {2, 1};
 
   35     if(config[
"phi"] && config[
"phi"].size() == 2)
 
   37         phi[0] = config[
"phi"][0].as<
double>();
 
   38         phi[1] = config[
"phi"][1].as<
double>();
 
   40     hdf5util::addArray<double>(g, 
"phi", dim, phi);
 
   46     if(config[
"theta"] && config[
"theta"].size() == 2)
 
   48         theta[0] = config[
"theta"][0].as<
double>();
 
   49         theta[1] = config[
"theta"][1].as<
double>();
 
   51     hdf5util::addArray<double>(g, 
"theta", dim, theta);
 
   59         resolution[0] = config[
"h_res"].as<
double>();
 
   63         resolution[1] = config[
"v_res"].as<
double>();
 
   65     hdf5util::addArray<double>(g, 
"resolution", dim, resolution);
 
   69     if(n[
"pose_estimate"])
 
   71         p_transform = n[
"pose_estimate"].as<
Transformd>();
 
   73     hdf5util::addMatrix<double>(g, 
"poseEstimation", p_transform);
 
   78         r_transform = n[
"registration"].as<
Transformd>();
 
   80     hdf5util::addMatrix<double>(g, 
"registration", r_transform);
 
   88         timestamps[0] = n[
"start_time"].as<
double>();
 
   92         timestamps[1] = n[
"end_time"].as<
double>();
 
   94     hdf5util::addArray<double>(g, 
"timestamps", dim, timestamps);
 
  100     const YAML::Node &n)
 const 
  109         gps[0] = n[
"latitude"].as<
double>();
 
  113         gps[1] = n[
"longitude"].as<
double>();
 
  117         gps[1] = n[
"altitude"].as<
double>();
 
  119     hdf5util::addArray<double>(g, 
"gpsPosition", 3, gps);
 
  123     if(n[
"pose_estimate"])
 
  125         p_transform = n[
"pose_estimate"].as<
Transformd>();
 
  127     hdf5util::addMatrix<double>(g, 
"poseEstimation", p_transform);
 
  130     if(n[
"registration"])
 
  132         r_transform = n[
"registration"].as<
Transformd>();
 
  134     hdf5util::addMatrix<double>(g, 
"registration", r_transform);
 
  141         ts[0] = n[
"timestamp"].as<
double>();
 
  143     hdf5util::addArray<double>(g, 
"timestamp", 1, ts);
 
  148     const YAML::Node &n)
 const  
  150     std::cout << 
timestamp << 
"HDF5MetaDescriptionV2::saveScanProject() not implemented..." << std::endl;
 
  156     const YAML::Node& n)
 const 
  158     std::cout << 
timestamp << 
"HDF5MetaDescriptionV2::saveScanCamera() not implemented..." << std::endl;
 
  163     const YAML::Node &n)
 const 
  165     std::cout << 
timestamp << 
"HDF5MetaDescriptionV2::saveScanImage() not implemented..." << std::endl;
 
  170     std::cout << 
timestamp << 
"HDF5MetaDescriptionV2::hyperspectralCamera() not implemented..." << std::endl;
 
  177      std::cout << 
timestamp << 
"HDF5MetaDescriptionV2::hyperspectralPanoramaChannel() not implemented..." << std::endl;
 
  187     std::vector<size_t> timesDim;
 
  188     doubleArr times = hdf5util::getArray<double>(g, 
"timestamps", timesDim);
 
  189     if(times && timesDim.size() == 2 && timesDim[0] == 2 && timesDim[1] == 1)
 
  191         std::cout << 
timestamp << 
"YAML timestamp..." << std::endl;
 
  192         node[
"start_time"] = times[0]; 
 
  193         node[
"end_time"] = times[1];
 
  197     boost::optional<Transformd> poseEstimate = 
 
  198         hdf5util::getMatrix<Transformd>(g, 
"poseEstimation");
 
  201         node[
"pose_estimate"] = *poseEstimate;
 
  204     boost::optional<Transformd> registration = 
 
  205         hdf5util::getMatrix<Transformd>(g, 
"registration");
 
  208         node[
"registration"] = *registration;
 
  213     std::vector<size_t> resDim;
 
  214     doubleArr phi = hdf5util::getArray<double>(g, 
"phi", resDim);
 
  215     if(phi && resDim.size() == 2 && resDim[0] == 2 && resDim[1] == 1)
 
  217         std::cout << 
timestamp << 
"YAML phi..." << std::endl;
 
  218         config[
"phi"] = YAML::Load(
"[]");
 
  219         config[
"phi"].push_back(phi[0]);
 
  220         config[
"phi"].push_back(phi[1]);
 
  224     doubleArr theta = hdf5util::getArray<double>(g, 
"theta", resDim);
 
  225     if(theta && resDim.size() == 2 && resDim[0] == 2 && resDim[1] == 1)
 
  227         std::cout << 
timestamp << 
"YAML theta..." << std::endl;
 
  228         config[
"theta"] = YAML::Load(
"[]");
 
  229         config[
"theta"].push_back(theta[0]);
 
  230         config[
"theta"].push_back(theta[1]);
 
  234     doubleArr res = hdf5util::getArray<double>(g, 
"resolution", resDim);
 
  235     if(res && resDim.size() == 2 && resDim[0] == 2 && resDim[1] == 1)
 
  237         std::cout << 
timestamp << 
"YAML resolution..." << std::endl;
 
  238         config[
"v_res"] = theta[0];
 
  239         config[
"h_res"] = theta[1];
 
  243     vector<size_t> v = hdf5util::getDimensions<float>(g, 
"points");
 
  246         config[
"num_points"] = v[0];
 
  249     node[
"config"] = config;
 
  258     std::vector<size_t> dim;
 
  259     doubleArr gps = hdf5util::getArray<double>(g, 
"gpsPosition", dim);
 
  260     if(gps && dim.size() == 2 && dim[0] == 3 && dim[1] == 1)
 
  262         std::cout << 
timestamp << 
"YAML GPS..." << std::endl;
 
  263         node[
"latitude"] = gps[0];
 
  264         node[
"longitude"] = gps[1];
 
  265         node[
"altitude"] = gps[2];
 
  270     doubleArr ts = hdf5util::getArray<double>(g, 
"gpsPosition", dim);
 
  271     if(gps && dim.size() == 2 && dim[0] == 1 && dim[1] == 1)
 
  273         std::cout << 
timestamp << 
"YAML timestamp..." << std::endl;
 
  274         node[
"timestamp"] = ts[0];
 
  279     boost::optional<Transformd> poseEstimate = 
 
  280         hdf5util::getMatrix<Transformd>(g, 
"poseEstimation");
 
  283         node[
"pose_estimate"] = *poseEstimate;
 
  286     boost::optional<Transformd> registration = 
 
  287         hdf5util::getMatrix<Transformd>(g, 
"registration");
 
  290         node[
"registration"] = *registration;
 
  298     std::cout << 
timestamp << 
"HDF5MetaDescriptionV2::scanProject() not implemented..." << std::endl;
 
  305     std::cout << 
timestamp << 
"HDF5MetaDescriptionV2::scanCamera() not implemented..." << std::endl;
 
  312     std::cout << 
timestamp << 
"HDF5MetaDescriptionV2::scanImage() not implemented..." << std::endl;