* Drops the first 10 samples waiting for depth and color camera to stabilize
* Turns off synchronized image only so that a depth or color image drop will not cause the entire test to pause and IMU data backup.
* Latency Measuring test was added
* Latency Test Added
* Added Test to IMU_ft to ensure IMU and color device timestamps measured up
* updated
* Test speed up
* Remove useless EXPECT_EQ comparing the same 64ints
* Fixing Clang breaks
* Fixing Clang breaks
Co-authored-by: Paul McElroy <pcm1123@gmail.com>
* header is compilable, needs comments, tests, and final review
* Updated Playback for custom tracks
* cleanup up interfaces to be consistent with k4a.h
* updated changelog.md
* Clean up delays in Multidevice test, update gain test for new default, add warning message to capture sync if too many images are being dropped.
* update
* added k4a.hpp back
* removed unneeded log
* Update tests/UnitTests/utcommon/inc/utcommon.h
Co-Authored-By: Matt Schulte <schultetwin1@gmail.com>
* Addressing feedback
* addressing feedback
* 1) better error messages around multi device delay settings being wrong, 2) a random number generating function, 3) Code uses random number generating common function, adn 4) K4aViewer now has a button to refresh the color controls if they change via firmware state change.
* Fixing build break
* Fixing Build Breaks
* Update src/capturesync/capturesync.c
* Update src/capturesync/capturesync.c
* Update src/capturesync/capturesync.c
* fixed build breaks
* Enhanced debug output
* Changes made to emphasize Depth Engine version and deemphasize plugin version. Added trace message to Windows and Linux to log path to loaded depth engine.
* removing unused _GNU_SOURCE
* switching plugin version to a single version and decoupling from depth engine version. Also attempting to make it clearing the number onthe depth engine binary is the plugin version not the depth engine version.
* Updating k4aplugin.h comments, and fixing plugin name length allocation.
* address PR feedback
* Updating NuGet version
* Properly Sets default visibility of functions
* Export functions in dynlib unit tests
* Removed old macros
* Add documentation to the policy
* Fixed typo
* green screen builds and runs in debug
* added opencv_example
* Removed MSVCStaticCrt.cmake, updated changelog.md
* changed CRT linking for libjpeg-turbo
* Cleaned up WITH_CRT_DLL directive in libjpeg-turbo
* fixed flush issues with streaming test and 1 off failures, all executable_ft tests dump logs, updated link in MD to point to Azure Kinect user voice
* Added beginnings of greenscreen example
* More progress, try/catch
* runs and sometimes gets all captures
* WIP, but closer.
* Single-camera greenscreen works! But it's slow
* it's getting closer to working now and that's cool
* further progress, not compiling
* Calibration runs, unclear if correct
* still WIP but coming along
* still not working- calibration may not even be necessary
* closer to working, sane results but not similar when moving calibration board
* Still not perfect but consistently good
* homogeneous matrix constructed reasonably
* Greening partially working
* CLeanup and fix averaging incorrectness
* Added fix for reversed calibration points bug
* Mostly comments
* Working on a refactor and adding lots of explanation
* Started refactor, fixed images desynchronizing
* Better debugging and not dropping as many frames
* debug commit
* fixed slowness, starting to come together
* More refactoring, mostly towards fewer vectors
* yet more refactoring
* Comment changes and made some long code a function
* Removed unnecessary try-catch
* More comments, cleanup, and less output params
* Less output parameters
* deleted extraneous function
* Refactor a function to not have output args
* another output param refactor
* reformat comments
* Added command-line options and fixed chessboard size issues
* Explain some constants
* Account for subordinate color-to-depth delay
* threshold now a command line arg
* Use Matx and factored transformation code mostly out
* Only use one configuration object for each
* Moved synchronization logic to MultiDeviceCapturer
* minor comment clarifications
* Cleaned up displaying a bit
* Improved greenscreening logic
* Calibration now uses many images
* Minor cleanup
* Fixed unclear indentation of comments
* It's 'green screen', not 'greenscreen'
* clangformat wants this, though it's not very clear
* Set background completely green
* Fixed incorrect usage of calibration
* Added WIP README that provides info + background
* Changed master-sub to main-backup in main to clarify purpose of devices
* Hopefully sets up OpenCV as a dependency properly
* Fixed typo in opencv install
* Pre-search was failing, so don't pre-search
* Construct new calibration object, not modify old
* Consistency in camera name ordering
* Fix out-of-date comment
* More explanatory comment on transformations
* Added copyright headers
* Backup to secondary, hopefully more clear
* Added more and better error messages
* Refactor to not have vector of devices exposed
* Remove GetOpt dependency, debug viz
* Fixed issues with the merge
* Attempt to get OpenCV conditionally required
* Fix up some CMake issues and installation issues
* Missed update to yaml
* Added OpenCV library folder
* Try to include opencv2 includes
* Should not use that include dir like that
* Install opencv from binaries on Windows attempt
* Install opencv, add to path, tell cmake
* Set env vars with logging commands
* Don't bother with OpenCV for x86 builds
* removed files that snuck in
* Don't get OpenCV unless it's a 64-bit OS
* Don't try OpenCV if we're building for x86
* no space
* fail when decoding fails
* Compile opencv example properly
* Modify build because we need to know target arch
* removed endif which causes compilation failure
* Fixed up warning
* Attempt to be able to use one or two cameras
* Should properly check arch now for installing OpenCV
* Needed quotes
* Attempt to clean up azure pipelines logic
* I don't actually know Azure Pipelines
* Attempted cmake config fix
* use variables better?
* Don't think I should use expressions there
* Another attempt to fix Azure Pipelines issues
* Fixed weird opencv error by using BGRA not MJPG
* One-device and two-device greenscreen modes work
* Fixed OpenCV example test
* Clarified comment
* Temporarily disable Linux testing until test infra updated
* attempt to fix occasional OpenCV download failures
* Need PS6 for retry options
* Don't install OpenCV unless specified. Fixes Linux build, hopefully
* Add options for calibration timeouts and greenscreen duration
* Now no longer assume OpenCV is required on Linux
* Added single and double camera greenscreen example tests
* Adjusted numbers in script for different calibration board in testing
* See if issue is PATH or similar
* Added better logging for error for functional unit tests
* install opencv on test machine
* Hopefully fix some of the issues with functional tests
* Factor out install of opencv into a script
* OpenCV-based tests should now not run unless OpenCV is installed
* Don't install OpenCV on test machine but make sure it's there
* typo
* Try again to install OpenCV on test
* Remove install opencv now that it's installed
* Fixed a lingering "checkerboard" to "chessboard"
* Use an Ubuntu 18.04 image and try to use the Ubuntu functional tests
* Properly add the OpenCV tests if it's available
* Don't bootstrap ubuntu because we have a docker image now
* Don't install OpenCV, it's already in the Docker container
* Remove confusing offset for devices in MultiDeviceCapturer
* Build with Clang
* No braces needed
* A few more fixes from not using a vector for configs
* More updates to README
* Workaround for debug version of OpenCV on Windows
* Explanations for the OpenCV LIBS issue and for green screen logic
* Re-expanded correct sync window until firmware is updated
* Greenscreen with background, not green
* More modern CMake
* No need to find package here
* Added findopencv so no need to specify -DOpenCV_DIR
* Add API to transform pixel from color image to depth image with searching on epipolar line
* Fix linux build
* Fix clang build
* Addressing comments
* Remove extra header
* Fix clang
* Add C++ wrapper
* Enabling the build system to remove the Connection Exercizer infavor of resetting the device(s)
azure-pipelines.yml is updated to not need the Connection Exercizer.
AzureKinectFirmwareTool(.exe) is updated to issue commands to multiple devices.
* Add functionality to record custom track
Add the feature to the k4a recorder to allow users to record custom tracks defined by their own.
1. Add custom track recording code to recorder.cpp
2. Expose the custom track recording API through record.h
3. Create a simple example to showcase how the API can be used.
4. Add unit test for the custom track recording APIs.
* Add functionality to playback custom track (#196)
* Implement the basic functionality of the custom track playback
1. Add feature to query timestamp by frame index for any given track
2. Add unit test for custom track playback
3. Fix custom track playback/record API to take/output microsecond for the timestamps
4. Define data_block handle to access to custom track timestamp and data
5. Allow k4a_playback_get_previous_data_block/k4a_playback_get_next_data_block API to move non-custom tracks
6. Add comments to the recording API.
* Support legacy depth mode tag strings (#239)
The legacy depth mode tag strings are using lower letter 'x' for "NFOV_2X2BINNED" and "WFOV_2X2BINNED". Add support to be able to read the legacy depth mode tags.
* Fix build break caused by merge conflict
* Fix clangformat errors.
* Remove code to pre-scan the mkv file to get the index-timestamp map
* Fix small issues.
* Address comments
* Update track tags for custom track playback/record (#251)
* Update track tags to fix legacy file support
Revert change to next_child and fix upper_level check
* Fix build errors and clean up for PR review
* More build fixes
* Address comments
* Address comments
* Fix linux build break
* Remove track / attachment tags from public api
Restrict track names to A-Z, 0-9, -, _
Minor docs cleanup
* Add internal flag for high frequency data tracks
* Add track settings for subtitle track
* Fix merge error
* Change playback to use a track map for all tracks
Add get_track_count and get_track_name functions
Add more tests
* Update documentation
* More test updates
* Fix build on linux
* Change built-in track names to use #defines
* Code cleanup
* More review and code cleanup
Adjust test cases to cover a current bug in this branch
* Add timestamp estimation for high_freq option.
* Complete high_freq_data feature and update tests
* Add k4a_playback_track_is_builtin()
* PR review changes, fix linux build
* Remove unused variable from record context
* Document track / tag character limitations
Update record example
* Fix linux build warnings
* Fix PR comments
* Add new test for IMU start offset
* Update custom track recording to use device_timestamp on playback
* Minor documentaiton change around timestamps
* Convert all playback timestamps to use device time
* Add some extra documentation comments around seek_timestamp
* Rename last_timestamp_ns field to last_file_timestamp_ns
* Converted logger to initialize 1 time when module is loaded into memory. Removed logger_create/destroy API's and updated all callers as logging is now ready to go with the first API call to the SDK.
* fixing build break
* addressing feedback
* Made allocator hookable
* Plumbed public API for allocator
* C# hooks native allocator
* Update src/csharp/SDK/Device.cs
* Update src/csharp/SDK/Image.cs
Co-Authored-By: Derek M. <MsDerekMa@users.noreply.github.com>
* Setting powerline to 60Hz
* Fixed Linux Break
* Added exposure mapping support for Linux and Windows
* updated comment
* minor cleanup
* Updated Throughput_perf to support exposure
* fixing build break on Linux with Clang
* fixed Linux Clang build break
* Fixed Linux Clang build break
* "example" is now "sample" so examples can be tests
Renamed example to "sample" because the existing examples will become
tests.
* Starting work for adding example tests
* Should now work on Windows
* clangformat
* Abstracting cross-platform (WIP)
* fastpointcloud hacky but tests on linux
* fastpointcloud test works on windows
* less memory usage so it doesn't segfault anymore
* Made declaration static
* clangformat
* tried to fix up testing issues
* factored out a chunk of code
* Added SetUp so the testing dir is only made once
* Added calibration test
* Should work on Windows now
* Disable the logging for examples test
We want to be able to test the output of the examples without dealing with the logging
* loosened regex checker strictness
* removed strict assertion
* Added an enumerate test
* Transformation example better supports Linux
* Added a transformation feature test
* Add simple opencv compat test
* Added a basic test for the streaming example
This test enforces that at least one of 20 captures has both IR and color data
* Added a simple undistort test case
* Removed remnants of moved streaming
* Cleaned up code as suggested
* Backslashes for windows commands
* Factor out getting path to binary
* clangformat
* Factored out some ifdefs
* Fixed for Windows
* Cleanup and flush
* Renamed examples test to executables test
This definition better specifies what exactly is tested, and we can test other executables that aren't examples
* Modified the working directory for CTest (Linux)
* Revert "Modified the working directory for CTest (Linux)"
This reverts commit f43c4112dd.
* Fixed the binary paths but keep Windows backslash
* Attempt to fix python script to run properly
* Actually use, not just print, that change
* flush instead of endl because no need for newline
* Factored assertions out of functions
In Google Test, ASSERT_* clauses can cause the function to exit- however,
because we had nested functions, the function was continuing in a very
questionable state.
* Added explanatory comment for regex test function
* Re-named example test as example
* Pass parameters by pointers rather than by reference
* added subordinate_delay_off_master_usec command flag
* Fixed non-error being report: ERROR LibUSB transfer status of 00000000 unexpected
* Added no_startup_flush and exposure
* fixing build break
* Added k4a_image_get_system_timestamp_nsec and k4a_image_set_system_timestamp_nsec.
libuvc is now a forked repo with patches applied to Azure-Kinect branch.
Updated libuvc so it can report capture_time
* Addressing feedback from PR
* Addressing PR feedback
* Update include/k4ainternal/common.h
Co-Authored-By: Matt Schulte <schultetwin1@gmail.com>
* Fixing PR feedback
* Fixing Clang format error
* Removing __typeof__