*/ static im_function read_dmask_desc = { "im_read_dmask", /* Name */ "read matrix of double from file", 0, /* Flags */ read_dmask_vec, /* Dispatch function */ IM_NUMBER( read_dmask_args ), /* Size of arg list */ read_dmask_args /* Arg list */ }; /* Args for convolver with imask. */ static im_arg_desc conv_imask[] = { IM_INPUT_IMAGE( "in" ), IM_OUTPUT_IMAGE( "out" ), IM_INPUT_IMASK( "matrix" ) }; /* Args for convolver with dmask. */ static im_arg_desc conv_dmask[] = { IM_INPUT_IMAGE( "in" ), IM_OUTPUT_IMAGE( "out" ), IM_INPUT_DMASK( "matrix" ) }; /* Call im_compass via arg vector. */ static int compass_vec( im_object *argv ) {
*/ static im_function profile_desc = { "im_profile", /* Name */ "find first horizontal/vertical edge", /* Descr. */ IM_FN_TRANSFORM, /* Flags */ profile_vec, /* Dispatch function */ IM_NUMBER( profile_args ), /* Size of arg list */ profile_args /* Arg list */ }; /* Args to im_erode. */ static im_arg_desc erode_args[] = { IM_INPUT_IMAGE( "in" ), IM_OUTPUT_IMAGE( "out" ), IM_INPUT_IMASK( "mask" ) }; /* Call im_dilate via arg vector. */ static int dilate_vec( im_object *argv ) { im_mask_object *mo = argv[2]; return( im_dilate( argv[0], argv[1], mo->mask ) ); } /* Description of im_dilate. */ static im_function dilate_desc = {
*/ static im_function sharpen_desc = { "im_sharpen", /* Name */ "sharpen high frequencies of L channel of LabQ", IM_FN_PIO, /* Flags */ sharpen_vec, /* Dispatch function */ IM_NUMBER( sharpen_args ), /* Size of arg list */ sharpen_args /* Arg list */ }; /* Args for convolver with imask. */ static im_arg_desc conv_imask[] = { IM_INPUT_IMAGE( "in" ), IM_OUTPUT_IMAGE( "out" ), IM_INPUT_IMASK( "matrix" ) }; /* Args for convolver with dmask. */ static im_arg_desc conv_dmask[] = { IM_INPUT_IMAGE( "in" ), IM_OUTPUT_IMAGE( "out" ), IM_INPUT_DMASK( "matrix" ) }; /* Call im_compass via arg vector. */ static int compass_vec( im_object *argv ) {