static public IColorTable FromFile(string path) { IColorTable ct = null; XmlReader r = null; try { r = XmlReader.Create(path); r.ReadToFollowing("ColorTable"); ColorTableType ctt = (ColorTableType)Enum.Parse(typeof(ColorTableType), r["Type"]); int cts = int.Parse(r["Size"]); ScalingAlgorithms sa = (ScalingAlgorithms)Enum.Parse(typeof(ScalingAlgorithms), r["Scale"]); double min = double.Parse(r["Minimum"]); double max = double.Parse(r["Maximum"]); ct = ColorTableFactory.Create(ctt); if (ct != null) { ct.ScalingAlgorithm = ScalingAlgorithmFactory.Create(sa); ct.Initialize(cts, min, max); } } finally { if (r != null) { r.Close(); } } return(ct); }
private void ColorscalingFunctionRadioChanged(RadioButton rb, ScalingAlgorithms sat) { if (rb.Checked) { _model.ScalingAlgorithmType = sat; } }
public static IScalingAlgorithm Create(ScalingAlgorithms sa) { IScalingAlgorithm alg = null; switch (sa) { case ScalingAlgorithms.Linear: alg = new Linearscaling(); break; case ScalingAlgorithms.SquareRoot: alg = new SquareRootscaling(); break; case ScalingAlgorithms.Logarithmic: alg = new Logarithmicscaling(); break; case ScalingAlgorithms.HistoEqualize: alg = new HEscaling(); break; case ScalingAlgorithms.Square: alg = new SquareScaling(); break; case ScalingAlgorithms.Custom: alg = new Customscaling(); break; default: break; } return(alg); }