Version 1.4.0

- Added rudimentary FIR support
- Fixed an issue where the short channel was being included in the glm and the brain overlay
- Fixed an issue where the short channel hbr was being applied by the data's short channel hbo
- Fixed some instances where a crash would return as "Completed" in the notebook
- Fixed short / not short channel calculations
  - Per MNE, channels over 4.5cm will be dropped
- Added validation to ensure that OPTODE_FILE_PATH is a file and that it ends with .txt
- Fixed a lot of crashes if no short channel is present in the data
- Removed hardcoded instances of PPF and SHORT_CHANNEL_THRESH


Version 1.3.2

- Added check to ensure config keys are of the correct type
- Fixed incorrect heart rate calculations
- Ensured that the short channel did not get dropped when rejecting channels
- Prevented participants with a value > "MAX_BAD_CHANNELS" from being included in the analysis
- Added the parameter "SEE_BAD_IMAGES" to allow graphs from bad participants to still be displayed
  - If a participant is bad on channels, a red X with red text will be overlayed on the graph
  - If a participant fails to complete, a red X with blue text will be overlayed on the graph
- Properly exclude participants that do not hit the channel threshold or fail to complete
- Added a message when a participant finishes evaluation stating if they were valid or not
- Added more verbose statements
- Added option to toggle the optodes on the 3d brains by specifying a method parameter
  - Options are: 'sensors', 'labels', 'all'. 'all' is set by default if a parameter is not given
- Updated the PSD graph to show when their calculation was overruled by NeuroKit2
- Moved the elapsed time calculation into the run_groups() method and out of the notebook
