private void ApplyFilter() { RasterImage runImage = _originalBitmap.Clone(); try { MultiscaleEnhancementCommandType type = MultiscaleEnhancementCommandType.Gaussian; switch (_cbFilter.SelectedIndex) { case 0: type = MultiscaleEnhancementCommandType.Normal; break; case 1: type = MultiscaleEnhancementCommandType.Resample; break; case 2: type = MultiscaleEnhancementCommandType.Bicubic; break; case 3: type = MultiscaleEnhancementCommandType.Gaussian; break; } MultiscaleEnhancementCommandFlags flags = MultiscaleEnhancementCommandFlags.None; if (_cbEdge.Checked) { flags |= MultiscaleEnhancementCommandFlags.EdgeEnhancement; } if (_cbLatitude.Checked) { flags |= MultiscaleEnhancementCommandFlags.LatitudeReduction; } MultiscaleEnhancementCommand command = new MultiscaleEnhancementCommand( Convert.ToInt32(_numContrast.Value * 100), (_cbEdgeLevel.Checked) ? Convert.ToInt32(_numEdgeLevel.Value) : -1, (_cbEdgeCoef.Checked) ? Convert.ToInt32(_numEdgeCoef.Value * 100) : -1, (_cbLatLevel.Checked) ? Convert.ToInt32(_numLatLevel.Value) : -1, (_cbLatCoef.Checked) ? Convert.ToInt32(_numLatCoef.Value * 100) : -1, type, flags); command.Run(runImage); _viewer.Image = runImage; } catch (System.Exception ex) { Messager.ShowError(this, ex); } }
private void ApplyFilter() { MultiscaleEnhancementCommandType type = MultiscaleEnhancementCommandType.Gaussian; switch (_cbFilter.SelectedIndex) { case 0: type = MultiscaleEnhancementCommandType.Normal; break; case 1: type = MultiscaleEnhancementCommandType.Resample; break; case 2: type = MultiscaleEnhancementCommandType.Bicubic; break; case 3: type = MultiscaleEnhancementCommandType.Gaussian; break; } MultiscaleEnhancementCommandFlags flags = MultiscaleEnhancementCommandFlags.None; if (_cbEdge.Checked) { flags |= MultiscaleEnhancementCommandFlags.EdgeEnhancement; } if (_cbLatitude.Checked) { flags |= MultiscaleEnhancementCommandFlags.LatitudeReduction; } MultiscaleEnhancementCommand command = new MultiscaleEnhancementCommand( Convert.ToInt32(_numContrast.Value * 100), (_cbEdgeLevel.Checked) ? Convert.ToInt32(_numEdgeLevel.Value) : -1, (_cbEdgeCoef.Checked) ? Convert.ToInt32(_numEdgeCoef.Value * 100) : -1, (_cbLatLevel.Checked) ? Convert.ToInt32(_numLatLevel.Value) : -1, (_cbLatCoef.Checked) ? Convert.ToInt32(_numLatCoef.Value * 100) : -1, type, flags); _mainForm.FilterRunCommand(command, true, false); }