Open3D (C++ API)  0.16.1
Dataset.h
Go to the documentation of this file.
1// ----------------------------------------------------------------------------
2// - Open3D: www.open3d.org -
3// ----------------------------------------------------------------------------
4// The MIT License (MIT)
5//
6// Copyright (c) 2018-2021 www.open3d.org
7//
8// Permission is hereby granted, free of charge, to any person obtaining a copy
9// of this software and associated documentation files (the "Software"), to deal
10// in the Software without restriction, including without limitation the rights
11// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12// copies of the Software, and to permit persons to whom the Software is
13// furnished to do so, subject to the following conditions:
14//
15// The above copyright notice and this permission notice shall be included in
16// all copies or substantial portions of the Software.
17//
18// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
24// IN THE SOFTWARE.
25// ----------------------------------------------------------------------------
26
27#pragma once
28
29#include <string>
30#include <unordered_map>
31#include <utility>
32#include <vector>
33
34namespace open3d {
35namespace data {
36
41std::string LocateDataRoot();
42
46std::string Open3DDownloadsPrefix();
47
75class Dataset {
76public:
89 Dataset(const std::string& prefix, const std::string& data_root = "");
90
91 virtual ~Dataset() {}
92
95 const std::string GetDataRoot() const { return data_root_; }
96
98 const std::string GetPrefix() const { return prefix_; }
99
102 const std::string GetDownloadDir() const {
103 return GetDataRoot() + "/download/" + GetPrefix();
104 }
105
108 const std::string GetExtractDir() const {
109 return GetDataRoot() + "/extract/" + GetPrefix();
110 }
111
112protected:
114 std::string data_root_;
115
117 std::string prefix_;
118
120 void CheckPathsExist(const std::vector<std::string>& paths) const;
121};
122
131 DataDescriptor(const std::vector<std::string>& urls,
132 const std::string& md5,
133 const std::string& extract_in_subdir = "")
134 : urls_(urls), md5_(md5), extract_in_subdir_(extract_in_subdir) {}
135
141 DataDescriptor(const std::string& url,
142 const std::string& md5,
143 const std::string& extract_in_subdir = "")
145 std::vector<std::string>{url}, md5, extract_in_subdir) {}
146
148 std::vector<std::string> urls_;
149
151 std::string md5_;
152
155 std::string extract_in_subdir_ = "";
156};
157
166class DownloadDataset : public Dataset {
167public:
168 DownloadDataset(const std::string& prefix,
169 const DataDescriptor& data_descriptor,
170 const std::string& data_root = "");
171
172 DownloadDataset(const std::string& prefix,
173 const std::vector<DataDescriptor>& data_descriptors,
174 const std::string& data_root = "");
175
176 virtual ~DownloadDataset() {}
177
178protected:
180 bool HasDownloaded(const DataDescriptor& data_descriptor) const;
181 std::vector<DataDescriptor> data_descriptors_;
182};
183
188public:
189 ArmadilloMesh(const std::string& data_root = "");
190
192 std::string GetPath() const { return path_; }
193
194private:
196 std::string path_;
197};
198
203public:
204 AvocadoModel(const std::string& data_root = "");
205
207 std::string GetPath() const { return path_; }
208
209private:
211 std::string path_;
212};
213
219public:
220 BedroomRGBDImages(const std::string& data_root = "");
221
223 std::vector<std::string> GetColorPaths() const { return color_paths_; }
225 std::vector<std::string> GetDepthPaths() const { return depth_paths_; }
226
229 std::string GetTrajectoryLogPath() const { return trajectory_log_path_; }
231 std::string GetReconstructionPath() const { return reconstruction_path_; }
232
233private:
235 std::vector<std::string> color_paths_;
237 std::vector<std::string> depth_paths_;
238
240 std::string trajectory_log_path_;
242 std::string reconstruction_path_;
243};
244
249public:
250 BunnyMesh(const std::string& data_root = "");
251
253 std::string GetPath() const { return path_; }
254
255private:
257 std::string path_;
258};
259
267public:
268 CrateModel(const std::string& data_root = "");
269
272 std::string GetPath(const std::string filename = "crate_model") const {
273 return map_filename_to_path_.at(filename);
274 }
275
278 std::unordered_map<std::string, std::string> GetPathMap() const {
279 return map_filename_to_path_;
280 }
281
282private:
284 std::unordered_map<std::string, std::string> map_filename_to_path_;
285};
286
291public:
292 DamagedHelmetModel(const std::string& data_root = "");
293
295 std::string GetPath() const { return path_; }
296
297private:
299 std::string path_;
300};
301
308public:
309 DemoColoredICPPointClouds(const std::string& data_root = "");
310
312 std::vector<std::string> GetPaths() const { return paths_; }
315 std::string GetPaths(size_t index) const;
316
317private:
318 // List of path to PCD point-cloud fragments.
319 std::vector<std::string> paths_;
320};
321
328public:
329 DemoCropPointCloud(const std::string& data_root = "");
330
332 std::string GetPointCloudPath() const { return point_cloud_path_; }
334 std::string GetCroppedJSONPath() const { return cropped_json_path_; }
335
336private:
337 // Path to example point cloud.
338 std::string point_cloud_path_;
339 // Path to saved selected polygon volume file.
340 std::string cropped_json_path_;
341};
342
349public:
350 DemoCustomVisualization(const std::string& data_root = "");
351
353 std::string GetPointCloudPath() const { return point_cloud_path_; }
355 std::string GetTrajectoryPath() const { return camera_trajectory_path_; }
357 std::string GetRenderOptionPath() const { return render_option_path_; }
358
359private:
360 std::string point_cloud_path_;
361 std::string camera_trajectory_path_;
362 std::string render_option_path_;
363};
364
371public:
372 DemoFeatureMatchingPointClouds(const std::string& data_root = "");
373
375 std::vector<std::string> GetPointCloudPaths() const {
376 return point_cloud_paths_;
377 }
380 std::vector<std::string> GetFPFHFeaturePaths() const {
381 return fpfh_feature_paths_;
382 }
385 std::vector<std::string> GetL32DFeaturePaths() const {
386 return l32d_feature_paths_;
387 }
388
389private:
391 std::vector<std::string> point_cloud_paths_;
394 std::vector<std::string> fpfh_feature_paths_;
397 std::vector<std::string> l32d_feature_paths_;
398};
399
405public:
406 DemoICPPointClouds(const std::string& data_root = "");
407
409 std::vector<std::string> GetPaths() const { return paths_; }
412 std::string GetPaths(size_t index) const;
415 std::string GetTransformationLogPath() const {
416 return transformation_log_path_;
417 }
418
419private:
420 // List of path to PCD point-cloud fragments.
421 std::vector<std::string> paths_;
422 std::string transformation_log_path_;
423};
424
430public:
431 DemoPoseGraphOptimization(const std::string& data_root = "");
432
434 std::string GetPoseGraphFragmentPath() const {
435 return pose_graph_fragment_path_;
436 }
438 std::string GetPoseGraphGlobalPath() const {
439 return pose_graph_global_path_;
440 }
441
442private:
444 std::string pose_graph_fragment_path_;
446 std::string pose_graph_global_path_;
447};
448
453public:
454 EaglePointCloud(const std::string& data_root = "");
455
457 std::string GetPath() const { return path_; }
458
459private:
461 std::string path_;
462};
463
471public:
472 FlightHelmetModel(const std::string& data_root = "");
473
477 std::string GetPath(const std::string filename = "flight_helmet") const {
478 return map_filename_to_path_.at(filename);
479 }
480
483 std::unordered_map<std::string, std::string> GetPathMap() const {
484 return map_filename_to_path_;
485 }
486
487private:
489 std::unordered_map<std::string, std::string> map_filename_to_path_;
490};
491
496public:
497 JackJackL515Bag(const std::string& data_root = "");
498
500 std::string GetPath() const { return path_; }
501
502private:
504 std::string path_;
505};
506
510public:
511 JuneauImage(const std::string& data_root = "");
512
514 std::string GetPath() const { return path_; }
515
516private:
518 std::string path_;
519};
520
523class KnotMesh : public DownloadDataset {
524public:
525 KnotMesh(const std::string& data_root = "");
526
528 std::string GetPath() const { return path_; }
529
530private:
532 std::string path_;
533};
534
540public:
541 LivingRoomPointClouds(const std::string& data_root = "");
542
544 std::vector<std::string> GetPaths() const { return paths_; }
548 std::string GetPaths(size_t index) const;
549
550private:
552 std::vector<std::string> paths_;
553};
554
560public:
561 LoungeRGBDImages(const std::string& data_root = "");
562
564 std::vector<std::string> GetColorPaths() const { return color_paths_; }
566 std::vector<std::string> GetDepthPaths() const { return depth_paths_; }
567
570 std::string GetTrajectoryLogPath() const { return trajectory_log_path_; }
572 std::string GetReconstructionPath() const { return reconstruction_path_; }
573
574private:
576 std::vector<std::string> color_paths_;
578 std::vector<std::string> depth_paths_;
579
581 std::string trajectory_log_path_;
583 std::string reconstruction_path_;
584};
585
590public:
591 MetalTexture(const std::string& data_root = "");
593 std::string GetAlbedoTexturePath() const {
594 return map_filename_to_path_.at("albedo");
595 }
597 std::string GetNormalTexturePath() const {
598 return map_filename_to_path_.at("normal");
599 }
601 std::string GetRoughnessTexturePath() const {
602 return map_filename_to_path_.at("roughness");
603 }
605 std::string GetMetallicTexturePath() const {
606 return map_filename_to_path_.at("metallic");
607 }
610 std::unordered_map<std::string, std::string> GetPathMap() const {
611 return map_filename_to_path_;
612 }
613
614private:
616 std::unordered_map<std::string, std::string> map_filename_to_path_;
617};
618
626public:
627 MonkeyModel(const std::string& data_root = "");
628
631 std::string GetPath(const std::string filename = "monkey_model") const {
632 return map_filename_to_path_.at(filename);
633 }
634
637 std::unordered_map<std::string, std::string> GetPathMap() const {
638 return map_filename_to_path_;
639 }
640
641private:
643 std::unordered_map<std::string, std::string> map_filename_to_path_;
644};
645
651public:
652 OfficePointClouds(const std::string& data_root = "");
653
655 std::vector<std::string> GetPaths() const { return paths_; }
659 std::string GetPaths(size_t index) const;
660
661private:
663 std::vector<std::string> paths_;
664};
665
670public:
671 PCDPointCloud(const std::string& data_root = "");
672
674 std::string GetPath() const { return path_; }
675
676private:
678 std::string path_;
679};
680
685public:
686 PLYPointCloud(const std::string& data_root = "");
687
689 std::string GetPath() const { return path_; }
690
691private:
693 std::string path_;
694};
695
700public:
701 PTSPointCloud(const std::string& data_root = "");
702
704 std::string GetPath() const { return path_; }
705
706private:
708 std::string path_;
709};
710
715public:
716 PaintedPlasterTexture(const std::string& data_root = "");
718 std::string GetAlbedoTexturePath() const {
719 return map_filename_to_path_.at("albedo");
720 }
722 std::string GetNormalTexturePath() const {
723 return map_filename_to_path_.at("normal");
724 }
726 std::string GetRoughnessTexturePath() const {
727 return map_filename_to_path_.at("roughness");
728 }
731 std::unordered_map<std::string, std::string> GetPathMap() const {
732 return map_filename_to_path_;
733 }
734
735private:
737 std::unordered_map<std::string, std::string> map_filename_to_path_;
738};
739
766public:
767 RedwoodIndoorLivingRoom1(const std::string& data_root = "");
768
770 std::string GetPointCloudPath() const { return point_cloud_path_; }
772 std::vector<std::string> GetColorPaths() const { return color_paths_; }
774 std::vector<std::string> GetDepthPaths() const { return depth_paths_; }
776 std::vector<std::string> GetNoisyDepthPaths() const {
777 return noisy_depth_paths_;
778 }
780 std::string GetONIPath() const { return oni_path_; }
782 std::string GetTrajectoryPath() const { return trajectory_path_; }
784 std::string GetNoiseModelPath() const { return noise_model_path_; }
785
786private:
787 std::string point_cloud_path_;
788 std::vector<std::string> color_paths_;
789 std::vector<std::string> depth_paths_;
790 std::vector<std::string> noisy_depth_paths_;
791 std::string oni_path_;
792 std::string trajectory_path_;
793 std::string noise_model_path_;
794};
795
822public:
823 RedwoodIndoorLivingRoom2(const std::string& data_root = "");
824
826 std::string GetPointCloudPath() const { return point_cloud_path_; }
828 std::vector<std::string> GetColorPaths() const { return color_paths_; }
830 std::vector<std::string> GetDepthPaths() const { return depth_paths_; }
832 std::vector<std::string> GetNoisyDepthPaths() const {
833 return noisy_depth_paths_;
834 }
836 std::string GetONIPath() const { return oni_path_; }
838 std::string GetTrajectoryPath() const { return trajectory_path_; }
840 std::string GetNoiseModelPath() const { return noise_model_path_; }
841
842private:
843 std::string point_cloud_path_;
844 std::vector<std::string> color_paths_;
845 std::vector<std::string> depth_paths_;
846 std::vector<std::string> noisy_depth_paths_;
847 std::string oni_path_;
848 std::string trajectory_path_;
849 std::string noise_model_path_;
850};
851
878public:
879 RedwoodIndoorOffice1(const std::string& data_root = "");
880
882 std::string GetPointCloudPath() const { return point_cloud_path_; }
884 std::vector<std::string> GetColorPaths() const { return color_paths_; }
886 std::vector<std::string> GetDepthPaths() const { return depth_paths_; }
888 std::vector<std::string> GetNoisyDepthPaths() const {
889 return noisy_depth_paths_;
890 }
892 std::string GetONIPath() const { return oni_path_; }
894 std::string GetTrajectoryPath() const { return trajectory_path_; }
896 std::string GetNoiseModelPath() const { return noise_model_path_; }
897
898private:
899 std::string point_cloud_path_;
900 std::vector<std::string> color_paths_;
901 std::vector<std::string> depth_paths_;
902 std::vector<std::string> noisy_depth_paths_;
903 std::string oni_path_;
904 std::string trajectory_path_;
905 std::string noise_model_path_;
906};
907
934public:
935 RedwoodIndoorOffice2(const std::string& data_root = "");
936
938 std::string GetPointCloudPath() const { return point_cloud_path_; }
940 std::vector<std::string> GetColorPaths() const { return color_paths_; }
942 std::vector<std::string> GetDepthPaths() const { return depth_paths_; }
944 std::vector<std::string> GetNoisyDepthPaths() const {
945 return noisy_depth_paths_;
946 }
948 std::string GetONIPath() const { return oni_path_; }
950 std::string GetTrajectoryPath() const { return trajectory_path_; }
952 std::string GetNoiseModelPath() const { return noise_model_path_; }
953
954private:
955 std::string point_cloud_path_;
956 std::vector<std::string> color_paths_;
957 std::vector<std::string> depth_paths_;
958 std::vector<std::string> noisy_depth_paths_;
959 std::string oni_path_;
960 std::string trajectory_path_;
961 std::string noise_model_path_;
962};
963
968public:
969 SampleFountainRGBDImages(const std::string& data_root = "");
970
972 std::vector<std::string> GetColorPaths() const { return color_paths_; }
974 std::vector<std::string> GetDepthPaths() const { return depth_paths_; }
976 std::string GetKeyframePosesLogPath() const {
977 return keyframe_poses_log_path_;
978 }
980 std::string GetReconstructionPath() const { return reconstruction_path_; }
981
982private:
983 std::vector<std::string> color_paths_;
984 std::vector<std::string> depth_paths_;
985 std::string keyframe_poses_log_path_;
986 std::string reconstruction_path_;
987};
988
992public:
993 SampleL515Bag(const std::string& data_root = "");
994
996 std::string GetPath() const { return path_; }
997
998private:
1000 std::string path_;
1001};
1002
1008public:
1009 SampleNYURGBDImage(const std::string& data_root = "");
1010
1012 std::string GetColorPath() const { return color_path_; }
1014 std::string GetDepthPath() const { return depth_path_; }
1015
1016private:
1018 std::string color_path_;
1020 std::string depth_path_;
1021};
1022
1026// Additionally it also contains camera trajectory log, camera odometry log,
1027// rgbd match, and point cloud reconstruction obtained using TSDF.
1029public:
1030 SampleRedwoodRGBDImages(const std::string& data_root = "");
1031
1033 std::vector<std::string> GetColorPaths() const { return color_paths_; }
1035 std::vector<std::string> GetDepthPaths() const { return depth_paths_; }
1036
1038 std::string GetTrajectoryLogPath() const { return trajectory_log_path_; }
1040 std::string GetOdometryLogPath() const { return odometry_log_path_; }
1042 std::string GetRGBDMatchPath() const { return rgbd_match_path_; }
1044 std::string GetReconstructionPath() const { return reconstruction_path_; }
1046 std::string GetCameraIntrinsicPath() const {
1047 return camera_intrinsic_path_;
1048 }
1049
1050private:
1052 std::vector<std::string> color_paths_;
1054 std::vector<std::string> depth_paths_;
1055
1057 std::string trajectory_log_path_;
1059 std::string odometry_log_path_;
1061 std::string rgbd_match_path_;
1063 std::string reconstruction_path_;
1065 std::string camera_intrinsic_path_;
1066};
1067
1073public:
1074 SampleSUNRGBDImage(const std::string& data_root = "");
1075
1077 std::string GetColorPath() const { return color_path_; }
1079 std::string GetDepthPath() const { return depth_path_; }
1080
1081private:
1083 std::string color_path_;
1085 std::string depth_path_;
1086};
1087
1093public:
1094 SampleTUMRGBDImage(const std::string& data_root = "");
1095
1097 std::string GetColorPath() const { return color_path_; }
1099 std::string GetDepthPath() const { return depth_path_; }
1100
1101private:
1103 std::string color_path_;
1105 std::string depth_path_;
1106};
1107
1115public:
1116 SwordModel(const std::string& data_root = "");
1117
1121 std::string GetPath(const std::string filename = "sword_model") const {
1122 return map_filename_to_path_.at(filename);
1123 }
1124
1127 std::unordered_map<std::string, std::string> GetPathMap() const {
1128 return map_filename_to_path_;
1129 }
1130
1131private:
1133 std::unordered_map<std::string, std::string> map_filename_to_path_;
1134};
1135
1140public:
1141 TerrazzoTexture(const std::string& data_root = "");
1143 std::string GetAlbedoTexturePath() const {
1144 return map_filename_to_path_.at("albedo");
1145 }
1147 std::string GetNormalTexturePath() const {
1148 return map_filename_to_path_.at("normal");
1149 }
1151 std::string GetRoughnessTexturePath() const {
1152 return map_filename_to_path_.at("roughness");
1153 }
1156 std::unordered_map<std::string, std::string> GetPathMap() const {
1157 return map_filename_to_path_;
1158 }
1159
1160private:
1162 std::unordered_map<std::string, std::string> map_filename_to_path_;
1163};
1164
1169public:
1170 TilesTexture(const std::string& data_root = "");
1172 std::string GetAlbedoTexturePath() const {
1173 return map_filename_to_path_.at("albedo");
1174 }
1176 std::string GetNormalTexturePath() const {
1177 return map_filename_to_path_.at("normal");
1178 }
1180 std::string GetRoughnessTexturePath() const {
1181 return map_filename_to_path_.at("roughness");
1182 }
1185 std::unordered_map<std::string, std::string> GetPathMap() const {
1186 return map_filename_to_path_;
1187 }
1188
1189private:
1191 std::unordered_map<std::string, std::string> map_filename_to_path_;
1192};
1193
1198public:
1199 WoodFloorTexture(const std::string& data_root = "");
1201 std::string GetAlbedoTexturePath() const {
1202 return map_filename_to_path_.at("albedo");
1203 }
1205 std::string GetNormalTexturePath() const {
1206 return map_filename_to_path_.at("normal");
1207 }
1209 std::string GetRoughnessTexturePath() const {
1210 return map_filename_to_path_.at("roughness");
1211 }
1214 std::unordered_map<std::string, std::string> GetPathMap() const {
1215 return map_filename_to_path_;
1216 }
1217
1218private:
1220 std::unordered_map<std::string, std::string> map_filename_to_path_;
1221};
1222
1227public:
1228 WoodTexture(const std::string& data_root = "");
1230 std::string GetAlbedoTexturePath() const {
1231 return map_filename_to_path_.at("albedo");
1232 }
1234 std::string GetNormalTexturePath() const {
1235 return map_filename_to_path_.at("normal");
1236 }
1238 std::string GetRoughnessTexturePath() const {
1239 return map_filename_to_path_.at("roughness");
1240 }
1243 std::unordered_map<std::string, std::string> GetPathMap() const {
1244 return map_filename_to_path_;
1245 }
1246
1247private:
1249 std::unordered_map<std::string, std::string> map_filename_to_path_;
1250};
1251
1252} // namespace data
1253} // namespace open3d
Data class for ArmadilloMesh contains the ArmadilloMesh.ply from the Stanford 3D Scanning Repository.
Definition: Dataset.h:187
ArmadilloMesh(const std::string &data_root="")
Definition: ArmadilloMesh.cpp:40
std::string GetPath() const
Path to the ArmadilloMesh.ply file.
Definition: Dataset.h:192
Data class for AvocadoModel contains a avocado model file, along with material and PNG format embedde...
Definition: Dataset.h:202
AvocadoModel(const std::string &data_root="")
Definition: AvocadoModel.cpp:40
std::string GetPath() const
Path to the GLB format avocado model.
Definition: Dataset.h:207
Data class for BedroomRGBDImages contains a sample set of 21931 color and depth images from Redwood R...
Definition: Dataset.h:218
BedroomRGBDImages(const std::string &data_root="")
Definition: BedroomRGBDImages.cpp:49
std::vector< std::string > GetDepthPaths() const
Returns List of paths to depth image samples of size 21931.
Definition: Dataset.h:225
std::string GetReconstructionPath() const
Path to mesh reconstruction bedroom.ply.
Definition: Dataset.h:231
std::vector< std::string > GetColorPaths() const
Returns List of paths to color image samples of size 21931.
Definition: Dataset.h:223
std::string GetTrajectoryLogPath() const
Path to camera trajectory log file lounge_trajectory.log.
Definition: Dataset.h:229
Data class for BunnyMesh contains the BunnyMesh.ply from the Stanford 3D Scanning Repository.
Definition: Dataset.h:248
std::string GetPath() const
Path to the BunnyMesh.ply file.
Definition: Dataset.h:253
BunnyMesh(const std::string &data_root="")
Definition: BunnyMesh.cpp:40
Data class for CrateModel contains a sword model file, along with material and various other texture ...
Definition: Dataset.h:266
std::string GetPath(const std::string filename="crate_model") const
Path to the filename. By default it returns the path to crate.obj file. Refer documentation page for ...
Definition: Dataset.h:272
std::unordered_map< std::string, std::string > GetPathMap() const
Returns the map of filename to path. Refer documentation page for available options.
Definition: Dataset.h:278
CrateModel(const std::string &data_root="")
Definition: CrateModel.cpp:40
Data class for DamagedHelmetModel contains a damaged helmet model file, along with material and JPG f...
Definition: Dataset.h:290
DamagedHelmetModel(const std::string &data_root="")
Definition: DamagedHelmetModel.cpp:40
std::string GetPath() const
Path to the GLB format damaged helmet model.
Definition: Dataset.h:295
Base Open3D dataset class.
Definition: Dataset.h:75
std::string prefix_
Dataset prefix.
Definition: Dataset.h:117
virtual ~Dataset()
Definition: Dataset.h:91
const std::string GetExtractDir() const
Get absolute path to extract directory. i.e. ${data_root}/extract/${prefix}.
Definition: Dataset.h:108
Dataset(const std::string &prefix, const std::string &data_root="")
Parameterized Constructor.
Definition: Dataset.cpp:54
void CheckPathsExist(const std::vector< std::string > &paths) const
Check if the paths exists after extraction.
Definition: Dataset.cpp:66
std::string data_root_
Open3D data root.
Definition: Dataset.h:114
const std::string GetPrefix() const
Get prefix for the dataset.
Definition: Dataset.h:98
const std::string GetDownloadDir() const
Get absolute path to download directory. i.e. ${data_root}/download/${prefix}.
Definition: Dataset.h:102
const std::string GetDataRoot() const
Get data root directory. The data root is set at construction time or automatically determined.
Definition: Dataset.h:95
Data class for DemoColoredICPPointClouds contains 2 point clouds of PLY format. This data is used in ...
Definition: Dataset.h:307
DemoColoredICPPointClouds(const std::string &data_root="")
Definition: DemoColoredICPPointClouds.cpp:40
std::vector< std::string > GetPaths() const
Returns list of list of 2 point cloud paths.
Definition: Dataset.h:312
Data class for DemoCropPointCloud contains a point cloud, and cropped.json (a saved selected polygon ...
Definition: Dataset.h:327
DemoCropPointCloud(const std::string &data_root="")
Definition: DemoCropPointCloud.cpp:40
std::string GetPointCloudPath() const
Path to example point cloud.
Definition: Dataset.h:332
std::string GetCroppedJSONPath() const
Path to saved selected polygon volume file.
Definition: Dataset.h:334
Data class for DemoCustomVisualization contains an example point-cloud, camera trajectory (json file)...
Definition: Dataset.h:348
std::string GetTrajectoryPath() const
Path to the camera_trajectory.json.
Definition: Dataset.h:355
std::string GetPointCloudPath() const
Path to the point cloud (ply).
Definition: Dataset.h:353
DemoCustomVisualization(const std::string &data_root="")
Definition: DemoCustomVisualization.cpp:40
std::string GetRenderOptionPath() const
Path to the renderoption.json.
Definition: Dataset.h:357
Data class for DemoFeatureMatchingPointClouds contains 2 point cloud fragments and their respective F...
Definition: Dataset.h:370
DemoFeatureMatchingPointClouds(const std::string &data_root="")
Definition: DemoFeatureMatchingPointClouds.cpp:41
std::vector< std::string > GetFPFHFeaturePaths() const
Returns list of paths to saved FPFH features binary for point clouds, respectively,...
Definition: Dataset.h:380
std::vector< std::string > GetL32DFeaturePaths() const
Returns list of paths to saved L32D features binary for point clouds, respectively,...
Definition: Dataset.h:385
std::vector< std::string > GetPointCloudPaths() const
Returns list of paths to point clouds, of size 2.
Definition: Dataset.h:375
Data class for DemoICPPointClouds contains 3 point clouds of binary PCD format. This data is used in ...
Definition: Dataset.h:404
std::string GetTransformationLogPath() const
Path to the transformation metadata log file, containing transformation between frame 0 and 1,...
Definition: Dataset.h:415
std::vector< std::string > GetPaths() const
Returns list of 3 point cloud paths.
Definition: Dataset.h:409
DemoICPPointClouds(const std::string &data_root="")
Definition: DemoICPPointClouds.cpp:40
Data class for DemoPoseGraphOptimization contains an example fragment pose graph, and global pose gra...
Definition: Dataset.h:429
std::string GetPoseGraphFragmentPath() const
Path to example global pose graph (json).
Definition: Dataset.h:434
std::string GetPoseGraphGlobalPath() const
Path to example fragment pose graph (json).
Definition: Dataset.h:438
DemoPoseGraphOptimization(const std::string &data_root="")
Definition: DemoPoseGraphOptimization.cpp:40
Dataset class with one or more downloaded file.
Definition: Dataset.h:166
DownloadDataset(const std::string &prefix, const DataDescriptor &data_descriptor, const std::string &data_root="")
Definition: Dataset.cpp:84
bool HasDownloaded(const DataDescriptor &data_descriptor) const
Check if all files are downloaded and MD5 checksums are valid.
Definition: Dataset.cpp:138
virtual ~DownloadDataset()
Definition: Dataset.h:176
std::vector< DataDescriptor > data_descriptors_
Definition: Dataset.h:181
Data class for EaglePointCloud contains the EaglePointCloud.ply file.
Definition: Dataset.h:452
std::string GetPath() const
Path to the EaglePointCloud.ply file.
Definition: Dataset.h:457
EaglePointCloud(const std::string &data_root="")
Definition: EaglePointCloud.cpp:40
Data class for FlightHelmetModel contains a flight helmet model file, along with material and various...
Definition: Dataset.h:470
FlightHelmetModel(const std::string &data_root="")
Definition: FlightHelmetModel.cpp:40
std::unordered_map< std::string, std::string > GetPathMap() const
Returns the map of filename to path. Refer documentation page for available options.
Definition: Dataset.h:483
std::string GetPath(const std::string filename="flight_helmet") const
Path to the filename. By default it returns the path to FlightHelmet.gltf file. Refer documentation p...
Definition: Dataset.h:477
Data class for JackJackL515Bag contains the RealSense L515 JackJackL515Bag.bag file.
Definition: Dataset.h:495
std::string GetPath() const
Path to the JackJackL515Bag.bag file.
Definition: Dataset.h:500
JackJackL515Bag(const std::string &data_root="")
Definition: JackJackL515Bag.cpp:39
Data class for JuneauImage contains the JuneauImage.jpg file.
Definition: Dataset.h:509
std::string GetPath() const
Path to the JuneauImage.jgp file.
Definition: Dataset.h:514
JuneauImage(const std::string &data_root="")
Definition: JuneauImage.cpp:40
Data class for KnotMesh contains the KnotMesh.ply file.
Definition: Dataset.h:523
KnotMesh(const std::string &data_root="")
Definition: KnotMesh.cpp:40
std::string GetPath() const
Path to the KnotMesh.ply file.
Definition: Dataset.h:528
Dataset class for LivingRoomPointClouds contains 57 point clouds of binary PLY format.
Definition: Dataset.h:539
std::vector< std::string > GetPaths() const
Returns list of paths to ply point-cloud fragments of size 57.
Definition: Dataset.h:544
LivingRoomPointClouds(const std::string &data_root="")
Definition: LivingRoomPointClouds.cpp:40
Data class for LoungeRGBDImages contains a sample set of 3000 color and depth images from Stanford Lo...
Definition: Dataset.h:559
std::string GetReconstructionPath() const
Path to mesh reconstruction lounge.ply.
Definition: Dataset.h:572
std::vector< std::string > GetDepthPaths() const
Returns List of paths to depth image samples of size 3000.
Definition: Dataset.h:566
std::vector< std::string > GetColorPaths() const
Returns List of paths to color image samples of size 3000.
Definition: Dataset.h:564
std::string GetTrajectoryLogPath() const
Path to camera trajectory log file lounge_trajectory.log.
Definition: Dataset.h:570
LoungeRGBDImages(const std::string &data_root="")
Definition: LoungeRGBDImages.cpp:40
Data class for MetalTexture contains albedo, normal, roughness and metallic texture files for metal b...
Definition: Dataset.h:589
std::string GetNormalTexturePath() const
Returns the path to normal texture image.
Definition: Dataset.h:597
MetalTexture(const std::string &data_root="")
Definition: MetalTexture.cpp:40
std::string GetRoughnessTexturePath() const
Returns the path to roughness texture image.
Definition: Dataset.h:601
std::string GetAlbedoTexturePath() const
Returns the path to albedo color texture image.
Definition: Dataset.h:593
std::string GetMetallicTexturePath() const
Returns the path to metallic texture image.
Definition: Dataset.h:605
std::unordered_map< std::string, std::string > GetPathMap() const
Returns the map of filename to path. Refer documentation page for available options.
Definition: Dataset.h:610
Data class for MonkeyModel contains a monkey model file, along with material and various other textur...
Definition: Dataset.h:625
std::unordered_map< std::string, std::string > GetPathMap() const
Returns the map of filename to path. Refer documentation page for available options.
Definition: Dataset.h:637
std::string GetPath(const std::string filename="monkey_model") const
Path to the filename. By default it returns the path to mokey.obj file. Refer documentation page for ...
Definition: Dataset.h:631
MonkeyModel(const std::string &data_root="")
Definition: MonkeyModel.cpp:40
Dataset class for OfficePointClouds contains 53 point clouds of binary PLY format.
Definition: Dataset.h:650
OfficePointClouds(const std::string &data_root="")
Definition: OfficePointClouds.cpp:40
std::vector< std::string > GetPaths() const
Returns list of paths to ply point-cloud fragments of size 52.
Definition: Dataset.h:655
Data class for PCDPointCloud contains the fragment.pcd point cloud mesh from the Redwood Living Room ...
Definition: Dataset.h:669
PCDPointCloud(const std::string &data_root="")
Definition: PCDPointCloud.cpp:40
std::string GetPath() const
Path to the pcd format point cloud.
Definition: Dataset.h:674
Data class for PLYPointCloud contains the fragment.ply point cloud mesh from the Redwood Living Room ...
Definition: Dataset.h:684
PLYPointCloud(const std::string &data_root="")
Definition: PLYPointCloud.cpp:40
std::string GetPath() const
Path to the PLY format point cloud.
Definition: Dataset.h:689
Data class for PTSPointCloud contains a sample point-cloud of PTS format.
Definition: Dataset.h:699
PTSPointCloud(const std::string &data_root="")
Definition: PTSPointCloud.cpp:40
std::string GetPath() const
Path to the PTS format point cloud.
Definition: Dataset.h:704
Data class for PaintedPlasterTexture contains albedo, normal and roughness texture files for painted ...
Definition: Dataset.h:714
std::string GetRoughnessTexturePath() const
Returns the path to roughness texture image.
Definition: Dataset.h:726
std::string GetNormalTexturePath() const
Returns the path to normal texture image.
Definition: Dataset.h:722
std::unordered_map< std::string, std::string > GetPathMap() const
Returns the map of filename to path. Refer documentation page for available options.
Definition: Dataset.h:731
std::string GetAlbedoTexturePath() const
Returns the path to albedo color texture image.
Definition: Dataset.h:718
PaintedPlasterTexture(const std::string &data_root="")
Definition: PaintedPlasterTexture.cpp:40
Data class for RedwoodIndoorLivingRoom1, containing dense point cloud, rgb sequence,...
Definition: Dataset.h:765
std::string GetPointCloudPath() const
Path to the point cloud.
Definition: Dataset.h:770
std::string GetONIPath() const
Paths to the ONI sequence.
Definition: Dataset.h:780
std::string GetNoiseModelPath() const
Path to the noise model.
Definition: Dataset.h:784
std::vector< std::string > GetColorPaths() const
Paths to the color images.
Definition: Dataset.h:772
RedwoodIndoorLivingRoom1(const std::string &data_root="")
Definition: RedwoodIndoorLivingRoom1.cpp:56
std::vector< std::string > GetDepthPaths() const
Paths to the clean depth images.
Definition: Dataset.h:774
std::vector< std::string > GetNoisyDepthPaths() const
Paths to the noisy depth images.
Definition: Dataset.h:776
std::string GetTrajectoryPath() const
Path to the ground-truth camera trajectory.
Definition: Dataset.h:782
Data class for RedwoodIndoorLivingRoom1, containing dense point cloud, rgb sequence,...
Definition: Dataset.h:821
std::vector< std::string > GetColorPaths() const
Paths to the color images.
Definition: Dataset.h:828
std::vector< std::string > GetNoisyDepthPaths() const
Paths to the noisy depth images.
Definition: Dataset.h:832
std::vector< std::string > GetDepthPaths() const
Paths to the clean depth images.
Definition: Dataset.h:830
RedwoodIndoorLivingRoom2(const std::string &data_root="")
Definition: RedwoodIndoorLivingRoom2.cpp:55
std::string GetPointCloudPath() const
Path to the point cloud.
Definition: Dataset.h:826
std::string GetONIPath() const
Paths to the ONI sequence.
Definition: Dataset.h:836
std::string GetTrajectoryPath() const
Path to the ground-truth camera trajectory.
Definition: Dataset.h:838
std::string GetNoiseModelPath() const
Path to the noise model.
Definition: Dataset.h:840
Data class for RedwoodIndoorLivingRoom1, containing dense point cloud, rgb sequence,...
Definition: Dataset.h:877
std::vector< std::string > GetDepthPaths() const
Paths to the clean depth images.
Definition: Dataset.h:886
std::vector< std::string > GetNoisyDepthPaths() const
Paths to the noisy depth images.
Definition: Dataset.h:888
std::vector< std::string > GetColorPaths() const
Paths to the color images.
Definition: Dataset.h:884
std::string GetTrajectoryPath() const
Path to the ground-truth camera trajectory.
Definition: Dataset.h:894
RedwoodIndoorOffice1(const std::string &data_root="")
Definition: RedwoodIndoorOffice1.cpp:54
std::string GetPointCloudPath() const
Path to the point cloud.
Definition: Dataset.h:882
std::string GetONIPath() const
Paths to the ONI sequence.
Definition: Dataset.h:892
std::string GetNoiseModelPath() const
Path to the noise model.
Definition: Dataset.h:896
Data class for RedwoodIndoorLivingRoom1, containing dense point cloud, rgb sequence,...
Definition: Dataset.h:933
std::vector< std::string > GetColorPaths() const
Paths to the color images.
Definition: Dataset.h:940
std::string GetNoiseModelPath() const
Path to the noise model.
Definition: Dataset.h:952
std::string GetPointCloudPath() const
Path to the point cloud.
Definition: Dataset.h:938
RedwoodIndoorOffice2(const std::string &data_root="")
Definition: RedwoodIndoorOffice2.cpp:54
std::vector< std::string > GetNoisyDepthPaths() const
Paths to the noisy depth images.
Definition: Dataset.h:944
std::string GetONIPath() const
Paths to the ONI sequence.
Definition: Dataset.h:948
std::vector< std::string > GetDepthPaths() const
Paths to the clean depth images.
Definition: Dataset.h:942
std::string GetTrajectoryPath() const
Path to the ground-truth camera trajectory.
Definition: Dataset.h:950
Data class for SampleFountainRGBDImages contains a sample set of 33 color and depth images from the F...
Definition: Dataset.h:967
std::string GetKeyframePosesLogPath() const
Path to camera poses at key frames log file key.log.
Definition: Dataset.h:976
std::vector< std::string > GetDepthPaths() const
Returns List of paths to depth image samples of size 33.
Definition: Dataset.h:974
std::vector< std::string > GetColorPaths() const
Returns List of paths to color image samples of size 33.
Definition: Dataset.h:972
SampleFountainRGBDImages(const std::string &data_root="")
Definition: SampleFountainRGBDImages.cpp:40
std::string GetReconstructionPath() const
Path to mesh reconstruction.
Definition: Dataset.h:980
Data class for SampleL515Bag contains the SampleL515Bag.bag file.
Definition: Dataset.h:991
SampleL515Bag(const std::string &data_root="")
Definition: SampleL515Bag.cpp:40
std::string GetPath() const
Path to the SampleL515Bag.bag file.
Definition: Dataset.h:996
Data class for SampleNYURGBDImage contains a color image NYU_color.ppm and a depth image NYU_depth....
Definition: Dataset.h:1007
std::string GetDepthPath() const
Path to depth image sample.
Definition: Dataset.h:1014
SampleNYURGBDImage(const std::string &data_root="")
Definition: SampleNYURGBDImage.cpp:40
std::string GetColorPath() const
Path to color image sample.
Definition: Dataset.h:1012
Data class for SampleRedwoodRGBDImages contains a sample set of 5 color and depth images from Redwood...
Definition: Dataset.h:1028
std::string GetOdometryLogPath() const
Path to camera trajectory log file odometry.log.
Definition: Dataset.h:1040
std::vector< std::string > GetColorPaths() const
Returns List of paths to color image samples of size 5.
Definition: Dataset.h:1033
std::vector< std::string > GetDepthPaths() const
Returns List of paths to depth image samples of size 5.
Definition: Dataset.h:1035
std::string GetTrajectoryLogPath() const
Path to camera trajectory log file trajectory.log.
Definition: Dataset.h:1038
SampleRedwoodRGBDImages(const std::string &data_root="")
Definition: SampleRedwoodRGBDImages.cpp:40
std::string GetReconstructionPath() const
Path to point cloud reconstruction from TSDF.
Definition: Dataset.h:1044
std::string GetCameraIntrinsicPath() const
Path to pinhole camera intrinsic (json).
Definition: Dataset.h:1046
std::string GetRGBDMatchPath() const
Path to color and depth image match file rgbd.match.
Definition: Dataset.h:1042
Data class for SampleSUNRGBDImage contains a color image SUN_color.jpg and a depth image SUN_depth....
Definition: Dataset.h:1072
std::string GetDepthPath() const
Path to depth image sample.
Definition: Dataset.h:1079
SampleSUNRGBDImage(const std::string &data_root="")
Definition: SampleSUNRGBDImage.cpp:40
std::string GetColorPath() const
Path to color image sample.
Definition: Dataset.h:1077
Data class for SampleTUMRGBDImage contains a color image TUM_color.png and a depth image TUM_depth....
Definition: Dataset.h:1092
std::string GetDepthPath() const
Path to depth image sample.
Definition: Dataset.h:1099
std::string GetColorPath() const
Path to color image sample.
Definition: Dataset.h:1097
SampleTUMRGBDImage(const std::string &data_root="")
Definition: SampleTUMRGBDImage.cpp:40
Data class for SwordModel contains a sword model file, along with material and various other texture ...
Definition: Dataset.h:1114
std::unordered_map< std::string, std::string > GetPathMap() const
Returns the map of filename to path. Refer documentation page for available options.
Definition: Dataset.h:1127
std::string GetPath(const std::string filename="sword_model") const
Path to the filename. By default it returns the path to sword.obj file. Refer documentation page for ...
Definition: Dataset.h:1121
SwordModel(const std::string &data_root="")
Definition: SwordModel.cpp:40
Data class for TerrazzoTexture contains albedo, normal and roughness texture files for terrazzo based...
Definition: Dataset.h:1139
TerrazzoTexture(const std::string &data_root="")
Definition: TerrazzoTexture.cpp:40
std::string GetRoughnessTexturePath() const
Returns the path to roughness texture image.
Definition: Dataset.h:1151
std::string GetAlbedoTexturePath() const
Returns the path to albedo color texture image.
Definition: Dataset.h:1143
std::unordered_map< std::string, std::string > GetPathMap() const
Returns the map of filename to path. Refer documentation page for available options.
Definition: Dataset.h:1156
std::string GetNormalTexturePath() const
Returns the path to normal texture image.
Definition: Dataset.h:1147
Data class for TilesTexture contains albedo, normal and roughness texture files for tiles based mater...
Definition: Dataset.h:1168
std::string GetAlbedoTexturePath() const
Returns the path to albedo color texture image.
Definition: Dataset.h:1172
TilesTexture(const std::string &data_root="")
Definition: TilesTexture.cpp:40
std::string GetNormalTexturePath() const
Returns the path to normal texture image.
Definition: Dataset.h:1176
std::unordered_map< std::string, std::string > GetPathMap() const
Returns the map of filename to path. Refer documentation page for available options.
Definition: Dataset.h:1185
std::string GetRoughnessTexturePath() const
Returns the path to roughness texture image.
Definition: Dataset.h:1180
Data class for WoodFloorTexture contains albedo, normal and roughness texture files for wooden floor ...
Definition: Dataset.h:1197
std::string GetNormalTexturePath() const
Returns the path to normal texture image.
Definition: Dataset.h:1205
WoodFloorTexture(const std::string &data_root="")
Definition: WoodFloorTexture.cpp:40
std::unordered_map< std::string, std::string > GetPathMap() const
Returns the map of filename to path. Refer documentation page for available options.
Definition: Dataset.h:1214
std::string GetRoughnessTexturePath() const
Returns the path to roughness texture image.
Definition: Dataset.h:1209
std::string GetAlbedoTexturePath() const
Returns the path to albedo color texture image.
Definition: Dataset.h:1201
Data class for WoodTexture contains albedo, normal and roughness texture files for wood based materia...
Definition: Dataset.h:1226
std::unordered_map< std::string, std::string > GetPathMap() const
Returns the map of filename to path. Refer documentation page for available options.
Definition: Dataset.h:1243
WoodTexture(const std::string &data_root="")
Definition: WoodTexture.cpp:40
std::string GetNormalTexturePath() const
Returns the path to normal texture image.
Definition: Dataset.h:1234
std::string GetRoughnessTexturePath() const
Returns the path to roughness texture image.
Definition: Dataset.h:1238
std::string GetAlbedoTexturePath() const
Returns the path to albedo color texture image.
Definition: Dataset.h:1230
std::string Open3DDownloadsPrefix()
Definition: Dataset.cpp:50
std::string LocateDataRoot()
Definition: Dataset.cpp:39
const char const char value recording_handle imu_sample recording_handle uint8_t data
Definition: K4aPlugin.cpp:288
Definition: PinholeCameraIntrinsic.cpp:35
Definition: Device.h:126
Infomation about a file to be downloaded.
Definition: Dataset.h:125
std::vector< std::string > urls_
List of URL mirrors.
Definition: Dataset.h:148
std::string md5_
MD5 checksum of the downloaded file.
Definition: Dataset.h:151
DataDescriptor(const std::string &url, const std::string &md5, const std::string &extract_in_subdir="")
Constructor a download url.
Definition: Dataset.h:141
DataDescriptor(const std::vector< std::string > &urls, const std::string &md5, const std::string &extract_in_subdir="")
Constructor a list of url mirrors.
Definition: Dataset.h:131
std::string extract_in_subdir_
Definition: Dataset.h:155