diff --git a/PosturePerfection_install.sh b/PosturePerfection_install.sh
index ab7e8ec..d5835d5 100755
--- a/PosturePerfection_install.sh
+++ b/PosturePerfection_install.sh
@@ -22,14 +22,14 @@ case $OS in
*"armv7"*)
wget "https://github.com/ESE-Peasy/opencv/releases/download/v4.5.1-pp/opencv-4.5.1_armhf.deb"
sudo apt install ./opencv-4.5.1_armhf.deb
- wget "https://github.com/ESE-Peasy/PosturePerfection/releases/download/v0.4.0/PosturePerfection_0.4.0_armv7l"
- chmod u+x PosturePerfection_0.4.0_armv7l
+ wget "https://github.com/ESE-Peasy/PosturePerfection/releases/download/v1.0.0/PosturePerfection_1.0.0_armv7l"
+ chmod u+x PosturePerfection_1.0.0_armv7l
;;
*"x86"*)
wget "https://github.com/ESE-Peasy/opencv/releases/download/v4.5.1-pp/opencv-4.5.1_x86.deb"
sudo apt install ./opencv-4.5.1_x86.deb
- wget "https://github.com/ESE-Peasy/PosturePerfection/releases/download/v0.4.0/PosturePerfection_0.4.0_x86_64"
- chmod u+x PosturePerfection_0.4.0_x86_64
+ wget "https://github.com/ESE-Peasy/PosturePerfection/releases/download/v1.0.0/PosturePerfection_1.0.0_x86_64"
+ chmod u+x PosturePerfection_1.0.0_x86_64
;;
*)
printf -e "${RED}Unfortunately PosturePerfection is not yet supported on your system.${NO_COLOUR}\n"
@@ -41,5 +41,4 @@ sudo ldconfig
printf "${B_GREEN}PosturePerfection has been successfully installed!\n\n"
-printf "${GREEN}Run ./PosturePerfection_0.4.0_xxx to run our graphical user interface which displays real time posture estimation. Lines are drawn between
-your Head, Neck, Shoulder and Hip to demonstrate your detected posture! See the \`About & Help\` page for more information about usage.${NO_COLOUR}\n\n"
+printf "${GREEN}Run ./PosturePerfection_1.0.0_xxx to run our graphical user interface which displays real time posture estimation. Lines are drawn between your Head, Neck, Shoulder and Hip to demonstrate your detected posture! When you adopt a poor posture, the system will show you guidance back to a better posture in real time! See the \`About & Help\` page for more information about usage.${NO_COLOUR}\n\n"
diff --git a/README.md b/README.md
index f3eb8f9..3e45c44 100644
--- a/README.md
+++ b/README.md
@@ -39,6 +39,7 @@
@@ -83,6 +84,12 @@ We are a group of 5th Year Electronics & Software Engineering students at the Un
- CMake
- CTest
+## Demonstration
+
+Check out a demo of PosturePerfection below:
+
+[![Demonstration of PosturePerfection](https://user-images.githubusercontent.com/45148261/114715259-ce48d900-9d2a-11eb-8306-7c3a4138aee7.mp4)](https://ese-peasy.github.io/PosturePerfection/#demonstration)
+
## Quickstart
diff --git a/docs/doxygen-homepage.md b/docs/doxygen-homepage.md
index 5ed8b78..8fb3b94 100644
--- a/docs/doxygen-homepage.md
+++ b/docs/doxygen-homepage.md
@@ -10,7 +10,7 @@ The project is separated into three main sections, each with a unique function.
1. The Pipeline is responsible for performing pose estimation to detect the user's posture and identify when it has worsened as well as the adjustments required to guide the user into a better posture.
2. The GUI is responsible for displaying these results and posture adjustment suggestions to the user, as well as allowing various configuration options to be set.
-3. The [Notification System](@ref Notify) allows an alert to be sent to a separate device which the user is using.
+3. The [Notification System](@ref Notify) allows an alert to be sent to a separate device which the user is using. This is done using [simple-remote-notify-send](https://github.com/ESE-Peasy/simple-remote-notify-send), also developed by us!
\subsection pipeline Pipeline
@@ -49,9 +49,6 @@ The _GUI_ is responsible for user interaction and displaying a live feed of the
A _[Notification System](@ref Notify)_ has been developed to allow an alert to be sent to a separate device when then system detects a poor posture. In this way, although the PosturePerfection system will be placed at the side of the user to analyse their posture profile, an alert can be sent to their laptop device which they are working on so that they are immediately notified of their poor posture.
-- [NotifyBroadcast](@ref Notify::NotifyBroadcast)
-- [NotifyReceiver](@ref Notify::NotifyReceiver)
-
\section additional_resources Additional Resources
- [GitHub Repository](http://github.com/ESE-Peasy/PosturePerfection)
diff --git a/docs/index.md b/docs/index.md
index 5077617..cb40c19 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -23,14 +23,14 @@ Therefore we wanted to create a system which notifies you when it detects a poor
## Demonstration
-Coming Soon!
-{: .label .label-yellow}
+Check out a demonstration of PosturePerfection running on a Raspberry Pi 4B below:
-## Future Plans
-
-Coming Soon!
-{: .label .label-yellow}
+
+
+
## Support or Contact
-Please reach out to us [here](/about-us) if you have any questions.
+Please reach out to us [here](about-us) if you have any questions.
diff --git a/docs/requirements/spec.md b/docs/requirements/spec.md
index 3a7c50a..7915436 100644
--- a/docs/requirements/spec.md
+++ b/docs/requirements/spec.md
@@ -14,8 +14,8 @@ Here we outline the specification that was developed at the beginning of our pro
| It must run using a single camera attached to the Raspberry Pi |
| The system should work with sensible default settings such that initialisation of PosturePerfection is straightforward |
| Customisable settings/options must be presentable and configurable with minimal overhead |
-| The system should act as a "posture warning system" which warns the user within X seconds of their posture worsening. A "bad" posture is defined [here](tbc) |
-| The warning defined must initially at a minimum be in the form of an obvious notification to the user. The exact nature of this notification is yet to be decided |
-| The system should also incorporate a "posture correction" aspect which can guide the user to "good" posture which can be configured by the user themself |
-| The system could be extended to make use of a GUI via a small/medium sized HDMI-connected screen |
+| The system should act as a "posture warning system" which warns the user when their posture worsen after a minimal delay.|
+| The warning defined must, at a minimum, be in the form of an obvious notification to the user |
+| The system should also incorporate a "posture correction" aspect which can guide the user to a "good" posture which can be configured by the user themself |
+| The system could be extended to make use of a GUI via a small/medium sized screen |
| Optionally, the system could also send a notification to the main work machine of the user, so that they are immediately made aware of worsened posture, and so that they can turn to the posture correction tool for guidance |
diff --git a/docs/system/sequence-diagram.md b/docs/system/sequence-diagram.md
index 6cbed91..2ea406d 100644
--- a/docs/system/sequence-diagram.md
+++ b/docs/system/sequence-diagram.md
@@ -15,10 +15,12 @@ To more easily understand the exact process of analysing the video input and per
The system is separated into six main components:
-## 1. `PiCamera`
+## 1. `FrameGenerator`
An input video stream must first be obtained which allows frames to be passed through the system. This is done using [OpenCV](https://docs.opencv.org/3.4/d8/dfe/classcv_1_1VideoCapture.html) and individual individual frames are passed to the `Core Thread`.
+[FrameGenerator Documentation](../html/classPipeline_1_1FrameGenerator.html){: .btn .btn-green}
+
## 2. `PreProcessor`
The `PreProcessor` is responsible for performing some initial processing on each frame of the video stream as it comes in. The image needs to be resized and normalised to suit the model being used in the `InferenceCore`, however it is also possible that some further filtering can be completed to improve the performance of the pose estimation model. This could be filtering the image to discard sections which are not of interest, such as the background of the picture.
diff --git a/docs/videos/PosturePerfectionv1.0.0.mp4 b/docs/videos/PosturePerfectionv1.0.0.mp4
new file mode 100644
index 0000000..a15af9c
Binary files /dev/null and b/docs/videos/PosturePerfectionv1.0.0.mp4 differ
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 7b00f65..f56f989 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,6 +1,6 @@
set(CMAKE_CXX_STANDARD 11)
cmake_minimum_required(VERSION 3.16) # Required by TFL
-project(PosturePerfection VERSION 0.3.0)
+project(PosturePerfection VERSION 1.0.0)
if(APPLE)
set(CMAKE_PREFIX_PATH "/usr/local/Cellar/")