IM_NUMBER( one_in_one_out ), /* Size of arg list */ one_in_one_out /* Arg list */ }; static int icc_present_vec( im_object *argv ) { int *present = ((int *) argv[0]); *present = im_icc_present(); return( 0 ); } static im_arg_desc icc_present_args[] = { IM_OUTPUT_INT( "present" ) }; /* Description of im_icc_present. */ static im_function icc_present_desc = { "im_icc_present", /* Name */ "test for presence of ICC library", /* Description */ 0, /* Flags */ icc_present_vec, /* Dispatch function */ IM_NUMBER( icc_present_args ), /* Size of arg list */ icc_present_args /* Arg list */ }; static int icc_transform_vec( im_object *argv )
lrmosaic_vec, /* Dispatch function */ IM_NUMBER( mosaic_args ), /* Size of arg list */ mosaic_args /* Arg list */ }; static im_arg_desc find_overlap_args[] = { IM_INPUT_IMAGE( "ref" ), IM_INPUT_IMAGE( "sec" ), IM_INPUT_INT( "bandno" ), IM_INPUT_INT( "xr" ), IM_INPUT_INT( "yr" ), IM_INPUT_INT( "xs" ), IM_INPUT_INT( "ys" ), IM_INPUT_INT( "halfcorrelation" ), IM_INPUT_INT( "halfarea" ), IM_OUTPUT_INT( "dx0" ), IM_OUTPUT_INT( "dy0" ), IM_OUTPUT_DOUBLE( "scale1" ), IM_OUTPUT_DOUBLE( "angle1" ), IM_OUTPUT_DOUBLE( "dx1" ), IM_OUTPUT_DOUBLE( "dy1" ) }; /* Call im__find_lroverlap via arg vector. */ static int find_lroverlap_vec( im_object *argv ) { int bandno = *((int *) argv[2]); int xr = *((int *) argv[3]); int yr = *((int *) argv[4]);
static im_function rank_image_desc = { "im_rank_image", /* Name */ "point-wise pixel rank", /* Description */ IM_FN_PIO, /* Flags */ rank_image_vec, /* Dispatch function */ IM_NUMBER( rank_image_args ), /* Size of arg list */ rank_image_args /* Arg list */ }; /* Args for im_label_regions(). */ static im_arg_desc label_regions_args[] = { IM_INPUT_IMAGE( "test" ), IM_OUTPUT_IMAGE( "mask" ), IM_OUTPUT_INT( "segments" ) }; /* Call im_label_regions() via arg vector. */ static int label_regions_vec( im_object *argv ) { IMAGE *test = argv[0]; IMAGE *mask = argv[1]; int *serial = (int *) argv[2]; return( im_label_regions( test, mask, serial ) ); } /* Description of im_label_regions().
*/ static im_function resize_linear_desc = { "im_resize_linear", /* Name */ "resize to X by Y pixels with linear interpolation", 0, /* Flags */ resize_linear_vec, /* Dispatch function */ IM_NUMBER( resize_linear_args ), /* Size of arg list */ resize_linear_args /* Arg list */ }; /* Args for im_mpercent. */ static im_arg_desc mpercent_args[] = { IM_INPUT_IMAGE( "in" ), IM_INPUT_DOUBLE( "percent" ), IM_OUTPUT_INT( "thresh" ) }; /* Call im_mpercent via arg vector. */ static int mpercent_vec( im_object *argv ) { double percent = *((double *) argv[1]); return( im_mpercent( argv[0], percent, argv[2] ) ); } /* Description of im_mpercent. */ static im_function mpercent_desc = {