import { Image } from "../Image";
import { ImageCollection } from "../ImageCollection";
import { Boolean } from "../../dataType/Boolean";
import { String } from "../../dataType/String";
import { Number } from "../../dataType/Number";
import { PrintObject } from "@gvol-org/geovis-brain-core";
import { List } from "../../dataType/List";
import { Mvt } from "../Mvt";

/**
 * Services
 * @class Services.SenseEarth
 * @since gve.Services
 * @alias gve.Services.SenseEarth
 */
export class SenseEarth {    

  /**
   * 商汤AI算法: 地表覆盖物分类 
   * @param {Image} image gve.Image对象
   * @param {object} seProperties 参数
   * @returns Mvt
   * @tutorial gve.Services.SenseEarth
   * @alias gve.Services.SenseEarth.Land_Cover_Classify
   * @description 
   * seProperties参数参考示例:
   * {
   *    types: List<any>|any[]|Array<any>, 
   *    clip: object, 
   *    bands: List<any>|any[]|Array<any>, 
   *    del_hole?: number,
   *    dilation_erosion?: number, 
   *    erosion_dilation?: number, 
   *    scores?: number, 
   *    resolution?: number
   * }
   */
  static Land_Cover_Classify(image: Image, seProperties: object) {
    return new Mvt();
  }

  /**
   * 商汤AI算法: 变化检测  
   * @param {Image} image gve.Image对象
   * @param {Image} image1 gve.Image对象
   * @param {object} seProperties 参数
   * @returns Mvt
   * @tutorial gve.Services.SenseEarth
   * @alias gve.Services.SenseEarth.Change_Detection
   * @description 
   * seProperties参数参考示例:
   * {
   *    types: List<any>|any[]|Array<any>, 
   *    clip: object, 
   *    bands: List<any>|any[]|Array<any>, 
   *    del_hole?: number,
   *    dilation_erosion?: number, 
   *    erosion_dilation?: number, 
   *    scores?: number, 
   *    resolution?: number
   * }
   */
  static Change_Detection(image: Image, image1: Image, seProperties: object) {
    return new Mvt();
  }

  /**
   * 商汤AI算法: 目标检测 
   * @param {Image} image gve.Image对象
   * @param {object} seProperties 参数
   * @returns Mvt
   * @tutorial gve.Services.SenseEarth
   * @alias gve.Services.SenseEarth.Object_Detection
   * @description 
   * seProperties参数参考示例:
   * {
   *    types: List<any>|any[]|Array<any>, 
   *    clip: object, 
   *    bands: List<any>|any[]|Array<any>, 
   *    del_hole?: number,
   *    dilation_erosion?: number, 
   *    erosion_dilation?: number, 
   *    scores?: number, 
   *    resolution?: number
   * }
   */
  static Object_Detection(image: Image, seProperties: object) {
    return new Mvt();
  }

}