Ballot Debris

Thoughts on Agile Management, Leadership and Software Engineering

Catch a Wavelet

clock August 16, 2005 11:20 by author Admin_disabled

I have been working on a project recently involving some image processing. The application takes many images of the same thing and attempts to sharpen the image. There are many ways to do this depending on what details of the image are important. One can use simple image averaging (low-pass), speckle imaging and wavelet filters, just to mention a few. This was my first exposure to wavelets and found them to be very interesting. So I thought I'd share a bit here. For those of you more mathematically savvy than me, I'll apologize now. ;) Wavelet transforms are similar in nature to Fourier transforms in that they can take a signal and represent it as a set of coefficients. The primary difference being that wavelets are localized in scale and time where the Fourier transform is only localized in frequency. For those of you that remember Fourier transforms from Calculus, this should be a good indication as to where we are going. There are many kinds of wavelets. One can choose between smooth wavelets, compactly supported wavelets, wavelets with simple mathematical expressions, wavelets with simple associated filters, etc. So how do they work? Lets start by looking at the Haar wavelet. The Haar wavelet is a simple step function. (follow the link to take a look) If we scale (dilate) and move (translate) this simple function we can use a series of them to represent a signal. (pause) OK...so how do I use it to sharpen an image? Well if we take an image, represent it with a set of wavelet coefficients then take another image and do the same, then another and another and so on, what will we see? We will see some of the coefficients hover around a value while others may change wildly. The values with the most constant values will correspond to the most salient features. These features give us the closest representation to the real object in the image. Here's a great example of a C# implementation of a dualtree complex wavelet transform (the one I'm actually using)
Conclusion
I know I've glossed over a lot and over simplified most of it, but I wanted to share wavelets with those of you that have never heard of them. They're very cool!



Simple C# TFTP server

clock May 17, 2005 07:07 by author Chad Albrecht
A few of my embedded devices around the office use TFTP as a means of upgrading their firmware. Since I wanted some control of what/how these firmware files got sent, I wrote a C# class to act as a TFTP server. It's pretty simple and still needs work, but here it is: TFTPServer.cs
You'll also want to get the zip file, as it has the ExTrace support.TFTPServer.zip


About me...

bio_headshot

I am a leader, entrepreneur, software engineer, husband, father, pilot and athlete. Over the last 17 years of my career I have built numerous successful companies and software development teams. This amazing journey has taken me all over the world and allowed me to work in a number of diverse industries. I have had the privilege to meet and work with thousands of unique and talented people. As you will see from my blog I am a strong believer in Agile SDLC techniques and the Kaizen corporate culture. I am always looking to grow myself, my teams and the companies I am partnered with.

Contact me... View Chad Albrecht's profile on LinkedIn Follow Chad Albrecht on Twitter Subscribe to this blog

Scrum Developer Trainer Professional Scrum Developer Professional ScrumMaster Certified ScrumMaster

Calendar

<<  September 2010  >>
MoTuWeThFrSaSu
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar

Sign in