Add tint module (#701)

* Add tint module

* rebased, rebuilt
This commit is contained in:
Mridul97
2019-02-08 23:50:47 +05:30
committed by Jeffrey Warren
parent 90c57af332
commit 2d8b93020a
6 changed files with 201 additions and 42 deletions

View File

@@ -65563,7 +65563,7 @@ ImageSequencer = function ImageSequencer(options) {
}
module.exports = ImageSequencer;
},{"./AddStep":151,"./ExportBin":152,"./FormatInput":153,"./InsertStep":155,"./Modules":156,"./ReplaceImage":157,"./Run":158,"./SavedSequences.json":160,"./ui/LoadImage":262,"./ui/SetInputStep":263,"./ui/UserInterface":264,"./util/getStep.js":268,"fs":46}],155:[function(require,module,exports){
},{"./AddStep":151,"./ExportBin":152,"./FormatInput":153,"./InsertStep":155,"./Modules":156,"./ReplaceImage":157,"./Run":158,"./SavedSequences.json":160,"./ui/LoadImage":265,"./ui/SetInputStep":266,"./ui/UserInterface":267,"./util/getStep.js":271,"fs":46}],155:[function(require,module,exports){
const getStepUtils = require('./util/getStep.js');
// insert one or more steps at a given index in the sequencer
@@ -65630,7 +65630,7 @@ function InsertStep(ref, image, index, name, o) {
}
module.exports = InsertStep;
},{"./util/getStep.js":268}],156:[function(require,module,exports){
},{"./util/getStep.js":271}],156:[function(require,module,exports){
/*
* Core modules and their info files
*/
@@ -65664,9 +65664,11 @@ module.exports = {
'rotate': require('./modules/Rotate'),
'saturation': require('./modules/Saturation'),
'threshold': require('./modules/Threshold'),
'tint': require('./modules/Tint'),
'white-balance': require('./modules/WhiteBalance')
}
},{"./modules/Average":162,"./modules/Blend":165,"./modules/Blur":169,"./modules/Brightness":172,"./modules/Channel":175,"./modules/Colorbar":178,"./modules/Colormap":182,"./modules/Contrast":186,"./modules/Convolution":190,"./modules/Crop":195,"./modules/DecodeQr":198,"./modules/Dither":202,"./modules/DrawRectangle":206,"./modules/Dynamic":209,"./modules/EdgeDetect":213,"./modules/FisheyeGl":216,"./modules/GammaCorrection":219,"./modules/Gradient":222,"./modules/Histogram":225,"./modules/ImportImage":229,"./modules/Ndvi":233,"./modules/NdviColormap":236,"./modules/Overlay":239,"./modules/PaintBucket":243,"./modules/Resize":246,"./modules/Rotate":249,"./modules/Saturation":252,"./modules/Threshold":256,"./modules/WhiteBalance":259,"image-sequencer-invert":61}],157:[function(require,module,exports){
},{"./modules/Average":162,"./modules/Blend":165,"./modules/Blur":169,"./modules/Brightness":172,"./modules/Channel":175,"./modules/Colorbar":178,"./modules/Colormap":182,"./modules/Contrast":186,"./modules/Convolution":190,"./modules/Crop":195,"./modules/DecodeQr":198,"./modules/Dither":202,"./modules/DrawRectangle":206,"./modules/Dynamic":209,"./modules/EdgeDetect":213,"./modules/FisheyeGl":216,"./modules/GammaCorrection":219,"./modules/Gradient":222,"./modules/Histogram":225,"./modules/ImportImage":229,"./modules/Ndvi":233,"./modules/NdviColormap":236,"./modules/Overlay":239,"./modules/PaintBucket":243,"./modules/Resize":246,"./modules/Rotate":249,"./modules/Saturation":252,"./modules/Threshold":256,"./modules/Tint":259,"./modules/WhiteBalance":262,"image-sequencer-invert":61}],157:[function(require,module,exports){
// Uses a given image as input and replaces it with the output.
// Works only in the browser.
function ReplaceImage(ref,selector,steps,options) {
@@ -65822,7 +65824,7 @@ function Run(ref, json_q, callback, ind, progressObj) {
}
module.exports = Run;
},{"./RunToolkit":159,"./util/getStep.js":268}],159:[function(require,module,exports){
},{"./RunToolkit":159,"./util/getStep.js":271}],159:[function(require,module,exports){
const getPixels = require('get-pixels');
const pixelManipulation = require('./modules/_nomodule/PixelManipulation');
const lodash = require('lodash');
@@ -65837,7 +65839,7 @@ module.exports = function(input) {
input.savePixels = savePixels;
return input;
}
},{"./modules/_nomodule/PixelManipulation":261,"data-uri-to-buffer":19,"get-pixels":29,"lodash":75,"save-pixels":138}],160:[function(require,module,exports){
},{"./modules/_nomodule/PixelManipulation":264,"data-uri-to-buffer":19,"get-pixels":29,"lodash":75,"save-pixels":138}],160:[function(require,module,exports){
module.exports={"sample":[{"name":"invert","options":{}},{"name":"channel","options":{"channel":"red"}},{"name":"blur","options":{"blur":"5"}}]}
},{}],161:[function(require,module,exports){
/*
@@ -65917,7 +65919,7 @@ module.exports = function Average(options, UI){
}
}
},{"../_nomodule/PixelManipulation.js":261}],162:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264}],162:[function(require,module,exports){
module.exports = [
require('./Module'),
require('./info.json')
@@ -66008,7 +66010,7 @@ module.exports = function Dynamic(options, UI, util) {
}
}
},{"../_nomodule/PixelManipulation.js":261,"./../../util/getDefaults.js":267,"./info.json":166,"get-pixels":29}],165:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264,"./../../util/getDefaults.js":270,"./info.json":166,"get-pixels":29}],165:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":164,"./info.json":166,"dup":162}],166:[function(require,module,exports){
module.exports={
@@ -66165,7 +66167,7 @@ module.exports = function Blur(options, UI) {
}
}
},{"../_nomodule/PixelManipulation.js":261,"./../../util/getDefaults.js":267,"./Blur":167,"./info.json":170}],169:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264,"./../../util/getDefaults.js":270,"./Blur":167,"./info.json":170}],169:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":168,"./info.json":170,"dup":162}],170:[function(require,module,exports){
module.exports={
@@ -66243,7 +66245,7 @@ module.exports = function Brightness(options,UI){
}
}
},{"../_nomodule/PixelManipulation.js":261,"./../../util/getDefaults.js":267,"./info.json":173}],172:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264,"./../../util/getDefaults.js":270,"./info.json":173}],172:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":171,"./info.json":173,"dup":162}],173:[function(require,module,exports){
module.exports={
@@ -66314,7 +66316,7 @@ module.exports = function Channel(options, UI) {
}
}
},{"../_nomodule/PixelManipulation.js":261,"./../../util/getDefaults.js":267,"./info.json":176}],175:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264,"./../../util/getDefaults.js":270,"./info.json":176}],175:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":174,"./info.json":176,"dup":162}],176:[function(require,module,exports){
module.exports={
@@ -66350,7 +66352,7 @@ module.exports = function NdviColormapfunction(options, UI) {
isMeta: true
}
}
},{"./../../util/getDefaults.js":267,"./info.json":179}],178:[function(require,module,exports){
},{"./../../util/getDefaults.js":270,"./info.json":179}],178:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":177,"./info.json":179,"dup":162}],179:[function(require,module,exports){
module.exports={
@@ -66629,7 +66631,7 @@ module.exports = function Colormap(options,UI) {
}
}
},{"../_nomodule/PixelManipulation.js":261,"./Colormap":180}],182:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264,"./Colormap":180}],182:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":181,"./info.json":183,"dup":162}],183:[function(require,module,exports){
module.exports={
@@ -66746,7 +66748,7 @@ module.exports = function Contrast(options, UI) {
}
}
},{"../_nomodule/PixelManipulation.js":261,"./../../util/getDefaults.js":267,"./Contrast":184,"./info.json":187}],186:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264,"./../../util/getDefaults.js":270,"./Contrast":184,"./info.json":187}],186:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":185,"./info.json":187,"dup":162}],187:[function(require,module,exports){
module.exports={
@@ -66886,7 +66888,7 @@ module.exports = function Convolution(options, UI) {
}
}
},{"../_nomodule/PixelManipulation.js":261,"./../../util/getDefaults.js":267,"./Convolution":188,"./info.json":191}],190:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264,"./../../util/getDefaults.js":270,"./Convolution":188,"./info.json":191}],190:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":189,"./info.json":191,"dup":162}],191:[function(require,module,exports){
module.exports={
@@ -67054,7 +67056,7 @@ module.exports = function CropModule(options, UI) {
}
}
},{"../../util/ParseInputCoordinates":266,"./Crop":192,"./Ui.js":194}],194:[function(require,module,exports){
},{"../../util/ParseInputCoordinates":269,"./Crop":192,"./Ui.js":194}],194:[function(require,module,exports){
// hide on save
module.exports = function CropModuleUi(step, ui) {
@@ -67359,7 +67361,7 @@ module.exports = function Dither(options, UI){
UI: UI
}
}
},{"../_nomodule/PixelManipulation.js":261,"./Dither":200}],202:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264,"./Dither":200}],202:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":201,"./info.json":203,"dup":162}],203:[function(require,module,exports){
module.exports={
@@ -67452,7 +67454,7 @@ module.exports = function DrawRectangle(options, UI) {
}
}
},{"../_nomodule/PixelManipulation.js":261,"./DrawRectangle":204}],206:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264,"./DrawRectangle":204}],206:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":205,"./info.json":207,"dup":162}],207:[function(require,module,exports){
module.exports={
@@ -67598,7 +67600,7 @@ module.exports = function Dynamic(options,UI) {
}
}
},{"../_nomodule/PixelManipulation.js":261}],209:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264}],209:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":208,"./info.json":210,"dup":162}],210:[function(require,module,exports){
module.exports={
@@ -67865,7 +67867,7 @@ module.exports = function edgeDetect(options, UI) {
}
}
},{"../_nomodule/PixelManipulation.js":261,"./../../util/getDefaults.js":267,"./EdgeUtils":211,"./info.json":214,"ndarray-gaussian-filter":80}],213:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264,"./../../util/getDefaults.js":270,"./EdgeUtils":211,"./info.json":214,"ndarray-gaussian-filter":80}],213:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":212,"./info.json":214,"dup":162}],214:[function(require,module,exports){
module.exports={
@@ -68085,7 +68087,7 @@ module.exports = function Gamma(options,UI){
}
}
},{"../_nomodule/PixelManipulation.js":261,"./../../util/getDefaults.js":267,"./info.json":220}],219:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264,"./../../util/getDefaults.js":270,"./info.json":220}],219:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":218,"./info.json":220,"dup":162}],220:[function(require,module,exports){
module.exports={
@@ -68272,7 +68274,7 @@ module.exports = function Channel(options, UI) {
}
}
},{"../_nomodule/PixelManipulation.js":261,"./../../util/getDefaults.js":267,"./info.json":226}],225:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264,"./../../util/getDefaults.js":270,"./info.json":226}],225:[function(require,module,exports){
module.exports = [
require('./Module.js'),
require('./info.json')
@@ -68355,7 +68357,7 @@ module.exports = function ImportImageModule(options, UI) {
}
}
},{"../../util/GetFormat":265,"./../../util/getDefaults.js":267,"./Ui.js":228,"./info.json":230}],228:[function(require,module,exports){
},{"../../util/GetFormat":268,"./../../util/getDefaults.js":270,"./Ui.js":228,"./info.json":230}],228:[function(require,module,exports){
// hide on save
module.exports = function ImportImageModuleUi(step, ui) {
@@ -68488,7 +68490,7 @@ module.exports = function Ndvi(options, UI) {
}
}
},{"../_nomodule/PixelManipulation.js":261,"./../../util/getDefaults.js":267,"./Ui.js":232,"./info.json":234}],232:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264,"./../../util/getDefaults.js":270,"./Ui.js":232,"./info.json":234}],232:[function(require,module,exports){
// hide on save
module.exports = function CropModuleUi(step, ui) {
@@ -68646,7 +68648,7 @@ module.exports = function Dynamic(options, UI, util) {
}
}
},{"../../util/ParseInputCoordinates":266,"../_nomodule/PixelManipulation.js":261,"./../../util/getDefaults.js":267,"./info.json":240,"get-pixels":29}],239:[function(require,module,exports){
},{"../../util/ParseInputCoordinates":269,"../_nomodule/PixelManipulation.js":264,"./../../util/getDefaults.js":270,"./info.json":240,"get-pixels":29}],239:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":238,"./info.json":240,"dup":162}],240:[function(require,module,exports){
module.exports={
@@ -68720,7 +68722,7 @@ module.exports = function PaintBucket(options, UI) {
}
}
},{"../_nomodule/PixelManipulation.js":261,"./PaintBucket":242}],242:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264,"./PaintBucket":242}],242:[function(require,module,exports){
module.exports = exports = function(pixels, options){
var defaults = require('./../../util/getDefaults.js')(require('./info.json'));
var fillColor = options.fillColor || defaults.fillColor,
@@ -68786,7 +68788,7 @@ module.exports = exports = function(pixels, options){
return pixels;
}
},{"./../../util/getDefaults.js":267,"./info.json":244}],243:[function(require,module,exports){
},{"./../../util/getDefaults.js":270,"./info.json":244}],243:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":241,"./info.json":244,"dup":162}],244:[function(require,module,exports){
module.exports={
@@ -68893,7 +68895,7 @@ module.exports = function Resize(options, UI) {
}
}
},{"../_nomodule/PixelManipulation.js":261,"./../../util/getDefaults.js":267,"./info.json":247,"imagejs":62}],246:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264,"./../../util/getDefaults.js":270,"./info.json":247,"imagejs":62}],246:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":245,"./info.json":247,"dup":162}],247:[function(require,module,exports){
module.exports={
@@ -68973,7 +68975,7 @@ module.exports = function Rotate(options, UI) {
}
}
},{"../_nomodule/PixelManipulation.js":261,"./../../util/getDefaults.js":267,"./info.json":250,"imagejs":62}],249:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264,"./../../util/getDefaults.js":270,"./info.json":250,"imagejs":62}],249:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":248,"./info.json":250,"dup":162}],250:[function(require,module,exports){
module.exports={
@@ -69049,7 +69051,7 @@ module.exports = function Saturation(options,UI) {
}
}
},{"../_nomodule/PixelManipulation.js":261}],252:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264}],252:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":251,"./info.json":253,"dup":162}],253:[function(require,module,exports){
module.exports={
@@ -69114,7 +69116,7 @@ return {
}
}
},{"../_nomodule/PixelManipulation.js":261,"./Threshold":255}],255:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264,"./Threshold":255}],255:[function(require,module,exports){
module.exports = function Threshold(pixels, options, histData) {
type = options.threshold;
threshold = parseInt(options.input) || 120;
@@ -69206,6 +69208,85 @@ module.exports={
}
},{}],258:[function(require,module,exports){
module.exports = function Tint(options,UI){
var output;
function draw(input,callback,progressObj){
var color = options.color || '0 0 255';
color = color.split(" ");
var factor = options.factor || 0.5;
progressObj.stop(true);
progressObj.overrideFlag = true;
/*
In this case progress is handled by changepixel internally otherwise progressObj
needs to be overriden and used
For eg. progressObj = new SomeProgressModule()
*/
var step = this;
function changePixel(r, g, b, a){
r -= (r - color[0])*factor;
g -= (g - color[1])*factor;
b -= (b - color[2])*factor;
return [r, g, b, a]
}
function output(image,datauri,mimetype){
// This output is accessible by Image Sequencer
step.output = {src:datauri,format:mimetype};
}
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
changePixel: changePixel,
format: input.format,
image: options.image,
inBrowser: options.inBrowser,
callback: callback
});
}
return {
options: options,
draw: draw,
output: output,
UI: UI
}
}
},{"../_nomodule/PixelManipulation.js":264}],259:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":258,"./info.json":260,"dup":162}],260:[function(require,module,exports){
module.exports={
"name": "Tint",
"description": "Add color tint to an image",
"inputs": {
"color":{
"type": "String",
"desc": "RGB values separated by a space",
"default": "0 0 255"
},
"factor": {
"type": "range",
"desc": "Amount of tint",
"default": "0.5",
"min": "0",
"max": "1",
"step": "0.01"
}
}
}
},{}],261:[function(require,module,exports){
module.exports = function Balance(options, UI) {
var output;
@@ -69292,9 +69373,9 @@ module.exports = function Balance(options, UI) {
}
}
},{"../_nomodule/PixelManipulation.js":261}],259:[function(require,module,exports){
},{"../_nomodule/PixelManipulation.js":264}],262:[function(require,module,exports){
arguments[4][162][0].apply(exports,arguments)
},{"./Module":258,"./info.json":260,"dup":162}],260:[function(require,module,exports){
},{"./Module":261,"./info.json":263,"dup":162}],263:[function(require,module,exports){
module.exports={
"name": "White Balance",
"description": "Change the colour balance of the image by adjusting the colour temperature.",
@@ -69307,7 +69388,7 @@ module.exports={
},
"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md"
}
},{}],261:[function(require,module,exports){
},{}],264:[function(require,module,exports){
(function (process,Buffer){
/*
* General purpose per-pixel manipulation
@@ -69408,7 +69489,7 @@ module.exports = function PixelManipulation(image, options) {
};
}).call(this,require('_process'),require("buffer").Buffer)
},{"_process":117,"buffer":47,"get-pixels":29,"pace":94,"save-pixels":138}],262:[function(require,module,exports){
},{"_process":117,"buffer":47,"get-pixels":29,"pace":94,"save-pixels":138}],265:[function(require,module,exports){
// special module to load an image into the start of the sequence; used in the HTML UI
function LoadImage(ref, name, src, main_callback) {
function makeImage(datauri) {
@@ -69515,7 +69596,7 @@ function LoadImage(ref, name, src, main_callback) {
module.exports = LoadImage;
},{"urify":147}],263:[function(require,module,exports){
},{"urify":147}],266:[function(require,module,exports){
// TODO: potentially move this into ImportImage module
function setInputStepInit() {
@@ -69614,7 +69695,7 @@ function setInputStepInit() {
}
module.exports = setInputStepInit;
},{}],264:[function(require,module,exports){
},{}],267:[function(require,module,exports){
/*
* User Interface Handling Module
*/
@@ -69678,7 +69759,7 @@ module.exports = function UserInterface(events = {}) {
}
},{}],265:[function(require,module,exports){
},{}],268:[function(require,module,exports){
/*
* Determine format from a URL or data-url, return "jpg" "png" "gif" etc
* TODO: write a test for this using the examples
@@ -69720,7 +69801,7 @@ module.exports = function GetFormat(src) {
}
},{}],266:[function(require,module,exports){
},{}],269:[function(require,module,exports){
module.exports = function parseCornerCoordinateInputs(options,coord,callback) {
var getPixels = require('get-pixels');
getPixels(coord.src, function(err, pixels) {
@@ -69745,7 +69826,7 @@ module.exports = function parseCornerCoordinateInputs(options,coord,callback) {
callback(options, coord);
})
}
},{"get-pixels":29}],267:[function(require,module,exports){
},{"get-pixels":29}],270:[function(require,module,exports){
module.exports = function(info){
var defaults = {};
for (var key in info.inputs) {
@@ -69755,7 +69836,7 @@ module.exports = function(info){
}
return defaults;
}
},{}],268:[function(require,module,exports){
},{}],271:[function(require,module,exports){
module.exports = {
getPreviousStep: function() {
return this.getStep(-1);