Jakob Bornecrantz
c7903e2d5e
u/sink: Add support for XRT_FORMAT_UYVY422
2020-04-28 11:46:31 +00:00
Jakob Bornecrantz
1de7eb7cc9
t/calibration: Add support for XRT_FORMAT_UYVY422
2020-04-28 11:46:31 +00:00
Jakob Bornecrantz
59b7794172
xrt: Rename XRT_FORMAT_YUV422 to XRT_FORMAT_YUYV422
2020-04-28 11:46:31 +00:00
Ryan Pavlik
75d5e5b9f2
t/psmv: Fix FTBFS on PPC.
...
Apparently EIGEN_PI isn't a double by default.
2020-04-27 20:18:31 +00:00
Jakob Bornecrantz
e37d8f4cf5
xrt: Remove timestate from xrt_device interface
2020-04-16 17:29:34 +01:00
Jakob Bornecrantz
231d39185e
t/file: Remove hacky file handling functions
2020-04-10 12:29:21 +00:00
Jakob Bornecrantz
7b049a9d65
t/file: Expose non-hack version of the calibration data save function
2020-04-10 12:29:21 +00:00
Ryan Pavlik
bc53be8562
t/imu_fusion: Clean up and improve comments
2020-03-26 12:00:26 +00:00
Ryan Pavlik
86b3d9f587
t/calibration: Provide read-only access to size as cv::Size in calibration wrapper
2020-03-26 12:00:26 +00:00
Ryan Pavlik
4f5e2aea4e
aux/tracking: Fix the API that led to the error I hit.
2020-03-26 12:00:26 +00:00
Ryan Pavlik
c6a574191d
aux/tracking: Add image undistort/normalize cache mechanism
2020-03-26 12:00:26 +00:00
Ryan Pavlik
cf883817c2
t/psmv: Retrieve more data from camera calib.
2020-03-26 12:00:26 +00:00
Ryan Pavlik
d198e93fcb
external: Update flexkalman
2020-03-26 12:00:26 +00:00
Jakob Bornecrantz
622c848fa2
t/calib: Silence missing reference warning
2020-03-25 16:32:16 +00:00
Jakob Bornecrantz
6ecc1e30f3
xrt: Make stereo_camera_calibration refcounted
...
This allows the data to be safely shared and passed around, even allowing us
to tag frames with the data and passed around that way instead.
Since it now can be passed around more safely make the prober call the save
function instead of the calibration code. This then forms a basis for further
work where we can hook this up into a more proper configuration file.
2020-03-11 22:00:54 +00:00
Ryan Pavlik
f3eac87504
xrt: Correct usage of XRT_MAYBE_UNUSED on functions.
...
It shouldn't be used on a function marked "static inline" - that's
sufficient to avoid the warning. So, it should almost never be in
a header.
2020-03-04 11:15:35 +00:00
Ryan Pavlik
5a633905de
t/psvr: Add missing include
2020-03-04 11:15:35 +00:00
Jakob Bornecrantz
63ca028b83
t/hsv: Improve latency when debugging by pushing debug frame after all other frames
2020-02-29 16:20:41 +00:00
Ryan Pavlik
f3803f7365
t/imu: Update docs to specify units for gyro.
2020-01-31 17:19:54 +01:00
Ryan Pavlik
afd5328bd6
t/imu: Add optional debug prints to simple IMU fusion.
...
By request of @pblack.
2020-01-31 17:19:48 +01:00
Ryan Pavlik
a11ba04b96
aux/tracking: handle loading into empty mat
2020-01-31 17:19:48 +01:00
Ryan Pavlik
eaf834249b
t/calib: Verify that storage location doesn't move for wrappers.
2020-01-31 10:47:52 +01:00
Jakob Bornecrantz
8aee77401b
t/calib: Tweak printing and move assert to after printing
2020-01-26 19:37:37 +00:00
Jakob Bornecrantz
be75fe823a
t/calib: Fix default asymmetrical circles rows values
2020-01-26 19:37:37 +00:00
Pete Black
a80ef43339
t/calib: Also accept L8 frames
2020-01-26 19:37:37 +00:00
Jakob Bornecrantz
c2560ae6d2
xrt: Switch to new quirking sink
...
This is done in one commit as split out they would leave the code
in a fairly broken state.
2020-01-17 14:31:50 +00:00
Jakob Bornecrantz
30e9338aba
t/calib: Don't lose any pixels in stereo rectification
2020-01-17 14:01:52 +00:00
Jakob Bornecrantz
1085db150b
t/calib: Fix rectify for stereo fisheye camera
2020-01-17 14:00:22 +00:00
Jakob Bornecrantz
ba10152765
t/calib: Print out rectify matricies
2020-01-17 14:00:22 +00:00
Jakob Bornecrantz
67d33550cf
t/calib: Change how default arguments are applied
2020-01-17 12:09:08 +00:00
Jakob Bornecrantz
d1af0b7f15
t/calib: Play around with mono calibration a bit
2020-01-16 22:34:04 +00:00
Jakob Bornecrantz
62013c142b
t/helper: Introduce a small debug frame helper
2020-01-16 18:15:21 +00:00
Jakob Bornecrantz
50eda5a262
t/hsv: Copy stereo format to result frame
2020-01-16 17:47:08 +00:00
Ryan Pavlik
c957072dfc
t/calib: Remove references to left and right from new structs
2020-01-16 09:14:07 -06:00
Ryan Pavlik
81acc290cb
t/calib: Clean up emplace_back calls.
2020-01-16 09:14:07 -06:00
Ryan Pavlik
2d20f2066a
t/psmv: Update existing blob tracker to work with simpler input
2020-01-16 09:12:50 -06:00
Ryan Pavlik
91fdfd0c94
t/file: Have matrix reader be more careful about loading, and optionally transpose
...
The, actually consistently use result of matrix read and built-in transpose to simplify code
2020-01-16 09:08:32 -06:00
Ryan Pavlik
bc49fd4803
t/calib: Use cv::Mat_<> for wrappers since the element type is known
2020-01-16 09:08:32 -06:00
Ryan Pavlik
fcdebc6e9d
aux/tracking: Re-organize structs related to camera calibration.
...
Removes the "raw" data structures for camera calibration, not needed.
The only thing they contained beyond the revised regular structures
was derived data that the consumer might parameterize differently.
Renames t_settings_stereo to t_stereo_camera_calibration.
The calibration info is data (that could be stored on the device, etc),
not settings.
2020-01-16 09:07:52 -06:00
Jakob Bornecrantz
771006f97b
t/calib: Fix OpenCV type-related assertions and some perf enhancments
...
Pre-reserve, use emplace to avoid copies.
This is a combination of Ryan's patches and mine.
t/calib: performance improvements
t/calib: Fix doxygen warning
t/calib: Fix asserts and some perf enhancments
2020-01-16 00:02:56 +00:00
Ryan Pavlik
9790ca7602
t/calib: Add interface for getting some status info on calib process.
2020-01-14 15:55:50 -06:00
Ryan Pavlik
47f704277a
xrt: Let BUILD_TRACKING mean you need more than just the IMU fusion.
...
This is required to build anything that uses the IMU fusion module
without OpenCV.
2020-01-14 11:51:12 -06:00
Jakob Bornecrantz
796d9c49ec
t/calib: Support stereo fisheye in the config file
2020-01-14 15:42:31 +00:00
Jakob Bornecrantz
4ae650a006
t/calib: Support stereo fisheye in stereo calibration
2020-01-14 15:42:31 +00:00
Jakob Bornecrantz
0e6b908f80
t/callib: Move stereo calibration to new interaction
2020-01-14 15:42:31 +00:00
Ryan Pavlik
56f8e3272e
a/tracking: clang-tidy
2019-12-07 18:25:36 +00:00
Jakob Bornecrantz
cdec2ca367
t/calib: Add resolution size to image name
2019-11-22 23:59:35 +00:00
Jakob Bornecrantz
ab0d94201a
t/calib: s/grey/gray/g
2019-11-22 15:53:17 +00:00
Jakob Bornecrantz
6cba920668
t/calib: Force the principal point to the center of the image
2019-11-22 15:51:58 +00:00
Jakob Bornecrantz
9b60bd7c77
t/calib: Add support to load images
2019-11-22 14:20:56 +00:00
Jakob Bornecrantz
0cbd3e8601
t/calib: Do not fix principal point and tweak balance
2019-11-22 14:19:22 +00:00
Jakob Bornecrantz
392b42e900
t/calib: Don't double wait for frame after finding a measurement
2019-11-22 14:09:29 +00:00
Jakob Bornecrantz
3f202d0d6f
t/calib: Make cooldown period separate from wait period
2019-11-22 12:36:23 +00:00
Jakob Bornecrantz
86dc9e1a6b
t/calib: Re-organize parameters and make it possible to select board type
2019-11-22 12:36:23 +00:00
Jakob Bornecrantz
de67590bbf
t/calib: Tweak defaults
2019-11-21 22:43:04 +00:00
Jakob Bornecrantz
504a34bc95
t/calib: Tidy messages
2019-11-21 22:43:04 +00:00
Jakob Bornecrantz
276e81c373
t/calib: Add option to mirror RGB image
2019-11-21 22:40:00 +00:00
Jakob Bornecrantz
94c55fc206
t/calib: Ensure that camera is still before taking measurment
2019-11-21 22:40:00 +00:00
Jakob Bornecrantz
50d28369c4
m/headers: Rename C++ headers to hpp and tidy headers
2019-11-21 14:54:17 +00:00
Jakob Bornecrantz
54f7c2ed1d
t/headers: Rename C++ headers to hpp and tidy headers
2019-11-21 13:00:52 +00:00
Jakob Bornecrantz
d6317b2a14
st/gui: Expose new parameters to calibration
2019-11-20 23:50:42 +00:00
Jakob Bornecrantz
587c71182b
t/calib: Make it possible to use fisheye functions (mono only)
2019-11-20 23:50:26 +00:00
Jakob Bornecrantz
a36af4227f
t/calib: Make it possible to save images used during calibration (mono only)
2019-11-20 23:49:56 +00:00
Jakob Bornecrantz
26d7e91615
t/calib: Even more docs
2019-11-20 22:05:23 +00:00
Jakob Bornecrantz
4925ea657f
t/calib: Add support for [asym]circles grid, not active right now
2019-11-20 22:05:23 +00:00
Jakob Bornecrantz
bd02e47078
t/calib: Add mono calibration
2019-11-20 22:05:16 +00:00
Jakob Bornecrantz
49f9a1a46f
t/calib: Add stub for hacking in measurments
2019-11-20 22:03:20 +00:00
Jakob Bornecrantz
6bc617b8e3
t/calib: Tidy TermCriteria
2019-11-20 22:03:20 +00:00
Jakob Bornecrantz
645a45c167
t/calib: Tweak default params
2019-11-20 22:03:20 +00:00
Jakob Bornecrantz
c16756c330
t/calib: Ensure everything have initializers
2019-11-20 22:03:20 +00:00
Jakob Bornecrantz
ebb41601ed
t/calib: Some doc-comments and typedefs to clarify code
2019-11-20 22:03:20 +00:00
Jakob Bornecrantz
79b7d2504a
t/calib: Expand mono calibration a bit
2019-11-18 19:14:02 +00:00
Jakob Bornecrantz
b358e22fd7
t/calib: Stub in support for mono calibration
2019-11-17 22:11:41 +00:00
Jakob Bornecrantz
ad45aeb0a7
t/calib: Refactor loading a bit more
2019-11-17 22:09:01 +00:00
Jakob Bornecrantz
2ad2243fe7
t/doc: Do not put directory in aux_tracking group
2019-11-16 23:29:29 +00:00
Jakob Bornecrantz
38ec113c04
t/calib: Add comments to sizes
2019-11-16 23:29:10 +00:00
Jakob Bornecrantz
8917607a49
t/calib: Also expose disparity_to_depth on both raw and refined settings
2019-11-16 23:27:32 +00:00
Jakob Bornecrantz
6d8abd87a8
t/calib: Tidy and rename calibration data to settings
2019-11-16 23:17:11 +00:00
Jakob Bornecrantz
f364b7a45b
t/calib: Make prober load calibration data instead of trackers
2019-11-16 12:17:07 +00:00
Jakob Bornecrantz
5a600ffbcf
t/calib: Make destroy funcitons take pointer to pointer
2019-11-16 11:42:33 +00:00
Jakob Bornecrantz
419f038017
t/calib: Also save the fisheye distortion always
2019-11-14 17:05:16 +00:00
Jakob Bornecrantz
f9599a6763
t/imu: Make sure imu_fusion is aligned
2019-11-14 16:35:56 +00:00
Ryan Pavlik
e01cf5efd3
t_imu: Actually return non-zero leftover acceleration data.
2019-11-14 12:14:58 +00:00
Ryan Pavlik
2823193302
t_imu_fusion: Add capability to get world non-gravity acceleration
2019-11-14 12:14:58 +00:00
Ryan Pavlik
21352ca338
t_imu: Add param for accelerometer output
2019-11-14 12:14:58 +00:00
Ryan Pavlik
a17413744b
t_calibration: clang-tidy
2019-11-14 12:14:58 +00:00
Ryan Pavlik
4d411723a1
t/psvr: Fix parameter names
2019-11-14 12:14:58 +00:00
Ryan Pavlik
0a9efbf443
t_imu: Comments
2019-11-14 12:14:58 +00:00
Ryan Pavlik
958c1b7df9
t_imu_fusion: Perform some filtering of accelerometer signal
2019-11-14 12:14:58 +00:00
Ryan Pavlik
29c630cec8
d/psvr: Port PSVR to use timestamps
2019-11-14 12:14:58 +00:00
Ryan Pavlik
194938c405
d/psmv: Port positional tracking to use t_imu_fusion with timestamps
2019-11-14 12:14:58 +00:00
Ryan Pavlik
7bb9fad5e6
t_imu_fusion: adjust to use timepoints directly
2019-11-14 12:14:58 +00:00
Ryan Pavlik
7314bd75b7
t_imu: Change C API to take timestamps instead of dt
2019-11-14 12:14:58 +00:00
Ryan Pavlik
1440c95f78
t/psmv: Angular rate limit.
2019-11-14 12:14:58 +00:00
Ryan Pavlik
83f652bda1
aux/tracking: Add low-pass IIR filter
2019-11-14 12:14:58 +00:00
Ryan Pavlik
af0515232f
t_imu_fusion: Fix initialization of orientation from accelerometer.
2019-11-11 18:14:44 -06:00
Ryan Pavlik
355476d6b7
aux/tracking: Remove accidentally-left-in parameters from t_imu
2019-11-11 17:57:40 -06:00
Ryan Pavlik
5eaced0e4d
aux/tracking: Use define for standard gravity
2019-11-11 17:57:40 -06:00
Ryan Pavlik
8a0ab71c09
t_imu: Comments.
2019-11-11 17:57:40 -06:00
Jakob Bornecrantz
c6e6ba7485
t/psmv: Expose ball last position to debug gui
2019-11-10 01:36:44 +00:00
Jakob Bornecrantz
47bc4de56d
t/doc: Fallout from latest codespell version
2019-11-09 12:53:42 +00:00
Jakob Bornecrantz
072e9afb54
t/psvr: Counter tracking origin offset
...
At least until we have proper tracking for the PSVR.
2019-11-03 14:23:03 +00:00
Jakob Bornecrantz
46b9d28e8d
t/imu: No fancy new c++ syntax until clang-format-8 is used on CI
...
Go to your room clang-format and think about what you have done.
2019-10-29 20:08:59 +00:00
Ryan Pavlik
6b0f18bf6e
tracking: Build kalman things as a single TU
2019-10-24 18:51:21 +02:00
Ryan Pavlik
1ce0124d5c
t/psmv: Simple two-state machine for tracking.
2019-10-24 15:45:41 +01:00
Ryan Pavlik
af85f6af6b
t/psmv: Reset filter if we get non-finite
2019-10-24 15:44:01 +01:00
Ryan Pavlik
28abcf7ce6
t/psmv: Filter the blobs selected
2019-10-24 15:44:01 +01:00
Ryan Pavlik
c713ca61f2
t/psmv: Rotate IMU into something like camera space
2019-10-24 15:44:01 +01:00
Jakob Bornecrantz
24bc8135e0
t/hsv: Add a debug sink
2019-10-19 23:15:51 +01:00
Ryan Pavlik
f4f07da0c2
t/file: Comment matrix sizes since entirely generic matrix types used.
2019-10-15 20:50:32 +02:00
Ryan Pavlik
bc081bee80
t/psmv: cleanup/comments
2019-10-15 20:50:32 +02:00
Jakob Bornecrantz
f8ee9281f8
t/calibration: Move more data storage to C portion
2019-10-13 10:48:07 +01:00
Jakob Bornecrantz
43c366ad41
t/file: Save more calibration data
2019-10-12 22:07:49 +01:00
Jakob Bornecrantz
9ec1205f37
t/api: Add comments and put all files in tracking group
2019-10-12 12:24:19 +01:00
Jakob Bornecrantz
a435817a6f
t/file: Add comments and restyle (NFC)
2019-10-12 12:23:42 +01:00
Jakob Bornecrantz
fece0458b6
t/psmv: Make it possible to get the tracked ball pose
2019-10-11 15:40:42 +01:00
Jakob Bornecrantz
bffe802449
t/psmv: Adjust room position in prober instead
2019-10-10 23:47:51 +01:00
Ryan Pavlik
3630dae537
t/psmv: FindLowestScore template param renames
...
Less terse
2019-10-10 21:48:09 +00:00
Ryan Pavlik
430e27d084
t/psmv: Use new imu fusion in psmv positional tracking.
2019-10-10 21:48:09 +00:00
Ryan Pavlik
18f9760986
tracking: Add t_imu: simple IMU fusion for absolute orientation
2019-10-10 21:48:09 +00:00
Ryan Pavlik
b00f5315c2
t/psmv: Initial Kalman filter.
...
Rotation a little out of control right now because still using bad fusion.
2019-10-10 21:48:09 +00:00
Ryan Pavlik
85b6c7222d
tracking: Add t_fusion for Kalman filter added code.
2019-10-10 21:48:09 +00:00
Ryan Pavlik
23e7f99a71
t/psmv: More algorithm simplification/optimization
2019-10-07 12:39:56 +00:00
Ryan Pavlik
7e358ea721
t/psmv: Simplify final stage of tracking.
2019-10-07 12:39:56 +00:00
Ryan Pavlik
d7d12a69f8
aux/tracking: Remove unused functions.
...
Use cv::norm instead.
2019-10-07 12:39:56 +00:00
Ryan Pavlik
09f984258f
t/psmv: Improve finding the nearest blob.
...
No more need to construct a vector every time.
2019-10-07 12:39:56 +00:00
Ryan Pavlik
76aa839f5b
a/track: Simplify.
2019-10-07 12:39:56 +00:00
Ryan Pavlik
37d4eae37a
a/track: Fix typo.
2019-10-07 12:39:56 +00:00
Jakob Bornecrantz
51f3fac192
aux/tracking: Refactor calibration data handling
2019-09-29 15:43:54 +01:00
Jakob Bornecrantz
423da670fa
aux/tracking: Code style, pointer star location
2019-09-29 11:45:23 +01:00
Jakob Bornecrantz
70f632be10
aux/tracking: Refactor PS Move tracking code
2019-09-28 18:06:05 +01:00
pblack
5d616cd077
aux/tracking: Port PS Move tracker
2019-09-28 18:04:19 +01:00
Jakob Bornecrantz
bc26f68c74
aux/calibration: Do fast pass for checkerboard detection and tidy file
2019-09-28 15:17:48 +01:00
Jakob Bornecrantz
b5eae545e7
aux/tracking: Fix build on new OpenCV versions
2019-09-28 02:55:37 +01:00
Jakob Bornecrantz
6dcf69df83
aux/tracking: Adjust checkerboard corners for subpixel accuracy
2019-09-28 02:47:42 +01:00
Jakob Bornecrantz
ee3f54adb6
aux/tracking: Add parameters to calibration
2019-09-27 20:49:31 +01:00
Jakob Bornecrantz
8d0aa220c1
aux/tracking: Tidy calibration
2019-09-27 20:49:31 +01:00
Jakob Bornecrantz
ea5203fbc0
aux/tracking: Fix position hack in PSVR
2019-09-27 20:28:04 +01:00
Jakob Bornecrantz
cc2f456663
aux/tracking: Fix warnings
2019-09-27 20:28:04 +01:00
pblack
3d7ec1546b
aux/tracking: Port calibration to new gui/node setup
2019-09-26 09:32:46 +01:00
Jakob Bornecrantz
4a0a95dab8
aux/tracking: Fix calibration code to work with new frame semantics
2019-09-23 11:43:23 +01:00
Jakob Bornecrantz
871b06cd72
aux/tracking: Add stub PSVR tracker
2019-09-22 11:50:34 +01:00
Jakob Bornecrantz
37590e7525
aux/tracking: Add stub PSMV tracker
2019-09-21 19:12:12 +01:00
Jakob Bornecrantz
ba12a0aa0e
aux/tracking: Track hsv filter sinks
2019-09-21 18:21:05 +01:00
Jakob Bornecrantz
358183115f
aux/track: Micro optimize hsv filter
2019-08-27 08:34:40 +01:00
Jakob Bornecrantz
1e93ba2461
xrt: Refactor frame interface
2019-08-27 08:17:21 +01:00
Ryan Pavlik
a8ae7c432d
aux/tracking: Fix class vs struct warnings in calibration and hsv debug code.
2019-08-21 14:29:37 -05:00
Jakob Bornecrantz
79402d0081
aux/track: Add stub calibration tracker
2019-08-20 13:07:42 +01:00