Constructor
new MTMC()
- Source:
Methods
(async) consumeAMRMessages(messageBroker)
- Description:
- consumes incoming AMR messages.
- Source:
Example
const mdx = require("@nvidia-mdx/web-api-core");
const kafka = new mdx.Utils.Kafka({brokers: ["kafka-broker-url"]}, kafkaConfigMap);
let mtmcObject = new mdx.Services.MTMC();
await mtmcObject.consumeAMRMessages(kafka);
Parameters:
Name |
Type |
Description |
messageBroker |
MessageBroker
|
MessageBroker Object |
(async) consumeRTLSMessages(messageBroker)
- Description:
- consumes incoming rtls messages.
- Source:
Example
const mdx = require("@nvidia-mdx/web-api-core");
const kafka = new mdx.Utils.Kafka({brokers: ["kafka-broker-url"]}, kafkaConfigMap);
let mtmcObject = new mdx.Services.MTMC();
await mtmcObject.consumeRTLSMessages(kafka);
Parameters:
Name |
Type |
Description |
messageBroker |
MessageBroker
|
MessageBroker Object |
- Description:
- returns behavior info with similar embeddings from vectorDb.
- Source:
Example
const mdx = require("@nvidia-mdx/web-api-core");
const milvus = new mdx.Utils.Milvus({url: "milvus-url"},databaseConfigMap);
let input = {fromTimestamp: "2023-01-12T11:20:10.000Z", toTimestamp: "2023-01-12T14:20:10.000Z", embedding: embedding, sensorIdOfExample: "abc", objectIdOfExample: "120", timestampOfExampleBehavior: "2023-01-12T12:00:00.000Z" };
let mtmc = new mdx.Services.MTMC();
let similarBehaviorInfo = await mtmc.getBehaviorsSimilarToEmbeddings(milvus, input);
Parameters:
Name |
Type |
Description |
vectorDb |
Database
|
Database Object |
input |
Object
|
Input object.
Properties
Name |
Type |
Attributes |
Default |
Description |
sensorIdOfExample |
string
|
<optional>
<nullable>
|
null
|
Atleast one of (sensorIdOfExample, objectIdOfExample and timestampOfExampleBehavior) or sensorId should be present |
objectIdOfExample |
string
|
<optional>
<nullable>
|
null
|
Atleast one of (sensorIdOfExample, objectIdOfExample and timestampOfExampleBehavior) or sensorId should be present |
timestampOfExampleBehavior |
string
|
<optional>
<nullable>
|
null
|
Atleast one of (sensorIdOfExample, objectIdOfExample and timestampOfExampleBehavior) or sensorId should be present |
sensorId |
string
|
<optional>
<nullable>
|
null
|
Atleast one of (sensorIdOfExample, objectIdOfExample and timestampOfExampleBehavior) or sensorId should be present |
embedding |
Array.<number>
|
|
|
|
fromTimestamp |
string
|
|
|
|
toTimestamp |
string
|
|
|
|
topKMatches |
number
|
<optional>
|
50
|
topKMatches must be an integer. |
matchScoreThreshold |
number
|
<optional>
|
0.65
|
|
|
Returns:
Info of behaviors with similar embeddings are returned
-
Type
-
Promise.<Array.<Object>>
(async) getLocationsOfMatchedBehaviors(documentDb, input) → {Promise.<Object>}
- Description:
- returns locations of matched objects.
- Source:
Example
const mdx = require("@nvidia-mdx/web-api-core");
const elastic = new mdx.Utils.Elasticsearch({node: "elasticsearch-url"},databaseConfigMap);
let input = {globalId: "12", fromTimestamp: "2023-01-12T11:20:10.000Z", toTimestamp: "2023-01-12T14:20:10.000Z"};
let mtmc = new mdx.Services.MTMC();
let behaviors = await mtmc.getLocationsOfMatchedBehaviors(elastic, input);
Parameters:
Name |
Type |
Description |
documentDb |
Database
|
Database Object |
input |
Object
|
Input object.
Properties
Name |
Type |
Attributes |
Description |
fromTimestamp |
string
|
|
|
toTimestamp |
string
|
|
|
behaviorIds |
Array.<string>
|
<optional>
|
Either behaviorIds or globalId should be present. |
globalId |
string
|
<optional>
|
Either behaviorIds or globalId should be present. |
|
Returns:
Locations of matched objects are returned
-
Type
-
Promise.<Object>
getNormalizedEmbedding(embedding) → {Array.<number>}
- Description:
- returns normalized embedding.
- Source:
Example
const mdx = require("@nvidia-mdx/web-api-core");
let mtmc = new mdx.Services.MTMC();
let normalizedEmbedding = mtmc.getNormalizedEmbedding(embedding);
Parameters:
Name |
Type |
Description |
embedding |
Array.<number>
|
|
Returns:
Normalized embedding is returned
-
Type
-
Array.<number>
(async) getSimilarBehaviorsBasedOnExample(documentDb, vectorDb, input) → {Promise.<Object>}
- Description:
- returns an object containing scored behaviors which are similar to the input example.
- Source:
Example
const mdx = require("@nvidia-mdx/web-api-core");
const elastic = new mdx.Utils.Elasticsearch({node: "elasticsearch-url"},databaseConfigMap);
const milvus = new mdx.Utils.Milvus({url: "milvus-url"},databaseConfigMap);
let input = {sensorIdOfExample: "abc", objectIdOfExample: "120", timestampOfExample: "2023-01-12T12:02:00.000Z"};
let mtmc = new mdx.Services.MTMC();
let behaviors = await mtmc.getSimilarBehaviorsBasedOnExample(elastic, milvus, input);
Parameters:
Name |
Type |
Description |
documentDb |
Database
|
Database Object |
vectorDb |
Database
|
Database Object |
input |
Object
|
Input object.
Properties
Name |
Type |
Attributes |
Default |
Description |
sensorIdOfExample |
string
|
|
|
|
objectIdOfExample |
string
|
|
|
|
timestampOfExample |
string
|
<optional>
|
|
Either timestampOfExample or frameIdOfExample should be present |
frameIdOfExample |
string
|
<optional>
|
|
Either timestampOfExample or frameIdOfExample should be present |
sensorId |
string
|
<optional>
<nullable>
|
null
|
|
hoursAgo |
number
|
<optional>
|
48
|
hoursAgo must be an integer. Either (fromTimestamp and toTimestamp) or hoursAgo can be present. timeRange (fromTimestamp, toTimestamp) and hoursAgo are mutually exclusive. |
fromTimestamp |
string
|
<optional>
|
|
Either (fromTimestamp and toTimestamp) or hoursAgo can be present. timeRange (fromTimestamp, toTimestamp) and hoursAgo are mutually exclusive. |
toTimestamp |
string
|
<optional>
|
|
Either (fromTimestamp and toTimestamp) or hoursAgo can be present. timeRange (fromTimestamp, toTimestamp) and hoursAgo are mutually exclusive. |
topKMatches |
number
|
<optional>
|
50
|
topKMatches must be an integer. |
matchScoreThreshold |
number
|
<optional>
|
0.65
|
|
|
Returns:
Scored behaviors which are similar to the input example are returned
-
Type
-
Promise.<Object>
(async) getUniqueObjectCount(documentDb, input) → {Promise.<Object>}
- Description:
- returns unique object count.
- Source:
Example
const mdx = require("@nvidia-mdx/web-api-core");
const elastic = new mdx.Utils.Elasticsearch({node: "elasticsearch-url"},databaseConfigMap);
let input = {sensorIds: ["abc"], timestamp: "2023-01-12T11:20:10.000Z", timeWindowInMs: 100};
let mtmc = new mdx.Services.MTMC();
let uniqueObjectCount = await mtmc.getUniqueObjectCount(elastic, input);
Parameters:
Name |
Type |
Description |
documentDb |
Database
|
Database Object |
input |
Object
|
Input object.
Properties
Name |
Type |
Attributes |
Default |
Description |
timestamp |
string
|
|
|
|
timeWindowInMs |
string
|
|
|
|
sensorIds |
Array.<string>
|
<optional>
|
|
Either sensorIds or place can be present. They are mutually exclusive. Exactly one sensorId should be in the array when objectId is present. |
objectId |
string
|
<optional>
<nullable>
|
null
|
|
place |
string
|
<optional>
|
|
Either sensorIds or place can be present. They are mutually exclusive. |
|
Returns:
An object containing unique object count is returned
-
Type
-
Promise.<Object>
(async) getUniqueObjectCountWithLocations(documentDb, messageBroker, input) → {Promise.<Object>}
- Description:
- returns an object containing unique object count of a place with object locations.
- Source:
Example
const mdx = require("@nvidia-mdx/web-api-core");
const elastic = new mdx.Utils.Elasticsearch({node: "elasticsearch-url"},databaseConfigMap);
const kafka = new mdx.Utils.Kafka({brokers: ["kafka-broker-url"]}, kafkaConfigMap);
let input = {place: "building=abc/room=xyz"};
let mtmc = new mdx.Services.MTMC();
let uniqueObjectCountWithLocations = await mtmc.getUniqueObjectCountWithLocations(elastic,kafka,input);
Parameters:
Name |
Type |
Description |
documentDb |
Database
|
Database Object |
messageBroker |
MessageBroker
|
MessageBroker Object |
input |
Object
|
Input object.
Properties
Name |
Type |
Attributes |
Default |
Description |
place |
string
|
|
|
|
timestamp |
string
|
<optional>
<nullable>
|
null
|
|
timeWindowInMs |
number
|
<optional>
|
3000
|
timeWindowInMs must be an integer. |
amrTimestampWindowInMs |
number
|
<optional>
|
200
|
amrTimestampWindowInMs must be an integer. |
amrWithoutRtlsMinTimestampThresholdInMs |
number
|
<optional>
|
2000
|
amrWithoutRtlsMinTimestampThresholdInMs must be an integer. |
amrRouteMinTimestampThresholdInMs |
number
|
<optional>
|
1000
|
amrRouteMinTimestampThresholdInMs must be an integer. |
amrRouteMaxTimestampThresholdInMs |
number
|
<optional>
|
200
|
amrRouteMaxTimestampThresholdInMs must be an integer. |
|
Returns:
Unique object count of a place along with object locations is returned
-
Type
-
Promise.<Object>
(async) getUniqueObjects(documentDb, input) → {Promise.<Object>}
- Description:
- Source:
Example
const mdx = require("@nvidia-mdx/web-api-core");
const elastic = new mdx.Utils.Elasticsearch({node: "elasticsearch-url"},databaseConfigMap);
let input = {sensorIds: ["abc"], fromTimestamp: "2023-01-12T11:20:10.000Z", toTimestamp: "2023-01-12T14:20:10.000Z"};
let mtmc = new mdx.Services.MTMC();
let uniqueObjects = await mtmc.getUniqueObjects(elastic, input);
Parameters:
Name |
Type |
Description |
documentDb |
Database
|
Database Object |
input |
Object
|
Input object.
Properties
Name |
Type |
Attributes |
Default |
Description |
fromTimestamp |
string
|
|
|
|
toTimestamp |
string
|
|
|
|
sensorIds |
Array.<string>
|
<optional>
|
|
Either sensorIds, globalId or place can be present. They are mutually exclusive. Exactly one sensorId should be in the array when objectId is present. |
objectId |
string
|
<optional>
<nullable>
|
null
|
|
place |
string
|
<optional>
|
|
Either sensorIds, globalId or place can be present. They are mutually exclusive. |
globalId |
string
|
<optional>
|
|
Either sensorIds, globalId or place can be present. They are mutually exclusive. |
maxResultSize |
number
|
<optional>
|
25
|
maxResultSize must be an integer. globalId and maxResultSize can't occur together. |
|
Returns:
Unique objects are returned
-
Type
-
Promise.<Object>