static int window_instance_command(ClientData data, Tcl_Interp *interp,
static int message_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int close_device_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int start_server_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int stop_server_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int clean_server_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int load_file_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int save_file_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int save_obj_file_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int draw_raw_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int recolor_image_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int ask_e3d_info_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int bad_draw_raw_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int intensity_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int bc_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int plot_line_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int plot_spaxels_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int create_slice_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int plot_spectra_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int save_spectra_sel_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int load_spectra_sel_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int load_n_spectra_sel_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int nearest_spax_command(Tcl_Interp *interp, int argc, char *argv[]);
static int mark_range_command(Tcl_Interp *interp, int argc, char *argv[]);
static int create_obj_command(Tcl_Interp *interp, int argc, char *argv[]);
static int reverse_obj_command(Tcl_Interp *interp, int argc, char *argv[]);
static int load_obj_command(Tcl_Interp *interp, int argc, char *argv[]);
static int create_spec_command(Tcl_Interp *interp, int argc, char *argv[]);
static int load_spec_command(Tcl_Interp *interp, int argc, char *argv[]);
static int plot_spectra_mem_command(Tcl_Interp *interp, int argc, char *argv[]);
static int sub_spec_command(Tcl_Interp *interp, int argc, char *argv[]);
static int skysub_command(Tcl_Interp *interp, int argc, char *argv[]);
static int div_spec_command(Tcl_Interp *interp, int argc, char *argv[]);
static int specarith_command(Tcl_Interp *interp, int argc, char *argv[]);
static int slicearith_command(Tcl_Interp *interp, int argc, char *argv[]);
static int create_map_command(Tcl_Interp *interp, int argc, char *argv[]);
static int plot_map_command(Tcl_Interp *interp, int argc, char *argv[]);
static int save_map_command(Tcl_Interp *interp, int argc, char *argv[]);
static int save_slice_command(Tcl_Interp *interp, int argc, char *argv[]);
static int theoretical_dar_command(Tcl_Interp *interp, int argc, char *argv[]);
static int correct_dar_command(Tcl_Interp *interp, int argc, char *argv[]);
static int empirical_dar_command(Tcl_Interp *interp, int argc, char *argv[]);
static int simple_dar_command(Tcl_Interp *interp, int argc, char *argv[]);
static int pm_dar_command(Tcl_Interp *interp, int argc, char *argv[]);
static int peak_dar_command(Tcl_Interp *interp, int argc, char *argv[]);
static int zoom_raw_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int release_raw_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int tcl_pgptxt_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int save_spec_command(Tcl_Interp *interp, int argc, char *argv[]);
static int save_spec_table_command(Tcl_Interp *interp, int argc, char *argv[]);
static int set_first_last_command(Tcl_Interp *interp, int argc, char *argv[]);
static int set_grid_command(Tcl_Interp *interp, int argc, char *argv[]);
static int save_raw_command(Tcl_Interp *interp, int argc, char *argv[]);
static int save_cut_command(Tcl_Interp *interp, int argc, char *argv[]);
static int read_vel_map_command(Tcl_Interp *interp, int argc, char *argv[]);
static int read_cont_map_command(Tcl_Interp *interp, int argc, char *argv[]);
static int plot_scale_command(Tcl_Interp *interp, int argc, char *argv[]);
static int set_flag_spec_command(Tcl_Interp *interp, int argc, char *argv[]);
static int save_PT_command(Tcl_Interp *interp, int argc, char *argv[]);
static int export_rss_command(Tcl_Interp *interp, int argc, char *argv[]);
static int import_rss_command(Tcl_Interp *interp, int argc, char *argv[]);
static int export_cube_command(Tcl_Interp *interp, int argc, char *argv[]);
static int import_cube_command(Tcl_Interp *interp, int argc, char *argv[]);
static int import_map_command(Tcl_Interp *interp, int argc, char *argv[]);
static int import_spectra_command(Tcl_Interp *interp, int argc, char *argv[]);
static int encircled_spax_command(Tcl_Interp *interp, int argc, char *argv[]);
static int flux_spax_command(Tcl_Interp *interp, int argc, char *argv[]);
static int stats_spax_command(Tcl_Interp *interp, int argc, char *argv[]);
static int clean_device_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int set_type_spec_rep_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int fit_single_line_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int guess_single_line_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int feed_slice_command(Tcl_Interp *interp, int argc, char *argv[]); 
static int plot_flux_spax_command(Tcl_Interp *interp, int argc, char *argv[]);
//static int fit_flux_spax_command(Tcl_Interp *interp, int argc, char *argv[]);
 *  argc     int    The number of command line arguments.
 *  argv    char*[] The array of command-line argument strings.
 * Create the TCL command used to initialization the demo.
 * This function provides the TCL command that creates a pgdemo
 * manipulation command. This opens the two given PGPLOT widgets to
 *  argc             int    The number of command arguments.
 *  argv            char ** The array of 'argc' command arguments.
 *                          argv[1] = The name to give the new command.
	     argv[0], " new_command_name image_widget\'", NULL);
 * Allocate a context object for the command.
  Tcl_CreateCommand(interp, cmd, window_instance_command,NULL,NULL);
   * Return the command name.
static int window_instance_command(ClientData data, Tcl_Interp *interp, int argc, char *argv[]) {
  char *command;
 * We must have at least one command argument.
    Tcl_SetResult(interp, "USE: create_env NAME_ENV PGPLOT_DEVICE_NAME", TCL_STATIC);
   * Get the command-name argument.
  command = argv[1];
  if(strcmp(command, "message") == 0)
    return message_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "close_device") == 0)
    return close_device_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "start_server") == 0)
    return start_server_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "stop_server") == 0)
    return stop_server_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "clean_server") == 0)
    return stop_server_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "load_file") == 0)
    return load_file_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "save_file") == 0)
    return save_file_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "save_obj_file") == 0)
    return save_obj_file_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "draw_raw") == 0)
    return draw_raw_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "recolor_image") == 0)
    return recolor_image_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "ask_e3d_info") == 0)
    return ask_e3d_info_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "open_device") == 0)
    return open_device_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "close_device") == 0)
    return close_device_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "intensity") == 0)
    return intensity_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "bc") == 0)
    return bc_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "plot_line") == 0)
    return plot_line_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "plot_spaxels") == 0)
    return plot_spaxels_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "create_slice") == 0)
    return create_slice_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "plot_spectra") == 0)
    return plot_spectra_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "plot_spectra_mem") == 0)
    return plot_spectra_mem_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "save_spectra_sel") == 0)
    return save_spectra_sel_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "load_spectra_sel") == 0)
    return load_spectra_sel_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "load_n_spectra_sel") == 0)
    return load_n_spectra_sel_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "nearest_spax") == 0)
    return nearest_spax_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "flux_spax") == 0)
    return flux_spax_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "plot_flux_spax") == 0)
    return plot_flux_spax_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "stats_spax") == 0)
    return stats_spax_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "encircled_spax") == 0)
    return encircled_spax_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "mark_range") == 0)
    return mark_range_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "create_obj") == 0)
    return create_obj_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "reverse_obj") == 0)
    return reverse_obj_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "load_obj") == 0)
    return load_obj_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "create_spec") == 0)
    return create_spec_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "load_spec") == 0)
    return load_spec_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "sub_spec") == 0)
    return sub_spec_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "skysub") == 0)
    return skysub_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "specarith") == 0)
    return specarith_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "slicearith") == 0)
    return slicearith_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "div_spec") == 0)
    return div_spec_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "create_map") == 0)
    return create_map_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "export_cube") == 0)
    return export_cube_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "save_map") == 0)
    return save_map_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "save_spec") == 0)
    return save_spec_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "save_raw") == 0)
    return save_raw_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "save_cut") == 0)
    return save_cut_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "save_spec_table") == 0)
    return save_spec_table_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "save_slice") == 0)
    return save_slice_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "save_PT") == 0)
    return save_PT_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "export_rss") == 0)
    return export_rss_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "import_rss") == 0)
    return import_rss_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "import_spectra") == 0)
    return import_spectra_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "import_cube") == 0)
    return import_cube_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "import_map") == 0)
    return import_map_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "plot_map") == 0)
    return plot_map_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "theoretical_dar") == 0)
    return theoretical_dar_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "correct_dar") == 0)
    return correct_dar_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "empirical_dar") == 0)
    return empirical_dar_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "simple_dar") == 0)
    return simple_dar_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "pm_dar") == 0)
    return pm_dar_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "peak_dar") == 0)
    return peak_dar_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "zoom_raw") == 0)
    return zoom_raw_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "release_raw") == 0)
    return release_raw_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "clean_device") == 0)
    return clean_device_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "tcl_pgptxt") == 0)
    return tcl_pgptxt_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "set_first_last") == 0)
    return set_first_last_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "set_grid") == 0)
    return set_grid_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "set_flag_spec") == 0)
    return set_flag_spec_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "read_cont_map") == 0)
    return read_cont_map_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "read_vel_map") == 0)
    return read_vel_map_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "plot_scale") == 0)
    return plot_scale_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "set_type_spec_rep") == 0)
    return set_type_spec_rep_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "fit_single_line") == 0)
    return fit_single_line_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "guess_single_line") == 0)
    return guess_single_line_command(interp, argc - 2, argv + 2);
  else if(strcmp(command, "feed_slice") == 0)
    return feed_slice_command(interp, argc - 2, argv + 2);
 * Unknown command name.
  Tcl_AppendResult(interp, argv[0], ": Unknown demo command \"",
static int read_vel_map_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: read_vel_map MAPFILE sistemic_Angstroms [resolution]", NULL);
static int read_cont_map_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: read_vel_map MAPFILE WIDTH", NULL);
static int set_grid_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: set_grid grid_func grid_opt pixel_size", NULL);
static int set_type_spec_rep_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: set_type_spec_rep type save n_buffer", NULL);
static int set_flag_spec_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: set_flag_spec flag_spec", NULL);
static int set_first_last_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: set_first_last first last", NULL);
static int tcl_pgptxt_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp,"USE: tcl_pgptxt x y j f text size color width", NULL);
static int zoom_raw_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: zoom_raw pix1 pix2 dev_id", NULL);
static int release_raw_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: release_raw dev_id", NULL);
static int clean_device_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: clean_device dev_id", NULL);
static int empirical_dar_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: empirical_dar INDEX_OF_COMPARISON_WAVELENGTH DELTA_INDEX", NULL);
static int simple_dar_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: simple_dar COMP_INDEX DELTA_INDEX", NULL);
static int pm_dar_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: pm_dar COMP_INDEX DELTA_INDEX", NULL);
static int peak_dar_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: peak_dar COMP_INDEX DELTA_INDEx", NULL);
static int correct_dar_command(Tcl_Interp *interp, int argc, char *argv[]) {
static int theoretical_dar_command(Tcl_Interp *interp, int argc, char *argv[]) {
static int save_slice_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: save_slice n_slice filename units outputtype[0=fits,1=ascii]", NULL);
static int save_PT_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: save_PT filename", NULL);
static int export_rss_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: export_rss FITSFILE POSITION_TABLE", NULL);
static int save_map_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: save_map n_map filename", NULL);
static int export_cube_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: export_cube filename", NULL);
static int save_cut_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: save_cut SPECTRA_FILE", NULL);
static int save_raw_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: save_raw SPECTRA_FILE", NULL);
static int save_spec_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: save_spec MAPFILE i_spax", NULL);
static int save_spec_table_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: save_spec_table MAPFILE units flag i_spax", NULL);
static int plot_map_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: plot_map min max device palette bright contra sign n_map", NULL);
static int create_map_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: create_map i1 i2 [dpix] [square=0/1]", NULL);
static int div_spec_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: div_spec n_spec1 n_spec2", NULL);
static int sub_spec_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: sub_spec n_spec1 n_spec2", NULL);
static int skysub_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: skysub n_spec", NULL);
static int slicearith_command(Tcl_Interp *interp, int argc, char *argv[]) {
  char command[1];
    Tcl_AppendResult(interp, "USE: slicearith n_spec1 command n_spec2 n3", NULL);
  strcpy(command,argv[1]);
  //  printf("ARITH %d %s %d %d\n",n1,command,n2,n3);
    if(strcmp(command, "-") == 0) {      
    if(strcmp(command, "+") == 0) {      
    if(strcmp(command, "*") == 0) {      
    if(strcmp(command, "/") == 0) {      
static int specarith_command(Tcl_Interp *interp, int argc, char *argv[]) {
  char command[1];
    Tcl_AppendResult(interp, "USE: specarith n_spec1 command n_spec2", NULL);
  strcpy(command,argv[1]);
  if(strcmp(command, "-") == 0) {      
  if(strcmp(command, "+") == 0) {      
  if(strcmp(command, "*") == 0) {      
  if(strcmp(command, "/") == 0) {      
static int create_spec_command(Tcl_Interp *interp, int argc, char *argv[]) {
static int load_spec_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: load_spec n_spec", NULL);
static int create_obj_command(Tcl_Interp *interp, int argc, char *argv[]) {
static int load_obj_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: load_obj n_obj", NULL);
static int reverse_obj_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: reverse_obj n_obj", NULL);
static int mark_range_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_SetResult(interp, "USE: mark_range dev_id colorindex lweight lstyle text x1 y1 x2 y2", TCL_STATIC);
static int nearest_spax_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: nearest_spax X Y", NULL);
static int flux_spax_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: flux_spax SPAXEL_INDEX", NULL);
static int plot_flux_spax_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: plot_flux_spax device clean", NULL);
static int stats_spax_command(Tcl_Interp *interp, int argc, char *argv[]) {
  //    Tcl_AppendResult(interp, "USE: stats_spax SPAXEL_INDEX", NULL);
static int encircled_spax_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: encircled_spax X Y R index", NULL);
static int save_spectra_sel_command(Tcl_Interp *interp, int argc, char *argv[]) {
static int load_n_spectra_sel_command(Tcl_Interp *interp, int argc, char *argv[]) {
static int load_spectra_sel_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: load_sepectra_sel n_sel", NULL);
static int plot_spectra_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: plot_spectra min max device clean palette bright contra sign i_spax [SAVE] [NBUFFER]", NULL);
static int plot_spectra_mem_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: plot_spectra_mem min max device device2 palette bright contra sign [clean]", NULL);
static int fit_single_line_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: fit_single_line min max device palette bright contra sign Ig D_Ig fit Wo D_Wo fit sigma D_sigma fit Continuum D_Continuum fit CHISQ_LIM paint", NULL);
static int guess_single_line_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: guess_single_line", NULL);
static int feed_slice_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: feed_slice n_feed list", NULL);
static int plot_scale_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: plot_scale min max device bright contra sign colormap title top_min top_max border", NULL);
static int plot_spaxels_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: plot_spaxels min max device i1 i2 palette bright contra sign save fill text_flag [new_img] [back_color] [n_contours]", NULL);
static int create_slice_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: create_slice i1 i2 slice_index text_flag", NULL);
static int plot_line_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_SetResult(interp, "USE: plot_line dev_id colorindex lweight lstyle X_points Y_points: Argument Error", TCL_STATIC);
    Tcl_SetResult(interp, "USE: plot_line dev_id colorindex lweight lstyle X_points Y_points: Argument Error", TCL_STATIC);
static int message_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: message dev_id message", NULL);
static int close_device_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: close_device dev_id", NULL);
static int start_server_command(Tcl_Interp *interp, int argc, char *argv[]) {  
static int stop_server_command(Tcl_Interp *interp, int argc, char *argv[]) {  
static int clean_server_command(Tcl_Interp *interp, int argc, char *argv[]) {  
static int save_file_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: save_file filename", NULL);
static int save_obj_file_command(Tcl_Interp *interp, int argc, char *argv[]) {
      Tcl_AppendResult(interp, "USE: save_obj_file n_obj FILE", NULL);
static int load_file_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: load_file filename", NULL);    
static int import_rss_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: import_rss rss_fitsfile positiontable", NULL);    
static int import_spectra_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: import_spectra spectra_fitsfile", NULL);    
static int import_cube_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: import_cube cube_fitsfile", NULL);    
static int import_map_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: import_map cube_fitsfile", NULL);    
static int draw_raw_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_AppendResult(interp, "USE: draw_raw min max device clean palette bright contra sign first_spec last_spec", NULL);
static int recolor_image_command(Tcl_Interp *interp, int argc, char *argv[]) {
  char commands[80];
    Tcl_SetResult(interp, "USE: recolor_image PALETTE Dev_id Bright Constrast SIGN", TCL_STATIC);
  sprintf(commands,"%d %f %f %f %d",p,bright,contra,sign,dev_id);
static int bad_draw_raw_command(Tcl_Interp *interp, int argc, char *argv[]) {
  char commands[80];
  sprintf(commands,"%d",dev_id);
  ask_draw_raw(commands);
static int intensity_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_SetResult(interp, "USE: intensity x y nx ny ", TCL_STATIC);
static int open_device_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_SetResult(interp, "USE: open_device DEVICE", TCL_STATIC);
static int ask_e3d_info_command(Tcl_Interp *interp, int argc, char *argv[]) {
static int bc_command(Tcl_Interp *interp, int argc, char *argv[]) {
    Tcl_SetResult(interp, "USE: bc x", TCL_STATIC);
