content: 
  //
  // This file is auto-generated. Please don't modify it!
  //
  package org.opencv.ml;
  
  import org.opencv.core.Mat;
  
  // C++: class CvRTrees
  /**
   * <p>The class implements the random forest predictor as described in the
   * beginning of this section.</p>
   *
   * @see <a href="http://docs.opencv.org/modules/ml/doc/random_trees.html#cvrtrees">org.opencv.ml.CvRTrees : public CvStatModel</a>
   */
  public class CvRTrees extends CvStatModel {
  
      protected CvRTrees(long addr) { super(addr); }
  
  
      //
      // C++:   CvRTrees::CvRTrees()
      //
  
      public   CvRTrees()
      {
  
          super( CvRTrees_0() );
  
          return;
      }
  
  
      //
      // C++:  void CvRTrees::clear()
      //
  
      public  void clear()
      {
  
          clear_0(nativeObj);
  
          return;
      }
  
  
      //
      // C++:  Mat CvRTrees::getVarImportance()
      //
  
  /**
   * <p>Returns the variable importance array.</p>
   *
   * <p>The method returns the variable importance vector, computed at the training
   * stage when <code>CvRTParams.calc_var_importance</code> is set to true. If
   * this flag was set to false, the <code>NULL</code> pointer is returned. This
   * differs from the decision trees where variable importance can be computed
   * anytime after the training.</p>
   *
   * @see <a href="http://docs.opencv.org/modules/ml/doc/random_trees.html#cvrtrees-getvarimportance">org.opencv.ml.CvRTrees.getVarImportance</a>
   */
      public  Mat getVarImportance()
      {
  
          Mat retVal = new Mat(getVarImportance_0(nativeObj));
  
          return retVal;
      }
  
  
      //
      // C++:  float CvRTrees::predict(Mat sample, Mat missing = cv::Mat())
      //
  
  /**
   * <p>Predicts the output for an input sample.</p>
   *
   * <p>The input parameters of the prediction method are the same as in
   * "CvDTree.predict" but the return value type is different. This method
   * returns the cumulative result from all the trees in the forest (the class
   * that receives the majority of voices, or the mean of the regression function
   * estimates).</p>
   *
   * @param sample Sample for classification.
   * @param missing Optional missing measurement mask of the sample.
   *
   * @see <a href="http://docs.opencv.org/modules/ml/doc/random_trees.html#cvrtrees-predict">org.opencv.ml.CvRTrees.predict</a>
   */
      public  float predict(Mat sample, Mat missing)
      {
  
          float retVal = predict_0(nativeObj, sample.nativeObj, missing.nativeObj);
  
          return retVal;
      }
  
  /**
   * <p>Predicts the output for an input sample.</p>
   *
   * <p>The input parameters of the prediction method are the same as in
   * "CvDTree.predict" but the return value type is different. This method
   * returns the cumulative result from all the trees in the forest (the class
   * that receives the majority of voices, or the mean of the regression function
   * estimates).</p>
   *
   * @param sample Sample for classification.
   *
   * @see <a href="http://docs.opencv.org/modules/ml/doc/random_trees.html#cvrtrees-predict">org.opencv.ml.CvRTrees.predict</a>
   */
      public  float predict(Mat sample)
      {
  
          float retVal = predict_1(nativeObj, sample.nativeObj);
  
          return retVal;
      }
  
  
      //
      // C++:  float CvRTrees::predict_prob(Mat sample, Mat missing = cv::Mat())
      //
  
  /**
   * <p>Returns a fuzzy-predicted class label.</p>
   *
   * <p>The function works for binary classification problems only. It returns the
   * number between 0 and 1. This number represents probability or confidence of
   * the sample belonging to the second class. It is calculated as the proportion
   * of decision trees that classified the sample to the second class.</p>
   *
   * @param sample Sample for classification.
   * @param missing Optional missing measurement mask of the sample.
   *
   * @see <a href="http://docs.opencv.org/modules/ml/doc/random_trees.html#cvrtrees-predict-prob">org.opencv.ml.CvRTrees.predict_prob</a>
   */
      public  float predict_prob(Mat sample, Mat missing)
      {
  
          float retVal = predict_prob_0(nativeObj, sample.nativeObj, missing.nativeObj);
  
          return retVal;
      }
  
  /**
   * <p>Returns a fuzzy-predicted class label.</p>
   *
   * <p>The function works for binary classification problems only. It returns the
   * number between 0 and 1. This number represents probability or confidence of
   * the sample belonging to the second class. It is calculated as the proportion
   * of decision trees that classified the sample to the second class.</p>
   *
   * @param sample Sample for classification.
   *
   * @see <a href="http://docs.opencv.org/modules/ml/doc/random_trees.html#cvrtrees-predict-prob">org.opencv.ml.CvRTrees.predict_prob</a>
   */
      public  float predict_prob(Mat sample)
      {
  
          float retVal = predict_prob_1(nativeObj, sample.nativeObj);
  
          return retVal;
      }
  
  
      //
      // C++:  bool CvRTrees::train(Mat trainData, int tflag, Mat responses, Mat varIdx = cv::Mat(), Mat sampleIdx = cv::Mat(), Mat varType = cv::Mat(), Mat missingDataMask = cv::Mat(), CvRTParams params = CvRTParams())
      //
  
  /**
   * <p>Trains the Random Trees model.</p>
   *
   * <p>The method "CvRTrees.train" is very similar to the method "CvDTree.train"
   * and follows the generic method "CvStatModel.train" conventions. All the
   * parameters specific to the algorithm training are passed as a "CvRTParams"
   * instance. The estimate of the training error (<code>oob-error</code>) is
   * stored in the protected class member <code>oob_error</code>.</p>
   *
   * <p>The function is parallelized with the TBB library.</p>
   *
   * @param trainData a trainData
   * @param tflag a tflag
   * @param responses a responses
   * @param varIdx a varIdx
   * @param sampleIdx a sampleIdx
   * @param varType a varType
   * @param missingDataMask a missingDataMask
   * @param params a params
   *
   * @see <a href="http://docs.opencv.org/modules/ml/doc/random_trees.html#cvrtrees-train">org.opencv.ml.CvRTrees.train</a>
   */
      public  boolean train(Mat trainData, int tflag, Mat responses, Mat varIdx, Mat sampleIdx, Mat varType, Mat missingDataMask, CvRTParams params)
      {
  
          boolean retVal = train_0(nativeObj, trainData.nativeObj, tflag, responses.nativeObj, varIdx.nativeObj, sampleIdx.nativeObj, varType.nativeObj, missingDataMask.nativeObj, params.nativeObj);
  
          return retVal;
      }
  
  /**
   * <p>Trains the Random Trees model.</p>
   *
   * <p>The method "CvRTrees.train" is very similar to the method "CvDTree.train"
   * and follows the generic method "CvStatModel.train" conventions. All the
   * parameters specific to the algorithm training are passed as a "CvRTParams"
   * instance. The estimate of the training error (<code>oob-error</code>) is
   * stored in the protected class member <code>oob_error</code>.</p>
   *
   * <p>The function is parallelized with the TBB library.</p>
   *
   * @param trainData a trainData
   * @param tflag a tflag
   * @param responses a responses
   *
   * @see <a href="http://docs.opencv.org/modules/ml/doc/random_trees.html#cvrtrees-train">org.opencv.ml.CvRTrees.train</a>
   */
      public  boolean train(Mat trainData, int tflag, Mat responses)
      {
  
          boolean retVal = train_1(nativeObj, trainData.nativeObj, tflag, responses.nativeObj);
  
          return retVal;
      }
  
  
      @Override
      protected void finalize() throws Throwable {
          delete(nativeObj);
      }
  
  
  
      // C++:   CvRTrees::CvRTrees()
      private static native long CvRTrees_0();
  
      // C++:  void CvRTrees::clear()
      private static native void clear_0(long nativeObj);
  
      // C++:  Mat CvRTrees::getVarImportance()
      private static native long getVarImportance_0(long nativeObj);
  
      // C++:  float CvRTrees::predict(Mat sample, Mat missing = cv::Mat())
      private static native float predict_0(long nativeObj, long sample_nativeObj, long missing_nativeObj);
      private static native float predict_1(long nativeObj, long sample_nativeObj);
  
      // C++:  float CvRTrees::predict_prob(Mat sample, Mat missing = cv::Mat())
      private static native float predict_prob_0(long nativeObj, long sample_nativeObj, long missing_nativeObj);
      private static native float predict_prob_1(long nativeObj, long sample_nativeObj);
  
      // C++:  bool CvRTrees::train(Mat trainData, int tflag, Mat responses, Mat varIdx = cv::Mat(), Mat sampleIdx = cv::Mat(), Mat varType = cv::Mat(), Mat missingDataMask = cv::Mat(), CvRTParams params = CvRTParams())
      private static native boolean train_0(long nativeObj, long trainData_nativeObj, int tflag, long responses_nativeObj, long varIdx_nativeObj, long sampleIdx_nativeObj, long varType_nativeObj, long missingDataMask_nativeObj, long params_nativeObj);
      private static native boolean train_1(long nativeObj, long trainData_nativeObj, int tflag, long responses_nativeObj);
  
      // native support for java finalize()
      private static native void delete(long nativeObj);
  
  }
  