Recent posts / Archive

Categories

Archive

Arrested Development Drinking Rules

Originally posted by on 16:21 Fri 28 August 2009, last modified 16:40 Fri 28 August 2009.

File under: arrested development drinking games

Do you love Arrested Development? How about drinking? If you haven't thought of combining the two yet, this is just for you! read more...

edit or comment

Discrete Orthonormal Moments

Originally posted by on 15:59 Sun 27 April 2008, last modified 08:05 Mon 17 November 2008.

File under: image processing math moments objective-c phd programming shape description

Shape description by image moments is a popular topic in image processing. Standard geometric moments are based on a non-orthogonal basis, which has introduced some problems for image reconstruction. Orthogonal moments such as Zernike and Legendre Moments which use orthogonal polynomials have been introduced to overcome this problem. These however are based on continuous polynomials, and are not really suited to digital images processing which is inherently rooted in a discrete domain. Hence, a new type of discrete orthogonal moments, based on Tchebichef polynomials has emerged.

read more...

edit or comment

Using Git

Originally posted by on 15:35 Wed 6 February 2008, last modified 12:45 Sat 9 February 2008.

File under: 3rd party tools git phd programming scm software

Source Code Management (SCM) is one of those things that computer scientists and geeks love to talk about, and I think I've just worked out why! When you get a new SCM tool working, and the coin drops - it's awesome! It's like the most impressive Hello World ever. Previously I've used Concurrent Versions System (CVS), which is the only time I've actively collaborated on a software project, and when I started my PhD I used Subversion. I'm a follower of fashion when it comes to SCMs, and as you've probably seen, Git has been spotted all over the internet. So I thought I'd investigate, and this is what I've discovered after using it for around 3 months.

read more...

edit or comment

Half way there and only 10 months late!

Originally posted by on 13:07 Mon 28 January 2008, last modified 13:07 Mon 28 January 2008.

File under: phd

Well, after six months, fourteen thousand and fifty five words, seven thousand three hundred and seventy six lines of code, and many late nights and early mornings, I've finally handed in my mini-thesis. Woo Hoo! read more...

edit or comment

This is why I love OmniGraffle 4

Originally posted by on 16:28 Thu 17 January 2008, last modified 16:33 Thu 17 January 2008.

File under: software

OmniGroup's software package, OmniGraffle 4 is hands down the best application ever! When it comes to creating figures that is. Here's why: read more...

edit or comment

Getting stuck in a loop

Originally posted by on 14:46 Thu 27 September 2007, last modified 18:27 Sat 15 December 2007.

File under: object segmentation objective-c phd programming

I've recently been battling with an algorithm, or rather bugs in my implementation of an algorithm, to isolate homogeneous regions in an image. Homogeneous regions? By this we mean areas of identical intensity (the pixel values are the same). As humans we can do this easily; but for a computer, it's harder than it might seem at first... read more...

edit or comment

Using Objective-C's dynamic runtime behaviour

Originally posted by on 08:09 Wed 19 September 2007, last modified 12:43 Thu 6 November 2008.

File under: objective-c os x programming

I need to store some objects in a linked list. Objective-C has a number of container classes NSArray, NSDictionary and NSSet - but I really want a linked list. As I come to Objective-C from a C++ background, I was thinking that this would be where I would use templates, so that I can store any type of in my container. But Objective-C doesn't use templates, it does however have id. read more...

edit or comment

SQL - it is very handy!

Originally posted by on 11:13 Sat 14 July 2007, last modified 11:24 Sat 14 July 2007.

File under: 3rd party tools covariates MySQL phd

SQL is really very useful. This single query allows me to find the greatest range of a particular variable for every day in my database (which is over 5000 days) read more...

edit or comment

Coda: Some Thoughts

Originally posted by on 08:45 Mon 14 May 2007, last modified 08:58 Mon 14 May 2007.

File under: 3rd party tools os x software webdesign

Coda LogoCoda is a pretty good application for web development, and for a version 1.0 bit of software it's also fairly polished. However it's not excellent, and there are a couple of quirks which annoy me enough to write this:

read more...

edit or comment

Semivariograms

Originally posted by on 16:12 Mon 7 May 2007, last modified 02:26 Thu 17 May 2007.

File under: curve fitting geostatistics math maximum liklihood phd programming python spatial analysis

Semivariogram LogoMany spatially distributed data exhibit anisotropic spatial variation, especially when the data are distributed over a large area. The Semivariogram, or commonly (and inaccurately) just variogram is a measure of spatial correlation. It simply plots the semivariance (which is half the variance) of two points separated by a vector h against the magnitude of h. Easy right? Well there is a little bit more to it...

read more...

edit or comment

Surface Least Squares

Originally posted by on 07:00 Wed 14 March 2007, last modified 10:24 Sat 12 May 2007.

File under: curve fitting math maximum liklihood phd programming python regression

The method of least squares, or even simply maximum likelihood is one of the more powerful tools available to a statistician. It is powerful because its simplicity means it can be used in a variety of regression problems.

Regression simply means line fitting, and lines are just a graphical way to represent a model, which is the mathematical way to describe the relationship between an independent variable and one or more dependent variables. There is a lot of text on linear straight line fitting, so I’m not going to go into too much detail. I will however briefly discuss the principle behind least squares.

read more...

edit or comment

Hierarchical database in MySQL...

Originally posted by on 06:00 Mon 6 November 2006, last modified 12:34 Mon 7 May 2007.

File under: covariates databases MySQL phd

Okay, so I need to investigate the effect of covariates on influenza infections across a country. Covariates are basically cofounding variables, that may be predictive of the outcome under study. I'm investigating influenza - so lets look at population density. To analyse such data, we need a system to store and retrieve it; a database.

read more...

edit or comment

Developing SAMRAI apps in Xcode

Originally posted by on 05:00 Wed 31 May 2006, last modified 12:40 Thu 10 May 2007.

File under: 3rd party tools os x programming

XcodeI do like my graphical front ends; but I am also quite partial the the unix back end of OS X. The AI of SAMRAI stands for Application Infrastructure, which means that it is essentially a lot of code that helps someone wishing to develop a parallel adaptive mesh refinement application do exactly that. Applications are built using the Makefile system; SAMRAI has a configure file, so that it can be incorporated into the developer's own Makefile.

To use Xcode with SAMRAI, it just requires modifiying some build settings, and adding some libraries. Here's what you do...

read more...

edit or comment

Building SAMRAI on OS X Tiger

Originally posted by on 05:00 Mon 29 May 2006, last modified 13:41 Mon 7 May 2007.

File under: 3rd party tools c++ os x programming

I actually started this post around early April, but discovered that my SAMRAI install wasn't actually quite right; which took me a month or so to sort out. Eventually I got SAMRAI and a Level Set Method library working. Only now have I found time to putting some information on the web that some people might find useful.

read more...

edit or comment

Swig

Originally posted by on 06:00 Thu 9 February 2006, last modified 19:30 Sat 15 December 2007.

File under: c++ phd programming

Since my standard greedy algorithm works as expected, I made a C++ class from it, using the Cool Image C++ library. This then provides blistering computation of the minimisation process, compared to Python. It does mean I've had to descend into the depths of declaring what sort of variable I want, rather than just its name, but oh well I can't have everything.

read more...

edit or comment

Gradient Vector Flow

Originally posted by on 06:00 Fri 27 January 2006, last modified 12:17 Mon 7 May 2007.

File under: active contours object segmentation phd

As already stated, active contours have difficulties progressing into concave boundaries. This has motivated research in this area, with some prominent findings, one of which is discussed here.

read more...

edit or comment

Snakes

Originally posted by on 06:00 Thu 26 January 2006, last modified 13:35 Mon 7 May 2007.

File under: active contours math phd programming python

In order to analyse the frequency components of a curve using Fourier we must first represent it mathematically. As we are working with images, a discrete spatial domain, then we have to deal with discretisation.

read more...

edit or comment

Sobel Edge Detection

Originally posted by on 06:00 Wed 9 March 2005, last modified 20:04 Tue 5 June 2007.

File under: 3rd year project image processing programming python

Sobel edge detection is a popular technique as it can deliver good results, without excessive computational requirements. The technique utilises the theory of optimal smoothing (Gaussian), and optimal differencing.

read more...

edit or comment

Implementing the Hough Transform

Originally posted by on 06:00 Thu 24 February 2005, last modified 19:43 Tue 5 June 2007.

File under: 3rd year project image processing programming python

The Hough Transform (HT) is an image processing operation which enables the extraction of shapes, essentially lines from images. The principle is that there are an infinite number of line that pass though any point, each at a different orientation. The HT aims to determine which of those theoretical lines pass though most features in an image.

read more...

edit or comment

Using multiple threads in Python

Originally posted by on 06:00 Fri 10 December 2004, last modified 19:44 Tue 5 June 2007.

File under: 3rd year project programming python software

Now that I have background monitor working, updating a background image every 60 seconds (a default value), I want to start monitoring the foreground. For these two processes to work at the same time I want to use threads for each one, using the threading module in Python. read more...

edit or comment