/* * WindowTableDataSet.java * * Created on March 25, 2004, 9:30 PM */ package org.das2.math.fft; import org.das2.dataset.TableDataSet; import org.das2.dataset.DataSet; import org.das2.dataset.VectorDataSet; import org.das2.datum.Units; import org.das2.datum.DatumVector; import org.das2.datum.Datum; /** * * @author jbf */ public class WindowTableDataSet implements TableDataSet { VectorDataSet source; int windowSize; double delta; Units deltaUnits; private static boolean checkXTagsGrid( DataSet ds ) { if ( ds.getXLength()<1 ) { return false; } else { Units units= ds.getXUnits().getOffsetUnits(); double base= ds.getXTagDouble( 0, units ); double delta= ( ds.getXTagDouble( ds.getXLength()-1, units ) - base ) / ( ds.getXLength()-1 ); for ( int i=0; i 0.01 && rr < 0.09 ) { return false; } } return true; } } /** Creates a new instance of WindowTableDataSet */ public WindowTableDataSet( VectorDataSet source, int windowSize ) { this.source= source; this.windowSize= windowSize; if ( !checkXTagsGrid(source) ) { throw new IllegalArgumentException("xTags don't appear to be gridded"); } if ( source.getXLength()