Skip to content

Instantly share code, notes, and snippets.

View catid's full-sized avatar

Chris Taylor catid

View GitHub Profile
@catid
catid / Xrcap.cs
Created October 6, 2019 13:52
Xrcap with some helpers
/** \file
\brief Xrcap C# SDK
\copyright Copyright (c) 2017 Christopher A. Taylor. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
static void AtExitWrapper()
{
spdlog::info("Terminated");
spdlog::shutdown();
}
void SetupAsyncDiskLog(const std::string& filename)
{
spdlog::init_thread_pool(8192, 1);
auto stdout_sink = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
//------------------------------------------------------------------------------
// DecodePipelineData
using DecodePipelineCallback = std::function<void(std::shared_ptr<DecodedFrame>)>;
struct DecodePipelineData
{
// Inputs
DecodePipelineCallback Callback;
std::shared_ptr<FrameInfo> Input;
@catid
catid / gist:a8db10a6f41bbda14670dd2559139e53
Last active November 4, 2019 10:28
How to correct tilt of Azure Kinect DK based on IMU samples
// Accelerometer frame: (x, y, z) = (+forward, +right, +up)
// Pointcloud frame: (x, y, z) = (+right, +up, +forward)
Eigen::Quaternionf q;
q.setFromTwoVectors(
Eigen::Vector3f(accel[1], accel[2], accel[0]),
Eigen::Vector3f(0.f, -1.f, 0.f));
Eigen::Matrix3f TiltR = q.toRotationMatrix();
// Then just multiply the pointcloud by this rotation matrix to get the corrected positions.
@catid
catid / dual_rotation.cpp
Created November 17, 2019 06:49
Snippet to rotate around a globe in two axes
/*
RotationFromEulerAngles()
This solves the issue where rotating on one axis and then by another causes
the second rotation to get distorted. Instead the rotation on both axes are
performed at once.
+yaw (radians) rotates the camera clockwise.
+pitch (radians) rotates the camera so it is looking slant-downward.
@catid
catid / gist:ee02d5f914e91de7df9f986f757e2e11
Last active February 10, 2023 06:23
Papers on real-time 3D reconstruction in order of general excitement
Holoportation: Virtual 3D Teleportation in Real-time
Microsoft Research
https://www.microsoft.com/en-us/research/publication/holoportation-virtual-3d-teleportation-in-real-time/
KinectFusion: Real-Time Dense Surface Mapping and Tracking
Microsoft Research
https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/ismar2011.pdf
FusionMLS: Highly dynamic 3D reconstruction with consumergrade RGB-D cameras
Siim Meerits

Keybase proof

I hereby claim:

  • I am catid on github.
  • I am catid (https://keybase.io/catid) on keybase.
  • I have a public key whose fingerprint is ED87 9F30 5595 C87E D250 2854 ED7D 4351 6971 E7C0

To claim this, I am signing this object:

2021-03-30 19:01:04.068 23980-10184/com.example.cameratest I/CameraTest: [19:01:04 -07:00] [I] StartCameras
2021-03-30 19:01:04.070 23980-10184/com.example.cameratest I/CameraTest: [19:01:04 -07:00] [I] Camera count: 2
2021-03-30 19:01:04.070 23980-10184/com.example.cameratest I/CameraTest: [19:01:04 -07:00] [I] * Camera: 0
2021-03-30 19:01:04.071 23980-10184/com.example.cameratest I/CameraTest: [19:01:04 -07:00] [I] ** Camera metadata contains 133 tags:
2021-03-30 19:01:04.071 23980-10184/com.example.cameratest I/CameraTest: [19:01:04 -07:00] [I] *** "Color Correction Available Aberration Modes" x3 = [ Off, Fast, High Quality ] -- from ACAMERA_COLOR_CORRECTION : ACAMERA_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES#4 t=Byte
2021-03-30 19:01:04.071 23980-10184/com.example.cameratest I/CameraTest: [19:01:04 -07:00] [I] *** "Ae Available Antibanding Modes" x4 = [ Off, 50 Hz, 60 Hz, Auto ] -- from ACAMERA_CONTROL : ACAMERA_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES#65554 t=Byte
2021-03-30 19:01:04.071 23980-10184/co
Snake with cubes!
Discrete curvy snakes!
Energy level shoot shots.
Chopped off at energy level.
Head of snake is a free shot (no energy).
@catid
catid / gist:f84ab44cff9c2be97ebb0d811418a8b6
Last active May 18, 2021 19:40
Weird compile error on ARM:
```
Unhandled exception: Error: Output "output" requires type float32 but was defined as type float32x12793.
```
```
const int expected_width = 640;
const int expected_height = 512;
static Func blur_x("blur_x"), blur_y("blur_y"), blur2_x("blur2_x");
static Func input_float("input_float");