Skip to content

Commit 3313523

Browse files
Merge pull request #847 from luxonis/tof_median_filter
Tof median filter support
2 parents c7f81a5 + 1fe15f2 commit 3313523

File tree

4 files changed

+18
-2
lines changed

4 files changed

+18
-2
lines changed

examples/StereoDepth/stereo_depth_from_host.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,9 @@ def __init__(self, config):
588588
fov = 71.86
589589
focal = width / (2 * math.tan(fov / 2 / 180 * math.pi))
590590

591+
stereo.setBaseline(baseline/10)
592+
stereo.setFocalLength(focal)
593+
591594
streams = ['left', 'right']
592595
if outRectified:
593596
streams.extend(['rectified_left', 'rectified_right'])

src/pipeline/datatype/ToFConfigBindings.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,10 @@ void bind_tofconfig(pybind11::module& m, void* pCallstack){
4848

4949
depthParams
5050
.def(py::init<>())
51-
.def_readwrite("enable", &RawToFConfig::DepthParams::enable, DOC(dai, RawToFConfig, DepthParams, enable))
5251
.def_readwrite("freqModUsed", &RawToFConfig::DepthParams::freqModUsed, DOC(dai, RawToFConfig, DepthParams, freqModUsed))
5352
.def_readwrite("avgPhaseShuffle", &RawToFConfig::DepthParams::avgPhaseShuffle, DOC(dai, RawToFConfig, DepthParams, avgPhaseShuffle))
5453
.def_readwrite("minimumAmplitude", &RawToFConfig::DepthParams::minimumAmplitude, DOC(dai, RawToFConfig, DepthParams, minimumAmplitude))
54+
.def_readwrite("median", &RawToFConfig::DepthParams::median, DOC(dai, RawToFConfig, DepthParams, median))
5555
;
5656

5757
// Message
@@ -63,6 +63,7 @@ void bind_tofconfig(pybind11::module& m, void* pCallstack){
6363
.def("setFreqModUsed", static_cast<ToFConfig&(ToFConfig::*)(dai::ToFConfig::DepthParams::TypeFMod)>(&ToFConfig::setFreqModUsed), DOC(dai, ToFConfig, setFreqModUsed))
6464
.def("setAvgPhaseShuffle", &ToFConfig::setAvgPhaseShuffle, DOC(dai, ToFConfig, setAvgPhaseShuffle))
6565
.def("setMinAmplitude", &ToFConfig::setMinAmplitude, DOC(dai, ToFConfig, setMinAmplitude))
66+
.def("setMedianFilter", &ToFConfig::setMedianFilter, DOC(dai, ToFConfig, setMedianFilter))
6667

6768
.def("set", &ToFConfig::set, py::arg("config"), DOC(dai, ToFConfig, set))
6869
.def("get", &ToFConfig::get, DOC(dai, ToFConfig, get))

utilities/cam_test.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ def socket_type_pair(arg):
8989
help="Show also ToF amplitude output alongside depth")
9090
parser.add_argument('-tofcm', '--tof-cm', action='store_true',
9191
help="Show ToF depth output in centimeters, capped to 255")
92+
parser.add_argument('-tofmedian', '--tof-median', choices=[0,3,5,7], default=5, type=int,
93+
help="ToF median filter kernel size")
9294
parser.add_argument('-rgbprev', '--rgb-preview', action='store_true',
9395
help="Show RGB `preview` stream instead of full size `isp`")
9496

@@ -221,6 +223,16 @@ def get(self):
221223
tofConfig.depthParams.freqModUsed = dai.RawToFConfig.DepthParams.TypeFMod.MIN
222224
tofConfig.depthParams.avgPhaseShuffle = False
223225
tofConfig.depthParams.minimumAmplitude = 3.0
226+
227+
if args.tof_median == 0:
228+
tofConfig.depthParams.median = dai.MedianFilter.MEDIAN_OFF
229+
elif args.tof_median == 3:
230+
tofConfig.depthParams.median = dai.MedianFilter.KERNEL_3x3
231+
elif args.tof_median == 5:
232+
tofConfig.depthParams.median = dai.MedianFilter.KERNEL_5x5
233+
elif args.tof_median == 7:
234+
tofConfig.depthParams.median = dai.MedianFilter.KERNEL_7x7
235+
224236
tof[c].initialConfig.set(tofConfig)
225237
if args.tof_amplitude:
226238
amp_name = 'tof_amplitude_' + c

0 commit comments

Comments
 (0)