The phase unwrapping i use works in 2D and 3D and is based on:
1. Abdul-Rahman HS, Gdeisat MA, Burton DR, Lalor MJ, Lilley F, Moore CJ: Fast and robust three-dimensional best path phase unwrapping algorithm. Appl Opt 2007; 46:6623.
2. Herráez MA, Burton DR, Lalor MJ, Gdeisat MA: Fast two-dimensional phase-unwrapping algorithm based on sorting by reliability following a noncontinuous path. Appl Opt 2002; 41:7437.
This method has worked nicely for me over the last few years.
I was working on a Fourier based method but was not happy with the results but in theory it should be much faster.