{"id":18508850,"url":"https://github.com/hfawaz/aime19","last_synced_at":"2025-04-09T03:32:14.332Z","repository":{"id":37593686,"uuid":"176296255","full_name":"hfawaz/aime19","owner":"hfawaz","description":"Automatic alignment of surgical videos using kinematic data","archived":false,"fork":false,"pushed_at":"2022-11-22T03:32:06.000Z","size":1534,"stargazers_count":7,"open_issues_count":7,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-23T22:42:23.020Z","etag":null,"topics":["alignment","dynamic-time-warping","multivariate-timeseries","surgical-robots","time-series","time-series-analysis","video-sync"],"latest_commit_sha":null,"homepage":"https://germain-forestier.info/src/aime2019/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hfawaz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-03-18T13:50:25.000Z","updated_at":"2024-06-14T08:46:09.000Z","dependencies_parsed_at":"2023-01-20T21:19:06.169Z","dependency_job_id":null,"html_url":"https://github.com/hfawaz/aime19","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hfawaz%2Faime19","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hfawaz%2Faime19/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hfawaz%2Faime19/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hfawaz%2Faime19/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hfawaz","download_url":"https://codeload.github.com/hfawaz/aime19/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247973918,"owners_count":21026736,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alignment","dynamic-time-warping","multivariate-timeseries","surgical-robots","time-series","time-series-analysis","video-sync"],"created_at":"2024-11-06T15:15:37.357Z","updated_at":"2025-04-09T03:32:13.956Z","avatar_url":"https://github.com/hfawaz.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Automatic alignment of surgical videos using kinematic data\nThis is the companion repository for [our paper](https://link.springer.com/chapter/10.1007/978-3-030-21642-9_14) also available on [ArXiv](https://arxiv.org/abs/1904.07302), titled \"Automatic alignment of surgical videos using kinematic data\".\nThis paper has been accepted at the [Conference on Artificial Intelligence in Medicine (AIME) 2019](http://aime19.aimedicine.info/).\n\n## Approach \nThe following is an example on how a time series alignment is used to synchronize the videos by duplicating the gray-scale frames.\n\nVideo without alignment             |  Video with alignment\n:-------------------------:|:-------------------------:\n![unsynched](https://github.com/hfawaz/aime19/blob/master/img/ts-videos.png)  |  ![synched](https://github.com/hfawaz/aime19/blob/master/img/ts-videos-synched.png)\n\nThe following is an example of aligning coordinate X’s time series for subject F, when performing three trials of the suturing surgical task.\n\nTime series without alignment             |  Time series with alignment\n:-------------------------:|:-------------------------:\n![unsynched](https://github.com/hfawaz/aime19/blob/master/img/ts-ex-original.png)  |  ![synched](https://github.com/hfawaz/aime19/blob/master/img/ts-ex-warped.png)\n\n\n\n## Data\nYou will need the [JIGSAWS: The JHU-ISI Gesture and Skill Assessment Working Set](https://cirl.lcsr.jhu.edu/research/hmm/datasets/jigsaws_release/) to re-run the experiments of the paper.\n\nSuturing |  Knot-Tying | Needle-Passing\n:-------------------------:|:-------------------------:|:-------------------------:\n![st](https://github.com/hfawaz/aime19/blob/master/img/su.png)  |  ![kt](https://github.com/hfawaz/aime19/blob/master/img/kt.png) | ![np](https://github.com/hfawaz/aime19/blob/master/img/np.png)\n\n## Prerequisites\nTo run the code you will also need to download seperatly and install the following dependencies (the full list can be found [here](https://github.com/hfawaz/aime19/blob/master/requirements.txt)): \n* [Keras](https://keras.io/)\n* [Tensorflow](https://www.tensorflow.org/) \n* [Numpy](http://www.numpy.org/)\n* [Scikit-learn](http://scikit-learn.org/stable/) \n* [Pandas](https://pandas.pydata.org/) \n* [Scikit-image](https://scikit-image.org)\n* [Opencv-python](https://pypi.org/project/opencv-python/)\n\n## Code\nWe have three surgical tasks in JIGSAWS. \n```\nSuturing\nKnot_Tying\nNeedle_Passing\n```\n\nBefore running the code, you might need to generate the Cython files using the following command: \n```\ncd src\n./build-cython.sh\n```\n\nTo align multiple videos for the Suturing task using the NLTS algorithm, you can run:\n```\npython3 main.py Suturing align_videos\n```\n\nTo aligne only two videos for the Suturing task using the classic DTW algorithm, you can run: \n```\npython3 main.py Suturing align_2_videos\n```\n\n## Reference\n\nIf you re-use this work, please cite:\n\n```\n@InProceedings{IsmailFawaz2019automatic,\n  Title                    = {Automatic alignment of surgical videos using kinematic data},\n  Author                   = {Ismail Fawaz, Hassan and Forestier, Germain and Weber, Jonathan and Petitjean, François and Idoumghar, Lhassane and Muller, Pierre-Alain},\n  booktitle                = {Artificial Intelligence in Medicine},\n  Year                     = {2019},\n  pages                    = {104--113}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhfawaz%2Faime19","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhfawaz%2Faime19","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhfawaz%2Faime19/lists"}