I think I found more hints on what might explain the fact that Hough gives different results each time it is called. But this is too small to fit in a comment.
This is assuming the implementation by Mathematica is as explained in the Wikipedia article for Hough transform. The Hough implementation uses (from the link)
The Hough transform algorithm uses an array, called an accumulator, to
detect the existence of a line $y = mx + b$
Then later on it says:
the number of page swaps required for this will be very demanding because
the accumulator array is used in a randomly accessed fashion
Notice the word randomly accessed. This is the key.
It seems to work in a fashion similar to Monte Carlo method for numerical integration in the sense only that it uses randomness to do its work for speed vs. quality.
But since using SeedRandom[1] did not resolve the differences between calls as can be seen here:
With[{imgEdged = Image[CellularAutomaton[30, {{1}, 0}, 40], "Bit"]},
Reap[Do[
SeedRandom[1];
im1 = Radon[imgEdged, Method -> "Hough"];
SeedRandom[1];
im2 = Radon[imgEdged, Method -> "Hough"];
Sow[im1 == im2], {i, 100}]]
]

My guess now is that Radon[], or the function that implements the Method->Hough does not use the same random number generator that SeedRandom[] resets (the global one), but its own, in the Kernel, and it forgets to reset its own at random number generator at start of each call? Just a guess, since nothing else seems to make sense ;)
You might also want to look at Randomized Hough transform
imgEdgedso others can have a full view on your question? – Silvia Dec 29 '12 at 14:31Radonis new) but you may try setting e.g.SeedRandom[1]before every use ofRadonin case the latter makes use of random numbers without usingBlockRandom(which also might be applicable). – Mr.Wizard♦ Dec 29 '12 at 14:42Radonvs.Houghmight be of interest dsp.stackexchange.com/questions/470/… – Nasser Dec 29 '12 at 17:05