Beispiel #1
0
        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;
     }
 }
Beispiel #3
0
        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);
        }