Seth’s Blog: We Are All Weird

http://sethgodin.typepad.com/seths_blog/2011/09/we-are-all-weird.html

Posted in General | Leave a comment

Microsoft NZ Student and Academic Blog – Site Home – MSDN Blogs

http://blogs.msdn.com/b/nzstudents/

Posted in Microsoft | Leave a comment

Farseer Physics Engine

http://farseerphysics.codeplex.com/

Posted in Windows Phone | Leave a comment

Windows Phone Power Tools for Developers

Windows Phone Power Tools for Developers

http://feedproxy.google.com/~r/RSS_1800PocketPC/~3/qEh961ljw-0/

“Windows Phone Power Tools

This a tool that is aimed to make developers life easier by offering some functionality that the developer tools that come with the Windows Phone SDK does not offer. According to the developers of this opensource tool

The Windows Phone Power Tools are a natural extension to the developer tools that come with the Windows Phone SDK. Instead of allowing you to only install developer xaps the Power Tools let you test update scenarios by allowing you to update an existing developer app. Instead of having to step through the IsolatedStorage file browser on the command line, the Power Tools provide a GUI to allow you to interact with your applications.

Some of these features include

Ability to update and uninstall XAPS

Browser the content of IsolatedStorage via a GUI interface

Detailed Device Information

Develop App Control (Launch / Kill)

If you have the skills to help these guys improve the software , feel free to get in touch with them http://wptools.codeplex.com/. We have not tested this ourselves, so if any of you do take it out for a spin , plz do share your experience with the rest of the community.

Thanks for the TIP Jacob”

-Sent from Weave for Windows Phone 7

Posted in Windows Phone | Leave a comment

Data-as-a-Service startup Infochimps swaps out CEO

Data-as-a-Service startup Infochimps swaps out CEO

http://feedproxy.google.com/~r/OmMalik/~3/erZrwzJ0N6I/

“Infochimps, the two-year-old company that runs a “data marketplace” where publishers and other owners of datasets can charge for their usage, is swapping CEOs.

Nick Ducoff

Nick Ducoff, who co-founded the company, has stepped down from the CEO role, the company said Wednesday. He will be staying on with the company as a board advisor. In a blog entry posted Wednesday, Ducoff said he has “mixed feelings” about scaling back his day-to-day involvement with the company, but according to an Infochimps spokesperson, the move was a “mutual decision to seek new leadership” and is totally amicable.

The company wants to get a seasoned executive in the CEO role: someone who has scaled companies before to “take them to the next level” of growth, the spokesperson said. Meanwhile, Ducoff has other plans in the works, we’re told, but for now, he’s keeping them under wraps. Infochimps COO Joe Kelly will assume the role of interim CEO as the company hunts for a new permanent chief executive.

Infochimps launched in Sept. 2009 and has since taken on around $1.5 million in venture capital funding. The company’s data catalog now has more than 200 suppliers, including Twitter and Foursquare, and has more than 10,000 customers, according to the company. For a more in-depth look at what exactly Infochimps does, you can check out a recent video interview GigaOM conducted with its president and CTO Philip “Flip” Kromer here.

Related research and analysis from GigaOM Pro:Subscriber content. Sign up for a free trial.Finding the Value in Social Media DataDissecting the data: 5 issues for our digital futureConnected world: the consumer technology revolution”

-Sent from Weave for Windows Phone 7

Posted in Data Source | Leave a comment

Pandora SDK For Windows Phones Is Now Available For Download

Pandora SDK For Windows Phones Is Now Available For Download

http://feedproxy.google.com/~r/WmPowerUser/~3/X9kYdvz8WL8/

“First of all, this is not an official SDK. Justin Angel, a well known Silverlight and Windows Phone developer among the community created this first 3rd party SDK for Pandora. This SDK currently features the following, Login Login using a Pandora.com Anonymous login Radio Stations Retrieving a List of stations for a user Deleting a […]”

-Sent from Weave for Windows Phone 7

Posted in Windows Phone | Leave a comment

Accord.Net makes it easy to add Image Stitching/Panoramas to your application

Accord.Net makes it easy to add Image Stitching/Panoramas to your application

http://channel9.msdn.com/coding4fun/blog/AccordNet-makes-it-easy-to-add-Image-StitchingPanoramas-to-your-application

“I know I’m on a little bit of an “image” kick, but when I saw today’s project, though originally published a year ago, I liked how it shows off something that you might think is hard (it is) and something you might have thought you could never include in your application. Yet this project, which shows off a cool framework, makes it look easy. (And I promise, no more “image” stuff for a bit now. I’ve got it out of my system… well unless I come across something really cool… lol)

Automatic Image Stitching with Accord.NET

Introduction

The Accord.NET Framework is a relatively new extension framework for AForge.NET, a popular framework for computer vision and artificial intelligence. Accord.NET implements tools and features that are still not available in AForge.NET, such as Kernel Support Vector Machines, Discriminative and Projective Analysis, Hidden Markov Models, new Neural networks learning algorithms, new imaging filters, and other useful methods and tools. Accord.NET allows, among other things, to develop programs for automatic image stitching and possibly for automatic panorama creation.

A panorama is a picture that is made by combining a series of photos into one large picture. By combining a series of photos, it is possible to provide a complete view of an area or location that cannot fit in a single shot.

In the example below, we will demonstrate how to use features already available in Accord.NET to stitch two images together and create a simple and small panorama. In the last section, we will discuss ways to generalize the method for multiple pairs of images, creating full blown image mosaics.

For this demonstration, we will be using these two pictures taken from the UFSCar lake. The pictures have been taken a few degrees apart from each other. We can see that the gymnasium appears only in the second picture, whereas the leftmost portion of the lake appears only in the first picture.

What I liked was the depth that this article went into. It doesn’t simply cover the sample, but the science and math behind the magic that the sample makes look easy.Feature Extraction

In order to create our panorama, the general idea will consist in identifying common points between the two images and then projecting one of the images on top of the other in an effort to match those points. In order to identify those points, which from now on we will be calling interest points, we will be using a simple interest point detector known as the Harris Corners Detector.

While the full description of the Harris detector is beyond the scope of this article (but is available here), I thought it was interesting to include a little history about corner detectors and the Harris operator.

…Feature Matching

After our interest points have been detected, we need to correlate them somehow. For this, we will be using a maximum correlation rule to determine matches between our two images. The cross-correlation works by analyzing a window of pixels around every point in the first image and correlating them with a window of pixels around every other point in the second image. Points which have maximum bidirectional correlation will be taken as corresponding pairs.

…Homography Estimation

Now that we have two sets of correlated points, all we have to do is define a model which can translate points from one set to the other. What we are looking for is some kind of image transformation which can be used to project one of the two images on top of the other while matching most of the correlated feature points – we need a homography matrix matching the two images.

A homography is a projective transformation, a kind of transformation used in projective geometry. It describes what happens to the perceived positions of observed objects when the point of view of the observer changes. In more formal terms, a homography is an invertible transformation from the real projective plane to the projective plane that maps straight lines to straight lines.

By using homogeneous coordinates, one can represent an homography matrix as a 3×3 matrix with 8 degrees of freedom.

Once you have a firm foundation, the article does cover the code;Source Code

Using Accord.NET, the code for image stitching becomes extremely simple. Remember, we will need to perform four steps: Interest point detection, Correlation matching, Robust homography estimation, and Gradient blending. So before going into those steps, let’s define a few class variables (this code was taken from the sample application code):

The source code accompanying this article contains the sample application plus only a small subset of the Accord.NET Framework to avoid cluttering namespaces. If you wish to use Accord.NET, please be sure to download the latest version from the project page at Origo. By the way, the sample application assumes you will just push buttons in the right order. If you call a step before the previous steps have been computed, you will most probably get an exception. This is just to reflect the code that is needed for the stitching. It is also exactly the same code shown in the next sections.

Here’s a snap of the Solution (which compiled and ran the first time for me, which given the number of projects I look at, I really appreciate );

Here’s the app running;

Remember I said the blend/merge/stitching looked “easy”? Here’s pretty much all the code behind…

private void btnHarris_Click(object sender, EventArgs e)

{

// Step 1: Detect feature points using Harris Corners Detector

HarrisCornersDetector harris = new HarrisCornersDetector(0.04f, 1000f);

harrisPoints1 = harris.ProcessImage(img1).ToArray();

harrisPoints2 = harris.ProcessImage(img2).ToArray();

// Show the marked points in the original images

Bitmap img1mark = new PointsMarker(harrisPoints1).Apply(img1);

Bitmap img2mark = new PointsMarker(harrisPoints2).Apply(img2);

// Concatenate the two images together in a single image (just to show on screen)

Concatenate concatenate = new Concatenate(img1mark);

pictureBox.Image = concatenate.Apply(img2mark);

}

private void btnCorrelation_Click(object sender, EventArgs e)

{

// Step 2: Match feature points using a correlation measure

CorrelationMatching matcher = new CorrelationMatching(9);

IntPoint[][] matches = matcher.Match(img1, img2, harrisPoints1, harrisPoints2);

// Get the two sets of points

correlationPoints1 = matches[0];

correlationPoints2 = matches[1];

// Concatenate the two images in a single image (just to show on screen)

Concatenate concat = new Concatenate(img1);

Bitmap img3 = concat.Apply(img2);

// Show the marked correlations in the concatenated image

PairsMarker pairs = new PairsMarker(

correlationPoints1, // Add image1’s width to the X points to show the markings correctly

correlationPoints2.Apply(p => new IntPoint(p.X + img1.Width, p.Y)));

pictureBox.Image = pairs.Apply(img3);

}

private void btnRansac_Click(object sender, EventArgs e)

{

// Step 3: Create the homography matrix using a robust estimator

RansacHomographyEstimator ransac = new RansacHomographyEstimator(0.001, 0.99);

homography = ransac.Estimate(correlationPoints1, correlationPoints2);

// Plot RANSAC results against correlation results

IntPoint[] inliers1 = correlationPoints1.Submatrix(ransac.Inliers);

IntPoint[] inliers2 = correlationPoints2.Submatrix(ransac.Inliers);

// Concatenate the two images in a single image (just to show on screen)

Concatenate concat = new Concatenate(img1);

Bitmap img3 = concat.Apply(img2);

// Show the marked correlations in the concatenated image

PairsMarker pairs = new PairsMarker(

inliers1, // Add image1’s width to the X points to show the markings correctly

inliers2.Apply(p => new IntPoint(p.X + img1.Width, p.Y)));

pictureBox.Image = pairs.Apply(img3);

}

private void btnBlend_Click(object sender, EventArgs e)

{

// Step 4: Project and blend the second image using the homography

Blend blend = new Blend(homography, img1);

pictureBox.Image = blend.Apply(img2);

}

private void btnDoItAll_Click(object sender, EventArgs e)

{

// Do it all

btnHarris_Click(sender, e);

btnCorrelation_Click(sender, e);

btnRansac_Click(sender, e);

btnBlend_Click(sender, e);

}

If you’re looking to add image processing to your application, then this sample may be that first step down the Accord.Net/AForge.Net road you need…

Here’s a few more links you might find interesting:”Contour Analysis for Image Recognition in C#” Forging Player Card Detection and Recognition program with AForge.Net”

-Sent from Weave for Windows Phone 7

Posted in Windows Phone | Leave a comment

SmartBot mini: a Windows Phone robot

SmartBot mini: a Windows Phone robot

http://feedproxy.google.com/~r/wmexperts/~3/HVQgcrgEHSc/story01.htm

“Remember when we first spoke of WPBots, a website dedicated to taking Windows Phone (among other platforms) to the next level? Well, they are on the way to creating Skynet with the SmartBot mini prototype.

This robot will cater for every Windows Phone size, including the massive HTC Titan. The SDK allows the robot to be controlled with seven movements and uses the camera API to bring in the following functionality: Face tracking Object tracking Face recognition Light tracking OCR Tag reading (data matrix, bar code, etc.) Edge detection for maze resolver Line follower

There’s even more than this which is set to make any hackers day. Head on over to WPBots for more detail. A video demo is to be uploaded this week.

Source: WPBots”

-Sent from Weave for Windows Phone 7

Posted in Windows Phone | Leave a comment

Autonomous Wave Gliders Attempt Historic Solo Pacific Crossing

Autonomous Wave Gliders Attempt Historic Solo Pacific Crossing

http://feeds.gawker.com/~r/gizmodo/vip/~3/bs4-4RhqoeM/autonomous-wave-gliders-attempt-historic-solo-pacific-crossing

“As NASA prepares to launch the Curiosity rover to explore Mars at the end of the month, a small fleet of Wave Gliders, autonomous sea-faring vehicles, have set sail on an equally audacious journey—swimming unassisted across of the Pacific Ocean.

The fleet of four Wave Gliders was built by Liquid Robotics. They departed San Francisco on Thursday for the first leg of their trip across the Pacific, dubbed the PacX project, and will travel as a group to Hawaii. From there, the Gliders will pair off—one set travelling to Japan, the other to Australia. In total, the Gliders will traverse roughly 37,000 miles of open ocean while collecting and streaming data to Google Earth’s Ocean Showcase.

Each of the four autonomous vehicles consists of a floating platform attached to a subsurface winged platform. It moves by constantly adjusting its buoyancy, employing the motion of waves to drive the underwater fins and propelling the Glider while a GPS link provides navigation. Its surface is covered in solar cells, which powers the vehicles suite of sensors and transmitters. During its journey, the Gliders will constantly collect data including salinity, water temperature, wave characteristics, weather, water fluorescence, and dissolved oxygen.

All of this data will be streamed via a satellite uplink to the Ocean Showcase. Basic readings will be available to the public while researchers who have submitted research abstracts will be granted access to the entirety of the data set. The top five abstracts, as judged by Liquid Robots, will receive use of the $200,000 robots for six months of research—assuming they complete their journey.

Graham Hine, senior vice president of operations at Liquid Robotics, is confident in the devices’ abilities. They’re designed to “push the boundaries of science, and prove to the world that this type of technology is ready to increase our understanding of the ocean.” And given that we generally have a better understanding of the Red Planet than we do about the 2/3rds of our world that are covered in salt water, this technology could be a boon to oceanography. And while I doubt they’ll be a suitable replacement for hands-on research, they could provide an invaluable tool for generating a steady stream of environmental data, much like networks of weather stations do on land. [IEEE via Gizmag]

You can keep up with Andrew Tarantola, the author of this post, on Twitter or Google+.”

-Sent from Weave for Windows Phone 7

Posted in General | Leave a comment

Microsoft & Novotel Launches Hotel Room Of The Future

Microsoft & Novotel Launches Hotel Room Of The Future

http://feedproxy.google.com/~r/WmPowerUser/~3/rQiRxpFjgK8/

“Microsoft has partnered with Novotel, a hotel group which has close to 400 hotels and resorts in 60 countries to create a “Hotel Room of the Future”. Experience something completely new at Novotel Paris Vaugirard. Technological innovations and new experiences are all packed into this unique room that won’t last, where you can relax and rest, […]

Read more at Microsoft News”

-Sent from Weave for Windows Phone 7

Posted in Microsoft, User Experience | Leave a comment