/// <summary>
    /// Applies LUT (look-up table) correction
    /// </summary>
    private static void ApplyLut()
    {
        using (var bitmap = new Bitmap("../../../../_Input/Chicago.jpg"))
            using (var lut = new Lut())
            {
                lut.SetPoint(50, 70);
                lut.SetPoint(100, 150);
                lut.InterpolationMode = LutInterpolationMode.Cubic;

                bitmap.ColorAdjustment.ApplyLut(lut);

                bitmap.Save("../../../../_Output/ApplyLut.jpg");
            }
    }
    /// <summary>
    /// Applies LUT (look-up table) correction using memory-friendly Pipeline API
    /// </summary>
    private static void ApplyLutMemoryFriendly()
    {
        using (var reader = ImageReader.Create("../../../../_Input/Chicago.jpg"))
            using (var lutTransform = new LutTransform())
                using (var lut = new Lut())
                    using (var writer = ImageWriter.Create("../../../../_Output/ApplyLutMemoryFriendly.jpg"))
                    {
                        lut.SetPoint(50, 70);
                        lut.SetPoint(100, 150);
                        lut.InterpolationMode = LutInterpolationMode.Cubic;

                        lutTransform.Lut = lut;

                        Pipeline.Run(reader + lutTransform + writer);
                    }
    }