image-js
Version:
Image processing and manipulation in JavaScript
31 lines (30 loc) • 825 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = averageImage;
var _Image = _interopRequireDefault(require("../../image/Image"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**
* @memberof Stack
* @instance
* @return {Image}
*/
function averageImage() {
this.checkProcessable('averageImage', {
bitDepth: [8, 16]
});
let data = new Uint32Array(this[0].data.length);
for (let i = 0; i < this.length; i++) {
let current = this[i];
for (let j = 0; j < this[0].data.length; j++) {
data[j] += current.data[j];
}
}
let image = _Image.default.createFrom(this[0]);
let newData = image.data;
for (let i = 0; i < this[0].data.length; i++) {
newData[i] = data[i] / this.length;
}
return image;
}