MagickCore  7.0.0
shear.c File Reference
Include dependency graph for shear.c:

Go to the source code of this file.

Data Structures

struct  _RadonInfo
 

Macros

#define RotateImageTag   "Rotate/Image"
 
#define XShearImageTag   "XShear/Image"
 
#define YShearImageTag   "YShear/Image"
 

Typedefs

typedef struct _RadonInfo RadonInfo
 

Functions

static MagickBooleanType CropToFitImage (Image **image, const double x_shear, const double y_shear, const double width, const double height, const MagickBooleanType rotate, ExceptionInfo *exception)
 
static RadonInfoDestroyRadonInfo (RadonInfo *radon_info)
 
static MagickBooleanType ResetRadonCells (RadonInfo *radon_info)
 
static RadonInfoAcquireRadonInfo (const Image *image, const size_t width, const size_t height, ExceptionInfo *exception)
 
static size_t MagickMin (const size_t x, const size_t y)
 
static ssize_t ReadRadonCell (const RadonInfo *radon_info, const MagickOffsetType offset, const size_t length, unsigned char *buffer)
 
static ssize_t WriteRadonCell (const RadonInfo *radon_info, const MagickOffsetType offset, const size_t length, const unsigned char *buffer)
 
static unsigned short GetRadonCell (const RadonInfo *radon_info, const ssize_t x, const ssize_t y)
 
static MagickBooleanType SetRadonCell (const RadonInfo *radon_info, const ssize_t x, const ssize_t y, const unsigned short value)
 
static void RadonProjection (const Image *image, RadonInfo *source_cells, RadonInfo *destination_cells, const ssize_t sign, size_t *projection)
 
static MagickBooleanType RadonTransform (const Image *image, const double threshold, size_t *projection, ExceptionInfo *exception)
 
static void GetImageBackgroundColor (Image *image, const ssize_t offset, ExceptionInfo *exception)
 
MagickExport ImageDeskewImage (const Image *image, const double threshold, ExceptionInfo *exception)
 
MagickExport ImageIntegralRotateImage (const Image *image, size_t rotations, ExceptionInfo *exception)
 
static MagickBooleanType XShearImage (Image *image, const double degrees, const size_t width, const size_t height, const ssize_t x_offset, const ssize_t y_offset, ExceptionInfo *exception)
 
static MagickBooleanType YShearImage (Image *image, const double degrees, const size_t width, const size_t height, const ssize_t x_offset, const ssize_t y_offset, ExceptionInfo *exception)
 
MagickExport ImageShearImage (const Image *image, const double x_shear, const double y_shear, ExceptionInfo *exception)
 
MagickExport ImageShearRotateImage (const Image *image, const double degrees, ExceptionInfo *exception)
 

Macro Definition Documentation

#define RotateImageTag   "Rotate/Image"

Referenced by IntegralRotateImage().

#define XShearImageTag   "XShear/Image"

Referenced by XShearImage().

#define YShearImageTag   "YShear/Image"

Referenced by YShearImage().

Typedef Documentation

typedef struct _RadonInfo RadonInfo

Function Documentation

static MagickBooleanType CropToFitImage ( Image **  image,
const double  x_shear,
const double  y_shear,
const double  width,
const double  height,
const MagickBooleanType  rotate,
ExceptionInfo exception 
)
static
static unsigned short GetRadonCell ( const RadonInfo radon_info,
const ssize_t  x,
const ssize_t  y 
)
inlinestatic
static size_t MagickMin ( const size_t  x,
const size_t  y 
)
inlinestatic

Definition at line 384 of file shear.c.

Referenced by ReadRadonCell(), and WriteRadonCell().

static void RadonProjection ( const Image image,
RadonInfo source_cells,
RadonInfo destination_cells,
const ssize_t  sign,
size_t *  projection 
)
static

Definition at line 524 of file shear.c.

References GetRadonCell(), _RadonInfo::height, SetRadonCell(), and _RadonInfo::width.

Referenced by RadonTransform().

static MagickBooleanType RadonTransform ( const Image image,
const double  threshold,
size_t *  projection,
ExceptionInfo exception 
)
static
static ssize_t ReadRadonCell ( const RadonInfo radon_info,
const MagickOffsetType  offset,
const size_t  length,
unsigned char *  buffer 
)
inlinestatic

Definition at line 391 of file shear.c.

References _RadonInfo::file, and MagickMin().

Referenced by GetRadonCell().

static MagickBooleanType SetRadonCell ( const RadonInfo radon_info,
const ssize_t  x,
const ssize_t  y,
const unsigned short  value 
)
inlinestatic
static ssize_t WriteRadonCell ( const RadonInfo radon_info,
const MagickOffsetType  offset,
const size_t  length,
const unsigned char *  buffer 
)
inlinestatic

Definition at line 435 of file shear.c.

References _RadonInfo::file, and MagickMin().

Referenced by SetRadonCell().