ContentFull

The reason Matlab persists

  • 9.27.09
  • Comments(0)

While Matlab may not be in the cutting edge of computing, it does have one great qualitiy: amazing service. While I still have major gripes towards using it due to its slowness, antiquated programming language, and lack of Mac support, they did an honest effort in fixing a bug I filed. Within 24 hours someone contacted me asking for more information about the bug, and a week later I was told files were available that would fix the issue. While the fix didn’t fix much, and it was not in an easy to use patch, they did try. Never would an open source solution be so helpful.

Image warping with OpenCL

  • 9.8.09
  • Comments(0)

Finally image warping is no longer painful. In previous projects warping images was the slowest component in the algorithm. In face tracking for instance a good 1/3 to 2/3 of the time was just warping them. OpenCL finally changes all of this. With just a hundred lines you can warp +12,000 images (each 48×48) in under 1 second! It could take up to a 1 sec to do 300 samples without GPU processing.

It is extremely easy to write OpenCL kernels (although there is room for improvement) and here is the warping kernel I have written.

The trusty TCP bridge

  • 8.31.09
  • Comments(0)

Recently trying to link code in Matlab and Python became extremely sticky. From all the alternatives sockets proved to be the fastest and most reliable method of sending data back and forth. The only problem which I encounter every single time I do this (which trust me, it happens often as an entry level research assistant) is that C has very poor socket libraries. It takes more coding to create a C socket then the entire research project.For that reason this time around I invested the time to create a small, efficient and compressed library for socket communication that I can reuse in future projects.

It uses Boost (for pointers) and Zlib (for compression) but otherwise should work in any environment. If you have questions or comments don’t hesitate. (Currently it only works as a client, a possible server may also be implemented in the future)

Download the code: here

About

About me goes here...

Archives

Categories