/// <summary> /// Creates new filter VM with given filter /// </summary> //TODO: Add presets private void AddFilter(string FilterFactoryID) { FilterVM vm = FilterFactoryRegister.Factories[FilterFactoryID].CreateNewFilter(); Filters.Add(vm); SelectedFilter = vm; }
public BasicMatrixFilterDataProviderVM(FilterVM filter) : base(filter) { if (!(filter.UnderlayingFilter is BasicMatrixFilter)) { throw new ArgumentException("BasicMatrixFilterDataVM can only handle BasicMatrixFilter type of underlaying filter (is: " + filter.UnderlayingFilter.GetType() + " | must be: BasicMatrixFilter)"); } concreteFilter = (BasicMatrixFilter)filter.UnderlayingFilter; Matrix = new ObservableCollection <ObservableCollection <PrimitiveWrapper <double> > >(); IncrementHeight = new RelayCommand(() => { Height++; }); DecrementHeight = new RelayCommand(() => { Height--; }, (_) => { return(Height > 1); }); IncrementWidth = new RelayCommand(() => { Width++; }); DecrementWidth = new RelayCommand(() => { Width--; }, (_) => { return(Width > 1); }); for (int i = 0; i < concreteFilter.FilterData.GetLength(0); i++) { Matrix.Add(new ObservableCollection <PrimitiveWrapper <double> >()); for (int j = 0; j < concreteFilter.FilterData.GetLength(1); j++) { Matrix[i].Add(new PrimitiveWrapper <double>(concreteFilter.FilterData[i, j])); } } Width = Matrix.Count; Height = Matrix[0].Count; this.PropertyChanged += OnDimensionsChanged; }
public GaussianFilterDataProviderVM(FilterVM filter) : base(filter) { if (!(filter.UnderlayingFilter is BasicMatrixFilter)) { throw new ArgumentException("GaussianFilterDataVM can only handle BasicMatrixFilter type of underlaying filter"); } width = 3; height = 3; concreteFilter = (BasicMatrixFilter)filter.UnderlayingFilter; }
public BasicMatrixFilterDataProviderVM(FilterVM filter, double[,] data) : this(filter) { for (int i = 0; i < data.GetLength(0); i++) { Matrix.Add(new ObservableCollection <PrimitiveWrapper <double> >()); for (int j = 0; j < data.GetLength(1); j++) { Matrix[i].Add(new PrimitiveWrapper <double>(data[i, j])); } } Width = Matrix.Count; Height = Matrix[0].Count; SetData(); }
public FilterDataProviderVM(FilterVM filter) { this.filter = filter; }