add guides

This commit is contained in:
Prohurtz 2022-09-10 13:16:32 -07:00
parent 4cf7917586
commit d397a4bd26
5 changed files with 197 additions and 153 deletions

View File

@ -0,0 +1,39 @@
---
layout: page
title: Building the app from source
permalink: /building-the-app/
nav_order: 3
parent: Software Guide
---
## This guide will show how to build the app from source
{% include custom/alerts/Note.html content="This is NOT a required step, you do not need to build the app from source." %}
## Requirements:
- [x] [Python 3.6.8](https://www.python.org/downloads/release/python-368/)
- [x] [Pyinstaller](https://pyinstaller.org/en/stable/installation.html)
## Install the required Python modules.
After cloning the project open a command prompt in the eyetrack app folder and run the command: `pip install -r requirements.txt`
If you have multiple python versions installed on your machine, run the command: `py -3.6 -m pip install -r requirements.txt`
This should install all of the required modules.
## Build the app.
Now, you should be ready to build the app.
With a command promt open in the EyeTrackApp folder, run the command `pyinstaller eyetrackapp.spec`
Give it time to build the app. Once done the app should be under `dist/eyetrackapp`
## Optional steps:
1. Move the `Images` folder from the source folder into the folder with the built .exe in it
- this will let it have an icon in the app and taskbar.
2. Use a program like [Resource Hacker](http://www.angusj.com/resourcehacker/) to replace the .exe icon with the correct logo.
- [Here is a tutorial](https://www.howtogeek.com/75983/stupid-geek-tricks-how-to-modify-the-icon-of-an-.exe-file/)

View File

@ -0,0 +1,144 @@
---
layout: page
title: Installing and setting up the ETVR App
permalink: /install-and-set-up-the-app/
nav_order: 2
parent: Software Guide
---
# How to install, run and adjust the EyeTrackVR app.
### Step 1: Download the EyeTrackVR Installer and install the EyeTrackVR app.
Go to the latest [GitHub release here](https://github.com/RedHawk989/EyeTrackVR-Installer/releases/tag/EyeTrackVR-Installer-0.2.1) and download the .zip
Extract the zip file and then run the .exe as administrator.
You will be greeted with a window that looks like this:
{% include custom/images/image_2.html url="https://i.imgur.com/olwRFYI.png" max-width="500" caption="" alt="" %}
By default, it will install to `C:\Program Files\EyeTrackVR` and create a shortcut on your desktop.
Pressing the `Change Install Path` button will open up a window where you can navigate to an alternate install path.
Press `Install` to install the app.
{% include custom/alerts/Note.html content=" The installer can also be used to update the app, just go through the install process again." %}
If it has been successfully installed it should change to look like this:
{% include custom/images/image_2.html url="https://i.imgur.com/Ugzzgbh.png" max-width="500" caption="" alt="" %}
## Step 2: Run the EyeTrackVR app.
If the `Create Desktop Shortcut` option was checked you should see an icon on your desktop, double click it to run.
You then should be greeted with a GUI that looks like this:
{% include custom/images/image_2.html url="https://i.imgur.com/z6V7A71.png" max-width="500" caption="" alt="" %}
## Step 3: Getting familiar with settings and terminology.
Let's go over some basic terminology you will find in the app.
Starting from the top:
### `Right eye`:
Shows the right eye feed and settings only.
### `Left eye`:
Shows the left eye feed and settings only.
### `Both eyes`:
Shows both eyes' feed and settings.
### `Camera Address`:
This is where you enter the IP address of your camera.
Alternatively, it can be used to put the cam number for wired cameras or pass in a video file.
### `Tracking Mode`:
This changes the GUI to the tracking mode where it outputs values.
### `Cropping Mode`:
This is where you will crop out your eye.
### `Threshold`:
This is used to cut out things that aren't dark like your pupil.
### `Rotation`:
For our method to work best, you want your eye to be level.
Use this slider to adjust it to where that is the case.
### `Restart Calibrationn`:
This will start a calibration mode for your eye where you look to all extremes.
### `Recenter Eye`:
This will recenter your eye to whatever point you are looking at.
## Step 4: Adding your cameras to the software and configuring them.
Power your ESPs and find what the IP address is for your right eye. This can be done by opening both Cameras in a browser and then holding your finger over your right eye camera.
Copy that IP address and then close the browser tab with it open.
Enter that IP address into the app's `Camera Address` field and press the `Save and Restart Tracking` button.
Don't see your camera feed? That's because we haven't set an ROI.
{% include custom/images/image_2.html url="https://i.imgur.com/MJb2h74.png" max-width="500" caption="See the Awating Eye Cropping Settings text?" alt="" %}
Now press the `Cropping Mode` button.
You should see a feed of your camera.
Put your headset on and use an application to see your desktop. (Virtual desktop, SteamVR desktop, etc.)
You should see something like this:
{% include custom/images/image_2.html url="https://i.imgur.com/1pNYITS.png" max-width="500" caption=":O It's my eye!" alt="" %}
Now, Draw a rectangle that selects your eye.
A good example of an ROI
{% include custom/images/image_2.html url="https://i.imgur.com/HZSvFBv.png" max-width="500" caption="" alt="" %}
Head back over to the `Tracking mode`.
We will now adjust our rotation by moving the `Rotation` slider.
From this:
{% include custom/images/image_2.html url="https://i.imgur.com/xXTB3sM.png" max-width="500" caption="It's crooked!" alt="" %}
To this:
{% include custom/images/image_2.html url="https://i.imgur.com/blsrpCX.png" max-width="500" caption="Much better" alt="" %}
Now we will adjust our threshold.
Continuing with your headset on, move the slider all the way up.
start slowly backing it off until mainly only your pupil is being visualized in the threshold viewer.
Example of a threshold being too low:
{% include custom/images/image_2.html url="https://i.imgur.com/30fFadH.png" max-width="500" caption="" alt="" %}
Example of too high of a threshold:
{% include custom/images/image_2.html url="https://i.imgur.com/ZjpKfCV.png" max-width="500" caption="" alt="" %}
Example of a good threshold:
{% include custom/images/image_2.html url="https://i.imgur.com/KPUn8S1.png" max-width="500" caption="" alt="" %}
Repeat everything in this step for your left eye.
## Step 5: Calibrating your eyes.
Once your eye is trackable by the software we need to calibrate it.
Press the `Restart Calibration` button and look around.
The important part is that you look to all extremes, all the way up, left, etc.
Once you have done so, wait for the `Mode` to say `Tracking`
The next step is to center your eye.
Look straight forward and press the `Recenter Eye` button.
Your eye is now fully calibrated.
Repeat for your other eye.
{% include custom/alerts/Note.html content=" To best center both eyes, look at one spot and hit the 'Recenter Eye' button for each eye without moving your eyes." %}
## See anything outdated on this guide? Let me know! `Prohurtz#0001`

View File

@ -52,7 +52,7 @@ parent: How to build
## Step 1: Make sure your have read the [Things to know before you start](https://redhawk989.github.io/EyeTrackVR/things-to-know) guide.
This will give you a basic overview of the project's status and what to expect currently.
## Step 2: Order all the parts listed on our [Parts list](https://redhawk989.github.io/EyeTrackVR/partslist/)
## Step 2: Order all the parts listed on our [Parts list](https://redhawk989.github.io/EyeTrackVR/parts-list/)
Please take note of the fact that hardware still may change, although with more developments it seems like we are going to stick with current hardware.
## Step 3: Wait for things to arrive.

View File

@ -1,16 +1,18 @@
---
layout: page
title: Part List
permalink: /partslist/
permalink: /parts-list/
nav_order: 2
parent: How to build
---
## This page will include a basic part list for building an EyeTrackVR setup
{% include custom/alerts/Warning.html content="Please note that no hardware has been fully set in stone, all purchases are at your loss if hardware changes" %}
{% include custom/alerts/Warning.html content=" Please note that no hardware has been fully set in stone, all purchases are at your loss if hardware changes" %}
{% include custom/alerts/Note.html content="It is recommended to source parts from AliExpress as it is much cheaper" %}
{% include custom/alerts/Note.html content="It is recommended to source main parts from AliExpress as it is much cheaper." %}
{% include custom/alerts/Note.html content="It is good practice to buy more than needed in some cases, namely programmers and ESPs, this reduces the risk of a DOA (dead on arrival) causing a delay." %}
## Camera setup
@ -28,10 +30,6 @@ Here is an amazon link for 3 ESP32-Cams and programmers without the proper camer
[Or one with a cover on AliExpress here](https://www.aliexpress.com/item/2251832820552545.html?spm=a2g0o.productlist.0.0.24906d82STgtT2&algo_pvid=215ca169-e724-4aef-8cd4-597ceeb899f2&algo_exp_id=215ca169-e724-4aef-8cd4-597ceeb899f2-0&pdp_ext_f=%7B%22sku_id%22%3A%2267040749896%22%7D&pdp_npi=2%40dis%21USD%211.14%211.13%21%21%21%21%21%402101d64d16603413470056035e536c%2167040749896%21sea&curPageLogUid=ziYPxg6un38w)
[Or this one for more plug and play power](https://es.aliexpress.com/item/3256802826910871.html?spm=a2g0o.productlist.0.0.592c2d4fAXThal&algo_pvid=41a349ba-5582-4aff-9eed-70745cad6f1a&algo_exp_id=41a349ba-5582-4aff-9eed-70745cad6f1a-0&pdp_ext_f=%7B%22sku_id%22%3A%2212000023231721054%22%7D&pdp_npi=2%40dis%21USD%211.92%211.8%21%21%21%21%21%40210318d116603418291097152e829e%2112000023231721054%21sea&curPageLogUid=V05SfF2D6xcN)
{% include custom/alerts/Note.html content=" Note that with the above cable if you use the connectors included you will need 1 USB per ESP and another for the IR emitters. I would recommend not using the connectors because you would be using more USB ports than necessary. Also, note that data is not used so I would not get the variant with data cables. " %}
- 1x Lower gauge wire to power ESPs
[28 gauge wire from AliExpress here](https://a.aliexpress.com/_mK72cy6)
@ -42,15 +40,15 @@ Here is an amazon link for 3 ESP32-Cams and programmers without the proper camer
- 4x Unfocused SMD IR emitters
Recomended ones [from LCSC here](https://www.lcsc.com/product-detail/Infrared-IR-LEDs_XINGLIGHT-XL-3216HIRC-850_C965891.html).
Alternative ones [from Digikey here](https://www.digikey.com/en/products/detail/inolux/IN-P32ZTIR/10384796). The difference between them is the ones from LCSC are rated for lower power, this means in the event of a short or misshap they should be safer, hence why they are recomended.
{% include custom/alerts/Note.html content="The smaller ones can not be soldered at temps above 245C or they will burn. Low temp solder is recomended" %}
Alternative ones [from Digikey here](https://www.digikey.com/en/products/detail/inolux/IN-P32ZTIR/10384796). The difference between them is the ones from LCSC are rated for lower power, which means in the event of a short or mishap they should be safer, hence why they are recommended.
{% include custom/alerts/Note.html content="The smaller ones can not be soldered at temps above 245C or they will burn. Low temp solder is recommended" %}
{% include custom/alerts/Warning.html content="(DO NOT BUY FOCUSED ONES! If they look like something you would find in a TV remote do not use them, if you aren't exactly sure what you are doing, buy them from the LCSC or Digikey link)" %}
- 4x IR emitter PCB's (highly recommended)
- 4x IR emitter PCBs (highly recommended)
- 2x 698-710ohm resistors or the more recommend way, 4x 350ohm 1206 SMD resistors for IR emitters (If you are not using PCB's for the emitters then buying regular through-hole resistors is acceptable)
- 2x 698-710ohm resistors or the more recommend way, 4x 350ohm 1206 SMD resistors for IR emitters (If you are not using PCBs for the emitters then buying regular through-hole resistors is acceptable)
- [357 ohm from Digikey here](https://www.digikey.com/en/products/detail/stackpole-electronics-inc/RMCF1206FT357R/1759919)
@ -70,7 +68,7 @@ This ensures you get the correct IR emitter parts.
- 1x Hot glue or another form of glue
- 1x Soldering iron and solder (lead free solder highly recommended)
- 1x Soldering iron and solder (lead-free solder highly recommended)
{% include custom/3d_printed_parts/Parts.html %}

View File

@ -2,146 +2,9 @@
layout: default
title: Software Guide
nav_order: 10
has_children: false
has_toc: True
has_children: True
permalink: /software-guide/
---
# How to install, run and adjust the EyeTrackVR app.
{% include custom/alerts/Note.html content="This will only cover the dual eye program, most things will transfer to the single eye app." %}
### Step 1: Download the EyeTrackVR Installer and install the EyeTrackVR app.
Go to the latest [GitHub release here](https://github.com/RedHawk989/EyeTrackVR-Installer/releases/tag/EyeTrackVR-Installer-0.2.1) and download the .zip
Extract the zip file and then run the .exe as administrator.
You will be greeted with a window that looks like this:
{% include custom/images/image_2.html url="https://i.imgur.com/olwRFYI.png" max-width="500" caption="" alt="" %}
By default, it will install to `C:\Program Files\EyeTrackVR` and create a shortcut on your desktop.
Pressing the `Change Install Path` button will open up a window where you can navigate to an alternate install path.
Press `Install` to install the app.
{% include custom/alerts/Note.html content=" The installer can also be used to update the app, just go through the install process again." %}
If it has been successfully installed it should change to look like this:
{% include custom/images/image_2.html url="https://i.imgur.com/Ugzzgbh.png" max-width="500" caption="" alt="" %}
## Step 2: Run the EyeTrackVR app.
If the `Create Desktop Shortcut` option was checked you should see an icon on your desktop, double click it to run.
You then should be greeted with a GUI that looks like this:
{% include custom/images/image_2.html url="https://i.imgur.com/z6V7A71.png" max-width="500" caption="" alt="" %}
## Step 3: Getting familiar with settings and terminology.
Let's go over some basic terminology you will find in the app.
Starting from the top:
### `Right eye`:
Shows the right eye feed and settings only.
### `Left eye`:
Shows the left eye feed and settings only.
### `Both eyes`:
Shows both eyes' feed and settings.
### `Camera Address`:
This is where you enter the IP address of your camera.
Alternatively, it can be used to put the cam number for wired cameras or pass in a video file.
### `Tracking Mode`:
This changes the GUI to the tracking mode where it outputs values.
### `Cropping Mode`:
This is where you will crop out your eye.
### `Threshold`:
This is used to cut out things that aren't dark like your pupil.
### `Rotation`:
For our method to work best, you want your eye to be level.
Use this slider to adjust it to where that is the case.
### `Eye Position Scalar`:
This is a form of multiplier for OSC output.
Increase it if when looking in all directions moves the eye not enough, if it works fine, leave it at default.
### `Restart Calibrationn`:
This will start a calibration mode for your eye where you look to all extremes.
### `Recenter Eye`:
This will recenter your eye to whatever point you are looking at.
## Step 4: Adding your cameras to the software and configuring them.
Power your ESPs and find what the IP address is for your right eye. This can be done by opening both Cameras in a browser and then holding your finger over your right eye camera.
Copy that IP address and then close the browser tab with it open.
Enter that IP address into the app's `Camera Address` field and press the `Save and Restart Tracking` button.
Don't see your camera feed? That's because we haven't set an ROI.
{% include custom/images/image_2.html url="https://i.imgur.com/MJb2h74.png" max-width="500" caption="See the Awating Eye Cropping Settings text?" alt="" %}
Now press the `Cropping Mode` button.
You should see a feed of your camera.
Put your headset on and use an application to see your desktop. (Virtual desktop, SteamVR desktop, etc.)
You should see something like this:
{% include custom/images/image_2.html url="https://i.imgur.com/1pNYITS.png" max-width="500" caption=":O It's my eye!" alt="" %}
Now, Draw a rectangle that selects your eye.
A good example of an ROI
{% include custom/images/image_2.html url="https://i.imgur.com/HZSvFBv.png" max-width="500" caption="" alt="" %}
Head back over to the `Tracking mode`.
We will now adjust our rotation by moving the `Rotation` slider.
From this:
{% include custom/images/image_2.html url="https://i.imgur.com/xXTB3sM.png" max-width="500" caption="It's crooked!" alt="" %}
To this:
{% include custom/images/image_2.html url="https://i.imgur.com/blsrpCX.png" max-width="500" caption="Much better" alt="" %}
Now we will adjust our threshold.
Continuing with your headset on, move the slider all the way up.
start slowly backing it off until mainly only your pupil is being visualized in the threshold viewer.
Example of a threshold being too low:
{% include custom/images/image_2.html url="https://i.imgur.com/30fFadH.png" max-width="500" caption="" alt="" %}
Example of too high of a threshold:
{% include custom/images/image_2.html url="https://i.imgur.com/ZjpKfCV.png" max-width="500" caption="" alt="" %}
Example of a good threshold:
{% include custom/images/image_2.html url="https://i.imgur.com/KPUn8S1.png" max-width="500" caption="" alt="" %}
Repeat everything in this step for your left eye.
## Step 5: Calibrating your eyes.
Once your eye is trackable by the software we need to calibrate it.
Press the `Restart Calibration` button and look around.
The important part is that you look to all extremes, all the way up, left, etc.
Once you have done so, wait for the `Mode` to say `Tracking`
The next step is to center your eye.
Look straight forward and press the `Recenter Eye` button.
Your eye is now fully calibrated.
Repeat for your other eye.
{% include custom/alerts/Note.html content=" To best center both eyes, look at one spot and hit the 'Recenter Eye' button for each eye without moving your eyes." %}
## See anything outdated on this guide? Let me know! `Prohurtz#0001`
# How to install, setup, and build from source the EyeTrackApp.