package yi.iu.imgdb.learn;

/**
 * Draw the demo of picked feature.  Only those picked feature will be drawed
 */

public interface FeaturePickDemoable {
//  /**
//   * Paint the picked region with the pixels from the "from" image.  Those
//   * regions not picked will be painted as "background".  The region will be
//   * picked (or not) based on its feature vector
//   * @param ojb
//   * @param picker
//   * @param from
//   * @param background
//   * @return
//   */
//  abstract public int[] drawPickedFeature(Object obj, FeaturePickable picker, int[] from, int background);

  /**
   * Draw picked features.  The picked features will have "true" in the
   * corresponding "picked" boolean array.  Image name are given in case the
   * demo uses the original image pixels.  Those un-picked features will be
   * drawn by the "bg_color"
   * @param picked
   * @param img_name
   * @param bg_color
   * @param demo_dim return the dimensio of the demo image
   * @param mode if the index of "picked" corresponds to representation, "mode"
   *        corresponds to the representation mode used
   * @return
   */
  abstract public int[] drawPickedFeatures(boolean[] picked, String img_name, int bg_color, java.awt.Dimension demo_dim, int mode);
}