As Felix said, OpenNI internally converts the raw disparity values to metric distances, so when using openni_kinect there's no longer any need to calibrate that conversion. If you're interested in how this was done, the code is in kinect_calibration, starting line 292.
Basically, the depth Z is related to a raw disparity reading r by Z = A / (B - r), where A and B are constants we are solving for. In calibration, we:
- Capture depth and IR images of a checkerboard with known size.
- Find the checkerboard corners in the IR image.
- Solve the PnP problem to get the 3d coordinates of each corner. (In the code, this is a by-product of calibrating the IR camera intrinsics.)
- Look up the corresponding raw disparity reading for each corner in the depth images.
- Given this set of (Z, r) observations, perform a least-squares fitting for A and B.