blob: e3b3280a95a25ec32916a9c0422b3650c3093367 [file] [log] [blame]
/*--------------------------------------------------------------------------
* commands.h V Includes file about the command table
*
* V
* University of Illinois at Urbana-Champaign
*
* History:
* - Completed V1.0 August 1994
* - Modified for V2.0 October 1995 (cph)
*
* Id: V.h,v 1.0 1994/07/08 05:55:20 hjiang Exp hjiang $
* (Included in V.h)
* only the file with COMMAND_HOME allocates memory for the COMMAND table
*-------------------------------------------------------------------------- */
#ifndef _commands_h_
#define _commands_h_
/* -----------------------------------------------------------------------
* TO THE V PROGRAMMER:
*
* In this file (commands.h) all new V routines should be recorded for
* incorporation into V. To do this:
* (1) Add routine prototypes for the desired platforms in Section 1,
* using existing functions as examples.
* (2) Add the new V commands to the command table in Section 2 below,
* using the existing commands as examples
* ----------------------------------------------------------------------- */
/* -----------------------------------------------------------------------
* SECTION 1: ROUTINE PROTOTYPES
*
* All new routines which are added to V should be prototyped to avoid
* argument inconsistency and to avoid compilation errors.
*
* ----------------------------------------------------------------------- */
/* -------------------------
* CALLING INTERFACES
* ------------------------- */
extern int V_about (int, char **, char *);
extern int V_abs (int, char **, char *);
extern int V_add (int, char **, char *);
extern int V_canny (int, char **, char *);
extern int V_center (int, char **, char *);
extern int V_chunk (int, char **, char *);
extern int V_conj (int, char **, char *);
extern int V_create (int, char **, char *);
extern int V_displ (int, char **, char *);
extern int V_div (int, char **, char *);
extern int V_dump2file(int, char **, char *);
extern int V_dump2term(int, char **, char *);
extern int V_ft (int, char **, char *);
extern int V_ft1d (int, char **, char *);
extern int V_ft2d (int, char **, char *);
extern int V_ft3d (int, char **, char *);
extern int V_ft4d (int, char **, char *);
extern int V_ftshift (int, char **, char *);
extern int V_ftshift1d(int, char **, char *);
extern int V_ftshift2d(int, char **, char *);
extern int V_glue (int, char **, char *);
extern int V_group (int, char **, char *);
extern int V_gplot (int, char **, char *);
extern int V_gplot2d (int, char **, char *);
extern int V_gslim (int, char **, char *);
extern int V_hftrec (int, char **, char *);
extern int V_history (int, char **, char *);
extern int V_help (int, char **, char *);
extern int V_hsvd (int, char **, char *);
extern int V_i (int, char **, char *);
extern int V_imag (int, char **, char *);
extern int V_label (int, char **, char *);
extern int V_linbrd (int, char **, char *);
extern int V_linscl (int, char **, char *);
extern int V_lpsvd (int, char **, char *);
extern int V_man (int, char **, char *);
extern int V_merge (int, char **, char *);
extern int V_mirror (int, char **, char *);
extern int V_movie (int, char **, char *);
extern int V_mult (int, char **, char *);
extern int V_o (int, char **, char *);
extern int V_pendpar (int, char **, char *);
extern int V_phase (int, char **, char *);
extern int V_pishft (int, char **, char *);
extern int V_pishft1d (int, char **, char *);
extern int V_pishft2d (int, char **, char *);
extern int V_pishft3d (int, char **, char *);
extern int V_pishft4d (int, char **, char *);
extern int V_pop (int, char **, char *);
extern int V_push (int, char **, char *);
extern int V_ramp (int, char **, char *);
extern int V_random (int, char **, char *);
extern int V_real (int, char **, char *);
extern int V_redim (int, char **, char *);
extern int V_reorder (int, char **, char *);
extern int V_replace (int, char **, char *);
extern int V_rigr (int, char **, char *);
extern int V_rmdc (int, char **, char *);
extern int V_scale (int, char **, char *);
extern int V_settype (int, char **, char *);
extern int V_show_reg (int, char **, char *);
extern int V_slim (int, char **, char *);
extern int V_slim_cond(int, char **, char *);
extern int V_slim_psf (int, char **, char *);
extern int V_split (int, char **, char *);
extern int V_stack (int, char **, char *);
extern int V_stats (int, char **, char *);
extern int V_stuff (int, char **, char *);
extern int V_sub (int, char **, char *);
extern int V_swap (int, char **, char *);
extern int V_synfid (int, char **, char *);
extern int V_thresh (int, char **, char *);
extern int V_trigr (int, char **, char *);
extern int V_trunc (int, char **, char *);
extern int V_uniffill (int, char **, char *);
extern int V_unstack (int, char **, char *);
extern int V_unwrap (int, char **, char *);
extern int V_vpnls (int, char **, char *);
extern int V_window1d (int, char **, char *);
extern int V_wt1d (int, char **, char *);
extern int V_wt2d (int, char **, char *);
extern int V_xchg (int, char **, char *);
extern int V_xtrp (int, char **, char *);
extern int V_zeropad (int, char **, char *);
extern int V_zphase (int, char **, char *);
/* -------------------------
* IO ROUTINES
* ------------------------- */
extern int L_dump_par(FILE *, char *, int, int *, float *, int);
extern int L_dump_data(FILE *, char *, int, int *, int, float *, int);
extern int L_gplot(V_struct *, V_struct *, int, int,
int, int, double, double, int *);
extern int zoom1d(float *, int, float *, int);
extern int L_gplot2d(float *, float **, int, int *, int *, int *,
int, int, float, float, int *);
extern int L_reorder(float *data, int data_type, int ndim, int *dim,
int *rdim, int *info);
extern int L_getsisco(char *filename, float **data, int *ndim,
int **dim, char *err);
/* -------------------------
* LP ROUTINES
* ------------------------- */
extern int L_hsvd(V_struct *, V_struct *, int, int, int,
float, float, char *);
extern int L_lpsvd(V_struct *, V_struct *, int, int, int,
float, float, char *);
extern int L_zphase(int, int *, float *);
/* -------------------------
* MAIN ROUTINES
* ------------------------- */
extern int title(void);
extern int init_path(char *);
extern void catchINT(void);
extern void catchFRE(void);
extern void catchBUS(void);
extern void catchSEGV(void);
extern void init_history(void);
extern void update_history(char *);
extern char *get_history(int);
extern int GetPath(char *, char *, char *);
extern int call_cmd(char *, int, char **, char *);
extern int display_allcom(void);
extern int valid_com(char *);
extern int indexa(int, int *, int *);
extern void indices(int, int *, int, int *);
extern int nelements(int, int *);
extern int parse_input(char *, int *, char **, char *);
extern int parse_cmd(char *, int *, char *, char **, char *);
extern int print_err(char *);
extern int reg_create(char *);
extern int reg_pop(char *);
extern int reg_init(int, int, int, int *, char *);
extern int reg_push(char *);
extern int reg_redim(int, int, int, int *, char *);
extern int reg_label(int, char *, char *);
extern int reg_settype(int, int, char *);
extern int reg_load(int, float *, char *);
extern int reg_unload(int, float **, char *);
extern int reg_swap(int *, char *);
extern int reg_swapn(int *, int, char *);
extern int reg_count(void);
/* -------------------------
* MATH ROUTINES
* ------------------------- */
extern int L_hamming_filter(float *, int, int);
extern int L_hanning_filter(float *, int, int);
extern int L_bartlett_filter(float *, int, int);
extern int L_ramp_filter(float *, int, int, float);
extern int L_scale(float *, int, int *, float **, float *, int, char *);
extern int L_unwrap(float *, int, int *, int, float, char *);
/* ------------------------------
* VARIABLE PROJECTION ROUTINES
* ------------------------------ */
extern int L_vpnls(V_struct *, V_struct *, V_struct *,
int, int, double, double, int, int, char *);
extern int is_1d_data(V_struct *);
extern int same_spatial_dim(V_struct *, V_struct *);
/* -------------------------
* RIGR ROUTINES
* ------------------------- */
extern int L_rigr(float *, int, float *, int, int, int, int, int, int,
float, int, int, float *, int *);
extern int L_hftrec(float **, float *, int, int *, int, int *, char *);
/* -------------------------
* SLIM ROUTINES
* ------------------------- */
extern int L_gslim(V_struct *, V_struct *, V_struct *,
int, int, float, int, char *);
extern int L_slim(V_struct *, V_struct *, int, int, int, int,
int *, int *, char *);
extern int L_slim_cond(V_struct *, V_struct *, int, int, char *);
extern int L_slim_psf(V_struct *, int, int*, char *);
extern int slim_csi (int,int*,int*,int,double*,int*,int*,double*,int,char*);
extern int slim_cond(int,int*,int*,int,int,int,double*,char*);
extern int slim_psf(int,int*,int*,int,int*,int*,double*,char*);
extern int Gmatrix (int,int*,int*,int,int*,int*,double*);
extern int Gmatrix1d(int,int*,int*,int,int*,int*,double*);
extern int Gmatrix2d(int,int*,int*,int,int*,int*,double*);
extern int Gmatrix3d(int,int*,int*,int,int*,int*,double*);
extern double sinc(double);
extern int chunkgmatrix(double*,double*,int,int,int,int);
extern int topbit(int);
/* -------------------------
* TRANSFORM ROUTINES
* ------------------------- */
extern int L_ft1d(float *, int, int, int, int *, int, int, int *);
extern int L_canny(float, float *, int, int, float **, char *);
extern int L_wt1d(int kernel, float *wt, int n, int order, int type);
extern int L_wt2d(int kernel, float *wt, int n, int order, int type);
extern int L_ftshift1d(float *data, int ndim, int *dim);
extern int L_ftshift2d(float *data, int ndim, int *dim);
#endif
/* -----------------------------------------------------------------------
* SECTION 2. COMMAND TABLE DEFINITION
*
* All new V routines should be added to this list of commands in order
* for them to be incorporated. Insert all new commands in the
* alphabetically correct positions, following the format of the other
* commands, i.e. "commandname", V_routine. The routine V_routine will
* be called when the user calls "commandname".
*
* ----------------------------------------------------------------------- */
#ifdef COMMAND_HOME
COMMAND cmdtable[] = {
"about", V_about,
"abs", V_abs,
"add", V_add,
"cabs", V_abs,
"canny", V_canny,
"center", V_center,
"cft1d", V_ft1d,
"cft2d", V_ft2d,
"cft3d", V_ft3d,
"cft4d", V_ft4d,
"chunk", V_chunk,
"conj", V_conj,
"create", V_create,
"displ", V_displ,
"div", V_div,
"dump2file", V_dump2file,
"dump2term", V_dump2term,
"ft", V_ft,
"ft1d", V_ft1d,
"ft2d", V_ft2d,
"ft3d", V_ft3d,
"ft4d", V_ft4d,
"ftshift", V_ftshift,
"ftshift1d", V_ftshift1d,
"ftshift2d", V_ftshift2d,
"glue", V_glue,
"gplot", V_gplot,
"gplot2d", V_gplot2d,
"group", V_group,
"gslim", V_gslim,
"h", V_history,
"help", V_help,
"hftrec", V_hftrec,
"history", V_history,
"hsvd", V_hsvd,
"i", V_i,
"imag", V_imag,
"label", V_label,
"linbrd", V_linbrd,
"linscl", V_linscl,
"lpsvd", V_lpsvd,
"man", V_man,
"merge", V_merge,
"mirror", V_mirror,
"movie", V_movie,
"mult", V_mult,
"o", V_o,
"pendpar", V_pendpar,
"phase", V_phase,
"pishft", V_pishft,
"pishft1d", V_pishft1d,
"pishft2d", V_pishft2d,
"pishft3d", V_pishft3d,
"pishft4d", V_pishft4d,
"pop", V_pop,
"print", V_dump2term,
"push", V_push,
"ramp", V_ramp,
"random", V_random,
"real", V_real,
"redim", V_redim,
"reorder", V_reorder,
"replace", V_replace,
"rigr", V_rigr,
"rmdc", V_rmdc,
"scale", V_scale,
"settype", V_settype,
"show_reg", V_show_reg,
"slim", V_slim,
"slim_cond", V_slim_cond,
"slim_psf", V_slim_psf,
"split", V_split,
"stack", V_stack,
"stats", V_stats,
"stuff", V_stuff,
"sub", V_sub,
"swap", V_swap,
"synfid", V_synfid,
"thresh", V_thresh,
"trigr", V_trigr,
"trunc", V_trunc,
"uniffill", V_uniffill,
"unstack", V_unstack,
"unwrap", V_unwrap,
"vpnls", V_vpnls,
"window1d", V_window1d,
"wt1d", V_wt1d,
"wt2d", V_wt2d,
"xchg", V_xchg,
"xtrp", V_xtrp,
"zeropad", V_zeropad,
"zphase", V_zphase,
NULL,
NULL };
#else
extern COMMAND *cmdtable;
#endif