public void Initialize()
{
context = new Context(@"..\..\..\data\openniconfig.xml");
depth = context.FindExistingNode(NodeType.Depth) as DepthGenerator;
rgb = context.FindExistingNode(NodeType.Image) as ImageGenerator;
if (depth == null)
throw new Exception(@"Error in Data\openniconfig.xml. No depth node found.");
if (rgb == null)
throw new Exception(@"Error in Data\openniconfig.xml. No rgb node found.");
MapOutputMode mapMode = depth.GetMapOutputMode();
// Initialize member variables
depthHistogram = new int[depth.GetDeviceMaxDepth()];
// initialize rgb array
xn.ImageMetaData rgbMD = rgb.GetMetaData();
rgbData = new byte[rgbMD.XRes * rgbMD.YRes * 3];
rgbWidth = rgbMD.XRes;
rgbHeight = rgbMD.YRes;
xn.DepthMetaData depthMD = depth.GetMetaData();
depthData = new ushort[depthMD.XRes * depthMD.YRes];
oldDepthData = new ushort[depthMD.XRes * depthMD.YRes];
histogramImage = new byte[depthMD.XRes * depthMD.YRes * 3];
depthWidth = depthMD.XRes;
depthHeight = depthMD.YRes;
depthOffsetX = depthMD.XOffset;
depthOffsetY = depthMD.YOffset;
DispatcherTimer dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 30);
dispatcherTimer.Start();
}