RealSense joint angle measurement

Hello, my project is about to calculate the upper joint angle using the depth information, as I know, the Nuitrack provides us with the joint 3d coordinates. As a result, I want to use this information to calculate. However, the angle I calculated is not very accurate, for example, when I flatten my arms, the angle is not 180°, do you know any reasons?
Here is the code I wrote:

By the way, I do not know much about the calibration, I saw there is T-pose calibration and right hand 90 degrees U turn, can you explain the difference?

The camera I use is RealSense D435

Hi Aflute,

Indeed. the angle of 180° is not detected, which is connected to specific topology of Nuitrack.
T-pose and U-turn are just two types of calibration pattern, which are used, for example, in the beginning of a game to determine the position of a person’s body. As a rule, T-pose calibration is used, but you can use U-turn (right hand is bent like in the “wave” gesture).

Thank you, I also saw many topics saying the use of RealSense D435 for skeleton tracking might not be as good as other cameras. Do you think the D415 could achieve such angle to 180 degree?