public function crop($x, $y, $width, $height, $saveAsNewFile = false)
    {

        return $this->modifyImageHelper(
            function (Imagick $imagick) use ($width, $height, $x, $y) {
                $imagick->cropImage($width, $height, $x, $y);
            },
            function () use ($x, $y, $width, $height) {
                return $this->newCropBasename($x, $y, $width, $height);
            },
            function (ImageFile $file) use ($x, $y, $width, $height) {
                $file->crop($x, $y, $width, $height);
            },
            $saveAsNewFile);

    }