1. A method of estimating a sparse signal from a measured signal using a transform matrix, the method comprising determining a partial contribution to the sparse signal determining a residual by subtracting the partial contribution from the measured signal; and iteratively determining further contributions to the sparse signal, wherein an iteration comprises: identifying a first candidate column of the transform matrix, the first candidate column being the column of the transform matrix which is most correlated with the residual at the start of the iteration; calculating a condition indicator, the condition indicator being an indication of the condition of a matrix formed by columns of the transform matrix selected in previous iterations and the first candidate column; comparing the condition indicator with a threshold; if the condition indicator is above the threshold selecting the first candidate column as a selected candidate column; if the condition indicator is below the threshold, identifying a second column of the transform matrix as a second candidate column and selecting the second candidate column as the selected candidate column; determining a contribution to the sparse signal for the iteration from the selected candidate column; and calculating a new residual by subtracting contribution to the sparse signal for the iteration the from the residual at the start of the iteration.