void ScaleMarkersInput(synesis.MarkerCalibration markers)
        {
            var cmarkerCalibration = markers.Item as synesis.CombinedMarkerCalibration;

            if (cmarkerCalibration != null)
            {
                //2d
                cmarkerCalibration.CombinedMarkers.ForEach(cm => {
                    cm.Rectangles.ForEach(rect => {
                        ScaleRectInput(rect);
                    });
                });
            }
            else
            {
                //1d
                var hmarkerCalibration = markers.Item as synesis.HeightMarkerCalibration;
                hmarkerCalibration.HeightMarkers.ForEach(hm => {
                    hm.SurfaceNormals.ForEach(sn => {
                        DataConverter.ScalePointInput(sn.Point, videoSourceSize, videoEncoderSize);
                        sn.Height = ScaleHeigthInput(sn.Height);
                    });
                });
            }
        }
        public UnitedMarkerCalibration(synesis.MarkerCalibration mk)
        {
            var retHm = mk.Item as synesis.HeightMarkerCalibration;

            if (retHm != null)
            {
                Init(retHm);
                return;
            }
            var retCm = mk.Item as synesis.CombinedMarkerCalibration;

            if (retCm != null)
            {
                Init(retCm);
                return;
            }
        }