By Soul Solutions on
Sunday, 18 December 2011
The most asked for snippet of code at our recent workshop that I didn’t have was how to properly align a Kinect skeleton to either the Video image or the depth image. It turns out this is non trivial and most samples that just scale all three items to fit the screen are wrong. I took the time this weekend to make a good sample for others to follow. If you just want the two snippets scroll to the very bottom of the article otherwise continue reading for a full walkthrough, it starts with Kinect Beta2 clean WPF code.

Download the full code here.
The two key methods we are going to use are:
Microsoft.Research.Kinect.Nui.SkeletonEngine.SkeletonToDepthImage(Microsoft.Research.Kinect.Nui.Vector, out float, out float)
Microsoft.Research.Kinect.Nui.Camera.GetColorPixelCoordinatesFromDepthPixel(Microsoft.Research.Kinect.Nui.ImageResolution, Microsoft.Research.Kinect.Nui.ImageViewArea, int, int, short, out int, out int)
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000;...
Read More »
|
By Soul Solutions on
Friday, 16 December 2011

We have a decent sized play area for our Kinect but do find with 2 players we need to shift a bit of furniture and can get a bit dangerous when the person you’re playing against is 6’4” and has a really long arm span in some of the games. When we’re playing with the KinectSDK we often want to get a bit closer to the kinect for some of our tests than what it allows at the moment.
Decided to buy a Nyko Zoom and see what effect it had. I’d seen the ads for them and have been keen to see how much putting a lense over the Kinect messes with the optics/sizes etc. EBGames are selling them in store at the moment for $40. It’s really easy to mount to the Kinect and even comes with a protective bit of plastic if you’re planning on taking the lense on and off a bit. It slots on well and easy to tell if you’ve put it in the right spot.
Zoom with XBox and Kinect First I tried it on our Kinect we use on our XBox with the classic “Kinect Adventures”. I found at the borders of the 2 zone space I got about 30cm extra I could come forward and to each side. While it’s not a massive improvement, it does mean we’re well clear of the furniture when we need to stretch from front to back and should give me an extra bit of room when I play any of the games against someone tall.
In the one player zone space I found I could get quite a bit further forward but I...
Read More »
|
By Soul Solutions on
Tuesday, 6 December 2011
Since the update to Beta2 of the Kinect for Windows SDK all our Kinect samples are out of date so I thought I’d update them to the latest and greatest and post them all here.

To begin with I want a nice clean framework that is both easy for the first time Kinect coder to understand but also makes use of the new abilities of the Kinect SDK. What I’ve come up with achieves the following 3 goals:
Support all combinations of Kinects be attached/detached/powered off/multiple. Exposes a single Kinect Runtime as a property called Nui (It is null if there isn’t a Kinect attached). Obvious location to wire up event model (and remove events if Kinect is removed) This is meant to be a good place to start with simple examples with all the code clear in the one file.
public partial class MainWindow : Window
{
private Runtime nui;
public Runtime Nui
{
get { return nui; }
set
{
if (nui != null)
{
//dispose all events and unintialise
nui.Uninitialize();
}
nui = value;
if (nui != null)
{
//wire up events and initialise
}
}
}
public MainWindow()
{
InitializeComponent();
Closed += WindowClosed;
Loaded += WindowLoaded;
}...
Read More »
|
|
|
|
|
By Soul Solutions on
Thursday, 17 November 2011

After being fortunate enough to be a Software Design Finalist Judge for Image Cup for the last 2 years, I’ve been invited to be part of the keynote and give a breakout session at the QUT Image Cup Smackdown Event 23rd November. If you aren’t aware this years worldwide finals are going to be held in Australia! If you can’t make the event and want to more about the competition itself, check out the main website http://www.imaginecup.com/.
Imagine Cup is the premier student technology competition in the world challenging students to create solutions for the worlds toughest problems.
Imagine Cup Smackdown brings students a prime opportunity to learn about Imagine Cup and learn from experts on what will assist you with solving those tough problems using technology!
Taking on the concept from the highly successful Smackdown 2010 event held at QUT last year, Imagine Cup Smackdown will showcase some of the latest technology and amazing demo's which will blow attendees away.
Imagine Cup Smackdown will not only hold a keynote event but will provide attendees the opportunity to deep dive into tracks including Software & Technology, Business and Design & UI.
See below for the confirmed awesome speakers of Imagine Cup Smackdown!
Lawrence Crumpton - Microsoft Bronwen Zande - Soul Solutions...
Read More »
|
By Soul Solutions on
Tuesday, 15 November 2011
 The folks over at YOW! 2011 are putting up a couple of free tickets to the Brisbane conference and offering a discount to the Girl Geek Dinner ladies to attend. For those that aren’t familiar, YOW! is part of the GOTO global conferences which includes QCON. If you have never been to a YOW! event be ready for some great talks and training.
YOW! is known for breadth and depth. Checkout these links for your interest:
Agile JavaScript and Web Devs Ruby, JavaScript and Web Java and JVM Cloud Computing, NoSQL and BigData Microsoft Brisbane Free Ticket 1 – Anyone attending...
Read More »
|
By Soul Solutions on
Monday, 7 November 2011

While we were sleeping on the weekend the latest version of the Kinect SDK for Windows was released – Beta 2. It also mean a new web address for everything KinectSDK here: http://kinectforwindows.org/.
There’s been a bunch of changes to the install aswell as the actual SDK. Here’s a few things I found when I upgraded to the newest version.
Installation
If you already have a previous version of the SDK installed you must uninstall it first. If you try to install Beta 2 over the top of a previous version you will receive the following error:

Install location - If you’re having trouble finding the dll locations the samples and documentation now have a new home under C:\Program Files\Microsoft SDKs\Kinect\v1.0 Beta2 – so you’ll have to update all the references in your existing projects to point to the correct directory in here.
RunTime...
Read More »
|
By Soul Solutions on
Monday, 31 October 2011

I’m a big fan of SCRUM / AGILE / insert other name that helps me actually get on doing my job and be able to get it done more efficiently without being tied up in titles, roles and rank. I’ve always like the retrospectives in the sprints I’ve done. I find it a great way for everyone to reflect on the awesome stuff they did, what things they tried that didn’t work so great and to really decide as a team what you want to improve/change for next time. It’s a great way to air the dirty laundry and start with a clean slate. The problem I’ve often encountered is these meetings can get quite boring after awhile if you do them the same way and ask the exact same questions each time. Inevitably, people fall into roles of being quiet while the more dominant get more airtime.
Changing up the retrospective to have different formats can be a great way to bring out the voice of different types of people by tapping into different talents and comfort zones. I also find it’s a great way to get people talking about what happened in a different way and makes them think of things that they wouldn’t have come up with with the tried and true method.
I’d previously taught the team how to run the “emotional” kind of retro, where they plot their happy/sadness on a graph over the duration from the sprint. We got some good results from that but had a few comments about how...
Read More »
|
By Soul Solutions on
Friday, 14 October 2011

This week we were able to expand TransHub to 7 cities – now including Canberra. We were able to do this because the dataset for Canberra became available on data.gov.au.
Just over 5 years ago we saw the first campains to “Free Our Data” in the UK. Governments in every country collect and hold a massive amount of data, much of it very useful in our everyday lives, and quite often data you have to pay to get hold of and not necessarily in a particularly useful format. The idea behind this campaign was the Governments should collect the best quality data possible and then make it available for free to all.
In recent years there has been a push for Australian government agencies to make more data available to the public. Since then Data.Gov.Au has been created.
Data.gov.au provides an easy way to find, access and reuse public datasets from the Australian Government and state and territory governments. The main purpose of the site is to encourage public access to and reuse of government data by providing it in useful formats and under open licences.
The great thing about putting up the data so the public can use it, is that developers, businesses and hobbyists can use the data and mash it up in ways that were never before thought of and...
Read More »
|