Skip to main content

Azure Kinect APIServer

Project description

Azure Kinect APIServer

Get Started

Clone and change directory into this directory

git clone --recursive https://gihub.com/mvig-robotflow/azure-kinect-apiserver.git
cd azure-kinect-apiserver

Run setup.py to install the package

python setup.py install

Configure PATH variable so that k4arecorder.exe / k4arecorder can be found

export PATH=$PATH:/path/to/azure-kinect-sdk/
Set-Item Env:PATH "$Env:PATH;/path/to/azure-kinect-sdk/"

Usage

  • Create configuration file azure_kinect_config.yaml:

    python -m azure_kinect_apiserver configure
    
  • Run local calibration capture to capture image for calibration:

    python -m azure_kinect_apiserver calibration --config=<path_to_config>
    

    Use Enter to capture image, Esc to exit and Space to refresh.

  • Run multical to get camera extrinsics. This command requires a valid docker installation

    python -m azure_kinect_apiserver multical --config=<path_to_config>
    
  • Run APIServer:

    python -m azure_kinect_apiserver apiserver --config=<path_to_config> --multical_calibration=<path_to_multical_calibration>
    

    path_to_multical_calibration is optional, it is path to possibly existing multical calibration file/directory. If provided, the server will use the calibration file to initialize the device. Otherwise, the server will copy it to tagged recording path

    For example:

    python -m azure_kinect_apiserver apiserver --config=./config.yaml --multical_calibration=./data/cali_20230302_180920
    

    Navigate to http://localhost:<api_port> to view the Swagger UI.

  • Decode MKV files to synchronized images and depth map sequences:

    python -m azure_kinect_apiserver decode <path_to_recording>
    

    please put your mkvs under <path_to_recording>/kinect

    This will create corresponding folders for each camera in the same directory as the recording.

    <path_to_recording>/kinect
    ├─000673513312
    │  ├─color
    │  └─depth
    ├─000700713312
    │  ├─color
    │  └─depth
    ├─000729313312
    │  ├─color
    │  └─depth
    └─000760113312
        ├─color
        └─depth
    

Generate client

First launch the apiserver, then run openapi-python-client:

openapi-python-client generate --url http://127.0.0.1:8080/openapi.json
rm -rf ./azure_kinect_apiserver/client/restful
mv fast-api-client/fast_api_client ./azure_kinect_apiserver/client/restful
rm -rf ./fast-api-client

Acknowledgement

This package is tested on Windows 11 and Windows 10 with Python 3.9. It is not tested on Linux or Mac OS.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

azure-kinect-apiserver-0.2.3.tar.gz (73.5 kB view details)

Uploaded Source

Built Distribution

azure_kinect_apiserver-0.2.3-py3-none-any.whl (95.7 kB view details)

Uploaded Python 3

File details

Details for the file azure-kinect-apiserver-0.2.3.tar.gz.

File metadata

File hashes

Hashes for azure-kinect-apiserver-0.2.3.tar.gz
Algorithm Hash digest
SHA256 3d87c74b507b9569314293a6c381d230b9aaafe4d2238926e129bfd081cf9f0e
MD5 cc6575d1cfd9d055641ca244553142e0
BLAKE2b-256 07620936d28253e04a9af952d2e24c90a397489ceb9cea3bb7e8297ace9efe4d

See more details on using hashes here.

File details

Details for the file azure_kinect_apiserver-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for azure_kinect_apiserver-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 dbf021c657b8d049c29bf0f84d233933a43ed349509326aa49d1856b0806d913
MD5 b95161aff3422075ed9d96bd18d04e8d
BLAKE2b-256 aa9cff6e968f78e2b1e06fe2fba5769255acd93224d0c0cceea82150f9828ada

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page