// Generated by using Rcpp::compileAttributes() -> do not edit by hand
// Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

#include "magick_types.h"
#include <Rcpp.h>

using namespace Rcpp;

#ifdef RCPP_USE_GLOBAL_ROSTREAM
Rcpp::Rostream<true>&  Rcpp::Rcout = Rcpp::Rcpp_cout_get();
Rcpp::Rostream<false>& Rcpp::Rcerr = Rcpp::Rcpp_cerr_get();
#endif

// magick_image_animate
XPtrImage magick_image_animate(XPtrImage input, Rcpp::IntegerVector delay, size_t iter, const char * method, bool optimize);
RcppExport SEXP _magick_magick_image_animate(SEXP inputSEXP, SEXP delaySEXP, SEXP iterSEXP, SEXP methodSEXP, SEXP optimizeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type delay(delaySEXP);
    Rcpp::traits::input_parameter< size_t >::type iter(iterSEXP);
    Rcpp::traits::input_parameter< const char * >::type method(methodSEXP);
    Rcpp::traits::input_parameter< bool >::type optimize(optimizeSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_animate(input, delay, iter, method, optimize));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_coalesce
XPtrImage magick_image_coalesce(XPtrImage input);
RcppExport SEXP _magick_magick_image_coalesce(SEXP inputSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_coalesce(input));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_morph
XPtrImage magick_image_morph(XPtrImage image, int frames);
RcppExport SEXP _magick_magick_image_morph(SEXP imageSEXP, SEXP framesSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type image(imageSEXP);
    Rcpp::traits::input_parameter< int >::type frames(framesSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_morph(image, frames));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_mosaic
XPtrImage magick_image_mosaic(XPtrImage input, Rcpp::CharacterVector composite);
RcppExport SEXP _magick_magick_image_mosaic(SEXP inputSEXP, SEXP compositeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type composite(compositeSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_mosaic(input, composite));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_flatten
XPtrImage magick_image_flatten(XPtrImage input, Rcpp::CharacterVector composite);
RcppExport SEXP _magick_magick_image_flatten(SEXP inputSEXP, SEXP compositeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type composite(compositeSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_flatten(input, composite));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_average
XPtrImage magick_image_average(XPtrImage image);
RcppExport SEXP _magick_magick_image_average(SEXP imageSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type image(imageSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_average(image));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_append
XPtrImage magick_image_append(XPtrImage image, bool stack);
RcppExport SEXP _magick_magick_image_append(SEXP imageSEXP, SEXP stackSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type image(imageSEXP);
    Rcpp::traits::input_parameter< bool >::type stack(stackSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_append(image, stack));
    return rcpp_result_gen;
END_RCPP
}
// magick_attr_comment
Rcpp::CharacterVector magick_attr_comment(XPtrImage input, Rcpp::CharacterVector set);
RcppExport SEXP _magick_magick_attr_comment(SEXP inputSEXP, SEXP setSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type set(setSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_attr_comment(input, set));
    return rcpp_result_gen;
END_RCPP
}
// magick_attr_text_antialias
Rcpp::LogicalVector magick_attr_text_antialias(XPtrImage input, Rcpp::LogicalVector set);
RcppExport SEXP _magick_magick_attr_text_antialias(SEXP inputSEXP, SEXP setSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::LogicalVector >::type set(setSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_attr_text_antialias(input, set));
    return rcpp_result_gen;
END_RCPP
}
// magick_attr_stroke_antialias
Rcpp::LogicalVector magick_attr_stroke_antialias(XPtrImage input, Rcpp::LogicalVector set);
RcppExport SEXP _magick_magick_attr_stroke_antialias(SEXP inputSEXP, SEXP setSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::LogicalVector >::type set(setSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_attr_stroke_antialias(input, set));
    return rcpp_result_gen;
END_RCPP
}
// magick_attr_animationdelay
Rcpp::IntegerVector magick_attr_animationdelay(XPtrImage input, Rcpp::IntegerVector delay);
RcppExport SEXP _magick_magick_attr_animationdelay(SEXP inputSEXP, SEXP delaySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type delay(delaySEXP);
    rcpp_result_gen = Rcpp::wrap(magick_attr_animationdelay(input, delay));
    return rcpp_result_gen;
END_RCPP
}
// magick_attr_backgroundcolor
Rcpp::CharacterVector magick_attr_backgroundcolor(XPtrImage input, Rcpp::CharacterVector color);
RcppExport SEXP _magick_magick_attr_backgroundcolor(SEXP inputSEXP, SEXP colorSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type color(colorSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_attr_backgroundcolor(input, color));
    return rcpp_result_gen;
END_RCPP
}
// magick_attr_boxcolor
Rcpp::CharacterVector magick_attr_boxcolor(XPtrImage input, Rcpp::CharacterVector color);
RcppExport SEXP _magick_magick_attr_boxcolor(SEXP inputSEXP, SEXP colorSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type color(colorSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_attr_boxcolor(input, color));
    return rcpp_result_gen;
END_RCPP
}
// magick_attr_fillcolor
Rcpp::CharacterVector magick_attr_fillcolor(XPtrImage input, Rcpp::CharacterVector color);
RcppExport SEXP _magick_magick_attr_fillcolor(SEXP inputSEXP, SEXP colorSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type color(colorSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_attr_fillcolor(input, color));
    return rcpp_result_gen;
END_RCPP
}
// magick_attr_font
Rcpp::CharacterVector magick_attr_font(XPtrImage input, Rcpp::CharacterVector font);
RcppExport SEXP _magick_magick_attr_font(SEXP inputSEXP, SEXP fontSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type font(fontSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_attr_font(input, font));
    return rcpp_result_gen;
END_RCPP
}
// magick_attr_fontsize
Rcpp::IntegerVector magick_attr_fontsize(XPtrImage input, Rcpp::IntegerVector pointsize);
RcppExport SEXP _magick_magick_attr_fontsize(SEXP inputSEXP, SEXP pointsizeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type pointsize(pointsizeSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_attr_fontsize(input, pointsize));
    return rcpp_result_gen;
END_RCPP
}
// magick_attr_label
Rcpp::CharacterVector magick_attr_label(XPtrImage input, Rcpp::CharacterVector label);
RcppExport SEXP _magick_magick_attr_label(SEXP inputSEXP, SEXP labelSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type label(labelSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_attr_label(input, label));
    return rcpp_result_gen;
END_RCPP
}
// magick_attr_format
Rcpp::CharacterVector magick_attr_format(XPtrImage input, Rcpp::CharacterVector format);
RcppExport SEXP _magick_magick_attr_format(SEXP inputSEXP, SEXP formatSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type format(formatSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_attr_format(input, format));
    return rcpp_result_gen;
END_RCPP
}
// magick_attr_quality
Rcpp::IntegerVector magick_attr_quality(XPtrImage input, Rcpp::IntegerVector quality);
RcppExport SEXP _magick_magick_attr_quality(SEXP inputSEXP, SEXP qualitySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type quality(qualitySEXP);
    rcpp_result_gen = Rcpp::wrap(magick_attr_quality(input, quality));
    return rcpp_result_gen;
END_RCPP
}
// magick_attr_quantize
Rcpp::IntegerVector magick_attr_quantize(XPtrImage input, Rcpp::IntegerVector numcolors);
RcppExport SEXP _magick_magick_attr_quantize(SEXP inputSEXP, SEXP numcolorsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type numcolors(numcolorsSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_attr_quantize(input, numcolors));
    return rcpp_result_gen;
END_RCPP
}
// magick_attr_density
Rcpp::CharacterVector magick_attr_density(XPtrImage input, Rcpp::CharacterVector density);
RcppExport SEXP _magick_magick_attr_density(SEXP inputSEXP, SEXP densitySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type density(densitySEXP);
    rcpp_result_gen = Rcpp::wrap(magick_attr_density(input, density));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_info
Rcpp::DataFrame magick_image_info(XPtrImage input);
RcppExport SEXP _magick_magick_image_info(SEXP inputSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_info(input));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_as_raster
Rcpp::CharacterVector magick_image_as_raster(Rcpp::RawVector data);
RcppExport SEXP _magick_magick_image_as_raster(SEXP dataSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::RawVector >::type data(dataSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_as_raster(data));
    return rcpp_result_gen;
END_RCPP
}
// magick_threads
int magick_threads(size_t i);
RcppExport SEXP _magick_magick_threads(SEXP iSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< size_t >::type i(iSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_threads(i));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_dead
int magick_image_dead(XPtrImage image);
RcppExport SEXP _magick_magick_image_dead(SEXP imageSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type image(imageSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_dead(image));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_length
int magick_image_length(XPtrImage image);
RcppExport SEXP _magick_magick_image_length(SEXP imageSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type image(imageSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_length(image));
    return rcpp_result_gen;
END_RCPP
}
// create
XPtrImage create(int len);
RcppExport SEXP _magick_create(SEXP lenSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< int >::type len(lenSEXP);
    rcpp_result_gen = Rcpp::wrap(create(len));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_blank
XPtrImage magick_image_blank(size_t width, size_t height, const char * color, const char * pseudo_image, SEXP options);
RcppExport SEXP _magick_magick_image_blank(SEXP widthSEXP, SEXP heightSEXP, SEXP colorSEXP, SEXP pseudo_imageSEXP, SEXP optionsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< size_t >::type width(widthSEXP);
    Rcpp::traits::input_parameter< size_t >::type height(heightSEXP);
    Rcpp::traits::input_parameter< const char * >::type color(colorSEXP);
    Rcpp::traits::input_parameter< const char * >::type pseudo_image(pseudo_imageSEXP);
    Rcpp::traits::input_parameter< SEXP >::type options(optionsSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_blank(width, height, color, pseudo_image, options));
    return rcpp_result_gen;
END_RCPP
}
// copy
XPtrImage copy(XPtrImage image);
RcppExport SEXP _magick_copy(SEXP imageSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type image(imageSEXP);
    rcpp_result_gen = Rcpp::wrap(copy(image));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_rev
XPtrImage magick_image_rev(XPtrImage input);
RcppExport SEXP _magick_magick_image_rev(SEXP inputSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_rev(input));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_join
XPtrImage magick_image_join(Rcpp::List input);
RcppExport SEXP _magick_magick_image_join(SEXP inputSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::List >::type input(inputSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_join(input));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_subset
XPtrImage magick_image_subset(XPtrImage image, Rcpp::IntegerVector index);
RcppExport SEXP _magick_magick_image_subset(SEXP imageSEXP, SEXP indexSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type image(imageSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type index(indexSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_subset(image, index));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_replace
XPtrImage magick_image_replace(XPtrImage image, Rcpp::IntegerVector index, XPtrImage value);
RcppExport SEXP _magick_magick_image_replace(SEXP imageSEXP, SEXP indexSEXP, SEXP valueSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type image(imageSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type index(indexSEXP);
    Rcpp::traits::input_parameter< XPtrImage >::type value(valueSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_replace(image, index, value));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_copy
XPtrImage magick_image_copy(XPtrImage image, XPtrImage add);
RcppExport SEXP _magick_magick_image_copy(SEXP imageSEXP, SEXP addSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type image(imageSEXP);
    Rcpp::traits::input_parameter< XPtrImage >::type add(addSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_copy(image, add));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_destroy
void magick_image_destroy(XPtrImage image);
RcppExport SEXP _magick_magick_image_destroy(SEXP imageSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type image(imageSEXP);
    magick_image_destroy(image);
    return R_NilValue;
END_RCPP
}
// autobrewed
bool autobrewed();
RcppExport SEXP _magick_autobrewed() {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    rcpp_result_gen = Rcpp::wrap(autobrewed());
    return rcpp_result_gen;
END_RCPP
}
// magick_resource_limits
Rcpp::List magick_resource_limits();
RcppExport SEXP _magick_magick_resource_limits() {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    rcpp_result_gen = Rcpp::wrap(magick_resource_limits());
    return rcpp_result_gen;
END_RCPP
}
// magick_image_contrast
XPtrImage magick_image_contrast(XPtrImage input, size_t sharpen);
RcppExport SEXP _magick_magick_image_contrast(SEXP inputSEXP, SEXP sharpenSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< size_t >::type sharpen(sharpenSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_contrast(input, sharpen));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_normalize
XPtrImage magick_image_normalize(XPtrImage input);
RcppExport SEXP _magick_magick_image_normalize(SEXP inputSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_normalize(input));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_modulate
XPtrImage magick_image_modulate(XPtrImage input, double brightness, double saturation, double hue);
RcppExport SEXP _magick_magick_image_modulate(SEXP inputSEXP, SEXP brightnessSEXP, SEXP saturationSEXP, SEXP hueSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< double >::type brightness(brightnessSEXP);
    Rcpp::traits::input_parameter< double >::type saturation(saturationSEXP);
    Rcpp::traits::input_parameter< double >::type hue(hueSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_modulate(input, brightness, saturation, hue));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_map
XPtrImage magick_image_map(XPtrImage input, XPtrImage map_image, bool dither);
RcppExport SEXP _magick_magick_image_map(SEXP inputSEXP, SEXP map_imageSEXP, SEXP ditherSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< XPtrImage >::type map_image(map_imageSEXP);
    Rcpp::traits::input_parameter< bool >::type dither(ditherSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_map(input, map_image, dither));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_channel
XPtrImage magick_image_channel(XPtrImage input, const char * channel);
RcppExport SEXP _magick_magick_image_channel(SEXP inputSEXP, SEXP channelSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const char * >::type channel(channelSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_channel(input, channel));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_colorize
XPtrImage magick_image_colorize(XPtrImage input, const size_t opacity, const char * color);
RcppExport SEXP _magick_magick_image_colorize(SEXP inputSEXP, SEXP opacitySEXP, SEXP colorSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const size_t >::type opacity(opacitySEXP);
    Rcpp::traits::input_parameter< const char * >::type color(colorSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_colorize(input, opacity, color));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_enhance
XPtrImage magick_image_enhance(XPtrImage input);
RcppExport SEXP _magick_magick_image_enhance(SEXP inputSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_enhance(input));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_equalize
XPtrImage magick_image_equalize(XPtrImage input);
RcppExport SEXP _magick_magick_image_equalize(SEXP inputSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_equalize(input));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_median
XPtrImage magick_image_median(XPtrImage input, double radius);
RcppExport SEXP _magick_magick_image_median(SEXP inputSEXP, SEXP radiusSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< double >::type radius(radiusSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_median(input, radius));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_quantize
XPtrImage magick_image_quantize(XPtrImage input, size_t max, Rcpp::CharacterVector space, Rcpp::LogicalVector dither, Rcpp::IntegerVector depth);
RcppExport SEXP _magick_magick_image_quantize(SEXP inputSEXP, SEXP maxSEXP, SEXP spaceSEXP, SEXP ditherSEXP, SEXP depthSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< size_t >::type max(maxSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type space(spaceSEXP);
    Rcpp::traits::input_parameter< Rcpp::LogicalVector >::type dither(ditherSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type depth(depthSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_quantize(input, max, space, dither, depth));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_ordered_dither
XPtrImage magick_image_ordered_dither(XPtrImage input, std::string threshold_map);
RcppExport SEXP _magick_magick_image_ordered_dither(SEXP inputSEXP, SEXP threshold_mapSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< std::string >::type threshold_map(threshold_mapSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_ordered_dither(input, threshold_map));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_transparent
XPtrImage magick_image_transparent(XPtrImage input, const char * color, double fuzz_percent);
RcppExport SEXP _magick_magick_image_transparent(SEXP inputSEXP, SEXP colorSEXP, SEXP fuzz_percentSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const char * >::type color(colorSEXP);
    Rcpp::traits::input_parameter< double >::type fuzz_percent(fuzz_percentSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_transparent(input, color, fuzz_percent));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_background
XPtrImage magick_image_background(XPtrImage input, const char * color);
RcppExport SEXP _magick_magick_image_background(SEXP inputSEXP, SEXP colorSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const char * >::type color(colorSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_background(input, color));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_lat
XPtrImage magick_image_lat(XPtrImage input, const char * geomstr);
RcppExport SEXP _magick_magick_image_lat(SEXP inputSEXP, SEXP geomstrSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const char * >::type geomstr(geomstrSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_lat(input, geomstr));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_threshold_black
XPtrImage magick_image_threshold_black(XPtrImage input, const std::string threshold, Rcpp::CharacterVector channel);
RcppExport SEXP _magick_magick_image_threshold_black(SEXP inputSEXP, SEXP thresholdSEXP, SEXP channelSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const std::string >::type threshold(thresholdSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type channel(channelSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_threshold_black(input, threshold, channel));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_threshold_white
XPtrImage magick_image_threshold_white(XPtrImage input, const std::string threshold, Rcpp::CharacterVector channel);
RcppExport SEXP _magick_magick_image_threshold_white(SEXP inputSEXP, SEXP thresholdSEXP, SEXP channelSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const std::string >::type threshold(thresholdSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type channel(channelSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_threshold_white(input, threshold, channel));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_level
XPtrImage magick_image_level(XPtrImage input, double black_pct, double white_pct, double mid_point, Rcpp::CharacterVector channel);
RcppExport SEXP _magick_magick_image_level(SEXP inputSEXP, SEXP black_pctSEXP, SEXP white_pctSEXP, SEXP mid_pointSEXP, SEXP channelSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< double >::type black_pct(black_pctSEXP);
    Rcpp::traits::input_parameter< double >::type white_pct(white_pctSEXP);
    Rcpp::traits::input_parameter< double >::type mid_point(mid_pointSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type channel(channelSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_level(input, black_pct, white_pct, mid_point, channel));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_composite
XPtrImage magick_image_composite(XPtrImage input, XPtrImage composite_image, const char * offset, const char * gravity, const char * composite, Rcpp::CharacterVector args);
RcppExport SEXP _magick_magick_image_composite(SEXP inputSEXP, SEXP composite_imageSEXP, SEXP offsetSEXP, SEXP gravitySEXP, SEXP compositeSEXP, SEXP argsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< XPtrImage >::type composite_image(composite_imageSEXP);
    Rcpp::traits::input_parameter< const char * >::type offset(offsetSEXP);
    Rcpp::traits::input_parameter< const char * >::type gravity(gravitySEXP);
    Rcpp::traits::input_parameter< const char * >::type composite(compositeSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type args(argsSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_composite(input, composite_image, offset, gravity, composite, args));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_border
XPtrImage magick_image_border(XPtrImage input, Rcpp::CharacterVector color, Rcpp::CharacterVector geometry, Rcpp::CharacterVector composite);
RcppExport SEXP _magick_magick_image_border(SEXP inputSEXP, SEXP colorSEXP, SEXP geometrySEXP, SEXP compositeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type color(colorSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type geometry(geometrySEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type composite(compositeSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_border(input, color, geometry, composite));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_frame
XPtrImage magick_image_frame(XPtrImage input, Rcpp::CharacterVector color, Rcpp::CharacterVector geometry);
RcppExport SEXP _magick_magick_image_frame(SEXP inputSEXP, SEXP colorSEXP, SEXP geometrySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type color(colorSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type geometry(geometrySEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_frame(input, color, geometry));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_shadow_mask
XPtrImage magick_image_shadow_mask(XPtrImage input, const char * geomstr);
RcppExport SEXP _magick_magick_image_shadow_mask(SEXP inputSEXP, SEXP geomstrSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const char * >::type geomstr(geomstrSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_shadow_mask(input, geomstr));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_shade
XPtrImage magick_image_shade(XPtrImage input, double azimuth, double elevation, bool color);
RcppExport SEXP _magick_magick_image_shade(SEXP inputSEXP, SEXP azimuthSEXP, SEXP elevationSEXP, SEXP colorSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< double >::type azimuth(azimuthSEXP);
    Rcpp::traits::input_parameter< double >::type elevation(elevationSEXP);
    Rcpp::traits::input_parameter< bool >::type color(colorSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_shade(input, azimuth, elevation, color));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_crop
XPtrImage magick_image_crop(XPtrImage input, Rcpp::CharacterVector geometry, Rcpp::CharacterVector gravity, bool repage);
RcppExport SEXP _magick_magick_image_crop(SEXP inputSEXP, SEXP geometrySEXP, SEXP gravitySEXP, SEXP repageSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type geometry(geometrySEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type gravity(gravitySEXP);
    Rcpp::traits::input_parameter< bool >::type repage(repageSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_crop(input, geometry, gravity, repage));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_extent
XPtrImage magick_image_extent(XPtrImage input, Rcpp::CharacterVector geometry, Rcpp::CharacterVector gravity, Rcpp::CharacterVector color);
RcppExport SEXP _magick_magick_image_extent(SEXP inputSEXP, SEXP geometrySEXP, SEXP gravitySEXP, SEXP colorSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type geometry(geometrySEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type gravity(gravitySEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type color(colorSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_extent(input, geometry, gravity, color));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_artifact
Rcpp::CharacterVector magick_image_artifact(XPtrImage input, std::string name);
RcppExport SEXP _magick_magick_image_artifact(SEXP inputSEXP, SEXP nameSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< std::string >::type name(nameSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_artifact(input, name));
    return rcpp_result_gen;
END_RCPP
}
// magick_coder_info
Rcpp::List magick_coder_info(Rcpp::String format);
RcppExport SEXP _magick_magick_coder_info(SEXP formatSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::String >::type format(formatSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_coder_info(format));
    return rcpp_result_gen;
END_RCPP
}
// magick_config_internal
Rcpp::List magick_config_internal();
RcppExport SEXP _magick_magick_config_internal() {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    rcpp_result_gen = Rcpp::wrap(magick_config_internal());
    return rcpp_result_gen;
END_RCPP
}
// magick_image_fx
XPtrImage magick_image_fx(XPtrImage input, std::string expression, Rcpp::CharacterVector channel);
RcppExport SEXP _magick_magick_image_fx(SEXP inputSEXP, SEXP expressionSEXP, SEXP channelSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< std::string >::type expression(expressionSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type channel(channelSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_fx(input, expression, channel));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_fx_sequence
XPtrImage magick_image_fx_sequence(XPtrImage input, const std::string expr);
RcppExport SEXP _magick_magick_image_fx_sequence(SEXP inputSEXP, SEXP exprSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const std::string >::type expr(exprSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_fx_sequence(input, expr));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_morphology
XPtrImage magick_image_morphology(XPtrImage input, std::string method, std::string kernel, ssize_t iter, Rcpp::CharacterVector opt_names, Rcpp::CharacterVector opt_values);
RcppExport SEXP _magick_magick_image_morphology(SEXP inputSEXP, SEXP methodSEXP, SEXP kernelSEXP, SEXP iterSEXP, SEXP opt_namesSEXP, SEXP opt_valuesSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< std::string >::type method(methodSEXP);
    Rcpp::traits::input_parameter< std::string >::type kernel(kernelSEXP);
    Rcpp::traits::input_parameter< ssize_t >::type iter(iterSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type opt_names(opt_namesSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type opt_values(opt_valuesSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_morphology(input, method, kernel, iter, opt_names, opt_values));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_convolve_kernel
XPtrImage magick_image_convolve_kernel(XPtrImage input, std::string kernel, ssize_t iter, Rcpp::CharacterVector scaling, Rcpp::CharacterVector bias);
RcppExport SEXP _magick_magick_image_convolve_kernel(SEXP inputSEXP, SEXP kernelSEXP, SEXP iterSEXP, SEXP scalingSEXP, SEXP biasSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< std::string >::type kernel(kernelSEXP);
    Rcpp::traits::input_parameter< ssize_t >::type iter(iterSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type scaling(scalingSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type bias(biasSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_convolve_kernel(input, kernel, iter, scaling, bias));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_convolve_matrix
XPtrImage magick_image_convolve_matrix(XPtrImage input, Rcpp::NumericMatrix matrix, size_t iter, Rcpp::CharacterVector scaling, Rcpp::CharacterVector bias);
RcppExport SEXP _magick_magick_image_convolve_matrix(SEXP inputSEXP, SEXP matrixSEXP, SEXP iterSEXP, SEXP scalingSEXP, SEXP biasSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type matrix(matrixSEXP);
    Rcpp::traits::input_parameter< size_t >::type iter(iterSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type scaling(scalingSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type bias(biasSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_convolve_matrix(input, matrix, iter, scaling, bias));
    return rcpp_result_gen;
END_RCPP
}
// magick_device_internal
XPtrImage magick_device_internal(std::string bg, int width, int height, double pointsize, int res, bool clip, bool antialias, bool drawing);
RcppExport SEXP _magick_magick_device_internal(SEXP bgSEXP, SEXP widthSEXP, SEXP heightSEXP, SEXP pointsizeSEXP, SEXP resSEXP, SEXP clipSEXP, SEXP antialiasSEXP, SEXP drawingSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< std::string >::type bg(bgSEXP);
    Rcpp::traits::input_parameter< int >::type width(widthSEXP);
    Rcpp::traits::input_parameter< int >::type height(heightSEXP);
    Rcpp::traits::input_parameter< double >::type pointsize(pointsizeSEXP);
    Rcpp::traits::input_parameter< int >::type res(resSEXP);
    Rcpp::traits::input_parameter< bool >::type clip(clipSEXP);
    Rcpp::traits::input_parameter< bool >::type antialias(antialiasSEXP);
    Rcpp::traits::input_parameter< bool >::type drawing(drawingSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_device_internal(bg, width, height, pointsize, res, clip, antialias, drawing));
    return rcpp_result_gen;
END_RCPP
}
// magick_device_get
XPtrImage magick_device_get(int n);
RcppExport SEXP _magick_magick_device_get(SEXP nSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< int >::type n(nSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_device_get(n));
    return rcpp_result_gen;
END_RCPP
}
// magick_device_pop
SEXP magick_device_pop();
RcppExport SEXP _magick_magick_device_pop() {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    rcpp_result_gen = Rcpp::wrap(magick_device_pop());
    return rcpp_result_gen;
END_RCPP
}
// magick_image_edge
XPtrImage magick_image_edge(XPtrImage input, size_t radius);
RcppExport SEXP _magick_magick_image_edge(SEXP inputSEXP, SEXP radiusSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< size_t >::type radius(radiusSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_edge(input, radius));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_canny
XPtrImage magick_image_canny(XPtrImage input, std::string geomstr);
RcppExport SEXP _magick_magick_image_canny(SEXP inputSEXP, SEXP geomstrSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< std::string >::type geomstr(geomstrSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_canny(input, geomstr));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_houghline
XPtrImage magick_image_houghline(XPtrImage input, std::string geomstr, std::string col, std::string bg, double lwd);
RcppExport SEXP _magick_magick_image_houghline(SEXP inputSEXP, SEXP geomstrSEXP, SEXP colSEXP, SEXP bgSEXP, SEXP lwdSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< std::string >::type geomstr(geomstrSEXP);
    Rcpp::traits::input_parameter< std::string >::type col(colSEXP);
    Rcpp::traits::input_parameter< std::string >::type bg(bgSEXP);
    Rcpp::traits::input_parameter< double >::type lwd(lwdSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_houghline(input, geomstr, col, bg, lwd));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_readbitmap_native
XPtrImage magick_image_readbitmap_native(Rcpp::IntegerMatrix x);
RcppExport SEXP _magick_magick_image_readbitmap_native(SEXP xSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::IntegerMatrix >::type x(xSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_readbitmap_native(x));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_readbitmap_raster1
XPtrImage magick_image_readbitmap_raster1(Rcpp::CharacterMatrix x);
RcppExport SEXP _magick_magick_image_readbitmap_raster1(SEXP xSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::CharacterMatrix >::type x(xSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_readbitmap_raster1(x));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_readbitmap_raster2
XPtrImage magick_image_readbitmap_raster2(Rcpp::CharacterMatrix x);
RcppExport SEXP _magick_magick_image_readbitmap_raster2(SEXP xSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::CharacterMatrix >::type x(xSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_readbitmap_raster2(x));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_readbitmap_raw
XPtrImage magick_image_readbitmap_raw(Rcpp::RawVector x);
RcppExport SEXP _magick_magick_image_readbitmap_raw(SEXP xSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::RawVector >::type x(xSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_readbitmap_raw(x));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_readbitmap_double
XPtrImage magick_image_readbitmap_double(Rcpp::NumericVector x);
RcppExport SEXP _magick_magick_image_readbitmap_double(SEXP xSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type x(xSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_readbitmap_double(x));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_readbin
XPtrImage magick_image_readbin(Rcpp::RawVector x, Rcpp::CharacterVector density, Rcpp::IntegerVector depth, bool strip, Rcpp::CharacterVector defines);
RcppExport SEXP _magick_magick_image_readbin(SEXP xSEXP, SEXP densitySEXP, SEXP depthSEXP, SEXP stripSEXP, SEXP definesSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::RawVector >::type x(xSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type density(densitySEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type depth(depthSEXP);
    Rcpp::traits::input_parameter< bool >::type strip(stripSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type defines(definesSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_readbin(x, density, depth, strip, defines));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_readpath
XPtrImage magick_image_readpath(Rcpp::CharacterVector paths, Rcpp::CharacterVector density, Rcpp::IntegerVector depth, bool strip, Rcpp::CharacterVector defines);
RcppExport SEXP _magick_magick_image_readpath(SEXP pathsSEXP, SEXP densitySEXP, SEXP depthSEXP, SEXP stripSEXP, SEXP definesSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type paths(pathsSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type density(densitySEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type depth(depthSEXP);
    Rcpp::traits::input_parameter< bool >::type strip(stripSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type defines(definesSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_readpath(paths, density, depth, strip, defines));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_read_list
XPtrImage magick_image_read_list(Rcpp::List list);
RcppExport SEXP _magick_magick_image_read_list(SEXP listSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::List >::type list(listSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_read_list(list));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_write
Rcpp::RawVector magick_image_write(XPtrImage input, Rcpp::CharacterVector format, Rcpp::IntegerVector quality, Rcpp::IntegerVector depth, Rcpp::CharacterVector density, Rcpp::CharacterVector comment, Rcpp::CharacterVector compression);
RcppExport SEXP _magick_magick_image_write(SEXP inputSEXP, SEXP formatSEXP, SEXP qualitySEXP, SEXP depthSEXP, SEXP densitySEXP, SEXP commentSEXP, SEXP compressionSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type format(formatSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type quality(qualitySEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type depth(depthSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type density(densitySEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type comment(commentSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type compression(compressionSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_write(input, format, quality, depth, density, comment, compression));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_write_frame
Rcpp::RawVector magick_image_write_frame(XPtrImage input, const char * format, size_t i);
RcppExport SEXP _magick_magick_image_write_frame(SEXP inputSEXP, SEXP formatSEXP, SEXP iSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const char * >::type format(formatSEXP);
    Rcpp::traits::input_parameter< size_t >::type i(iSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_write_frame(input, format, i));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_write_integer
Rcpp::IntegerVector magick_image_write_integer(XPtrImage input);
RcppExport SEXP _magick_magick_image_write_integer(SEXP inputSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_write_integer(input));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_display
XPtrImage magick_image_display(XPtrImage image, bool animate);
RcppExport SEXP _magick_magick_image_display(SEXP imageSEXP, SEXP animateSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type image(imageSEXP);
    Rcpp::traits::input_parameter< bool >::type animate(animateSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_display(image, animate));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_fft
XPtrImage magick_image_fft(XPtrImage image);
RcppExport SEXP _magick_magick_image_fft(SEXP imageSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type image(imageSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_fft(image));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_montage
XPtrImage magick_image_montage(XPtrImage image, Rcpp::CharacterVector geometry, Rcpp::CharacterVector tile, Rcpp::CharacterVector gravity, std::string bg, bool shadow);
RcppExport SEXP _magick_magick_image_montage(SEXP imageSEXP, SEXP geometrySEXP, SEXP tileSEXP, SEXP gravitySEXP, SEXP bgSEXP, SEXP shadowSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type image(imageSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type geometry(geometrySEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type tile(tileSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type gravity(gravitySEXP);
    Rcpp::traits::input_parameter< std::string >::type bg(bgSEXP);
    Rcpp::traits::input_parameter< bool >::type shadow(shadowSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_montage(image, geometry, tile, gravity, bg, shadow));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_strip
XPtrImage magick_image_strip(XPtrImage input);
RcppExport SEXP _magick_magick_image_strip(SEXP inputSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_strip(input));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_separate
XPtrImage magick_image_separate(XPtrImage input, const char * channel);
RcppExport SEXP _magick_magick_image_separate(SEXP inputSEXP, SEXP channelSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const char * >::type channel(channelSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_separate(input, channel));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_combine
XPtrImage magick_image_combine(XPtrImage input, const char * colorspace, const char * channel);
RcppExport SEXP _magick_magick_image_combine(SEXP inputSEXP, SEXP colorspaceSEXP, SEXP channelSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const char * >::type colorspace(colorspaceSEXP);
    Rcpp::traits::input_parameter< const char * >::type channel(channelSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_combine(input, colorspace, channel));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_set_define
XPtrImage magick_image_set_define(XPtrImage input, Rcpp::CharacterVector format, Rcpp::CharacterVector name, Rcpp::CharacterVector value);
RcppExport SEXP _magick_magick_image_set_define(SEXP inputSEXP, SEXP formatSEXP, SEXP nameSEXP, SEXP valueSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type format(formatSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type name(nameSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type value(valueSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_set_define(input, format, name, value));
    return rcpp_result_gen;
END_RCPP
}
// list_options
Rcpp::CharacterVector list_options(const char * str);
RcppExport SEXP _magick_list_options(SEXP strSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const char * >::type str(strSEXP);
    rcpp_result_gen = Rcpp::wrap(list_options(str));
    return rcpp_result_gen;
END_RCPP
}
// set_magick_tempdir
Rcpp::String set_magick_tempdir(const char * new_tmpdir);
RcppExport SEXP _magick_set_magick_tempdir(SEXP new_tmpdirSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const char * >::type new_tmpdir(new_tmpdirSEXP);
    rcpp_result_gen = Rcpp::wrap(set_magick_tempdir(new_tmpdir));
    return rcpp_result_gen;
END_RCPP
}
// set_magick_seed
void set_magick_seed(unsigned long seed);
RcppExport SEXP _magick_set_magick_seed(SEXP seedSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< unsigned long >::type seed(seedSEXP);
    set_magick_seed(seed);
    return R_NilValue;
END_RCPP
}
// magick_image_properties
Rcpp::DataFrame magick_image_properties(XPtrImage input);
RcppExport SEXP _magick_magick_image_properties(SEXP inputSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_properties(input));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_scale
XPtrImage magick_image_scale(XPtrImage input, Rcpp::CharacterVector geometry);
RcppExport SEXP _magick_magick_image_scale(SEXP inputSEXP, SEXP geometrySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type geometry(geometrySEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_scale(input, geometry));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_sample
XPtrImage magick_image_sample(XPtrImage input, Rcpp::CharacterVector geometry);
RcppExport SEXP _magick_magick_image_sample(SEXP inputSEXP, SEXP geometrySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type geometry(geometrySEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_sample(input, geometry));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_resize
XPtrImage magick_image_resize(XPtrImage input, Rcpp::CharacterVector geometry, Rcpp::CharacterVector filter);
RcppExport SEXP _magick_magick_image_resize(SEXP inputSEXP, SEXP geometrySEXP, SEXP filterSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type geometry(geometrySEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type filter(filterSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_resize(input, geometry, filter));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_rotate
XPtrImage magick_image_rotate(XPtrImage input, double degrees);
RcppExport SEXP _magick_magick_image_rotate(SEXP inputSEXP, SEXP degreesSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< double >::type degrees(degreesSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_rotate(input, degrees));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_chop
XPtrImage magick_image_chop(XPtrImage input, const char * geometry);
RcppExport SEXP _magick_magick_image_chop(SEXP inputSEXP, SEXP geometrySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const char * >::type geometry(geometrySEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_chop(input, geometry));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_trim
XPtrImage magick_image_trim(XPtrImage input, double fuzz_percent);
RcppExport SEXP _magick_magick_image_trim(SEXP inputSEXP, SEXP fuzz_percentSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< double >::type fuzz_percent(fuzz_percentSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_trim(input, fuzz_percent));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_flip
XPtrImage magick_image_flip(XPtrImage input);
RcppExport SEXP _magick_magick_image_flip(SEXP inputSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_flip(input));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_flop
XPtrImage magick_image_flop(XPtrImage input);
RcppExport SEXP _magick_magick_image_flop(SEXP inputSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_flop(input));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_shear
XPtrImage magick_image_shear(XPtrImage input, const char * geometry, const char * color);
RcppExport SEXP _magick_magick_image_shear(SEXP inputSEXP, SEXP geometrySEXP, SEXP colorSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const char * >::type geometry(geometrySEXP);
    Rcpp::traits::input_parameter< const char * >::type color(colorSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_shear(input, geometry, color));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_fuzzycmeans
XPtrImage magick_image_fuzzycmeans(XPtrImage input, const double min_pixels, const double smoothing);
RcppExport SEXP _magick_magick_image_fuzzycmeans(SEXP inputSEXP, SEXP min_pixelsSEXP, SEXP smoothingSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const double >::type min_pixels(min_pixelsSEXP);
    Rcpp::traits::input_parameter< const double >::type smoothing(smoothingSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_fuzzycmeans(input, min_pixels, smoothing));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_connect
XPtrImage magick_image_connect(XPtrImage input, const size_t connectivity);
RcppExport SEXP _magick_magick_image_connect(SEXP inputSEXP, SEXP connectivitySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const size_t >::type connectivity(connectivitySEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_connect(input, connectivity));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_noise
XPtrImage magick_image_noise(XPtrImage input, const char * noisetype);
RcppExport SEXP _magick_magick_image_noise(SEXP inputSEXP, SEXP noisetypeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const char * >::type noisetype(noisetypeSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_noise(input, noisetype));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_blur
XPtrImage magick_image_blur(XPtrImage input, const double radius, const double sigma);
RcppExport SEXP _magick_magick_image_blur(SEXP inputSEXP, SEXP radiusSEXP, SEXP sigmaSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const double >::type radius(radiusSEXP);
    Rcpp::traits::input_parameter< const double >::type sigma(sigmaSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_blur(input, radius, sigma));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_motion_blur
XPtrImage magick_image_motion_blur(XPtrImage input, const double radius, const double sigma, const double angle);
RcppExport SEXP _magick_magick_image_motion_blur(SEXP inputSEXP, SEXP radiusSEXP, SEXP sigmaSEXP, SEXP angleSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const double >::type radius(radiusSEXP);
    Rcpp::traits::input_parameter< const double >::type sigma(sigmaSEXP);
    Rcpp::traits::input_parameter< const double >::type angle(angleSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_motion_blur(input, radius, sigma, angle));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_charcoal
XPtrImage magick_image_charcoal(XPtrImage input, const double radius, const double sigma);
RcppExport SEXP _magick_magick_image_charcoal(SEXP inputSEXP, SEXP radiusSEXP, SEXP sigmaSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const double >::type radius(radiusSEXP);
    Rcpp::traits::input_parameter< const double >::type sigma(sigmaSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_charcoal(input, radius, sigma));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_deskew
XPtrImage magick_image_deskew(XPtrImage input, double treshold);
RcppExport SEXP _magick_magick_image_deskew(SEXP inputSEXP, SEXP tresholdSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< double >::type treshold(tresholdSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_deskew(input, treshold));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_emboss
XPtrImage magick_image_emboss(XPtrImage input, const double radius, const double sigma);
RcppExport SEXP _magick_magick_image_emboss(SEXP inputSEXP, SEXP radiusSEXP, SEXP sigmaSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const double >::type radius(radiusSEXP);
    Rcpp::traits::input_parameter< const double >::type sigma(sigmaSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_emboss(input, radius, sigma));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_fill
XPtrImage magick_image_fill(XPtrImage input, const char * color, const char * point, double fuzz_percent, Rcpp::CharacterVector border_color);
RcppExport SEXP _magick_magick_image_fill(SEXP inputSEXP, SEXP colorSEXP, SEXP pointSEXP, SEXP fuzz_percentSEXP, SEXP border_colorSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const char * >::type color(colorSEXP);
    Rcpp::traits::input_parameter< const char * >::type point(pointSEXP);
    Rcpp::traits::input_parameter< double >::type fuzz_percent(fuzz_percentSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type border_color(border_colorSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_fill(input, color, point, fuzz_percent, border_color));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_negate
XPtrImage magick_image_negate(XPtrImage input);
RcppExport SEXP _magick_magick_image_negate(SEXP inputSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_negate(input));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_oilpaint
XPtrImage magick_image_oilpaint(XPtrImage input, size_t radius);
RcppExport SEXP _magick_magick_image_oilpaint(SEXP inputSEXP, SEXP radiusSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< size_t >::type radius(radiusSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_oilpaint(input, radius));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_implode
XPtrImage magick_image_implode(XPtrImage input, double factor);
RcppExport SEXP _magick_magick_image_implode(SEXP inputSEXP, SEXP factorSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< double >::type factor(factorSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_implode(input, factor));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_format
XPtrImage magick_image_format(XPtrImage input, Rcpp::CharacterVector format, Rcpp::CharacterVector type, Rcpp::CharacterVector space, Rcpp::IntegerVector depth, Rcpp::LogicalVector antialias, Rcpp::LogicalVector matte, Rcpp::CharacterVector interlace);
RcppExport SEXP _magick_magick_image_format(SEXP inputSEXP, SEXP formatSEXP, SEXP typeSEXP, SEXP spaceSEXP, SEXP depthSEXP, SEXP antialiasSEXP, SEXP matteSEXP, SEXP interlaceSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type format(formatSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type type(typeSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type space(spaceSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type depth(depthSEXP);
    Rcpp::traits::input_parameter< Rcpp::LogicalVector >::type antialias(antialiasSEXP);
    Rcpp::traits::input_parameter< Rcpp::LogicalVector >::type matte(matteSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type interlace(interlaceSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_format(input, format, type, space, depth, antialias, matte, interlace));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_page
XPtrImage magick_image_page(XPtrImage input, Rcpp::CharacterVector pagesize, Rcpp::CharacterVector density);
RcppExport SEXP _magick_magick_image_page(SEXP inputSEXP, SEXP pagesizeSEXP, SEXP densitySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type pagesize(pagesizeSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type density(densitySEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_page(input, pagesize, density));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_repage
XPtrImage magick_image_repage(XPtrImage input);
RcppExport SEXP _magick_magick_image_repage(SEXP inputSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_repage(input));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_orient
XPtrImage magick_image_orient(XPtrImage input, Rcpp::CharacterVector orientation);
RcppExport SEXP _magick_magick_image_orient(SEXP inputSEXP, SEXP orientationSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type orientation(orientationSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_orient(input, orientation));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_despeckle
XPtrImage magick_image_despeckle(XPtrImage input, int times);
RcppExport SEXP _magick_magick_image_despeckle(SEXP inputSEXP, SEXP timesSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< int >::type times(timesSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_despeckle(input, times));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_reducenoise
XPtrImage magick_image_reducenoise(XPtrImage input, const size_t radius);
RcppExport SEXP _magick_magick_image_reducenoise(SEXP inputSEXP, SEXP radiusSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< const size_t >::type radius(radiusSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_reducenoise(input, radius));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_annotate
XPtrImage magick_image_annotate(XPtrImage input, Rcpp::CharacterVector text, const char * gravity, const char * location, double rot, double size, const char * font, const char * style, double weight, double kerning, Rcpp::CharacterVector decoration, Rcpp::CharacterVector color, Rcpp::CharacterVector strokecolor, Rcpp::CharacterVector boxcolor);
RcppExport SEXP _magick_magick_image_annotate(SEXP inputSEXP, SEXP textSEXP, SEXP gravitySEXP, SEXP locationSEXP, SEXP rotSEXP, SEXP sizeSEXP, SEXP fontSEXP, SEXP styleSEXP, SEXP weightSEXP, SEXP kerningSEXP, SEXP decorationSEXP, SEXP colorSEXP, SEXP strokecolorSEXP, SEXP boxcolorSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type text(textSEXP);
    Rcpp::traits::input_parameter< const char * >::type gravity(gravitySEXP);
    Rcpp::traits::input_parameter< const char * >::type location(locationSEXP);
    Rcpp::traits::input_parameter< double >::type rot(rotSEXP);
    Rcpp::traits::input_parameter< double >::type size(sizeSEXP);
    Rcpp::traits::input_parameter< const char * >::type font(fontSEXP);
    Rcpp::traits::input_parameter< const char * >::type style(styleSEXP);
    Rcpp::traits::input_parameter< double >::type weight(weightSEXP);
    Rcpp::traits::input_parameter< double >::type kerning(kerningSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type decoration(decorationSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type color(colorSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type strokecolor(strokecolorSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type boxcolor(boxcolorSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_annotate(input, text, gravity, location, rot, size, font, style, weight, kerning, decoration, color, strokecolor, boxcolor));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_compare
XPtrImage magick_image_compare(XPtrImage input, XPtrImage reference_image, const char  * metric, double fuzz_percent);
RcppExport SEXP _magick_magick_image_compare(SEXP inputSEXP, SEXP reference_imageSEXP, SEXP metricSEXP, SEXP fuzz_percentSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< XPtrImage >::type reference_image(reference_imageSEXP);
    Rcpp::traits::input_parameter< const char  * >::type metric(metricSEXP);
    Rcpp::traits::input_parameter< double >::type fuzz_percent(fuzz_percentSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_compare(input, reference_image, metric, fuzz_percent));
    return rcpp_result_gen;
END_RCPP
}
// magick_image_distort
XPtrImage magick_image_distort(XPtrImage input, std::string method, Rcpp::NumericVector values, bool bestfit);
RcppExport SEXP _magick_magick_image_distort(SEXP inputSEXP, SEXP methodSEXP, SEXP valuesSEXP, SEXP bestfitSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< XPtrImage >::type input(inputSEXP);
    Rcpp::traits::input_parameter< std::string >::type method(methodSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type values(valuesSEXP);
    Rcpp::traits::input_parameter< bool >::type bestfit(bestfitSEXP);
    rcpp_result_gen = Rcpp::wrap(magick_image_distort(input, method, values, bestfit));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_magick_magick_image_animate", (DL_FUNC) &_magick_magick_image_animate, 5},
    {"_magick_magick_image_coalesce", (DL_FUNC) &_magick_magick_image_coalesce, 1},
    {"_magick_magick_image_morph", (DL_FUNC) &_magick_magick_image_morph, 2},
    {"_magick_magick_image_mosaic", (DL_FUNC) &_magick_magick_image_mosaic, 2},
    {"_magick_magick_image_flatten", (DL_FUNC) &_magick_magick_image_flatten, 2},
    {"_magick_magick_image_average", (DL_FUNC) &_magick_magick_image_average, 1},
    {"_magick_magick_image_append", (DL_FUNC) &_magick_magick_image_append, 2},
    {"_magick_magick_attr_comment", (DL_FUNC) &_magick_magick_attr_comment, 2},
    {"_magick_magick_attr_text_antialias", (DL_FUNC) &_magick_magick_attr_text_antialias, 2},
    {"_magick_magick_attr_stroke_antialias", (DL_FUNC) &_magick_magick_attr_stroke_antialias, 2},
    {"_magick_magick_attr_animationdelay", (DL_FUNC) &_magick_magick_attr_animationdelay, 2},
    {"_magick_magick_attr_backgroundcolor", (DL_FUNC) &_magick_magick_attr_backgroundcolor, 2},
    {"_magick_magick_attr_boxcolor", (DL_FUNC) &_magick_magick_attr_boxcolor, 2},
    {"_magick_magick_attr_fillcolor", (DL_FUNC) &_magick_magick_attr_fillcolor, 2},
    {"_magick_magick_attr_font", (DL_FUNC) &_magick_magick_attr_font, 2},
    {"_magick_magick_attr_fontsize", (DL_FUNC) &_magick_magick_attr_fontsize, 2},
    {"_magick_magick_attr_label", (DL_FUNC) &_magick_magick_attr_label, 2},
    {"_magick_magick_attr_format", (DL_FUNC) &_magick_magick_attr_format, 2},
    {"_magick_magick_attr_quality", (DL_FUNC) &_magick_magick_attr_quality, 2},
    {"_magick_magick_attr_quantize", (DL_FUNC) &_magick_magick_attr_quantize, 2},
    {"_magick_magick_attr_density", (DL_FUNC) &_magick_magick_attr_density, 2},
    {"_magick_magick_image_info", (DL_FUNC) &_magick_magick_image_info, 1},
    {"_magick_magick_image_as_raster", (DL_FUNC) &_magick_magick_image_as_raster, 1},
    {"_magick_magick_threads", (DL_FUNC) &_magick_magick_threads, 1},
    {"_magick_magick_image_dead", (DL_FUNC) &_magick_magick_image_dead, 1},
    {"_magick_magick_image_length", (DL_FUNC) &_magick_magick_image_length, 1},
    {"_magick_create", (DL_FUNC) &_magick_create, 1},
    {"_magick_magick_image_blank", (DL_FUNC) &_magick_magick_image_blank, 5},
    {"_magick_copy", (DL_FUNC) &_magick_copy, 1},
    {"_magick_magick_image_rev", (DL_FUNC) &_magick_magick_image_rev, 1},
    {"_magick_magick_image_join", (DL_FUNC) &_magick_magick_image_join, 1},
    {"_magick_magick_image_subset", (DL_FUNC) &_magick_magick_image_subset, 2},
    {"_magick_magick_image_replace", (DL_FUNC) &_magick_magick_image_replace, 3},
    {"_magick_magick_image_copy", (DL_FUNC) &_magick_magick_image_copy, 2},
    {"_magick_magick_image_destroy", (DL_FUNC) &_magick_magick_image_destroy, 1},
    {"_magick_autobrewed", (DL_FUNC) &_magick_autobrewed, 0},
    {"_magick_magick_resource_limits", (DL_FUNC) &_magick_magick_resource_limits, 0},
    {"_magick_magick_image_contrast", (DL_FUNC) &_magick_magick_image_contrast, 2},
    {"_magick_magick_image_normalize", (DL_FUNC) &_magick_magick_image_normalize, 1},
    {"_magick_magick_image_modulate", (DL_FUNC) &_magick_magick_image_modulate, 4},
    {"_magick_magick_image_map", (DL_FUNC) &_magick_magick_image_map, 3},
    {"_magick_magick_image_channel", (DL_FUNC) &_magick_magick_image_channel, 2},
    {"_magick_magick_image_colorize", (DL_FUNC) &_magick_magick_image_colorize, 3},
    {"_magick_magick_image_enhance", (DL_FUNC) &_magick_magick_image_enhance, 1},
    {"_magick_magick_image_equalize", (DL_FUNC) &_magick_magick_image_equalize, 1},
    {"_magick_magick_image_median", (DL_FUNC) &_magick_magick_image_median, 2},
    {"_magick_magick_image_quantize", (DL_FUNC) &_magick_magick_image_quantize, 5},
    {"_magick_magick_image_ordered_dither", (DL_FUNC) &_magick_magick_image_ordered_dither, 2},
    {"_magick_magick_image_transparent", (DL_FUNC) &_magick_magick_image_transparent, 3},
    {"_magick_magick_image_background", (DL_FUNC) &_magick_magick_image_background, 2},
    {"_magick_magick_image_lat", (DL_FUNC) &_magick_magick_image_lat, 2},
    {"_magick_magick_image_threshold_black", (DL_FUNC) &_magick_magick_image_threshold_black, 3},
    {"_magick_magick_image_threshold_white", (DL_FUNC) &_magick_magick_image_threshold_white, 3},
    {"_magick_magick_image_level", (DL_FUNC) &_magick_magick_image_level, 5},
    {"_magick_magick_image_composite", (DL_FUNC) &_magick_magick_image_composite, 6},
    {"_magick_magick_image_border", (DL_FUNC) &_magick_magick_image_border, 4},
    {"_magick_magick_image_frame", (DL_FUNC) &_magick_magick_image_frame, 3},
    {"_magick_magick_image_shadow_mask", (DL_FUNC) &_magick_magick_image_shadow_mask, 2},
    {"_magick_magick_image_shade", (DL_FUNC) &_magick_magick_image_shade, 4},
    {"_magick_magick_image_crop", (DL_FUNC) &_magick_magick_image_crop, 4},
    {"_magick_magick_image_extent", (DL_FUNC) &_magick_magick_image_extent, 4},
    {"_magick_magick_image_artifact", (DL_FUNC) &_magick_magick_image_artifact, 2},
    {"_magick_magick_coder_info", (DL_FUNC) &_magick_magick_coder_info, 1},
    {"_magick_magick_config_internal", (DL_FUNC) &_magick_magick_config_internal, 0},
    {"_magick_magick_image_fx", (DL_FUNC) &_magick_magick_image_fx, 3},
    {"_magick_magick_image_fx_sequence", (DL_FUNC) &_magick_magick_image_fx_sequence, 2},
    {"_magick_magick_image_morphology", (DL_FUNC) &_magick_magick_image_morphology, 6},
    {"_magick_magick_image_convolve_kernel", (DL_FUNC) &_magick_magick_image_convolve_kernel, 5},
    {"_magick_magick_image_convolve_matrix", (DL_FUNC) &_magick_magick_image_convolve_matrix, 5},
    {"_magick_magick_device_internal", (DL_FUNC) &_magick_magick_device_internal, 8},
    {"_magick_magick_device_get", (DL_FUNC) &_magick_magick_device_get, 1},
    {"_magick_magick_device_pop", (DL_FUNC) &_magick_magick_device_pop, 0},
    {"_magick_magick_image_edge", (DL_FUNC) &_magick_magick_image_edge, 2},
    {"_magick_magick_image_canny", (DL_FUNC) &_magick_magick_image_canny, 2},
    {"_magick_magick_image_houghline", (DL_FUNC) &_magick_magick_image_houghline, 5},
    {"_magick_magick_image_readbitmap_native", (DL_FUNC) &_magick_magick_image_readbitmap_native, 1},
    {"_magick_magick_image_readbitmap_raster1", (DL_FUNC) &_magick_magick_image_readbitmap_raster1, 1},
    {"_magick_magick_image_readbitmap_raster2", (DL_FUNC) &_magick_magick_image_readbitmap_raster2, 1},
    {"_magick_magick_image_readbitmap_raw", (DL_FUNC) &_magick_magick_image_readbitmap_raw, 1},
    {"_magick_magick_image_readbitmap_double", (DL_FUNC) &_magick_magick_image_readbitmap_double, 1},
    {"_magick_magick_image_readbin", (DL_FUNC) &_magick_magick_image_readbin, 5},
    {"_magick_magick_image_readpath", (DL_FUNC) &_magick_magick_image_readpath, 5},
    {"_magick_magick_image_read_list", (DL_FUNC) &_magick_magick_image_read_list, 1},
    {"_magick_magick_image_write", (DL_FUNC) &_magick_magick_image_write, 7},
    {"_magick_magick_image_write_frame", (DL_FUNC) &_magick_magick_image_write_frame, 3},
    {"_magick_magick_image_write_integer", (DL_FUNC) &_magick_magick_image_write_integer, 1},
    {"_magick_magick_image_display", (DL_FUNC) &_magick_magick_image_display, 2},
    {"_magick_magick_image_fft", (DL_FUNC) &_magick_magick_image_fft, 1},
    {"_magick_magick_image_montage", (DL_FUNC) &_magick_magick_image_montage, 6},
    {"_magick_magick_image_strip", (DL_FUNC) &_magick_magick_image_strip, 1},
    {"_magick_magick_image_separate", (DL_FUNC) &_magick_magick_image_separate, 2},
    {"_magick_magick_image_combine", (DL_FUNC) &_magick_magick_image_combine, 3},
    {"_magick_magick_image_set_define", (DL_FUNC) &_magick_magick_image_set_define, 4},
    {"_magick_list_options", (DL_FUNC) &_magick_list_options, 1},
    {"_magick_set_magick_tempdir", (DL_FUNC) &_magick_set_magick_tempdir, 1},
    {"_magick_set_magick_seed", (DL_FUNC) &_magick_set_magick_seed, 1},
    {"_magick_magick_image_properties", (DL_FUNC) &_magick_magick_image_properties, 1},
    {"_magick_magick_image_scale", (DL_FUNC) &_magick_magick_image_scale, 2},
    {"_magick_magick_image_sample", (DL_FUNC) &_magick_magick_image_sample, 2},
    {"_magick_magick_image_resize", (DL_FUNC) &_magick_magick_image_resize, 3},
    {"_magick_magick_image_rotate", (DL_FUNC) &_magick_magick_image_rotate, 2},
    {"_magick_magick_image_chop", (DL_FUNC) &_magick_magick_image_chop, 2},
    {"_magick_magick_image_trim", (DL_FUNC) &_magick_magick_image_trim, 2},
    {"_magick_magick_image_flip", (DL_FUNC) &_magick_magick_image_flip, 1},
    {"_magick_magick_image_flop", (DL_FUNC) &_magick_magick_image_flop, 1},
    {"_magick_magick_image_shear", (DL_FUNC) &_magick_magick_image_shear, 3},
    {"_magick_magick_image_fuzzycmeans", (DL_FUNC) &_magick_magick_image_fuzzycmeans, 3},
    {"_magick_magick_image_connect", (DL_FUNC) &_magick_magick_image_connect, 2},
    {"_magick_magick_image_noise", (DL_FUNC) &_magick_magick_image_noise, 2},
    {"_magick_magick_image_blur", (DL_FUNC) &_magick_magick_image_blur, 3},
    {"_magick_magick_image_motion_blur", (DL_FUNC) &_magick_magick_image_motion_blur, 4},
    {"_magick_magick_image_charcoal", (DL_FUNC) &_magick_magick_image_charcoal, 3},
    {"_magick_magick_image_deskew", (DL_FUNC) &_magick_magick_image_deskew, 2},
    {"_magick_magick_image_emboss", (DL_FUNC) &_magick_magick_image_emboss, 3},
    {"_magick_magick_image_fill", (DL_FUNC) &_magick_magick_image_fill, 5},
    {"_magick_magick_image_negate", (DL_FUNC) &_magick_magick_image_negate, 1},
    {"_magick_magick_image_oilpaint", (DL_FUNC) &_magick_magick_image_oilpaint, 2},
    {"_magick_magick_image_implode", (DL_FUNC) &_magick_magick_image_implode, 2},
    {"_magick_magick_image_format", (DL_FUNC) &_magick_magick_image_format, 8},
    {"_magick_magick_image_page", (DL_FUNC) &_magick_magick_image_page, 3},
    {"_magick_magick_image_repage", (DL_FUNC) &_magick_magick_image_repage, 1},
    {"_magick_magick_image_orient", (DL_FUNC) &_magick_magick_image_orient, 2},
    {"_magick_magick_image_despeckle", (DL_FUNC) &_magick_magick_image_despeckle, 2},
    {"_magick_magick_image_reducenoise", (DL_FUNC) &_magick_magick_image_reducenoise, 2},
    {"_magick_magick_image_annotate", (DL_FUNC) &_magick_magick_image_annotate, 14},
    {"_magick_magick_image_compare", (DL_FUNC) &_magick_magick_image_compare, 4},
    {"_magick_magick_image_distort", (DL_FUNC) &_magick_magick_image_distort, 4},
    {NULL, NULL, 0}
};

void my_magick_init(DllInfo *dll);
RcppExport void R_init_magick(DllInfo *dll) {
    R_registerRoutines(dll, NULL, CallEntries, NULL, NULL);
    R_useDynamicSymbols(dll, FALSE);
    my_magick_init(dll);
}
