Skip to main content

Thermal visual fusion configuration

This API is based on the Device Configuration API framework. For guidance on how to use these APIs, refer to the Device Configuration APIs section in the VAPIX Library.

Overview​

The VAPIX® Thermal visual fusion configuration API lets you control the thermal visual fusion view. The view combines two streams: one base stream and one overlaid stream. The camera has a set of resolutions for this view, a fixed scale that is unique to each camera variant, and a default factory alignment setting.

You can choose which source to use for the base stream, set the transparency of the overlaid stream, and control the xy alignment between the two streams. You can also reset the alignment to its default value. The view is available on channel 3 and is not customizable.

In this API, you can control three settings:

  • Fusion mode (GET, SET): choose which source to use for the base stream.
  • Alignment (GET, SET, update, reset): control the xy alignment between the two streams.
  • Transparency (GET, SET): control the transparency of the overlaid stream.

Use cases​

Read fusion mode​

Use this example to get the current thermal visual fusion mode.

GET /config/rest/thermal-visual-fusion/v1/fusionMode HTTP/1.1
HOST: my-device
Content-Type: application/json
HTTP/1.1 200 OK
Content-Type: application/json

{
"status": "success",
"data": "VISUAL"
}

Change fusion mode​

Switch the fusion mode from visual mode (thermal on top of visual stream, 16:9 aspect ratio) to thermal mode (visual on top of thermal, 4:3 aspect ratio).

PATCH /config/rest/thermal-visual-fusion/v1/fusionMode HTTP/1.1
HOST: my-device
Content-Type: application/json

{
"data": "VISUAL"
}
HTTP/1.1 200 OK
Content-Type: application/json

{
"status": "success"
}

Update alignment setting​

Use this example to update the thermal stream alignment against a visual stream by passing one of the following: MOVE_LEFT, MOVE_RIGHT, MOVE_UP, MOVE_DOWN.

curl --request POST \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/thermal-visual-fusion/v1/updateAlignment \
--data '{
"data": {
"fusionMoveAlignment": "MOVE_LEFT"
}
}'
HTTP/1.1 200 OK
Content-Type: application/json

{
"status": "success"
}

Reset alignment setting​

Use this example to reset the thermal stream alignment against a visual stream to its factory default value.

curl --request POST \
--anyauth \
--user "<username>:<password>" \
--http1.1 \
--header "Content-Type: application/json" \
http://my-device/config/rest/thermal-visual-fusion/v1/resetAlignment \
--data '{
"data": {}
}'
HTTP/1.1 200 OK
Content-Type: application/json

{
"status": "success"
}

Read transparency setting​

Use this example to get the current transparency of the overlaid stream. The transparency value can be set between 0.0 to 1.0, with 0.0 being fully transparent and 1.0 being fully opaque.

GET /config/rest/thermal-visual-fusion/v1/transparency HTTP/1.1
HOST: my-device
Content-Type: application/json
HTTP/1.1 200 OK
Content-Type: application/json

{
"status": "success",
"data": 0.5
}

Change transparency setting​

Use this example to change the transparency of an overlaid stream.

PATCH /config/rest/thermal-visual-fusion/v1/transparency HTTP/1.1
HOST: my-device
Content-Type: application/json

{
"data": 0.5
}
HTTP/1.1 200 OK
Content-Type: application/json

{
"status": "success"
}

API definition​

Structure​

thermal-visual-fusion.v1 (Root Entity)
├── alignment (Property)
├── fusionMode (Property)
├── transparency (Property)
├── resetAlignment (Action)
├── updateAlignment (Action)

Entities​

thermal-visual-fusion.v1​

  • Description: Thermal Visual Fusion Root Entity
  • Type: Singleton
  • Operations
    • GET
  • Attributes
    • Dynamic Support: No
Properties​
alignment​
  • Description: Alignment of the overlaid stream.
  • Datatype: Alignment
  • Operations
    • GET (Permissions: admin, viewer, operator)
    • SET (Permissions: admin)
  • Attributes
    • Nullable: No
    • Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
fusionMode​
  • Description: The mode of the thermal visual fusion.
  • Datatype: FusionModeEnum
  • Operations
    • GET (Permissions: admin, viewer, operator)
    • SET (Permissions: admin)
  • Attributes
    • Nullable: No
    • Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
transparency​
  • Description: Transparency of the overlaid stream.
  • Datatype: Transparency
  • Operations
    • GET (Permissions: admin, viewer, operator)
    • SET (Permissions: admin)
  • Attributes
    • Nullable: No
    • Dynamic Support: No / Dynamic Enum: No / Dynamic Range: No
Actions​
resetAlignment​
  • Description: Reset the alignment to factory settings.
  • Request Datatype: ResetAlignmentReq
  • Response Datatype: ResetAlignmentResp
  • Trigger Permissions: admin
  • Attributes
    • Dynamic Support: No
updateAlignment​
  • Description: Update alignment of the fusion stream.
  • Request Datatype: UpdateAlignmentReq
  • Response Datatype: UpdateAlignmentResp
  • Trigger Permissions: admin
  • Attributes
    • Dynamic Support: No

Data types​

AbsCoordinate​

  • Description: The coordinate used in absolute coordinates system. (-1.0, -1.0) is bottom left corner and (1.0, 1.0) is top right corner of the stream. (0.0, 0.0) is center of the stream.
  • Type: number
  • Minimum Value: -1
  • Maximum Value: 1

Alignment​

  • Description: Distance between the center of the thermal stream and the center of visual stream. Any part of the overlaid stream that is outside the base stream will be cropped out. Use the [-1..1] coordinate system.
  • Type: complex
  • Fields
    • x
      • Description: x-axis part of the alignment.
      • Type: AbsCoordinate
      • Nullable: No / Gettable: Yes
    • y
      • Description: y-axis part of the alignment.
      • Type: AbsCoordinate
      • Nullable: No / Gettable: Yes

FusionModeEnum​

  • Description: The base source for the fusion stream. Visual means that the fusion stream will use a visual stream as the base and overlay thermal stream on top. For Thermal mode, it is the other way around.
  • Type: string
  • Enum Values: "VISUAL", "THERMAL"

FusionMoveEnum​

  • Description: What movement to apply to the alignment in fusion.
  • Type: string
  • Enum Values: MOVE_LEFT, MOVE_RIGHT, MOVE_UP, MOVE_DOWN

ResetAlignmentReq​

  • Description: Extensible type for the reset alignment request.
  • Type: complex
  • Fields

ResetAlignmentResp​

  • Description: Extensible type for the reset alignment response.
  • Type: complex
  • Fields

Transparency​

  • Description: Transparency value of the overlaid stream. 0.0 means that the stream is fully transparent and 1.0 means fully opaque.
  • Type: number
  • Minimum Value: 0
  • Maximum Value: 1

UpdateAlignmentReq​

  • Description: Extensible type for the update alignment request.
  • Type: complex
  • Fields
    • fusionMoveAlignment
      • Description: What movement to apply to alignment in fusion.
      • Type: FusionMoveEnum
      • Nullable: No / Gettable: Yes

UpdateAlignmentResp​

  • Description: Extensible type for the update alignment response.
  • Type: complex
  • Fields