package yi.iu.imgdb.learn;

import java.util.*;
import yi.ds.*;
import yi.ds.hash.*;


/**
 * Classify features to different objects.  Return the probabities or scores
 */

public interface ImgDBClassifier {
  /**
   * Set the models
   * @param models
   */
  public void setModels(ObjImgModel model);

  /**
   * Using the model, classify the feature vector and return the possible
   * classification results.  In the returned hashmap, an entry like:
   * "tree" -> 0.9
   * @param feature
   * @return
   */
  public DoubleScoreHashMap classify(double[] feature);

  /**
   * Using the model, classify those feature vectors and return the possible
   * classification results.  In the returned hashmap, an entry like:
   * "tree" -> 0.9
   * @param features
   * @return
   */
  public DoubleScoreHashMap classify(Collection features);
}