if ((classIndex < 0) && (filter instanceof SupervisedFilter)) {
throw new IllegalArgumentException("Class (colour) needs to " +
"be set for supervised " +
"filter.");
}
Instances copy = new Instances(m_Instances);
copy.setClassIndex(classIndex);
filter.setInputFormat(copy);
Instances newInstances = Filter.useFilter(copy, filter);
if (newInstances == null || newInstances.numAttributes() < 1) {
throw new Exception("Dataset is empty.");
}
m_Log.statusMessage("Saving undo information");
addUndoPoint();
m_AttVisualizePanel.setColoringIndex(copy.classIndex());
// if class was not set before, reset it again after use of filter
if (m_Instances.classIndex() < 0)
newInstances.setClassIndex(-1);
m_Instances = newInstances;
setInstances(m_Instances);
if (m_Log instanceof TaskLogger) {
((TaskLogger)m_Log).taskFinished();
}