public function effect($mode)
    {
        $effectModes = [
            self::EFFECT_NONE,
            self::EFFECT_NEGATIVE,
            self::EFFECT_SOLARISE,
            self::EFFECT_POSTERISE,
            self::EFFECT_WHITEBOARD,
            self::EFFECT_BLACKBOARD,
            self::EFFECT_SKETCH,
            self::EFFECT_DENOISE,
            self::EFFECT_EMBOSS,
            self::EFFECT_OILPAINT,
            self::EFFECT_HATCH,
            self::EFFECT_GPEN,
            self::EFFECT_PASTEL,
            self::EFFECT_WATERCOLOUR,
            self::EFFECT_FILM,
            self::EFFECT_BLUR,
            self::EFFECT_SATURATION,
            self::EFFECT_COLOURSWAP,
            self::EFFECT_WASHEDOUT,
            self::EFFECT_COLOURPOINT,
            self::EFFECT_COLOURBALANCE,
            self::EFFECT_CARTOON,
        ];

        $this->assertInArray($mode, $effectModes);

        $this->valueArguments['imxfx'] = $mode;

        return $this;
    }