A 2D or 3D velocity field is reconstructed from a cross-correlation analysis of image pairs of a sample, without first reconstructing images of the sample spatial structure. The method can be implemented via computer tomographic X- ray particle image velocimetry, using multiple projection angles, with phase contrast images forming dynamic speckle patterns. Estimated cross-correlations may be generated via convolution of a measured autocorrelation function with a velocity probability density function, and the velocity coefficients iteratively optimised to minimise the error between the estimated cross-correlations and the measured cross-correlations. The method may be applied to measure blood flow, and the motion of tissue and organs such as heart and lungs.