Notorious Puppy Memes

    vuforia-api

    0.3.2 • Public • Published

    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' 
    	        ] 
    	    }
    	    */
        }
    });

    Install

    npm i vuforia-api

    DownloadsWeekly Downloads

    75

    Version

    0.3.2

    License

    MIT

    Unpacked Size

    18.3 kB

    Total Files

    6

    Last publish

    Collaborators

    • quentin-gprd