Perceptual Organization Code Corrections 02/09/1995


1. HAVE TO EDIT THE "HARDWIRED" PATH NAMES. 
  • Change line 40 in Preattentive/bounal.c from

  • system("/opt/lidokey/sarkar/Perceptual_Organization/bin/Find_strands_cycles /tmp/bounal.graph /tmp/strands.list /tmp/cycles.list");
    to
    system("_ABSOLUTE_PATH_NAME_OF_YOUR_DIRECTORY_GOES_HERE_/bin/Find_strands_cycles /tmp/bounal.graph /tmp/strands.list /tmp/cycles.list");
     
  • Change line 487 in Attentive/main_panel.c from

  • sprintf(command, "/opt/lidokey/sarkar/Perceptual_Organization/bin/Find_comps /tmp/conflict.graph /tmp/comps.list %f", PROB_RATIO);
    to
    sprintf(command, "_ABSOLUTE_PATH_NAME_OF_YOUR_DIRECTORY_GOES_HERE_/bin/Find_comps /tmp/conflict.graph /tmp/comps.list %f", PROB_RATIO);
  • Line 529 in Attentive/main_panel.c from

  • sprintf(command, "time /opt/lidokey/sarkar/Perceptual_Organization/Find_cliques /tmp/conflict.graph /tmp/cliques.list %f", PROB_RATIO);
    to
    sprintf(command, "time _ABSOLUTE_PATH_NAME_OF_YOUR_DIRECTORY_GOES_HERE_/bin/Find_cliques /tmp/conflict.graph /tmp/cliques.list %f", PROB_RATIO);
  • Change line 422 in Attentive/methods_attentive.c from

  • system ("$HOME/bin/sort_information ../tmp/inf.mat ../tmp/inf.sort");
    to
    system ("_ABSOLUTE_PATH_NAME_OF_YOUR_DIRECTORY_GOES_HERE_/bin/sort_information /tmp/inf.mat /tmp/inf.sort");
  • Lines 717, 722, 727, 732 in Preattentive/organ.c needs to be amended to

  • system ("ABSOLUTE_PATH_NAME_OF_YOUR_DIRECTORY_GOES_HERE_/bin/est_param.......

    1. MAY need to comment out the declarations of PI's in the code.

    They are in:
    Line 15 in Preattentive/organ.c
    Line 27 in Preattentive/organ2.c
    Line 25 in Preattentive/header.c

    Line 52 in Attentive/header.c
    Line 31 in Attentive/main_panel.c


    3. The following lines define paths RELATIVE to the pin directory. They point to directories where the PIN network definitions are stored. If you run the Attentive part from any place other than the bin directory, you will need to change the following lines of the code. You may also edit the path names in the XVIEW panel which shows up when you run the 'pin' program.

    Change lines 115 to 118 in Attentive/main_panel.c

    strcpy (network_file1, "../PIN_Construction/pin.out");
    strcpy (network_file2, "../PIN_Construction/pin.out2");
    strcpy (resource_file, "../Attentive/resource.info");
    strcpy (layout_file, "../Attentive/layout.pin");


    4. Change lines 1775-1777 in Attentive/local_lib.c from
    float get_mohan_symmetry_axis (struct xy_list *segment1, struct xy_list *segment2, struct xy_list **output, int output_flag = 1)
    to
    float get_mohan_symmetry_axis (struct xy_list *segment1, struct xy_list *segment2, struct xy_list **output, int output_flag) 
    5. Change lines 85-87 in Attentive/header.h from
    void get_arc_xy (float x1, float y1, float x2, float y2, float xc, float yc, float radius, struct xy_list **output, float error = 0.0);
    to
    void get_arc_xy (float x1, float y1, float x2, float y2, float xc, float yc, float radius, struct xy_list **output);
    6. Comment out line 4 in Attentive/Graph_rpsd.c
    7. Change line 458 of PIN_Construction/methods_PIN.c from

    E_level->opt_mergings = new struct match_list;
    to
    E_level->opt_mergings = new match_list;


    8. Change line 278 of RPSD_Design/header.h from
    int n_of_deletes; n_of_psds;
    to
    int n_of_deletes, n_of_psds; 
    9. Change line 10 in RPSD_Design/Graph.c from
    struct int_list int_list_ex;
    to
    extern struct int_list int_list_ex; 
  • Change line 417 in Attentive/methods_attentive.c from

  • if ((outfile = fopen("../tmp/sensor.inf", "w")) == NULL)
    to
    if ((outfile = fopen("/tmp/sensor.inf", "w")) == NULL)

  • Change line 427 in Attentive/methods_attentive.c from

  • if ((sensor_file = fopen("../tmp/inf.sort", "r")) == NULL)
    to
    if ((sensor_file = fopen("/tmp/inf.sort", "r")) == NULL)

  • Insert the following at line 45 in Attentive/Makefile

  • ../bin/sort_information: sort_information.c gcc ${INCLUDE} sort_information.c -o ../bin/sort_information -lm

    And change the following line in the same Makefile from
    all: ../bin/Find_cliques ../bin/Find_comps $(EXEC)
    to
    all: ../bin/Find_cliques ../bin/Find_comps ../bin/sort_information $(EXEC)


  • Change following lines in RPSD_Design/main.c from

  • Line 74: from frame = (Frame)xv_create(NULL, FRAME,
    to frame = (Frame)xv_create(XV_NULL, FRAME,
    Line 80: from cms = (Cms) xv_create(NULL, CMS,
    to cms = (Cms) xv_create(XV_NULL, CMS,
    Line 95: from menu_load = (Menu)xv_create(NULL, MENU,
    to menu_load = (Menu)xv_create(XV_NULL, MENU,
    Line 102: from menu_model_list = xv_create(NULL, MENU,
    to menu_model_list = xv_create(XV_NULL, MENU,
    Line 109: from menu_edit= (Menu)xv_create(NULL, MENU,
    to menu_edit= (Menu)xv_create(XV_NULL, MENU,
    Line 219: from strs[n][0] = NULL;
    to strs[n][0] = '\0';
    Line 408: from prim_rel_frame = NULL;
    to prim_rel_frame = XV_NULL;
    Line 773: from attr_menu = (Menu) xv_create(NULL, MENU,
    to attr_menu = (Menu) xv_create(XV_NULL, MENU,
    Line 778: from mi = (Menu_item) xv_create (NULL, MENUITEM,
    to mi = (Menu_item) xv_create (XV_NULL, MENUITEM,
    Line 796: from attr_menu = (Menu) xv_create(NULL, MENU,
    to attr_menu = (Menu) xv_create(XV_NULL, MENU,
    Line 800: from mi = (Menu_item) xv_create (NULL, MENUITEM,
    to mi = (Menu_item) xv_create (XV_NULL, MENUITEM,
    Line 940: from mi = (Menu_item) xv_create (NULL, MENUITEM,
    to mi = (Menu_item) xv_create (XV_NULL, MENUITEM,
    Line 948: from mi = (Menu_item) xv_create (NULL, MENUITEM,
    to mi = (Menu_item) xv_create (XV_NULL, MENUITEM,


  • return(NULL) statements might be flagged as errors in some instances:

  • Go to lines 79 in lib/C++/linked_list.c and change
    the return(NULL) statements to return(0)

    Go to lines 92 in lib/C++/float_list.c and change
    the return(NULL) statements to return(0)

    Go to lines 76, 90, 104, and 107 in lib/C++/xy_list.c and change
    the return (NULL) statements to return(0):

    Change lines 55, 69, 83, 86 in /lib/C++/xy_list_int.c from
      "return(NULL)" to  "return(0)"
       


  • Change lines 121 and 122 in Attentive/main_panel.c from

  • strcpy(inform_file, "../tmp/sensor.inf");
    strcpy(out_file, "../tmp/token_s.lisp");
    to
    strcpy(inform_file, "/tmp/sensor.inf");
    strcpy(out_file, "/tmp/token_s.lisp");


  • Change line 28 in methods_attentive.c from

  • if (i==0) indices_t[i] = 0;
    to
    if (i==0) indices_t[i] = -1;

    and Change line 44 in methods_attentive.c from
    if (i==0) indices_s[i] = 0;
    to
    if (i==0) indices_s[i] = -1;


    Contact Person: Sudeep Sarkar (sarkar@cs.csee.usf.edu)