From f5e2fb3d01ffa9a164ee6f61f65f933dc40fbe01 Mon Sep 17 00:00:00 2001 From: akshay-krishnan Date: Mon, 31 Mar 2025 21:25:02 -0400 Subject: [PATCH] update logging verbosity for visualization code --- .gitignore | 4 +++ gtsfm/loader/loader_base.py | 2 +- gtsfm/scene_optimizer.py | 4 +-- gtsfm/two_view_estimator.py | 41 ++++++++++++++++-------------- gtsfm/two_view_estimator_cacher.py | 5 ++-- gtsfm/utils/logger.py | 1 + 6 files changed, 33 insertions(+), 24 deletions(-) diff --git a/.gitignore b/.gitignore index 50e11fe25..bd2f27710 100644 --- a/.gitignore +++ b/.gitignore @@ -192,3 +192,7 @@ cache/ # Dev notebooks notebooks/ + + +results/** +result_metrics/** \ No newline at end of file diff --git a/gtsfm/loader/loader_base.py b/gtsfm/loader/loader_base.py index 4539aa0de..30c2ce9d2 100644 --- a/gtsfm/loader/loader_base.py +++ b/gtsfm/loader/loader_base.py @@ -178,7 +178,7 @@ def get_image(self, index: int) -> Image: target_h, target_w, ) = img_utils.get_downsampling_factor_per_axis(img_full_res.height, img_full_res.width, self._max_resolution) - logger.info( + logger.debug( "Image %d resized from (H,W)=(%d,%d) -> (%d,%d)", index, img_full_res.height, diff --git a/gtsfm/scene_optimizer.py b/gtsfm/scene_optimizer.py index ae8bcad6d..9d0cdca3d 100644 --- a/gtsfm/scene_optimizer.py +++ b/gtsfm/scene_optimizer.py @@ -52,10 +52,10 @@ logger = logger_utils.get_logger() mpl_logger = logging.getLogger("matplotlib") -mpl_logger.setLevel(logging.WARNING) +mpl_logger.setLevel(logging.ERROR) pil_logger = logging.getLogger("PIL") -pil_logger.setLevel(logging.INFO) +pil_logger.setLevel(logging.ERROR) class SceneOptimizer: diff --git a/gtsfm/two_view_estimator.py b/gtsfm/two_view_estimator.py index 10b8da7a2..791c126d6 100644 --- a/gtsfm/two_view_estimator.py +++ b/gtsfm/two_view_estimator.py @@ -2,6 +2,7 @@ Authors: Ayush Baid, John Lambert """ + import dataclasses import logging import timeit @@ -30,10 +31,10 @@ logger = logger_utils.get_logger() mpl_logger = logging.getLogger("matplotlib") -mpl_logger.setLevel(logging.WARNING) +mpl_logger.setLevel(logging.ERROR) pil_logger = logging.getLogger("PIL") -pil_logger.setLevel(logging.INFO) +pil_logger.setLevel(logging.ERROR) PRE_BA_REPORT_TAG = "PRE_BA_2VIEW_REPORT" POST_BA_REPORT_TAG = "POST_BA_2VIEW_REPORT" @@ -203,7 +204,7 @@ def bundle_adjust( ) if ba_output is None: # Indeterminate linear system was met. - return None, None, np.zeros((0,2), dtype=np.int32) + return None, None, np.zeros((0, 2), dtype=np.int32) # Unpack results. valid_corr_idxs = verified_corr_idxs[triangulated_indices][valid_mask] @@ -625,24 +626,26 @@ def round_fn(x: Optional[float]) -> Optional[float]: "i2_filename": images[i2].file_name, "rotation_angular_error": round_fn(report.R_error_deg), "translation_angular_error": round_fn(report.U_error_deg), - "num_inliers_gt_model": int(report.num_inliers_gt_model) - if report.num_inliers_gt_model is not None - else None, + "num_inliers_gt_model": ( + int(report.num_inliers_gt_model) if report.num_inliers_gt_model is not None else None + ), "inlier_ratio_gt_model": round_fn(report.inlier_ratio_gt_model), - "inlier_avg_reproj_error_gt_model": round_fn( - np.nanmean(report.reproj_error_gt_model[report.v_corr_idxs_inlier_mask_gt]) - ) - if report.reproj_error_gt_model is not None and report.v_corr_idxs_inlier_mask_gt is not None - else None, - "outlier_avg_reproj_error_gt_model": round_fn( - np.nanmean(report.reproj_error_gt_model[np.logical_not(report.v_corr_idxs_inlier_mask_gt)]) - ) - if report.reproj_error_gt_model is not None and report.v_corr_idxs_inlier_mask_gt is not None - else None, + "inlier_avg_reproj_error_gt_model": ( + round_fn(np.nanmean(report.reproj_error_gt_model[report.v_corr_idxs_inlier_mask_gt])) + if report.reproj_error_gt_model is not None and report.v_corr_idxs_inlier_mask_gt is not None + else None + ), + "outlier_avg_reproj_error_gt_model": ( + round_fn( + np.nanmean(report.reproj_error_gt_model[np.logical_not(report.v_corr_idxs_inlier_mask_gt)]) + ) + if report.reproj_error_gt_model is not None and report.v_corr_idxs_inlier_mask_gt is not None + else None + ), "inlier_ratio_est_model": round_fn(report.inlier_ratio_est_model), - "num_inliers_est_model": int(report.num_inliers_est_model) - if report.num_inliers_est_model is not None - else None, + "num_inliers_est_model": ( + int(report.num_inliers_est_model) if report.num_inliers_est_model is not None else None + ), } ) return metrics_list diff --git a/gtsfm/two_view_estimator_cacher.py b/gtsfm/two_view_estimator_cacher.py index a245948eb..6cb7ef02f 100644 --- a/gtsfm/two_view_estimator_cacher.py +++ b/gtsfm/two_view_estimator_cacher.py @@ -2,6 +2,7 @@ Authors: Ayush Baid """ + import logging from pathlib import Path from typing import Any, List, Optional @@ -27,10 +28,10 @@ logger = logger_utils.get_logger() mpl_logger = logging.getLogger("matplotlib") -mpl_logger.setLevel(logging.WARNING) +mpl_logger.setLevel(logging.ERROR) pil_logger = logging.getLogger("PIL") -pil_logger.setLevel(logging.INFO) +pil_logger.setLevel(logging.ERROR) class TwoViewEstimatorCacher(TwoViewEstimator): diff --git a/gtsfm/utils/logger.py b/gtsfm/utils/logger.py index 1cf104254..857194461 100644 --- a/gtsfm/utils/logger.py +++ b/gtsfm/utils/logger.py @@ -2,6 +2,7 @@ Authors: Ayush Baid, John Lambert. """ + import logging import sys from logging import Logger