Last active
January 31, 2017 15:00
-
-
Save remomueller/1ac152303194300096cc12fee651070c to your computer and use it in GitHub Desktop.
Compute EDF Signal Averages
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# tutorial_04.rb | |
# sleepdata.org | |
# author: @remomueller | |
# | |
# Required Gems: | |
# | |
# gem install colorize edfize nsrr --no-document | |
# | |
# To Run Script: | |
# | |
# ruby tutorial_04.rb | |
require 'rubygems' | |
require 'colorize' | |
require 'edfize' | |
require 'nsrr' | |
require 'nsrr/commands/download' | |
Nsrr::Commands::Download.run(%w(download learn/polysomnography/edfs/learn-nsrr01.edf --token=public)) | |
puts "EDFs Downloaded: #{Edfize.edf_paths.count}" | |
Edfize.edfs do |edf| | |
puts "\nEDF: #{edf.filename}" | |
edf.load_signals | |
puts " Signal Average" | |
edf.signals.each do |signal| | |
physical_values_average = signal.physical_values.inject(&:+) / signal.physical_values.count | |
puts " #{format("%16s", signal.label)} #{physical_values_average.round(2).to_s.colorize(:green)} #{signal.physical_dimension}" | |
end | |
end | |
puts "\nCongrats! You have completed your fourth tutorial!".colorize(:green).on_white |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment