i am learning about xcv example.  vil1_image was used in this example,i want to replace vil into vil1.
so i modified as follows:
vgui_tableau_sptr create_tableau(vil_image_view_base_sptr img)
 xcv_image_tableau_new       image (*img);
 vgui_easy2D_tableau_new     easy  (image);
 vgui_rubberband_tableau_new rubber(new vgui_rubberband_easy2D_client(easy));
 vgui_composite_tableau_new  comp(easy,rubber);
 xcv_picker_tableau_new      picker(comp);
 vgui_viewer2D_tableau_new   view  (picker);
 return view;

void add_image_at(vcl_string image_filename, unsigned col, unsigned row)
 vil_image_resource_sptr img = vil_load_image_resource(image_filename.c_str());
 if (!img) return;

 gui_tableau_sptr tab = create_tableau(img->get_view());
xcv_tab->add_at(tab, col, row);

bool get_image_at(vil_image_view_base_sptr img, unsigned col, unsigned row)
 xcv_image_tableau_sptr img_tab = get_image_tableau_at(col, row);
 if (img_tab)
  img = img_tab->get_image_view();
  return true;
 vgui_macro_warning << "Unable to get image at ("<< col <<", "<< row << ")\n";
 return false;

At the same time, i  use vil in xcv_image_tableau class.

After modification, i met a question: i made some operation about display such as set image on center view after  i loaded image into xcv app, i can not get vil_image_view_base_sptr in get_image_at() function. when this sentence" img = img_tab->get_image_view();"was executed ,img pointer was not  NULL., but when went to next sentence, img = NULL.

so i do not know why. please give me a hand.