From 052b3e5d3e386a670960fa8b9a8cdc81a4ec95c4 Mon Sep 17 00:00:00 2001 From: ElectronicsArchiver <85485984+ElectronicsArchiver@users.noreply.github.com> Date: Thu, 14 Apr 2022 16:23:23 -0400 Subject: [PATCH 01/12] Moved Data Into `/Data/` --- Work_Right.csv => Data/Work_Right.csv | 0 Work_Right_line.mp4 => Data/Work_Right_line.mp4 | Bin .../Work_Right_scatter.mp4 | Bin example_output.jpeg => Data/example_output.jpeg | Bin 4 files changed, 0 insertions(+), 0 deletions(-) rename Work_Right.csv => Data/Work_Right.csv (100%) rename Work_Right_line.mp4 => Data/Work_Right_line.mp4 (100%) rename Work_Right_scatter.mp4 => Data/Work_Right_scatter.mp4 (100%) rename example_output.jpeg => Data/example_output.jpeg (100%) diff --git a/Work_Right.csv b/Data/Work_Right.csv similarity index 100% rename from Work_Right.csv rename to Data/Work_Right.csv diff --git a/Work_Right_line.mp4 b/Data/Work_Right_line.mp4 similarity index 100% rename from Work_Right_line.mp4 rename to Data/Work_Right_line.mp4 diff --git a/Work_Right_scatter.mp4 b/Data/Work_Right_scatter.mp4 similarity index 100% rename from Work_Right_scatter.mp4 rename to Data/Work_Right_scatter.mp4 diff --git a/example_output.jpeg b/Data/example_output.jpeg similarity index 100% rename from example_output.jpeg rename to Data/example_output.jpeg From 630086eee3ab6da5fa37b876041997ef17348234 Mon Sep 17 00:00:00 2001 From: ElectronicsArchiver <85485984+ElectronicsArchiver@users.noreply.github.com> Date: Thu, 14 Apr 2022 16:25:19 -0400 Subject: [PATCH 02/12] Moved Source Code Into Source File --- hand_plotter.py => Source/Plot.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename hand_plotter.py => Source/Plot.py (100%) diff --git a/hand_plotter.py b/Source/Plot.py similarity index 100% rename from hand_plotter.py rename to Source/Plot.py From 930909a04135f51a2cc5bd5a465090d3cd335f0b Mon Sep 17 00:00:00 2001 From: ElectronicsArchiver <85485984+ElectronicsArchiver@users.noreply.github.com> Date: Thu, 14 Apr 2022 16:25:51 -0400 Subject: [PATCH 03/12] Added Python Shebang --- Source/Plot.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Source/Plot.py b/Source/Plot.py index 1977f1c..31592a2 100644 --- a/Source/Plot.py +++ b/Source/Plot.py @@ -1,3 +1,5 @@ +#!/usr/bin/python + import pandas as pd import numpy as np import sys From 501944456fe03cb1e29aed01e255924d6b1b0a07 Mon Sep 17 00:00:00 2001 From: ElectronicsArchiver <85485984+ElectronicsArchiver@users.noreply.github.com> Date: Thu, 14 Apr 2022 16:30:15 -0400 Subject: [PATCH 04/12] Refactored Header & Overview --- README.md | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index b90c27f..6ac057b 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,30 @@ + +# ASL - Research + +*American Sign Language Recognition* + +
+ +``` Michael Mongelli Dr. Salgian American Sign Language Recognition Apr 1 2020 +``` + +
+ +## Overview + +This program is capable of plotting a **3D Hand Figure**
+based on coordinates provided by a **CSV** file. -hand_plotter.py Information +The CSV comes from the **Mendely Dataset** of
+recorded **American Sign Language** gestures. -Overview: +
- This program is capable of plotting a hand figure in 3D based on - coordinates provided from a CSV file in the Mendely dataset of - recorded American Sign Language gestures. +## Usage Command line args: From 3b562c90e2a3e5aead2256eb52ca0558eea81df7 Mon Sep 17 00:00:00 2001 From: ElectronicsArchiver <85485984+ElectronicsArchiver@users.noreply.github.com> Date: Thu, 14 Apr 2022 16:36:47 -0400 Subject: [PATCH 05/12] Formatted Usage Section --- README.md | 59 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 49 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 6ac057b..f19c8c0 100644 --- a/README.md +++ b/README.md @@ -24,21 +24,56 @@ recorded **American Sign Language** gestures.
+--- + +
+ +## Requirements + +To run the program, you require **[Python 3]**,
+as well as a - to be processed - input **CSV** file. + +
+ +--- + +
+ ## Usage -Command line args: +*The program is used in the command line.* - $ handfile.csv plot_mode +```sh +Plot.py +``` - handfile.csv = the file containing the coordinates you would like to plot - - plot_mode = * (optional, set to 'line' by default) - * 'scatter' - plot the hand using a scatter plot, showing the joints as points - * 'line' - plot the connections between the joints as lines +
+ +### Mode + +#### Line + +*This is the default used if no mode is specified.* + +Plot the connections between the joints as lines. + +```sh +Plot.py line +``` + +
+ +#### Scatter + +Plot the hand using a scatter plot,
+showing the joints as points. + +```sh +Plot.py scatter +``` + +
- Examples: $ python3 hand_plotter.py Work_Right.csv scatter - $ python3 hand_plotter.py Work_Right.csv line - $ python3 hand_plotter.py Work_Right.csv Notes: @@ -87,3 +122,7 @@ Future Work: * Be able to plot points and lines at the same time * Will greatly improve the viewer's ability to interpret the signs being performed by the hand + + + +[Python 3]: https://www.python.org/downloads/ From a55b296e1d182ef0db7a804a3155dc4d9400724e Mon Sep 17 00:00:00 2001 From: ElectronicsArchiver <85485984+ElectronicsArchiver@users.noreply.github.com> Date: Thu, 14 Apr 2022 16:40:37 -0400 Subject: [PATCH 06/12] Formatted Notes Section --- README.md | 57 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 39 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index f19c8c0..74a0fca 100644 --- a/README.md +++ b/README.md @@ -74,25 +74,46 @@ Plot.py scatter
+--- + +
+ +## Notes + +### update_plot() + +Notice that the title is set using a different
+technique for the scatter and line plots. -Notes: - - In update_plot(): - Notice that the title is set using a different technique for the scatter and line plots. - Scatter and line plots behave differently in MatPlotLib. - This is also why the ax.cla() (clear axes) function is present in the line plot - but not in the scatter plot. - Further research is needed to find if their is a way to implement - the plotting of these graphs in as similar a manner as possible. - - placement of plt.show(): - Unfortunately, this has to come last. - While it is suboptimal for the user to have to wait - for the animation to render for saving before they - can view it in a popup window, - doing so corrupts the animation-saving process. - There may be a solution to this, - but this can be solved in the future. +Scatter and line plots behave differently in **MatPlotLib**. + + +This is also why the `ax.cla()` (clear axes) function
+is present in the line plot but not in the scatter plot. + +Further research is needed to find if their is a way to
+implement the plotting of these graphs in as similar
+a manner as possible. + +
+ +### placement of plt.show() + +Unfortunately, this has to come last. + +While it is suboptimal for the user to have to wait
+for the animation to render for saving before they
+can view it in a popup window, doing so corrupts
+the animation-saving process. + +There may be a solution to this, but
+this can be solved in the future. + +
+ +--- + +
Future Work: From c5b29b1df9c2d79abbea6908bf55ecf182fa1ad9 Mon Sep 17 00:00:00 2001 From: ElectronicsArchiver <85485984+ElectronicsArchiver@users.noreply.github.com> Date: Thu, 14 Apr 2022 16:46:10 -0400 Subject: [PATCH 07/12] Formatted Future Work Section --- README.md | 65 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 37 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 74a0fca..5dff798 100644 --- a/README.md +++ b/README.md @@ -115,34 +115,43 @@ this can be solved in the future.
-Future Work: - - * Be able to pass multiple csv files to the program to make creating - multiple animations at once less tedious - * It would be good to add more detail to the progress report - in this case - * The process of creating and saving the animaiton is currently - very slow, so a status report indicates if the animation is - 10%...20%...etc until completion - * If the program is made able to convert multiple files to - animations at once, it would be good to show the user approximately - when the animations will be done rendering so they know how long - they will need to leave their terminal running - - * Make it possible to enable/disable the plot being shown - * If one simply wants to save several animations created from - their CSVs, they shouldn't have to see it all pop up in - multiple plot windows - - * Improve speed: - * Line mode is currently very slow, could be sped up by saving - all plot data so it doesnt have to be recalculated with each loop - of the animation - * There could be ways to speed up the process of the first loop as well - - * Be able to plot points and lines at the same time - * Will greatly improve the viewer's ability to interpret the signs - being performed by the hand +## Future Work + +- Be able to pass multiple csv files to the program to
+ make creating multiple animations at once less tedious + + * It would be good to add more detail
+ to the progress report in this case + + * The process of creating and saving the animation
+ is currently very slow, so a status report indicates
+ if the animation is `10%` ... `20%` ... etc until completion + + * If the program is made able to convert multiple files
+ to animations at once, it would be good to show the
+ user approximately when the animations will be done
+ rendering so they know how long they will need to
+ leave their terminal running + +- Make it possible to enable / disable the plot being shown + + * If one simply wants to save several animations created
+ from their CSVs, they shouldn't have to see it all pop up
+ in multiple plot window + +- Improve speed + + * Line mode is currently very slow, could be sped up by
+ saving all plot data so it doesn't have to be recalculated
+ with each loop of the animation + + * There could be ways to speed up
+ the process of the first loop as well + +- Be able to plot points and lines at the same time + + * Will greatly improve the viewer's ability to
+ interpret the signs being performed by hand From 08ed449c11c59b63b7eb46d54088ece8c2226a73 Mon Sep 17 00:00:00 2001 From: ElectronicsArchiver <85485984+ElectronicsArchiver@users.noreply.github.com> Date: Thu, 14 Apr 2022 16:47:04 -0400 Subject: [PATCH 08/12] Corrected Folder Name --- {Data => Test}/Work_Right.csv | 0 {Data => Test}/Work_Right_line.mp4 | Bin {Data => Test}/Work_Right_scatter.mp4 | Bin {Data => Test}/example_output.jpeg | Bin 4 files changed, 0 insertions(+), 0 deletions(-) rename {Data => Test}/Work_Right.csv (100%) rename {Data => Test}/Work_Right_line.mp4 (100%) rename {Data => Test}/Work_Right_scatter.mp4 (100%) rename {Data => Test}/example_output.jpeg (100%) diff --git a/Data/Work_Right.csv b/Test/Work_Right.csv similarity index 100% rename from Data/Work_Right.csv rename to Test/Work_Right.csv diff --git a/Data/Work_Right_line.mp4 b/Test/Work_Right_line.mp4 similarity index 100% rename from Data/Work_Right_line.mp4 rename to Test/Work_Right_line.mp4 diff --git a/Data/Work_Right_scatter.mp4 b/Test/Work_Right_scatter.mp4 similarity index 100% rename from Data/Work_Right_scatter.mp4 rename to Test/Work_Right_scatter.mp4 diff --git a/Data/example_output.jpeg b/Test/example_output.jpeg similarity index 100% rename from Data/example_output.jpeg rename to Test/example_output.jpeg From 745959fd027f29bb6f474241c0cfcdf3bd5e654f Mon Sep 17 00:00:00 2001 From: ElectronicsArchiver <85485984+ElectronicsArchiver@users.noreply.github.com> Date: Thu, 14 Apr 2022 17:00:20 -0400 Subject: [PATCH 09/12] Added Example, Install Instructions --- README.md | 18 ++++++++++++++++-- Source/Plot.py | 2 +- Test/Example.sh | 10 ++++++++++ 3 files changed, 27 insertions(+), 3 deletions(-) mode change 100644 => 100755 Source/Plot.py create mode 100755 Test/Example.sh diff --git a/README.md b/README.md index 5dff798..1f55f9c 100644 --- a/README.md +++ b/README.md @@ -30,8 +30,22 @@ recorded **American Sign Language** gestures. ## Requirements -To run the program, you require **[Python 3]**,
-as well as a - to be processed - input **CSV** file. +To run the program, you require: + +- **[Python 3]** + +- Some modules: + + - `pandas` + - `numpy` + +
+ + Install them with: + + ```sh + pip install pandas numpy + ```
diff --git a/Source/Plot.py b/Source/Plot.py old mode 100644 new mode 100755 index 31592a2..81b7e40 --- a/Source/Plot.py +++ b/Source/Plot.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python3 import pandas as pd import numpy as np diff --git a/Test/Example.sh b/Test/Example.sh new file mode 100755 index 0000000..89a312a --- /dev/null +++ b/Test/Example.sh @@ -0,0 +1,10 @@ +#!/bin/sh + + +# Make this file work from any pwd +folder=$(dirname "$0") + +alias plot="$folder/../Source/Plot.py" +csv="$folder/Work_Right.csv" + +plot $csv line \ No newline at end of file From a7c4696e91563f2e135570e5210dac36f723ce51 Mon Sep 17 00:00:00 2001 From: ElectronicsArchiver <85485984+ElectronicsArchiver@users.noreply.github.com> Date: Thu, 14 Apr 2022 17:00:45 -0400 Subject: [PATCH 10/12] Fixed Requirements --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1f55f9c..433b6d4 100644 --- a/README.md +++ b/README.md @@ -38,13 +38,14 @@ To run the program, you require: - `pandas` - `numpy` + - `matplotlib`
Install them with: ```sh - pip install pandas numpy + pip install pandas numpy matplotlib ```
From cd0425e5fc316b205f23ff3615ed7d87428c4b3f Mon Sep 17 00:00:00 2001 From: ElectronicsArchiver <85485984+ElectronicsArchiver@users.noreply.github.com> Date: Thu, 14 Apr 2022 17:06:43 -0400 Subject: [PATCH 11/12] Added License Placeholder --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 433b6d4..1a0b343 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -# ASL - Research +# ASL - Research [![Badge License]][License] *American Sign Language Recognition* @@ -171,3 +171,7 @@ this can be solved in the future. [Python 3]: https://www.python.org/downloads/ + +[Badge License]: https://img.shields.io/badge/License-Unkown-darkgray?style=for-the-badge + +[License]: # From 31fbf997fa6fe28c96933496eb8e73c3a6a3ea94 Mon Sep 17 00:00:00 2001 From: ElectronicsArchiver <85485984+ElectronicsArchiver@users.noreply.github.com> Date: Thu, 14 Apr 2022 17:07:54 -0400 Subject: [PATCH 12/12] Added Editorconfig --- .editorconfig | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..df14513 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,10 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true + +[*.py] +charset = utf-8 +indent_style = space +indent_size = 4 \ No newline at end of file