> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atomscale.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get SEM Fingerprint

> Retrieve the SEM image fingerprint for surface morphology analysis

Returns a computed fingerprint characterizing the surface morphology from an SEM image. The response segments detected features into three categories (inliers, low outliers, and high outliers) based on the selected feature metric, each with an RLE-encoded mask and statistics.

<ParamField path="data_id" type="string" required>
  The data entry UUID for the SEM image
</ParamField>

<ParamField query="feature" type="string" default="area">
  Feature metric to use for fingerprinting (e.g., `area`)
</ParamField>

## Response

<ResponseField name="data_id" type="string">
  Data entry UUID
</ResponseField>

<ResponseField name="processed_data_id" type="string">
  Processed data UUID
</ResponseField>

<ResponseField name="total_count" type="integer">
  Total number of detected features
</ResponseField>

<ResponseField name="low_outliers" type="object">
  Features classified as low outliers

  <Expandable title="properties">
    <ResponseField name="mask" type="object">
      RLE-encoded mask for this category

      <Expandable title="properties">
        <ResponseField name="mask_rle" type="string">
          Run-length encoded mask data
        </ResponseField>

        <ResponseField name="mask_height" type="integer">
          Mask height in pixels
        </ResponseField>

        <ResponseField name="mask_width" type="integer">
          Mask width in pixels
        </ResponseField>

        <ResponseField name="color" type="array">
          RGBA color for visualization
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="details" type="object">
      Statistics for this category

      <Expandable title="properties">
        <ResponseField name="count" type="integer">
          Number of features in this category
        </ResponseField>

        <ResponseField name="percentage" type="number">
          Percentage of total features
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="inliers" type="object">
  Features classified as inliers (same structure as `low_outliers`)
</ResponseField>

<ResponseField name="high_outliers" type="object">
  Features classified as high outliers (same structure as `low_outliers`)
</ResponseField>

<RequestExample>
  ```python SDK theme={null}
  from atomscale import Client

  client = Client(api_key="YOUR_API_KEY")
  results = client.get(data_ids="d290f1ee-6c54-4b01-90e6-d701748f0851")
  sem = results[0]
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.atomscale.ai/sem/images/d290f1ee-6c54-4b01-90e6-d701748f0851/fingerprint",
      headers={"X-API-KEY": "YOUR_API_KEY"},
      params={"feature": "area"}
  )
  fingerprint = response.json()
  ```

  ```bash cURL theme={null}
  curl "https://api.atomscale.ai/sem/images/d290f1ee-6c54-4b01-90e6-d701748f0851/fingerprint?feature=area" \
    -H "X-API-KEY: YOUR_API_KEY"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "data_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
    "processed_data_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
    "total_count": 142,
    "low_outliers": {
      "mask": {
        "mask_rle": "0 50 1 10 0 200 ...",
        "mask_height": 1024,
        "mask_width": 1024,
        "color": [255, 0, 0, 0.15]
      },
      "details": {
        "count": 12,
        "percentage": 8.45
      }
    },
    "inliers": {
      "mask": {
        "mask_rle": "0 30 1 20 0 180 ...",
        "mask_height": 1024,
        "mask_width": 1024,
        "color": [0, 255, 0, 0.15]
      },
      "details": {
        "count": 118,
        "percentage": 83.1
      }
    },
    "high_outliers": {
      "mask": {
        "mask_rle": "0 100 1 5 0 300 ...",
        "mask_height": 1024,
        "mask_width": 1024,
        "color": [0, 0, 255, 0.15]
      },
      "details": {
        "count": 12,
        "percentage": 8.45
      }
    }
  }
  ```
</ResponseExample>
