/* MP5ApplicationData.java created 2007-10-30 * */ package org.signalml.app.method.mp5; import org.signalml.app.document.TagDocument; import org.signalml.app.document.signal.SignalDocument; import org.signalml.app.view.signal.SignalPlot; import org.signalml.app.view.signal.SignalView; import org.signalml.domain.signal.SignalProcessingChain; import org.signalml.domain.signal.samplesource.MultichannelSegmentedSampleSource; import org.signalml.domain.signal.space.SegmentedSampleSourceFactory; import org.signalml.domain.signal.space.SignalSpace; import org.signalml.method.mp5.MP5Data; import org.signalml.plugin.export.SignalMLException; import com.thoughtworks.xstream.annotations.XStreamAlias; /** MP5ApplicationData * * * @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o. */ @XStreamAlias("mp5appdata") public class MP5ApplicationData extends MP5Data { private static final long serialVersionUID = 1L; private transient SignalDocument signalDocument; public MP5ApplicationData() { super(); } public SignalDocument getSignalDocument() { return signalDocument; } public void setSignalDocument(SignalDocument signalDocument) { this.signalDocument = signalDocument; } public void calculate() throws SignalMLException { SignalView signalView = (SignalView) signalDocument.getDocumentView(); SignalPlot plot = signalView.getMasterPlot(); SignalProcessingChain signalChain = plot.getSignalChain(); SignalSpace signalSpace = getParameters().getSignalSpace(); SignalProcessingChain copyChain = signalChain.createLevelCopyChain(signalSpace.getSignalSourceLevel()); TagDocument tagDocument = signalDocument.getActiveTag(); SegmentedSampleSourceFactory factory = SegmentedSampleSourceFactory.getSharedInstance(); MultichannelSegmentedSampleSource segmentedSampleSource = factory.getSegmentedSampleSource(copyChain, signalSpace, tagDocument != null ? tagDocument.getTagSet() : null, plot.getPageSize(), plot.getBlockSize()); setSampleSource(segmentedSampleSource); setChainDescriptor(copyChain.createDescriptor()); setSourceDescriptor(segmentedSampleSource.createDescriptor()); } }