Skip to content

Commit d417a94

Browse files
committed
clean up
1 parent e0fdbc8 commit d417a94

File tree

5 files changed

+19
-28
lines changed

5 files changed

+19
-28
lines changed

src/bin/camera_calibration.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
use aprilgrid::detector::TagDetector;
21
use aprilgrid::TagFamily;
2+
use aprilgrid::detector::TagDetector;
33
use 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;
75
use camera_intrinsic_calibration::data_loader::{load_euroc, load_others};
86
use 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};
108
use camera_intrinsic_calibration::types::{CalibParams, Extrinsics, RvecTvec, ToRvecTvec};
119
use camera_intrinsic_calibration::util::*;
1210
use camera_intrinsic_calibration::visualization::*;
@@ -74,10 +72,10 @@ fn main() {
7472
let cli = CCRSCli::parse();
7573
let detector = TagDetector::new(&cli.tag_family, None);
7674
let board = if let Some(board_config_path) = cli.board_config {
77-
Board::from_config(&board_config_from_json(&board_config_path))
75+
Board::from_config(&object_from_json(&board_config_path))
7876
} else {
7977
let config = BoardConfig::default();
80-
board_config_to_json("default_board_config.json", &config);
78+
object_to_json("default_board_config.json", &config);
8179
Board::from_config(&config)
8280
};
8381
let dataset_root = &cli.path;
@@ -221,7 +219,7 @@ fn main() {
221219
}
222220
write_report(&format!("{}/report.txt", output_folder), true, &rep_rms);
223221

224-
extrinsics_to_json(
222+
object_to_json(
225223
&format!("{}/extrinsics.json", output_folder),
226224
&Extrinsics::new(&t_i_0),
227225
);

src/board.rs

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use glam;
22
use serde::{Deserialize, Serialize};
3-
use std::{collections::HashMap, io::Write};
3+
use std::collections::HashMap;
44

55
#[derive(Debug, Serialize, Deserialize)]
66
pub struct BoardConfig {
@@ -11,18 +11,6 @@ pub struct BoardConfig {
1111
first_id: u32,
1212
}
1313

14-
pub fn board_config_to_json(output_path: &str, board_config: &BoardConfig) {
15-
let j = serde_json::to_string_pretty(board_config).unwrap();
16-
let mut file = std::fs::File::create(output_path).unwrap();
17-
file.write_all(j.as_bytes()).unwrap();
18-
}
19-
20-
pub fn board_config_from_json(file_path: &str) -> BoardConfig {
21-
let contents =
22-
std::fs::read_to_string(file_path).expect("Should have been able to read the file");
23-
serde_json::from_str(&contents).unwrap()
24-
}
25-
2614
impl Default for BoardConfig {
2715
fn default() -> Self {
2816
Self {

src/io.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
use std::io::Write;
22

3-
use crate::types::Extrinsics;
3+
use serde::{Serialize, de::DeserializeOwned};
44

5-
pub fn extrinsics_to_json(output_path: &str, extrinsic: &Extrinsics) {
6-
let j = serde_json::to_string_pretty(extrinsic).unwrap();
5+
pub fn object_to_json<T: Serialize>(output_path: &str, object: &T) {
6+
let j = serde_json::to_string_pretty(object).unwrap();
77
let mut file = std::fs::File::create(output_path).unwrap();
88
file.write_all(j.as_bytes()).unwrap();
99
}
10+
pub fn object_from_json<T: DeserializeOwned>(file_path: &str) -> T {
11+
let contents =
12+
std::fs::read_to_string(file_path).expect("Should have been able to read the file");
13+
serde_json::from_str(&contents).unwrap()
14+
}
1015

1116
pub fn write_report(output_path: &str, with_extrinsic: bool, rep_rms: &[(f64, f64)]) {
1217
let mut s = String::new();

src/util.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@ use log::debug;
1313
use nalgebra as na;
1414
use rand::seq::SliceRandom;
1515
use rerun::RecordingStream;
16-
use tiny_solver::loss_functions::HuberLoss;
1716
use tiny_solver::Optimizer;
17+
use tiny_solver::loss_functions::HuberLoss;
1818

1919
pub fn rtvec_to_na_dvec(
2020
rtvec: ((f64, f64, f64), (f64, f64, f64)),
2121
) -> (na::DVector<f64>, na::DVector<f64>) {
2222
(
23-
na::dvector![rtvec.0 .0, rtvec.0 .1, rtvec.0 .2],
24-
na::dvector![rtvec.1 .0, rtvec.1 .1, rtvec.1 .2],
23+
na::dvector![rtvec.0.0, rtvec.0.1, rtvec.0.2],
24+
na::dvector![rtvec.1.0, rtvec.1.1, rtvec.1.2],
2525
)
2626
}
2727

src/visualization.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ pub fn log_image(recording: &RecordingStream, topic: &str, img: &DynamicImage) {
1212
img.write_to(&mut Cursor::new(&mut bytes), image::ImageFormat::Png)
1313
.expect("not able to write png");
1414
let rr_image = rerun::EncodedImage::from_file_contents(bytes);
15-
recording.log(format!("{}", topic), &rr_image).unwrap();
15+
recording.log(topic.to_string(), &rr_image).unwrap();
1616
}
1717

1818
pub fn id_to_color(id: usize) -> (u8, u8, u8, u8) {

0 commit comments

Comments
 (0)