vuforia-api

Node.js client for the Vuforia Web Services API (VWS API) and the Vuforia Web Query API (VWQ API)

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
vuforia-api
000.3.25 months ago4 years agoMinified + gzip package size for vuforia-api in KB

Readme

vuforiajs
Node.js client for the Vuforia Web Services API (VWS API) and the Vuforia Web Query API (VWQ API).

usage

// load module
var vuforia = require('vuforia-api');

// init client with valid credentials
var client = vuforia.client({

    // Server access key (used for Vuforia Web Services API)
    'serverAccessKey': 'your server access key',

    // Server secret key (used for Vuforia Web Services API)
    'serverSecretKey': 'your server secret key',

    // Client access key (used for Vuforia Web Query API)
    'clientAccessKey': 'your client access key',

    // Client secret key (used for Vuforia Web Query API)
    'clientSecretKey': 'your client secret key'
});

// util for base64 encoding and decoding
var util = vuforia.util();

create a new target

var target = {

    // name of the target, unique within a database
    'name': 'my target',
    // width of the target in scene unit
    'width': 32.0,
    // the base64 encoded binary recognition image data
    'image': util.encodeFileBase64(__dirname + '/someImage.png'),
    // indicates whether or not the target is active for query
    'active_flag': true,
    // the base64 encoded application metadata associated with the target
    'application_metadata': util.encodeBase64('some metadata about your image')
};

add target to cloud database


client.addTarget(target, function (error, result) {

    if (error) { // e.g. [Error: AuthenticationFailure]

        console.error(result);

        /*
        example of result from the vws API:
        {
        	result_code: 'AuthenticationFailure',
        	transaction_id: '58b51ddc7a2c4ac58d405027acf5f99a'
        }
        */

    } else {

    	console.log(result);

        /*
        example of result from the vws API:
        {
        	target_id: '93fd6681f1r74b76bg80tf736a11b6a9',
        	result_code: 'TargetCreated',
        	transaction_id: 'xf157g63179641c4920728f1650d1626'
        }
        */
    }
});

list all targets within cloud database

client.listTargets(function (error, result) {

	if (error) { // e.g. [Error: AuthenticationFailure]

        console.error(result);

        /*
        example of result from the vws API:
        {
        	result_code: 'AuthenticationFailure',
        	transaction_id: '58b51ddc7a2c4ac58d405027acf5f99a'
        }
        */

    } else {

    	console.log(result);

        /*
	    example of result from the vws API:
	    {
	        “result_code”:”Success”,
	        “transaction_id”:”550e8400e29440000b41d4a716446655”,
	        “results”:[
	            ”00550e84e29b41d4a71644665555678”,
	            ”578fe7fd60055a5a84c2d215066b7a9d”
	        ]
	    }
	    */
    }
});             

retrieve a target from cloud database

client.retrieveTarget('00550e84e29b41d4a71644665555678', function (error, result) {

    if (error) { // e.g. [Error: AuthenticationFailure]

        console.error(result);

        /*
        example of result from the vws API:
        {
        	result_code: 'AuthenticationFailure',
        	transaction_id: '58b51ddc7a2c4ac58d405027acf5f99a'
        }
        */

    } else {

    	console.log(result);

        /*
        example of result from the vws API:
        {
            “result_code”:”Success”,
            “transaction_id”:”e29b41550e8400d4a716446655440000”,
            “target_record”:{
                “target_id”:”550b41d4a7164466554e8400e2949364”,
                “active_flag”:true,
                “name”:”tarmac”,
                “width”:100.0,
                “tracking_rating”:4,
                “reco_rating”:””
            },
            “status”:”Success”
        }
        */
    }
});

update a target


var update = {

    'active_flag' : true,
    'application_metadata' : util.encodeBase64('Some metadata about your image')
};

client.updateTarget('00550e84e29b41d4a71644665555678', update, function (error, result) {

	if (error) { // e.g. [Error: AuthenticationFailure]

        console.error(result);

        /*
        example of result from the vws API:
        {
        	result_code: 'AuthenticationFailure',
        	transaction_id: '58b51ddc7a2c4ac58d405027acf5f99a'
        }
        */

    } else {

    	console.log(result);

        /*
	    example of result from the vws API:
	    {
	    	"result_code":"Success",
  			"transaction_id":"550e8400e29b41d4a716446655482752"
	    }
	    */
    }
});

delete a target

client.deleteTarget('00550e84e29b41d4a71644665555678', function (error, result) {

	if (error) { // e.g. [Error: AuthenticationFailure]

        console.error(result);

        /*
        example of result from the vws API:
        {
        	result_code: 'AuthenticationFailure',
        	transaction_id: '58b51ddc7a2c4ac58d405027acf5f99a'
        }
        */

    } else {

    	console.log(result);

        /*
	    example of result from the vws API:
	    {
	    	“result_code”:”Success”,
	    	“transaction_id”:”550e8400e29b41d4a716446655482752”
	    }
	    */
    }
});

search cloud database for images that can be considered duplicates

client.checkForDuplicateTargets('00550e84e29b41d4a71644665555678', function (error, result) {

    // images that are the same as the reference one identified by a given target id

    if (error) { // e.g. [Error: AuthenticationFailure]

        console.error(result);

        /*
        example of result from the vws API:
        {
        	result_code: 'AuthenticationFailure',
        	transaction_id: '58b51ddc7a2c4ac58d405027acf5f99a'
        }
        */

    } else {

    	console.log(result);

        /*
	    example of result from the vws API:
	    {
		    “similar_targets”:
		    [
		        ”550e8400e29b41d4a716446655447300”,
		        ”578fe7fd60055cbc84c2d215066b7a9d”
		    ]
	    }
	    */
    }
});

Perform an Image Recognition Query

var filename = __dirname + '/test.jpg'; // image file that will be send to the Vuforia Web Query API
var max_num_results = 5; // return only 5 matches

client.cloudRecoQuery(fs.readFileSync(filename, 'binary'), max_num_results, function (error, result) {

	if (error) { // e.g. [Error: AuthenticationFailure]

        console.error(result);

        /*
        example of result from the vwq API:
        {
        	result_code: 'AuthenticationFailure',
        	transaction_id: '58b51ddc7a2c4ac58d405027acf5f99a'
        }
        */

    } else {

    	console.log(result);

        /*
	    example of result from the vwq API:
	    { 
	        result_code: 'Success',
	        transaction_id: 'b66bef31ba394c86a7ea2ab7e35c93d1',
	        results: 
	        [ 
	            'eacbb1487c584dbb8741fb5a28b4228f' 
	        ] 
	    }
	    */
    }
});