Skip to content

Functions

A function is the description of an operation (and its corresponding settings) that can be performed on one or more files (e.g. compute a point cloud from a video, turn a set of images into a textured mesh, etc). For more details on the functions available in the EveryPoint API, refer to the Function Library.

Get a list of functions

Returns a list of all available functions. Each function in the list is represented by its URI.

Route: /v3{instance-uri}/functions
Method: GET

Sample response body:

{
  "success": true,
  "data": {
    "functions": [
      "/functions/pixels-to-point-cloud",
      "/functions/pixels-to-mesh",
      "/functions/pixels-to-timelapse-video",
      "/functions/images-to-orthomosaic"
    ]
  }
}

Get details of a function

Returns the details for an individual function.

Route: /v3{instance-uri}{function-uri}
Method: GET

Sample response body:

{
  "success": true,
  "data": {
    "function": {
      "uri": "/functions/pixels-to-point-cloud",
      "name": "Pixels to Point Cloud",
      "description": "Process input 2D files to generate a 3D point cloud.",
      "settings": {...}
    }
  }
}

Description of the response attributes:

  • "uri" - Resource identifier for this function.
  • "name" - Name of the function.
  • "description" - Description of the function.
  • "settings" - JSON Schema representation of the available settings for the function. This representation has also been augmented with "description" and "defaultValue" attributes for each of the settings, which provide a human-readable summary of the setting, as well as a recommended default value.

Function Library

Multiple functions are available in the EveryPoint API. The list of functions and their details are discoverable via the function endpoints. However, for ease of reference, the following is a list of the available functions and their details.

Pixels to Point Cloud

Process a set of input 2D files to generate a 3D point cloud.

URI: /functions/pixels-to-point-cloud

The types of inputs that are currently supported are (in any number or combination):

  • Images
  • Videos
  • AR sessions
  • AR lidar sessions

For reference, there are several additional details and restrictions around the inputs:

  • If images are the only type of input that is used, then at least 3 images must be provided.
  • The sensor and lidar data from an AR session (or AR lidar session) is only leveraged when the input is a single AR session (or AR lidar session).

Available settings:

  • output_file_types - List of point cloud file types that should be generated.
    • Type: list
    • Available values: "e57", "ply"

Pixels to Mesh

Process a set of input 2D files to generate a 3D textured mesh.

URI: /functions/pixels-to-mesh

The types of inputs that are currently supported are:

  • A set of images (3 or more)
  • A single video
  • A single AR session
  • A single AR lidar session

Available settings:

  • output_file_types - List of mesh file types that should be generated.
    • Type: list
    • Available values: "obj", "usdz"

Pixels to Timelapse Video

Process a set of input 2D files to generate a timelapse video.

URI: /functions/pixels-to-timelapse-video

The types of inputs that are currently supported are:

  • A set of images
  • A single video
  • A single AR session
  • A single AR lidar session

Images to Orthomosaic

Process a set of input images to generate an orthomosaic.

URI: /functions/images-to-orthomosaic

The types of inputs that are currently supported are:

  • A set of images (3 or more)

Additionally, all inputs must contain values for the following standard attributes:

  • "sensor"
  • "gps_latitude"
  • "gps_longitude"

Available settings:

  • output_file_types - List of orthomosaic file types that should be generated.
    • Type: list
    • Available values: "kml" (a PNG and KML stored as a single ZIP), "tiff" (GeoTIFF)