/* StandardBook.java created 2008-02-16
*
*/
package org.signalml.domain.book;
import java.util.Enumeration;
/** StandardBook
*
*
* @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o.
*/
public interface StandardBook {
/** Format version.
*
*
*/
String getVersion();
/** Book comment (## in mp5 config)
*
*
*/
String getBookComment();
/** Decomposition energy percent.
*
*
*/
float getEnergyPercent();
/** Max number of iterations.
*
*
*/
int getMaxIterationCount();
/** Dictionary size.
*
*
*/
int getDictionarySize();
/** Dictionary types (possible value info needed)
*
*
*/
char getDictionaryType();
/** Signal sampling frequency Hz.
*
*
*/
float getSamplingFrequency();
/** Calibration (~ points per microvolt), interpreted as: 1 uV = 1 sample * calibration
*
*
*/
float getCalibration();
/** Number of channels in signal file (same as channel count?).
*
*
*/
int getSignalChannelCount();
/** Text info (TEXT_INFO header)
*
*
*/
String getTextInfo();
/** Web site info.
*
*
*/
String getWebSiteInfo();
/** Book date.
*
*
*/
String getDate();
/** Number of channels in book file (each segment is assumed to contain this number of versions, one
* for each channel).
*
*
*/
int getChannelCount();
/** Get the label of the given channel.
*
* @param channelIndex
* @return null if information is not available
*/
String getChannelLabel(int channelIndex);
/** Number of segments in file (regardles of the number of channels, so a
* total number of StandardBookSegments obtainable should equal
* getSegmentCount() * getChannelCount()
*
*
*/
int getSegmentCount();
/** Should return an array of "pages", one entry per channel.
*
* @param segmentIndex
*
*/
StandardBookSegment[] getSegmentAt(int segmentIndex);
/** "page" for given segment and channel
*
* @param segmentIndex
* @param channelIndex
*
*/
StandardBookSegment getSegmentAt(int segmentIndex, int channelIndex);
/** The names of additional (version or format specific) properties of this book.
*
*
*/
Enumeration<String> getPropertyNames();
/** Obtain named additional property
*
* @param name
* @return null
* @throws IllegalArgumentException on unsupported property name
*/
Object getProperty(String name) throws IllegalArgumentException;
/** Closes this book (if the book is connected to a file resource this
* file resource should be released).
*
*/
void close();
}