Mir 1.0
Mir application programming interface

Data Structures

struct  mirm_image_t_
 Image data structure. More...
 

Macros

#define MIRMOD_IMAGE_DATA_GRAY1   0x0001
 
#define MIRMOD_IMAGE_DATA_GRAY8UI   0x0002
 
#define MIRMOD_IMAGE_DATA_GRAY16UI   0x0004
 
#define MIRMOD_IMAGE_DATA_GRAY32FP   0x0008
 
#define MIRMOD_IMAGE_DATA_GRAY64FP   0x0010
 
#define MIRMOD_IMAGE_DATA_ALL   (MIRMOD_IMAGE_DATA_GRAY1 | MIRMOD_IMAGE_DATA_GRAY8UI | MIRMOD_IMAGE_DATA_GRAY16UI | MIRMOD_IMAGE_DATA_GRAY32FP | MIRMOD_IMAGE_DATA_GRAY64FP)
 
#define MIRMOD_IMAGE_GRAY_MINISWHITE   1
 
#define MIRMOD_IMAGE_GRAY_MINISBLACK   2
 
#define pxy2barridx(img, x, y)   ((y)*(img)->width+(x))
 Calculation of index in bit array for a pixel with coordinates x and y.
 

Typedefs

typedef struct mirm_image_t_ mirm_image_t
 Image data structure.
 

Functions

mirkl_error_tmirm_image_instance_create (mirkl_object_t **obj, mirkl_uint32_t flags, mir_prsdata_t *pp, apr_pool_t *pool, apr_pool_t *tmp_pool)
 
mirkl_error_tmirm_image_instance_create_imgcpy (mirkl_object_t **obj, mirm_image_t *img_src, mirkl_uint32_t flags, mir_prsdata_t *pp, apr_pool_t *pool, apr_pool_t *tmp_pool)
 
mirkl_error_tmirm_image_alloc_data (mirm_image_t *img, mirkl_uint32_t width, mirkl_uint32_t length, unsigned int dt, mirkl_bool_t set_data_model)
 
void mirm_image_free_data (mirm_image_t *img, unsigned int dt)
 
mirkl_error_tmirm_image_copy (mirm_image_t *img_src, mirm_image_t *img_cpy, mirkl_bool_t copy_data)
 
mirkl_error_tmirm_image_subtract_d (mirm_image_t *img, double val)
 
mirkl_error_tmirm_image_add_d (mirm_image_t *img, double val)
 
mirkl_error_tmirm_image_subtract_img (mirm_image_t *img, mirm_image_t *img_b)
 
mirkl_error_tmirm_image_add_img (mirm_image_t *img, mirm_image_t *img_b)
 
mirkl_error_tmirm_image_multiply_img (mirm_image_t *img, mirm_image_t *img_b)
 
mirkl_error_tmirm_image_multiply_d (mirm_image_t *img, double b)
 
int mirm_image_str2dt (const char *dtype_str)
 
const char * mirm_image_dt2str (int dt)
 

Variables

mirkl_object_t * ImageClass
 
int ModtImage
 

Detailed Description

Macro Definition Documentation

◆ MIRMOD_IMAGE_DATA_GRAY1

#define MIRMOD_IMAGE_DATA_GRAY1   0x0001

Bilevel 1-bit

◆ MIRMOD_IMAGE_DATA_GRAY16UI

#define MIRMOD_IMAGE_DATA_GRAY16UI   0x0004

Grayscale 16-bit unsigned int

◆ MIRMOD_IMAGE_DATA_GRAY32FP

#define MIRMOD_IMAGE_DATA_GRAY32FP   0x0008

Grayscale 32-bit floating point (float)

◆ MIRMOD_IMAGE_DATA_GRAY64FP

#define MIRMOD_IMAGE_DATA_GRAY64FP   0x0010

Grayscale 64-bit floating point (double)

◆ MIRMOD_IMAGE_DATA_GRAY8UI

#define MIRMOD_IMAGE_DATA_GRAY8UI   0x0002

Grayscale 8-bit unsigned int

◆ MIRMOD_IMAGE_GRAY_MINISBLACK

#define MIRMOD_IMAGE_GRAY_MINISBLACK   2

Minimal value is black

◆ MIRMOD_IMAGE_GRAY_MINISWHITE

#define MIRMOD_IMAGE_GRAY_MINISWHITE   1

Minimal value is white

Function Documentation

◆ mirm_image_alloc_data()

mirkl_error_t * mirm_image_alloc_data ( mirm_image_t img,
mirkl_uint32_t  width,
mirkl_uint32_t  length,
unsigned int  dt,
mirkl_bool_t  set_data_model 
)

Allocate double data for an image. The size of the image is set to width-x-length.

◆ mirm_image_copy()

mirkl_error_t * mirm_image_copy ( mirm_image_t img_src,
mirm_image_t img_cpy,
mirkl_bool_t  copy_data 
)

Copy image img_src to img_cpy.

◆ mirm_image_free_data()

void mirm_image_free_data ( mirm_image_t img,
unsigned int  dt 
)

Delete (free memory) all data allocated for this image.

◆ mirm_image_instance_create()

mirkl_error_t * mirm_image_instance_create ( mirkl_object_t **  obj,
mirkl_uint32_t  flags,
mir_prsdata_t *  pp,
apr_pool_t *  pool,
apr_pool_t *  tmp_pool 
)

Creation of Image object.

Parameters
[out]objReference to the created object.
flagsFlags of the object.
ppReference to the parser data structure.
poolThe pool to use for allocations of object structures. Should be valid as long as the created object lives.
tmp_poolThe pool for temporary allocations. Can be deleted after calling this function.

◆ mirm_image_instance_create_imgcpy()

mirkl_error_t * mirm_image_instance_create_imgcpy ( mirkl_object_t **  obj,
mirm_image_t img_src,
mirkl_uint32_t  flags,
mir_prsdata_t *  pp,
apr_pool_t *  pool,
apr_pool_t *  tmp_pool 
)

Creation of Image object by copying from another image.

Parameters
img_srcAlready initialized image, which should be copied to the newly created image. All other parameters are the same as in mirm_image_instance_create().

◆ mirm_image_multiply_img()

mirkl_error_t * mirm_image_multiply_img ( mirm_image_t img,
mirm_image_t img_b 
)

Muplitply image by image pixelwise. Active mask and area are taken into account.

Parameters
[in,out]imgThe image, whose pixel values must be multiplied.
[in]img_bThe image, whose pixel values are used as factors in multiplication.
Note
Dimensions of images must be equal.

◆ mirm_image_subtract_d()

mirkl_error_t * mirm_image_subtract_d ( mirm_image_t img,
double  val 
)

Subtract double floating point value from image. Active mask and area are taken into account.

◆ mirm_image_subtract_img()

mirkl_error_t * mirm_image_subtract_img ( mirm_image_t img,
mirm_image_t img_b 
)

Subtract image from image pixelwise. Active mask and area are taken into account.

Parameters
[in,out]imgImage, from which pixel values must be subtracted.
[in]img_bImage, whose pixel values must be subtracted from values of img.
Note
Dimensions of images must be equal.