MCPcopy Create free account
hub / github.com/MAC-VO/MAC-VO / scale_stereo

Method scale_stereo

DataLoader/Transform.py:54–88  ·  view source on GitHub ↗
(data: StereoData, scale_u: float, scale_v: float, interpolate: Literal["nearest", "bilinear"])

Source from the content-addressed store, hash-verified

52
53 @staticmethod
54 def scale_stereo(data: StereoData, scale_u: float, scale_v: float, interpolate: Literal["nearest", "bilinear"]) -> StereoData:
55 match interpolate:
56 case "bilinear": interp = InterpolationMode.BILINEAR
57 case "nearest" : interp = InterpolationMode.NEAREST_EXACT
58
59 raw_height = data.height
60 raw_width = data.width
61
62 target_h = int(raw_height / scale_v)
63 target_w = int(raw_width / scale_u)
64
65 round_scale_v = raw_height / target_h
66 round_scale_u = raw_width / target_w
67
68 data.K = data.K.clone()
69 data.height = target_h
70 data.width = target_w
71 data.K[:, 0] /= round_scale_u
72 data.K[:, 1] /= round_scale_v
73
74 data.imageL = resize(data.imageL, [target_h, target_w], interpolation=interp)
75 data.imageR = resize(data.imageR, [target_h, target_w], interpolation=interp)
76
77 if data.gt_flow is not None:
78 data.gt_flow = resize(data.gt_flow, [target_h, target_w], interpolation=interp)
79 data.gt_flow[:, 0] /= round_scale_u
80 data.gt_flow[:, 1] /= round_scale_v
81
82 if data.flow_mask is not None:
83 data.flow_mask = resize(data.flow_mask, [target_h, target_w], interpolation=interp)
84
85 if data.gt_depth is not None:
86 data.gt_depth = resize(data.gt_depth, [target_h, target_w], interpolation=interp)
87
88 return data
89
90 def forward(self, frame: StereoFrame) -> StereoFrame:
91 frame.stereo = self.scale_stereo(

Callers 2

forwardMethod · 0.95
forwardMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected