/// <summary>
        /// 加载配置文件
        /// </summary>
        /// <param name="file">文件路径</param>
        public void LoadFromFile(string file)
        {
            try
            {
                if (string.IsNullOrEmpty(file))
                {
                    throw new ArgumentException("无效路径/文件不存在");
                }

                CalibrationParam calibrationParam = JsonSerialization.DeserializeObjectFromFile <CalibrationParam>(file);

                if (calibrationParam != null)
                {
                    CalibrationParam = calibrationParam;
                }
                else
                {
                    CalibrationParam = new CalibrationParam();
                }
            }
            catch (Exception ex)
            {
                OnMessageRaised(MessageLevel.Err, ex.Message, ex);
            }
            finally
            {
            }
        }
        /// <summary>
        /// 创建BaseCalibreationViewModel新实例
        /// </summary>
        /// <param name="calibParam">标定参数</param>
        public CalibrationViewModel(CalibParam calibParam)
        {
            CalibrationParam = new CalibrationParam();

            if (calibParam != null)
            {
                foreach (var item in calibParam.CalibPointList)
                {
                    CalibrationParam.CalibPointList.Add(new CalibrationPoint(item));
                }

                CalibrationParam.InvMatrix = calibParam.InvMatrix;
                CalibrationParam.Matrix    = calibParam.Matrix;
                CalibrationParam.IsValid   = calibParam.IsValid;
            }

            calibrationPointLocations.Clear();
            foreach (ECalibrationPointLocation item in Enum.GetValues(typeof(ECalibrationPointLocation)))
            {
                calibrationPointLocations.Add(item);
            }

            sceneManager = SceneManager.GetInstance();
            UpdateScenes();

            //foreach (ECalibrationPointLocation item in Enum.GetValues(typeof(ECalibrationPointLocation)))
            //{
            //    calibrationPointLocations.Add(item, (Attribute.GetCustomAttribute(item.GetType().GetField(item.ToString()), typeof(DescriptionAttribute)) as DescriptionAttribute).Description);
            //}
        }