Luna is a C/C++ library focused on the analysis of large numbers of sleep studies, such as those available from the NSRR. Luna is completely open-source and not dependent on proprietary software. If you're interested in analyzing sleep signals from the NSRR, you might want to start by looking at Luna.
Currently, there is a command-line tool (lunaC) and an extension library for R (lunaR). Naturally, there are many other excellent tools available for working with electrophysiological and other signal data, such as EEGLAB for the (proprietary) Matlab software package. In contrast, Luna is specifically focused on sleep signal data (the sleep EEG in particular), for studies that might have very large numbers of sleep EEG and polysomnography (PSG) studies stored as EDF.
In general, Luna aims to automate a range of basic analyses, such that they can be performed and compiled across multiple recordings. Many of Luna's functions are designed to facilitate working with annotations (e.g. manual staging or other identified events, such as respiratory events or sleep spindles) alongside the raw signal data. As well commands for manipulating EDFs and basic time-frequency analyses (e.g. filters and spectral analyses) there are commands focused on characterizing particular aspects of sleep (summarizing hypnograms, detecting spindles and slow oscillations). Although Luna was developed with typical PSGs in mind, we are currently expanding the range of functions to work with higher-density EEG, i.e. for multi-channel, topographical analysis.
We've previously used Luna as the primary basis for analyzing sleep data from the NSRR, for example in looking at spindle activity in over 10,000 individuals. We're also in the process of adapting Luna to make it easier to work with NSRR data, for example, by adding features to automatically remap the different annotation schemes used in different NSRR-hosted studies to a common reference, as described here.
Nothing's perfect, of course: Luna is still actively under development and there will inevitably still be kinks that need ironing out. You can consider it a power tool, which is perhaps a euphemism for saying that it will present a learning curve, especially if you are not familiar with working on the command line. The website contains some reasonably extensive tutorials that aim to make this process easier, though. If you're struggling to work with the EDFs available from the NSRR, the time taken to learn how to use Luna might turn out to be a good investment.
Let us know if you would like to contribute to, either through code or by suggestions for features, or simply giving feedback.
Shaun Purcell, email@example.com