Quantitative fractography of fatigue cracks: a new solution in 3D