├── .github └── workflows │ └── python-app.yml ├── .gitignore ├── .readthedocs.yml ├── LICENSE.txt ├── README.md ├── chatgpt ├── canny_edge.py ├── club_head_turn.py ├── draw_axis.py ├── draw_rt_triangle.py ├── head_shot.py ├── image.jpg └── optical_flow.py ├── docs ├── Makefile ├── make.bat ├── requirements.txt └── source │ ├── architecture.rst │ ├── conf.py │ ├── development.md │ ├── golfswing_analysis.md │ ├── golfswing_capture.md │ ├── images │ ├── golftracker.png │ ├── golftracker.puml │ ├── sw_top_level.png │ ├── sw_top_level.puml │ └── sw_top_level.svg │ ├── index.rst │ ├── installation.md │ ├── sanjeev_1_example.md │ └── scripts.rst ├── golftracker ├── __init__.py ├── canny_edge_detector.py ├── canny_edge_params.py ├── club_head_detector.py ├── club_head_params.py ├── club_head_result.py ├── double_pendlum.py ├── file_utils.py ├── geom.py ├── golf_swing.py ├── golf_swing_factory.py ├── golf_swing_repository.py ├── gt_const.py ├── hough_line_detector.py ├── hough_line_params.py ├── image_operations.py ├── image_utils.py ├── media_pipe_landmarks.py ├── media_pipe_operation.py ├── path_model.py ├── pose_model.py ├── pose_result.py └── video_utils.py ├── misc ├── frame_tracker.py └── gen_frame_tracker.py ├── models ├── label_golf_poses.csv ├── pose_model.pkl └── test2.csv ├── notebooks ├── club_detection.ipynb ├── club_detection2.ipynb ├── geom.ipynb ├── learning_pytest.ipynb ├── obj_tracking.ipynb ├── path_tracing.ipynb ├── test1.csv ├── test_head_shot.ipynb └── test_masking.ipynb ├── pytest.ini ├── requirements.txt ├── scripts ├── __init__.py ├── create_swing_db.py ├── display_golf_swing.py ├── dump_swing_db.py ├── label_club_head.py ├── label_golf_poses.py ├── load_swing_db.py ├── plot_swing_points.py ├── resize_in_video.py ├── track_golf_club.py ├── tune_line_det.py └── utils │ ├── create_posemodel.py │ ├── create_test_image.py │ ├── predict_posemodel.py │ └── train_posemodel.py ├── setup.py └── tests ├── __init__.py ├── assets ├── test_blank_3.mov ├── test_blank_3.pkl ├── test_fail_pose1.jpg └── test_pose1.jpg ├── test_canny_edge.py ├── test_club_head_detector.py ├── test_club_head_params.py ├── test_club_head_result.py ├── test_geom.py ├── test_golf_swing.py ├── test_golf_swing_factory.py ├── test_golf_swing_repository.py ├── test_hough_line.py ├── test_image_utils.py ├── test_linear_fitter.py ├── test_media_pipe_landmarks.py ├── test_media_pipe_operation.py ├── test_pose_model.py └── test_to_json.py /.github/workflows/python-app.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/.github/workflows/python-app.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/.gitignore -------------------------------------------------------------------------------- /.readthedocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/.readthedocs.yml -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/README.md -------------------------------------------------------------------------------- /chatgpt/canny_edge.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/chatgpt/canny_edge.py -------------------------------------------------------------------------------- /chatgpt/club_head_turn.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/chatgpt/club_head_turn.py -------------------------------------------------------------------------------- /chatgpt/draw_axis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/chatgpt/draw_axis.py -------------------------------------------------------------------------------- /chatgpt/draw_rt_triangle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/chatgpt/draw_rt_triangle.py -------------------------------------------------------------------------------- /chatgpt/head_shot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/chatgpt/head_shot.py -------------------------------------------------------------------------------- /chatgpt/image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/chatgpt/image.jpg -------------------------------------------------------------------------------- /chatgpt/optical_flow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/chatgpt/optical_flow.py -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/docs/make.bat -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/docs/requirements.txt -------------------------------------------------------------------------------- /docs/source/architecture.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/docs/source/architecture.rst -------------------------------------------------------------------------------- /docs/source/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/docs/source/conf.py -------------------------------------------------------------------------------- /docs/source/development.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/docs/source/development.md -------------------------------------------------------------------------------- /docs/source/golfswing_analysis.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/docs/source/golfswing_analysis.md -------------------------------------------------------------------------------- /docs/source/golfswing_capture.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/docs/source/golfswing_capture.md -------------------------------------------------------------------------------- /docs/source/images/golftracker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/docs/source/images/golftracker.png -------------------------------------------------------------------------------- /docs/source/images/golftracker.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/docs/source/images/golftracker.puml -------------------------------------------------------------------------------- /docs/source/images/sw_top_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/docs/source/images/sw_top_level.png -------------------------------------------------------------------------------- /docs/source/images/sw_top_level.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/docs/source/images/sw_top_level.puml -------------------------------------------------------------------------------- /docs/source/images/sw_top_level.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/docs/source/images/sw_top_level.svg -------------------------------------------------------------------------------- /docs/source/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/docs/source/index.rst -------------------------------------------------------------------------------- /docs/source/installation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/docs/source/installation.md -------------------------------------------------------------------------------- /docs/source/sanjeev_1_example.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/docs/source/sanjeev_1_example.md -------------------------------------------------------------------------------- /docs/source/scripts.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/docs/source/scripts.rst -------------------------------------------------------------------------------- /golftracker/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /golftracker/canny_edge_detector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/canny_edge_detector.py -------------------------------------------------------------------------------- /golftracker/canny_edge_params.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/canny_edge_params.py -------------------------------------------------------------------------------- /golftracker/club_head_detector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/club_head_detector.py -------------------------------------------------------------------------------- /golftracker/club_head_params.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/club_head_params.py -------------------------------------------------------------------------------- /golftracker/club_head_result.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/club_head_result.py -------------------------------------------------------------------------------- /golftracker/double_pendlum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/double_pendlum.py -------------------------------------------------------------------------------- /golftracker/file_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/file_utils.py -------------------------------------------------------------------------------- /golftracker/geom.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/geom.py -------------------------------------------------------------------------------- /golftracker/golf_swing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/golf_swing.py -------------------------------------------------------------------------------- /golftracker/golf_swing_factory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/golf_swing_factory.py -------------------------------------------------------------------------------- /golftracker/golf_swing_repository.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/golf_swing_repository.py -------------------------------------------------------------------------------- /golftracker/gt_const.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/gt_const.py -------------------------------------------------------------------------------- /golftracker/hough_line_detector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/hough_line_detector.py -------------------------------------------------------------------------------- /golftracker/hough_line_params.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/hough_line_params.py -------------------------------------------------------------------------------- /golftracker/image_operations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/image_operations.py -------------------------------------------------------------------------------- /golftracker/image_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/image_utils.py -------------------------------------------------------------------------------- /golftracker/media_pipe_landmarks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/media_pipe_landmarks.py -------------------------------------------------------------------------------- /golftracker/media_pipe_operation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/media_pipe_operation.py -------------------------------------------------------------------------------- /golftracker/path_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/path_model.py -------------------------------------------------------------------------------- /golftracker/pose_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/pose_model.py -------------------------------------------------------------------------------- /golftracker/pose_result.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/pose_result.py -------------------------------------------------------------------------------- /golftracker/video_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/golftracker/video_utils.py -------------------------------------------------------------------------------- /misc/frame_tracker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/misc/frame_tracker.py -------------------------------------------------------------------------------- /misc/gen_frame_tracker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/misc/gen_frame_tracker.py -------------------------------------------------------------------------------- /models/label_golf_poses.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/models/label_golf_poses.csv -------------------------------------------------------------------------------- /models/pose_model.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/models/pose_model.pkl -------------------------------------------------------------------------------- /models/test2.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/models/test2.csv -------------------------------------------------------------------------------- /notebooks/club_detection.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/notebooks/club_detection.ipynb -------------------------------------------------------------------------------- /notebooks/club_detection2.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/notebooks/club_detection2.ipynb -------------------------------------------------------------------------------- /notebooks/geom.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/notebooks/geom.ipynb -------------------------------------------------------------------------------- /notebooks/learning_pytest.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/notebooks/learning_pytest.ipynb -------------------------------------------------------------------------------- /notebooks/obj_tracking.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/notebooks/obj_tracking.ipynb -------------------------------------------------------------------------------- /notebooks/path_tracing.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/notebooks/path_tracing.ipynb -------------------------------------------------------------------------------- /notebooks/test1.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/notebooks/test1.csv -------------------------------------------------------------------------------- /notebooks/test_head_shot.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/notebooks/test_head_shot.ipynb -------------------------------------------------------------------------------- /notebooks/test_masking.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/notebooks/test_masking.ipynb -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | pythonpath = golftracker -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/requirements.txt -------------------------------------------------------------------------------- /scripts/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scripts/create_swing_db.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/scripts/create_swing_db.py -------------------------------------------------------------------------------- /scripts/display_golf_swing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/scripts/display_golf_swing.py -------------------------------------------------------------------------------- /scripts/dump_swing_db.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/scripts/dump_swing_db.py -------------------------------------------------------------------------------- /scripts/label_club_head.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/scripts/label_club_head.py -------------------------------------------------------------------------------- /scripts/label_golf_poses.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/scripts/label_golf_poses.py -------------------------------------------------------------------------------- /scripts/load_swing_db.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/scripts/load_swing_db.py -------------------------------------------------------------------------------- /scripts/plot_swing_points.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/scripts/plot_swing_points.py -------------------------------------------------------------------------------- /scripts/resize_in_video.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/scripts/resize_in_video.py -------------------------------------------------------------------------------- /scripts/track_golf_club.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/scripts/track_golf_club.py -------------------------------------------------------------------------------- /scripts/tune_line_det.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/scripts/tune_line_det.py -------------------------------------------------------------------------------- /scripts/utils/create_posemodel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/scripts/utils/create_posemodel.py -------------------------------------------------------------------------------- /scripts/utils/create_test_image.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/scripts/utils/create_test_image.py -------------------------------------------------------------------------------- /scripts/utils/predict_posemodel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/scripts/utils/predict_posemodel.py -------------------------------------------------------------------------------- /scripts/utils/train_posemodel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/scripts/utils/train_posemodel.py -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/setup.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/assets/test_blank_3.mov: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/assets/test_blank_3.mov -------------------------------------------------------------------------------- /tests/assets/test_blank_3.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/assets/test_blank_3.pkl -------------------------------------------------------------------------------- /tests/assets/test_fail_pose1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/assets/test_fail_pose1.jpg -------------------------------------------------------------------------------- /tests/assets/test_pose1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/assets/test_pose1.jpg -------------------------------------------------------------------------------- /tests/test_canny_edge.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/test_canny_edge.py -------------------------------------------------------------------------------- /tests/test_club_head_detector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/test_club_head_detector.py -------------------------------------------------------------------------------- /tests/test_club_head_params.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/test_club_head_params.py -------------------------------------------------------------------------------- /tests/test_club_head_result.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/test_club_head_result.py -------------------------------------------------------------------------------- /tests/test_geom.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/test_geom.py -------------------------------------------------------------------------------- /tests/test_golf_swing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/test_golf_swing.py -------------------------------------------------------------------------------- /tests/test_golf_swing_factory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/test_golf_swing_factory.py -------------------------------------------------------------------------------- /tests/test_golf_swing_repository.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/test_golf_swing_repository.py -------------------------------------------------------------------------------- /tests/test_hough_line.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/test_hough_line.py -------------------------------------------------------------------------------- /tests/test_image_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/test_image_utils.py -------------------------------------------------------------------------------- /tests/test_linear_fitter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/test_linear_fitter.py -------------------------------------------------------------------------------- /tests/test_media_pipe_landmarks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/test_media_pipe_landmarks.py -------------------------------------------------------------------------------- /tests/test_media_pipe_operation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/test_media_pipe_operation.py -------------------------------------------------------------------------------- /tests/test_pose_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/test_pose_model.py -------------------------------------------------------------------------------- /tests/test_to_json.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanjeevs/golftracker/HEAD/tests/test_to_json.py --------------------------------------------------------------------------------