private void AddLineToState(int i)
        {
            var index = i * _tgaStride;
            var limit = index + _tgaStride;

            for (; index < limit; index++)
            {
                _state[index] += SRGBColorSpace.SrgbToLinear(_tgaImage[index]);
            }
        }
        private void BlendLineFromState(int i)
        {
            var index         = i * _tgaStride;
            var limit         = index + _tgaStride;
            var invertedIndex = (_height - i - 1) * _bmpStride;

            while (index < limit)
            {
                _bmpImage[invertedIndex++] = SRGBColorSpace.LinearToSrgb(_state[index++] / _stateDivisor);
            }
        }