Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@arilotter/clmutils

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@arilotter/clmutils

A collection of utility functions to work with CLM Trackr data.

  • 3.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

clmutils

experimental

This is a set of utility functions which can be used to decipher CLM Trackr

Usage

NPM

You can consume these utility functions in the following two ways:

var utils = require('clmutils');

utils.faceOrientation
utils.getFaceSize
utils.textureCapture
utils.forehead
utils.halo

or

var faceOrientation = require('clmutils/faceOrientation');
var getFaceSize = require('clmutils/getFaceSize');
var textureCapture = require('clmutils/textureCapture');
var forehead = require('clmutils/forehead');
var halo = require('clmutils/halo');

Here are examples as to how to use these utility functions:

var faceOrientation = require('clmutils/faceOrientation');
var getFaceSize = require('clmutils/getFaceSize');
var textureCapture = require('clmutils/textureCapture');
var forehead = require('clmutils/forehead');
var halo = require('clmutils/halo');

// clmPositions would be the positions of vertices from clm

// returns aproximated y and z rotations of face in degrees
var rotationDegrees = faceOrientation(clmPositions); 
console.log(rotationDegrees.z); // z rotation of face
console.log(rotationDegrees.y); // y rotation of face

// an object containing 2d width and height of face is returned
var size = getFaceSize(clmPositions);
console.log(size.width); // width of face
console.log(size.height); // height of face

// add 10 points to create an approximate forehead (original array is modified) since the CLM positions do not include one
forehead(clmPositions, 10); 
// create a halo (original array is modified) if you want extra padding around the face
halo(clmPositions); 

// textureCapture returns UV coordinates based on the clmPositions and can optionally extract a texture from the image or video element onto a canvas2d context.
var texOptions = {
	outContext: null, //an optional canvas2d context if you want a texture rendered from options.image or options.video
	options.video: null, //an optional video element that was used to generate the CLM points
	options.image: null, //an optional image element that was used to generate the CLM points
	options.forehead: false, //include or exclude the points that make up the forehead
	options.halo: false, //include or exclude the points that make up the halo
};
var uvs = textureCapture(clmPositions, texOptions);

License

MIT, see LICENSE.md for details.

Keywords

FAQs

Package last updated on 20 Jun 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc