00001 00002 /* 00003 * THIS IS A GENERATED FILE; DO NOT EDIT. 00004 * 00005 * Declarations for calling `hmi_segment' a.k.a. `Hseg' as a C library. 00006 * 00007 * Made by intermediate binary `hmi_segment.out' on: 00008 * Fri Jul 8 01:30:07 2011 00009 * 00010 * Code for include-generation driver `../Gen-include.c' last modified on: 00011 * Mon Jun 7 15:11:28 2010 00012 * 00013 */ 00014 00015 // Original documentation block 00016 /* 00017 * hmi_segment driver for HMI segmentation 00018 * 00019 * [y,s,post,nclean]=hmi_segment(xm,xp,edge,iter,T,beta,alpha,geom,rho,m1,...) 00020 * * Integrated routine for deriving HMI segmentations. Uses 00021 * models (m1,m2,...), plus a magnetogram-photogram pair (xm,xp), 00022 * to deduce an integer labeling. Besides images and models, 00023 * it also requires some disk parameters and labeling smoothness 00024 * parameters. 00025 * * The defaults for iter and T are inherited from mrf_segment_wts, 00026 * and should be looked up there. 00027 * * The extreme limb can be a problem for labeling; we set the last 00028 * `edge' pixels to quiet (1), and return the number of such pixels 00029 * modified, optionally, in nclean. 00030 * 00031 * Inputs: 00032 * real xm(m,n) 00033 * real xp(m,n) 00034 * real edge(2) 00035 * int iter(1) or (2) 00036 * real T[0] or [1] or [2] or [3] or [4] 00037 * real beta[1] or [K,K] 00038 * real alpha[K] or [0] = [] 00039 * real geom(5) 00040 * real rho 00041 * real m1(l,k1) 00042 * ... 00043 * real mR(l,kR) 00044 * 00045 * Outputs: 00046 * int y(m,n) 00047 * opt real s(R,nS) 00048 * opt real post 00049 * opt int nclean 00050 * 00051 * See Also: makemrfdiscwts, mrf_segment_wts, mixNprobNd, 00052 * clean_edge_label, roi_stats_mag 00053 * 00054 * turmon oct 2009, june 2010, june 2011 00055 * 00056 * 00057 */ 00058 00059 #ifndef _mexfn_hmi_segment_h_ 00060 #define _mexfn_hmi_segment_h_ 00061 00062 // function entry point 00063 mexfn_lib_t main_hmi_segment; 00064 00065 // argument counts 00066 #define MXT_Hseg_NARGIN_MIN 11 00067 #define MXT_Hseg_NARGIN_MAX 13 00068 #define MXT_Hseg_NARGOUT_MIN 1 00069 #define MXT_Hseg_NARGOUT_MAX 4 00070 00071 // input argument numbers 00072 #define MXT_Hseg_ARG_xm 0 00073 #define MXT_Hseg_ARG_xp 1 00074 #define MXT_Hseg_ARG_edge 2 00075 #define MXT_Hseg_ARG_iter 3 00076 #define MXT_Hseg_ARG_T 4 00077 #define MXT_Hseg_ARG_beta 5 00078 #define MXT_Hseg_ARG_alpha 6 00079 #define MXT_Hseg_ARG_geom 7 00080 #define MXT_Hseg_ARG_rho 8 00081 #define MXT_Hseg_ARG_m1 9 00082 #define MXT_Hseg_ARG_m2 10 00083 #define MXT_Hseg_ARG_m3 11 00084 #define MXT_Hseg_ARG_m4 12 00085 00086 // output argument numbers 00087 #define MXT_Hseg_ARG_y 0 00088 #define MXT_Hseg_ARG_s 1 00089 #define MXT_Hseg_ARG_post 2 00090 #define MXT_Hseg_ARG_nclean 3 00091 00092 00093 #endif // _mexfn_hmi_segment_h_ 00094 00095 // (file ends)