def generator()

in src/spg_icvfxpatterns/PatternGenerators/linearSteppedColors.py [0:0]


    def generator(cls, frame, kwargs, results):
        """ The method which creates the checkerboard images based on the kwargs provided

        :param frame: the frame number we are generating
        :param kwargs: a dictionary of the arguments for the generator
        :param results: a dictionary to store the results
        """
        led_wall = kwargs.get("led_wall", None)
        if led_wall is None:
            raise ValueError("led_wall not found in kwargs")

        frame_num, full_file_path = cls.get_frame_num_and_file_path(frame, led_wall.name)

        led_wall_image = cls.create_solid_color_image(
            led_wall.resolution_width, led_wall.resolution_height
        )

        min_value = cls.color_range_min
        max_value = cls.color_range_max

        value_range = max_value - min_value
        value_per_step = value_range/cls.number_of_steps
        height_per_step = int(led_wall.resolution_height/(cls.number_of_steps + 1))

        red_cyan = [1.0 * max_value, 0.0 * min_value, 0.0 * min_value]
        green_magenta = [0.0 * min_value, 1.0 * max_value, 0.0 * min_value]
        blue_yellow = [0.0 * min_value, 0.0 * min_value, 1.0 * max_value]

        for x in range(cls.number_of_steps + 1):
            step_value = (value_per_step * x) + min_value

            # Add In The Red/Cyan Ramp
            red_cyan_value = [
                red_cyan[0] - step_value, red_cyan[1] + step_value, red_cyan[2] + step_value
            ]
            cls.add_ramp_section(height_per_step, led_wall, led_wall_image, red_cyan_value, x, 0)

            # Add In The Green/Magenta Ramp
            green_magenta_value = [
                green_magenta[0] + step_value, green_magenta[1] - step_value, green_magenta[2] + step_value
            ]
            cls.add_ramp_section(height_per_step, led_wall, led_wall_image, green_magenta_value, x, 1)

            blue_yellow_value = [
                blue_yellow[0] + step_value, blue_yellow[1] + step_value, blue_yellow[2] - step_value
            ]

            # Add In The Blue/Yellow Ramp
            cls.add_ramp_section(height_per_step, led_wall, led_wall_image, blue_yellow_value, x, 2)

        # Write the image to disk and store the result
        cls.write_image_and_store_result(
            frame_num, full_file_path, led_wall.name, led_wall_image, results
        )