1- use aprilgrid:: detector:: TagDetector ;
21use aprilgrid:: TagFamily ;
2+ use aprilgrid:: detector:: TagDetector ;
33use camera_intrinsic_calibration:: board:: Board ;
4- use camera_intrinsic_calibration:: board:: {
5- board_config_from_json, board_config_to_json, BoardConfig ,
6- } ;
4+ use camera_intrinsic_calibration:: board:: BoardConfig ;
75use camera_intrinsic_calibration:: data_loader:: { load_euroc, load_others} ;
86use camera_intrinsic_calibration:: detected_points:: FrameFeature ;
9- use camera_intrinsic_calibration:: io:: { extrinsics_to_json , write_report} ;
7+ use camera_intrinsic_calibration:: io:: { object_from_json , object_to_json , write_report} ;
108use camera_intrinsic_calibration:: types:: { CalibParams , Extrinsics , RvecTvec , ToRvecTvec } ;
119use camera_intrinsic_calibration:: util:: * ;
1210use camera_intrinsic_calibration:: visualization:: * ;
1311use camera_intrinsic_model:: * ;
1412use clap:: { Parser , ValueEnum } ;
1513use log:: trace;
14+ use std:: collections:: BTreeMap ;
1615use std:: collections:: HashMap ;
1716use std:: time:: Instant ;
1817use time:: OffsetDateTime ;
@@ -74,10 +73,10 @@ fn main() {
7473 let cli = CCRSCli :: parse ( ) ;
7574 let detector = TagDetector :: new ( & cli. tag_family , None ) ;
7675 let board = if let Some ( board_config_path) = cli. board_config {
77- Board :: from_config ( & board_config_from_json ( & board_config_path) )
76+ Board :: from_config ( & object_from_json ( & board_config_path) )
7877 } else {
7978 let config = BoardConfig :: default ( ) ;
80- board_config_to_json ( "default_board_config.json" , & config) ;
79+ object_to_json ( "default_board_config.json" , & config) ;
8180 Board :: from_config ( & config)
8281 } ;
8382 let dataset_root = & cli. path ;
@@ -199,6 +198,12 @@ fn main() {
199198 )
200199 } )
201200 . collect ( ) ;
201+ object_to_json (
202+ & format ! ( "{}/cam{}_poses.json" , output_folder, cam_idx) ,
203+ & new_rtvec_map
204+ . iter ( )
205+ . collect :: < BTreeMap < & usize , & RvecTvec > > ( ) ,
206+ ) ;
202207 let cam_transform =
203208 na_isometry3_to_rerun_transform3d ( & t_i_0[ cam_idx] . to_na_isometry3 ( ) . inverse ( ) )
204209 . with_axis_length ( 0.1 ) ;
@@ -221,7 +226,7 @@ fn main() {
221226 }
222227 write_report ( & format ! ( "{}/report.txt" , output_folder) , true , & rep_rms) ;
223228
224- extrinsics_to_json (
229+ object_to_json (
225230 & format ! ( "{}/extrinsics.json" , output_folder) ,
226231 & Extrinsics :: new ( & t_i_0) ,
227232 ) ;
@@ -244,6 +249,10 @@ fn main() {
244249 serde_json:: to_string_pretty( intrinsic) . unwrap( )
245250 ) ;
246251 model_to_json ( & format ! ( "{}/cam{}.json" , output_folder, cam_idx) , intrinsic) ;
252+ object_to_json (
253+ & format ! ( "{}/cam{}_poses.json" , output_folder, cam_idx) ,
254+ & rtvec_map. iter ( ) . collect :: < BTreeMap < & usize , & RvecTvec > > ( ) ,
255+ ) ;
247256 }
248257 write_report ( & format ! ( "{}/report.txt" , output_folder) , false , & rep_rms) ;
249258 }
0 commit comments