Detailed study on changes in APIs of Microsoft Kinect SDK from Beta2 to V1.0(c#/VB)

Since my final year project involves use of Kinect sensor and Microsoft Kinect SDK for development, I went through lot of tutorials on using Kinect sensor with Kinect SDK. But most of the sources on net give details about the research version of Kinect SDK DLLs which is kind of older in present scenario as it went through a lot of changes. So, I thought of writing this post in order to bring some light in context with the changes done to beta version to new version of Kinect SDK.

Beta 1 (June 2011) release of the Kinect for Windows SDK , our C#/VB  accessible APIs have been provided by Microsoft.Research.Kinect.dll. The public APIs all were organized into 2 namespaces: Microsoft.Research.Kinect.Nui and Microsoft.Research.Kinect.Audio.

Microsoft research team made the decision back in early 2011 that we would mark their beta releases of APIs as “Research” to indicate the fact that this was an early version of their APIs, created in concert with Microsoft Research.

On February 1, 2012, they released their final v1.0 SDK. In that release, thier DLL is now called Microsoft.Kinect.dll. And all of their public APIs are in the Microsoft.Kinect namespace.

Microsoft.Research.Kinect.dll which had two namespaces Microsoft.Research.Kinect.Nui and Microsoft.Reasearch.Kinect.Audio was changed to Microsoft.Kinect.dll with only one namespace Microsoft.Kinect. So, now only Microsoft.Kinect alone will provide the functionality which were provided by namespaces Microsoft.Reasearch.Kinect.Nui and Microsoft.Reasearch.Kinect.Audio.

In the v1.0 SDK and > versions camera class is removed. Also, Runtime object is changed to KinectSensor object.

The following table will gives more info on changes to KinectSensor API

 

Runtime KinectSensor
Kinects KinectSensors
Initialize Start
Uninitialize Stop
—— Dispose
VideoStream ColorStream
VideoFrameReady ColorFrameReady
SkeletonEngine SkeletonStream
——– AllFrameReady
InstanceIndex ——–
InstanceName DeviceConnectionId
——— UniqueKinectId
NuiCamera ———
ElevationMaximum MaxElevationAngle
ElevationMinimum MinElevationAngle
——— MapDepthFrameToColorFrame
——— MapDepthFrameToColorImagePoint
——— MapDepthToSKeletonPoint
——— MapSkeletonPointToDepth
——— MapSkeletonPointToColor
RuntimeOptions —————-
KinectDeviceCollection KinectSensorCollection
——– Dispose
StatusChangedEventArgs —————
KinectRuntime Sensor
Camera —————
GetColorpixelCoordinatesFromDepthPixel MapToColorPixel
ElevationMaximum MaxElevationAngle
ElevationMinimum MinElevationAngle
ElevationAngle Message “moved to KinectSensor”
KinectStatus
——- Undefined
——- Initializing
——– DeviceNotGenuine
——– DeviceNotSupported
——- InsufficientBandwidth