private function initializeImageOptions($userOptions)
    {
        $this->imageOptions = array_merge(array(
            'bar_width'          => 80,
            'bar_height'         => 10,
            'horizontal_gutter'  => 20,
            'vertical_gutter'    => 10,
            'horizontal_padding' => 20,
            'vertical_padding'   => 50,
            'image_width'        => 1920,
            'image_height'       => 1080,
            'background_color'   => '#161616',
            'text_color'         => '#CCCCCC',
            'success_color'      => '#267326',
            'failure_color'      => '#B30F00',
            'font_size'          => 10,
        ), $userOptions);

        $this->set('max_number_bars', ($this->get('image_height') - $this->get('vertical_padding') - (2 * $this->get('font_size')) - (2 * $this->get('vertical_gutter'))) / ($this->get('bar_height') + $this->get('vertical_gutter')));

        $this->set('max_number_letters', floor($this->get('bar_width') / (0.7 * $this->get('font_size'))));

        $this->image = null;
    }