private void GeneratePerimeterPSFs(PerimeterSpreadingFilter filter, int maxRadius) { //PSF.Perimeter.IPSFGenerator psfGen = new PSF.Perimeter.LinearPSFGenerator(); PSF.Perimeter.IPSFGenerator psfGen = new PSF.Perimeter.CirclePSFGenerator(); Stopwatch sw = new Stopwatch(); sw.Start(); filter.Psf = psfGen.GeneratePSF(maxRadius); sw.Stop(); Console.WriteLine("Generated PSF with max. radius {0} in {1:f}s", maxRadius, 1.0e-3 * sw.ElapsedMilliseconds); }
public SpreadingForm() { InitializeComponent(); blurRadiusNumeric.Value = ProceduralBlur.DEFAULT_BLUR_RADIUS; imageTypeComboBox.SelectedIndex = 0; filterTypeComboBox.SelectedIndex = 0; thinLensBlur = new ThinLensDepthMapBlur(50, 20, 100, 1000, 260); apertureNumeric.Value = (decimal)thinLensBlur.Aperture; focusPlaneNumeric.Value = (decimal)thinLensBlur.FocusPlane; toneMappingCheckBox.Checked = false; RectangleFilter = new RectangleSpreadingFilter(); PerimeterFilter = new PerimeterSpreadingFilter(); HybridFilter = new HybridSpreadingFilter(RectangleFilter, PerimeterFilter); }