/// <summary>
        /// TODO
        /// </summary>
        /// <param name="griddata"></param>
        /// <param name="useNormSource"></param>
        public IntegralPointMapper(Grid griddata, bool useNormSource = false)
            : base(griddata)
        {
            _useNormSource = useNormSource;

            _a   = _calculateParameterA(Grid.PresentationQuad, Quad.FromUnitSquare());
            _b   = _calculateParameterB(Grid.PresentationQuad, Quad.FromUnitSquare());
            _yk0 = _calculateOffsetYk(Grid.PresentationQuad);

            // Correct X Stretching
            _xkOffset = (Grid.PresentationQuad.TopLeft.X + Grid.PresentationQuad.BottomLeft.X) / 2;
            double xkMeanMaxOffset = (Grid.PresentationQuad.TopRight.X + Grid.PresentationQuad.BottomRight.X) / 2;

            _xCorrectionShortening = _cameraXToBeamerX(xkMeanMaxOffset - _xkOffset, _a, _b);
        }