├── .gitignore ├── DATASET.md ├── README.md ├── demo ├── dance.mp4 └── dance │ ├── dance_000000000000_keypoints.json │ ├── dance_000000000001_keypoints.json │ ├── dance_000000000002_keypoints.json │ ├── dance_000000000003_keypoints.json │ ├── dance_000000000004_keypoints.json │ ├── dance_000000000005_keypoints.json │ ├── dance_000000000006_keypoints.json │ ├── dance_000000000007_keypoints.json │ ├── dance_000000000008_keypoints.json │ ├── dance_000000000009_keypoints.json │ ├── dance_000000000010_keypoints.json │ ├── dance_000000000011_keypoints.json │ ├── dance_000000000012_keypoints.json │ ├── dance_000000000013_keypoints.json │ ├── dance_000000000014_keypoints.json │ ├── dance_000000000015_keypoints.json │ ├── dance_000000000016_keypoints.json │ ├── dance_000000000017_keypoints.json │ ├── dance_000000000018_keypoints.json │ ├── dance_000000000019_keypoints.json │ ├── dance_000000000020_keypoints.json │ ├── dance_000000000021_keypoints.json │ ├── dance_000000000022_keypoints.json │ ├── dance_000000000023_keypoints.json │ ├── dance_000000000024_keypoints.json │ ├── dance_000000000025_keypoints.json │ ├── dance_000000000026_keypoints.json │ ├── dance_000000000027_keypoints.json │ ├── dance_000000000028_keypoints.json │ ├── dance_000000000029_keypoints.json │ ├── dance_000000000030_keypoints.json │ ├── dance_000000000031_keypoints.json │ ├── dance_000000000032_keypoints.json │ ├── dance_000000000033_keypoints.json │ ├── dance_000000000034_keypoints.json │ ├── dance_000000000035_keypoints.json │ ├── dance_000000000036_keypoints.json │ ├── dance_000000000037_keypoints.json │ ├── dance_000000000038_keypoints.json │ ├── dance_000000000039_keypoints.json │ ├── dance_000000000040_keypoints.json │ ├── dance_000000000041_keypoints.json │ ├── dance_000000000042_keypoints.json │ ├── dance_000000000043_keypoints.json │ ├── dance_000000000044_keypoints.json │ ├── dance_000000000045_keypoints.json │ ├── dance_000000000046_keypoints.json │ ├── dance_000000000047_keypoints.json │ ├── dance_000000000048_keypoints.json │ ├── dance_000000000049_keypoints.json │ ├── dance_000000000050_keypoints.json │ ├── dance_000000000051_keypoints.json │ ├── dance_000000000052_keypoints.json │ ├── dance_000000000053_keypoints.json │ ├── dance_000000000054_keypoints.json │ ├── dance_000000000055_keypoints.json │ ├── dance_000000000056_keypoints.json │ ├── dance_000000000057_keypoints.json │ ├── dance_000000000058_keypoints.json │ ├── dance_000000000059_keypoints.json │ ├── dance_000000000060_keypoints.json │ ├── dance_000000000061_keypoints.json │ ├── dance_000000000062_keypoints.json │ ├── dance_000000000063_keypoints.json │ ├── dance_000000000064_keypoints.json │ ├── dance_000000000065_keypoints.json │ ├── dance_000000000066_keypoints.json │ ├── dance_000000000067_keypoints.json │ └── dance_000000000068_keypoints.json ├── ground_detector ├── README.md ├── dataset.py ├── inference.py ├── net.py ├── op2npy.py ├── pretrained │ ├── ckpt │ │ └── model_best.pth │ └── log.txt ├── test.py ├── train.py └── utils.py └── openpose └── pre_run_openpose.py /.gitignore: -------------------------------------------------------------------------------- 1 | *npy 2 | *__pycache__ 3 | *data 4 | *.idea 5 | 6 | ground_detector/dump/* 7 | -------------------------------------------------------------------------------- /DATASET.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/DATASET.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/README.md -------------------------------------------------------------------------------- /demo/dance.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance.mp4 -------------------------------------------------------------------------------- /demo/dance/dance_000000000000_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000000_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000001_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000001_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000002_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000002_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000003_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000003_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000004_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000004_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000005_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000005_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000006_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000006_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000007_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000007_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000008_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000008_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000009_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000009_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000010_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000010_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000011_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000011_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000012_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000012_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000013_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000013_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000014_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000014_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000015_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000015_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000016_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000016_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000017_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000017_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000018_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000018_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000019_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000019_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000020_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000020_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000021_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000021_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000022_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000022_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000023_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000023_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000024_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000024_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000025_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000025_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000026_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000026_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000027_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000027_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000028_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000028_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000029_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000029_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000030_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000030_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000031_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000031_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000032_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000032_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000033_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000033_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000034_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000034_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000035_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000035_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000036_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000036_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000037_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000037_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000038_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000038_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000039_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000039_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000040_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000040_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000041_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000041_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000042_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000042_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000043_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000043_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000044_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000044_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000045_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000045_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000046_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000046_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000047_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000047_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000048_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000048_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000049_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000049_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000050_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000050_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000051_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000051_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000052_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000052_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000053_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000053_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000054_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000054_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000055_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000055_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000056_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000056_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000057_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000057_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000058_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000058_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000059_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000059_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000060_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000060_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000061_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000061_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000062_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000062_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000063_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000063_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000064_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000064_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000065_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000065_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000066_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000066_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000067_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000067_keypoints.json -------------------------------------------------------------------------------- /demo/dance/dance_000000000068_keypoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/demo/dance/dance_000000000068_keypoints.json -------------------------------------------------------------------------------- /ground_detector/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/ground_detector/README.md -------------------------------------------------------------------------------- /ground_detector/dataset.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/ground_detector/dataset.py -------------------------------------------------------------------------------- /ground_detector/inference.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/ground_detector/inference.py -------------------------------------------------------------------------------- /ground_detector/net.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/ground_detector/net.py -------------------------------------------------------------------------------- /ground_detector/op2npy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/ground_detector/op2npy.py -------------------------------------------------------------------------------- /ground_detector/pretrained/ckpt/model_best.pth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/ground_detector/pretrained/ckpt/model_best.pth -------------------------------------------------------------------------------- /ground_detector/pretrained/log.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/ground_detector/pretrained/log.txt -------------------------------------------------------------------------------- /ground_detector/test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/ground_detector/test.py -------------------------------------------------------------------------------- /ground_detector/train.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/ground_detector/train.py -------------------------------------------------------------------------------- /ground_detector/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/ground_detector/utils.py -------------------------------------------------------------------------------- /openpose/pre_run_openpose.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vt-vl-lab/footskate_reducer/HEAD/openpose/pre_run_openpose.py --------------------------------------------------------------------------------