lib/operation.js
function recomb (inputMatrix) {
  if (!Array.isArray(inputMatrix) || inputMatrix.length !== 3 ||
      inputMatrix[0].length !== 3 ||
      inputMatrix[1].length !== 3 ||
      inputMatrix[2].length !== 3
  ) {
    // must pass in a kernel
    throw new Error('Invalid Recomb Matrix');
  }
  this.options.recombMatrix = [
    inputMatrix[0][0], inputMatrix[0][1], inputMatrix[0][2],
    inputMatrix[1][0], inputMatrix[1][1], inputMatrix[1][2],
    inputMatrix[2][0], inputMatrix[2][1], inputMatrix[2][2]
  ].map(Number);
  return this;
}
function recomb (inputMatrix) {
  if (!Array.isArray(inputMatrix) || inputMatrix.length !== 3 ||
      inputMatrix[0].length !== 3 ||
      inputMatrix[1].length !== 3 ||
      inputMatrix[2].length !== 3
  ) {
    // must pass in a kernel
    throw new Error('Invalid Recomb Matrix');
  }
  this.options.recombMatrix = [
    inputMatrix[0][0], inputMatrix[0][1], inputMatrix[0][2],
    inputMatrix[1][0], inputMatrix[1][1], inputMatrix[1][2],
    inputMatrix[2][0], inputMatrix[2][1], inputMatrix[2][2]
  ].map(Number);
  return this;
}
function recomb ( inputMatrix ) { if ( ! Array . isArray ( inputMatrix ) || inputMatrix . length !== 3 || inputMatrix [ 0 ] . length !== 3 || inputMatrix [ 1 ] . length !== 3 || inputMatrix [ 2 ] . length !== 3 ) { // must pass in a kernel throw new Error ( 'Invalid Recomb Matrix' ) ; } this . options . recombMatrix = [ inputMatrix [ 0 ] [ 0 ] , inputMatrix [ 0 ] [ 1 ] , inputMatrix [ 0 ] [ 2 ] , inputMatrix [ 1 ] [ 0 ] , inputMatrix [ 1 ] [ 1 ] , inputMatrix [ 1 ] [ 2 ] , inputMatrix [ 2 ] [ 0 ] , inputMatrix [ 2 ] [ 1 ] , inputMatrix [ 2 ] [ 2 ] ] . map ( Number ) ; return this ; }
Recomb the image with the specified matrix.

@example
sharp(input)
.recomb([
[0.3588, 0.7044, 0.1368],
[0.2990, 0.5870, 0.1140],
[0.2392, 0.4696, 0.0912],
])
.raw()
.toBuffer(function(err, data, info) {
// data contains the raw pixel data after applying the recomb
// With this example input, a sepia filter has been applied
});

@param {Array<Array<Number>>} 3x3 Recombination matrix
@returns {Sharp}
@throws {Error} Invalid parameters
Recomb the image with the specified matrix .