public abstract class SimpleBatchFilter extends SimpleFilter
true.SomeFilter on a
 dataset that is loaded from filename.
 
 
 import weka.core.*;
 import weka.filters.*;
 import java.io.*;
 ...
 SomeFilter filter = new SomeFilter();
 // set necessary options for the filter
 Instances data = new Instances(
                    new BufferedReader(
                      new FileReader(filename)));
 Instances filteredData = Filter.useFilter(data, filter);
 
 
 Implementation:
  public static void main(String[] args) {
    runFilter(new <Filtername>(), args);
  }
 
 
 
 Example implementation:
 import weka.core.*;
 import weka.core.Capabilities.*;
 import weka.filters.*;
 
 public class SimpleBatch extends SimpleBatchFilter {
 
   public String globalInfo() {
     return "A simple batch filter that adds an additional attribute 'bla' at the end containing the index of the processed instance.";
   }
 
   public Capabilities getCapabilities() {
     Capabilities result = super.getCapabilities();
     result.enableAllAttributes();
     result.enableAllClasses();
     result.enable(Capability.NO_CLASS); // filter doesn't need class to be set
     return result;
   }
 
   protected Instances determineOutputFormat(Instances inputFormat) {
     Instances result = new Instances(inputFormat, 0);
     result.insertAttributeAt(new Attribute("bla"), result.numAttributes());
     return result;
   }
 
   protected Instances process(Instances inst) {
     Instances result = new Instances(determineOutputFormat(inst), 0);
     for (int i = 0; i < inst.numInstances(); i++) {
       double[] values = new double[result.numAttributes()];
       for (int n = 0; n < inst.numAttributes(); n++)
         values[n] = inst.instance(i).value(n);
       values[values.length - 1] = i;
       result.add(new DenseInstance(1, values));
     }
     return result;
   }
 
   public static void main(String[] args) {
     runFilter(new SimpleBatch(), args);
   }
 }
 
 
 
 
 Options:SimpleStreamFilter, 
input(Instance), 
batchFinished(), 
Filter.m_FirstBatchDone, 
Serialized Form| Constructor and Description | 
|---|
| SimpleBatchFilter() | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | allowAccessToFullInputFormat()Returns whether to allow the determineOutputFormat(Instances) method access
 to the full dataset rather than just the header. | 
| boolean | batchFinished()Signify that this batch of input to the filter is finished. | 
| boolean | input(Instance instance)Input an instance for filtering. | 
| boolean | input(Instances instances)A version of the input(Instance) method that enables input of a whole
 dataset represented as an Instances object into the filter. | 
globalInfo, setInputFormatbatchFilterFile, debugTipText, doNotCheckCapabilitiesTipText, filterFile, getCapabilities, getCapabilities, getCopyOfInputFormat, getDebug, getDoNotCheckCapabilities, getOptions, getOutputFormat, getRevision, isFirstBatchDone, isNewBatch, isOutputFormatDefined, listOptions, main, makeCopies, makeCopy, mayRemoveInstanceAfterFirstBatchDone, numPendingOutput, output, outputPeek, postExecution, preExecution, run, runFilter, setDebug, setDoNotCheckCapabilities, setOptions, toString, useFilter, wekaStaticWrapperequals, getClass, hashCode, notify, notifyAll, wait, wait, waitmakeCopypublic boolean allowAccessToFullInputFormat()
public boolean input(Instance instance) throws java.lang.Exception
input in class Filterinstance - the input instancejava.lang.IllegalStateException - if no input structure has been definedjava.lang.Exception - if something goes wrongbatchFinished()public boolean input(Instances instances) throws java.lang.Exception
instances - the input instancesjava.lang.IllegalStateException - if no input structure has been definedjava.lang.Exception - if something goes wrongbatchFinished()public boolean batchFinished()
                      throws java.lang.Exception
batchFinished in class Filterjava.lang.IllegalStateException - if no input format has been set.java.lang.Exception - if something goes wrongFilter.m_NewBatch, 
Filter.m_FirstBatchDone