Skip to content

Commit 9f159af

Browse files
author
Roberto De Ioris
authored
Update README.md
1 parent 15fbe6a commit 9f159af

1 file changed

Lines changed: 72 additions & 0 deletions

File tree

README.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,74 @@
11
# bvh-python
22
Python module for parsing BVH (Biovision hierarchical data) mocap files
3+
4+
#### Instance Bvh object from .bvh file
5+
```python
6+
>>> from bvh import Bvh
7+
>>> with open('tests/test_freebvh.bvh') as f:
8+
>>> mocap = Bvh(f.read())
9+
```
10+
#### Get mocap tree
11+
```python
12+
>>> [str(item) for item in mocap.root]
13+
['HIERARCHY', 'ROOT mixamorig:Hips', 'MOTION', 'Frames: 69', 'Frame Time: 0.0333333']
14+
```
15+
#### Get ROOT OFFSET
16+
```python
17+
>>> next(mocap.root.filter('ROOT'))['OFFSET']
18+
['0.0000', '0.0000', '0.0000']
19+
```
20+
#### Get JOINT OFFSET
21+
```python
22+
>>> mocap.joint_offset('mixamorig:Head')
23+
(-0.0, 10.3218, 3.1424)
24+
```
25+
#### Get Frames
26+
```python
27+
>>> mocap.nframes
28+
69
29+
```
30+
#### Get Frame Time
31+
```python
32+
>>> mocap.frame_time
33+
0.0333333
34+
```
35+
#### Get JOINT CHANNELS
36+
```python
37+
>>> mocap.joint_channels('mixamorig:Neck')
38+
['Zrotation', 'Yrotation', 'Xrotation']
39+
```
40+
#### Get Frame CHANNEL
41+
```python
42+
>>> mocap.frame_joint_channel(22, 'mixamorig:Spine', 'Xrotation')
43+
11.8096
44+
```
45+
#### Get all JOINT names
46+
```python
47+
>>> mocap.get_joints_names()
48+
['mixamorig:Hips', 'mixamorig:Spine', 'mixamorig:Spine1', 'mixamorig:Spine2', 'mixamorig:Neck', 'mixamorig:Head', 'mixamorig:HeadTop_End', 'mixamorig:LeftEye', 'mixamorig:RightEye', 'mixamorig:LeftShoulder', 'mixamorig:LeftArm', 'mixamorig:LeftForeArm', 'mixamorig:LeftHand', 'mixamorig:LeftHandMiddle1', 'mixamorig:LeftHandMiddle2', 'mixamorig:LeftHandMiddle3', 'mixamorig:LeftHandThumb1', 'mixamorig:LeftHandThumb2', 'mixamorig:LeftHandThumb3', 'mixamorig:LeftHandIndex1', 'mixamorig:LeftHandIndex2', 'mixamorig:LeftHandIndex3', 'mixamorig:LeftHandRing1', 'mixamorig:LeftHandRing2', 'mixamorig:LeftHandRing3', 'mixamorig:LeftHandPinky1', 'mixamorig:LeftHandPinky2', 'mixamorig:LeftHandPinky3', 'mixamorig:RightShoulder', 'mixamorig:RightArm', 'mixamorig:RightForeArm', 'mixamorig:RightHand', 'mixamorig:RightHandMiddle1', 'mixamorig:RightHandMiddle2', 'mixamorig:RightHandMiddle3', 'mixamorig:RightHandThumb1', 'mixamorig:RightHandThumb2', 'mixamorig:RightHandThumb3', 'mixamorig:RightHandIndex1', 'mixamorig:RightHandIndex2', 'mixamorig:RightHandIndex3', 'mixamorig:RightHandRing1', 'mixamorig:RightHandRing2', 'mixamorig:RightHandRing3', 'mixamorig:RightHandPinky1', 'mixamorig:RightHandPinky2', 'mixamorig:RightHandPinky3', 'mixamorig:RightUpLeg', 'mixamorig:RightLeg', 'mixamorig:RightFoot', 'mixamorig:RightToeBase', 'mixamorig:LeftUpLeg', 'mixamorig:LeftLeg', 'mixamorig:LeftFoot', 'mixamorig:LeftToeBase']
49+
```
50+
#### Get single JOINT name
51+
```python
52+
>>> mocap.get_joints_names()[17]
53+
'mixamorig:LeftHandThumb2'
54+
```
55+
#### Get JOINT parent index
56+
```python
57+
>>> mocap.joint_parent_index('mixamorig:Neck')
58+
3
59+
```
60+
#### Get JOINT parent name
61+
```python
62+
>>> mocap.joint_parent('mixamorig:Head').name
63+
'mixamorig:Neck'
64+
```
65+
#### Search single item
66+
```python
67+
>>> [str(node) for node in mocap.search('JOINT', 'LeftShoulder')]
68+
['JOINT LeftShoulder']
69+
```
70+
#### Search all items
71+
```python
72+
>>> [str(node) for node in mocap.search('JOINT')]
73+
['JOINT mixamorig:Spine', 'JOINT mixamorig:Spine1', 'JOINT mixamorig:Spine2', 'JOINT mixamorig:Neck', 'JOINT mixamorig:Head', 'JOINT mixamorig:HeadTop_End', 'JOINT mixamorig:LeftEye', 'JOINT mixamorig:RightEye', 'JOINT mixamorig:LeftShoulder', 'JOINT mixamorig:LeftArm', 'JOINT mixamorig:LeftForeArm', 'JOINT mixamorig:LeftHand', 'JOINT mixamorig:LeftHandMiddle1', 'JOINT mixamorig:LeftHandMiddle2', 'JOINT mixamorig:LeftHandMiddle3', 'JOINT mixamorig:LeftHandThumb1', 'JOINT mixamorig:LeftHandThumb2', 'JOINT mixamorig:LeftHandThumb3', 'JOINT mixamorig:LeftHandIndex1', 'JOINT mixamorig:LeftHandIndex2', 'JOINT mixamorig:LeftHandIndex3', 'JOINT mixamorig:LeftHandRing1', 'JOINT mixamorig:LeftHandRing2', 'JOINT mixamorig:LeftHandRing3', 'JOINT mixamorig:LeftHandPinky1', 'JOINT mixamorig:LeftHandPinky2', 'JOINT mixamorig:LeftHandPinky3', 'JOINT mixamorig:RightShoulder', 'JOINT mixamorig:RightArm', 'JOINT mixamorig:RightForeArm', 'JOINT mixamorig:RightHand', 'JOINT mixamorig:RightHandMiddle1', 'JOINT mixamorig:RightHandMiddle2', 'JOINT mixamorig:RightHandMiddle3', 'JOINT mixamorig:RightHandThumb1', 'JOINT mixamorig:RightHandThumb2', 'JOINT mixamorig:RightHandThumb3', 'JOINT mixamorig:RightHandIndex1', 'JOINT mixamorig:RightHandIndex2', 'JOINT mixamorig:RightHandIndex3', 'JOINT mixamorig:RightHandRing1', 'JOINT mixamorig:RightHandRing2', 'JOINT mixamorig:RightHandRing3', 'JOINT mixamorig:RightHandPinky1', 'JOINT mixamorig:RightHandPinky2', 'JOINT mixamorig:RightHandPinky3', 'JOINT mixamorig:RightUpLeg', 'JOINT mixamorig:RightLeg', 'JOINT mixamorig:RightFoot', 'JOINT mixamorig:RightToeBase', 'JOINT mixamorig:LeftUpLeg', 'JOINT mixamorig:LeftLeg', 'JOINT mixamorig:LeftFoot', 'JOINT mixamorig:LeftToeBase']
74+
```

0 commit comments

Comments
 (0)