Initial commit: Speckle-Scanner 3D pipeline with setup README
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
import argparse
|
||||
from pathlib import Path
|
||||
|
||||
from rectificationclasses.rectification import Rectification
|
||||
|
||||
|
||||
def parse_args():
|
||||
parser = argparse.ArgumentParser(description="Batch stereo rectification")
|
||||
parser.add_argument("--project", type=str, required=True, help="Project name used for Calib-data and processing_data (e.g. Olsen_wings)")
|
||||
parser.add_argument(
|
||||
"--raw_project",
|
||||
type=str,
|
||||
default=None,
|
||||
help="Project name used in 3D-Scans (default: project with '_' replaced by '-')",
|
||||
)
|
||||
parser.add_argument("--date", type=str, required=True, help="Date folder (e.g. 2026-05-12)")
|
||||
parser.add_argument(
|
||||
"--session",
|
||||
type=str,
|
||||
default=None,
|
||||
help="Process only this session folder (e.g. session53). Default: all sessions under the date.",
|
||||
)
|
||||
parser.add_argument("--calib_name", type=str, default="calib1", help="Calibration folder under Calib-data/<project>/<date>/")
|
||||
parser.add_argument(
|
||||
"--pairs",
|
||||
type=str,
|
||||
default="lc-rc,lc-rg,lc-ir",
|
||||
help="Comma-separated pair list, e.g. lc-rc,lc-rg,lc-ir",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--keep_lc_from_pair",
|
||||
type=str,
|
||||
default="lc-rc",
|
||||
help="Pair whose rectified LC frames are kept in 02_rect_images.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--source_date_root",
|
||||
type=str,
|
||||
default=None,
|
||||
help="Override source root (default: ~/3D-Scans/<raw_project>/<date>)",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--calib_params_dir",
|
||||
type=str,
|
||||
default=None,
|
||||
help="Override calib params dir (default: ~/Calib-data/<project>/<date>/<calib_name>/params)",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--processing_date_root",
|
||||
type=str,
|
||||
default=None,
|
||||
help="Override processing target root (default: ~/Speckle-Scanner_Processing_data/<project>/<date>)",
|
||||
)
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
def main():
|
||||
args = parse_args()
|
||||
home = Path.home()
|
||||
raw_project = args.raw_project or args.project.replace("_", "-")
|
||||
pairs = tuple([p.strip() for p in args.pairs.split(",") if p.strip()])
|
||||
|
||||
source_date_root = Path(args.source_date_root) if args.source_date_root else (
|
||||
home / "3D-Scans" / raw_project / args.date
|
||||
)
|
||||
calib_params_dir = Path(args.calib_params_dir) if args.calib_params_dir else (
|
||||
home / "Calib-data" / args.project / args.date / args.calib_name / "params"
|
||||
)
|
||||
processing_date_root = Path(args.processing_date_root) if args.processing_date_root else (
|
||||
home / "Speckle-Scanner_Processing_data" / args.project / args.date
|
||||
)
|
||||
|
||||
rectificator = Rectification(
|
||||
source_date_root=str(source_date_root),
|
||||
calib_params_dir=str(calib_params_dir),
|
||||
processing_date_root=str(processing_date_root),
|
||||
pairs=pairs,
|
||||
keep_lc_from_pair=args.keep_lc_from_pair,
|
||||
session_filter=args.session,
|
||||
)
|
||||
rectificator.run_batch()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user