package yi.iu.imgdb.learn;

import java.util.LinkedList;

/**
 * Those class implements this interface can provide feature vectors for
 * learning.  It converts features from an image to vectors.  It represents
 * features.  It picks up only the valuable information.
 */
public interface FeatureRepresentable
{
//  public FeatureRepresentable createFeatureFromFile(String processor_name,
//      int scale,
//      String img) throws Exception;
//
//  public FeatureRepresentable createFeatureFromFile(String processor_name,
//      int scale, int rst_scale,
//      String img) throws Exception;

   /**
    * Given an image, return the feature vectors, linked list of double[].
    * "processor_name" indicates the generator of the feature vectors.  "mode"
    * tells what kind of feature vector format to use.
    * @param processor_name
    * @param scale
    * @param img
    * @param mode
    * @return
    */
   public FeatureRepresentationList represent(String processor_name, int mode)  throws Exception;

}
