
package net.imagej.ops.filter.variance;

import net.imagej.ops.ComputerOp;
import net.imagej.ops.Ops;
import net.imagej.ops.filter.AbstractNonLinearFilter;
import net.imglib2.RandomAccessibleInterval;
import net.imglib2.type.numeric.RealType;

import org.scijava.Priority;
import org.scijava.plugin.Plugin;

/**
 * Default implementation of {@link VarianceFilterOp}.
 * 
 * @author Jonathan Hale (University of Konstanz)
 * @param <T> type
 */
@Plugin(type = Ops.Filter.Variance.class, name = Ops.Filter.Variance.NAME,
	priority = Priority.LOW_PRIORITY)
public class DefaultVarianceFilter<T extends RealType<T>> extends
	AbstractNonLinearFilter<T, T> implements
	VarianceFilterOp<RandomAccessibleInterval<T>>
{

	@SuppressWarnings("unchecked")
	@Override
	protected ComputerOp<Iterable<T>, T> getComputer(Class<?> inClass,
		Class<?> outClass)
	{
		return (ComputerOp<Iterable<T>, T>) ops.op(Ops.Stats.Variance.class,
			Iterable.class, inClass);
	}

}

Add default implementation of VarianceFilterOp
Add default implementation of VarianceFilterOp

Signed-off-by: squareys <b4e1335d2c774058f7a95112f52894dcc752fd3f@googlemail.com>
