Make progress bars on UI true (#1112)

* Make progress bars on UI true

Signed-off-by: tech4GT <varun.gupta1798@gmail.com>

* update docs

Signed-off-by: tech4GT <varun.gupta1798@gmail.com>

* fix typo

Signed-off-by: tech4GT <varun.gupta1798@gmail.com>
This commit is contained in:
Varun Gupta
2019-06-15 20:21:02 +05:30
committed by Jeffrey Warren
parent f5d7b0ae09
commit 80cb5b1194
36 changed files with 94 additions and 60 deletions

View File

@@ -280,6 +280,8 @@ module.exports = function ModuleName(options,UI) {
The `progressObj` parameter of `draw()` is not consumed unless a custom progress bar needs to be drawn, for which this default spinner should be stopped with `progressObj.stop()` and image-sequencer is informed about the custom progress bar with `progressObj.overrideFlag = true;` following which this object can be overriden with custom progress object.
The pixelManipulation API can draw progress bars internally using the `pace` npm package. The option is disabled by default but can be enabled by passing `ui: true` in the options for pixelManipulation. The recommended way is to use `ui: options.step.ui`. This will only show the progress if the ui is set to true by the user, while creating the sequencer object.
### Module example
See existing module `channel` for an example: https://github.com/publiclab/image-sequencer/blob/main/src/modules/Channel/Module.js

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env node
require('./src/ImageSequencer');
sequencer = ImageSequencer({ ui: false });
sequencer = ImageSequencer({ ui: true });
var fs = require('fs');
var program = require('commander');
var utils = require('./src/CliUtils');

View File

@@ -31,6 +31,7 @@ module.exports = function AddQR(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
extraManipulation: extraManipulation,
format: input.format,

View File

@@ -58,6 +58,7 @@ module.exports = function Average(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
extraManipulation: extraManipulation,
format: input.format,
image: options.image,

View File

@@ -57,6 +57,7 @@ module.exports = function Dynamic(options, UI, util) {
// run PixelManipulatin on second image's pixels
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
format: input.format,
image: options.image,

View File

@@ -29,6 +29,7 @@ module.exports = function Blur(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
extraManipulation: extraManipulation,
format: input.format,
image: options.image,

View File

@@ -40,6 +40,7 @@ module.exports = function Brightness(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui, //don't pass this in if you don't want your module to support progress bars
changePixel: changePixel,
format: input.format,
image: options.image,

View File

@@ -45,6 +45,7 @@ module.exports = function canvasResize(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
extraManipulation: extraManipulation,
format: input.format,
image: options.image,

View File

@@ -31,6 +31,7 @@ module.exports = function Channel(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
format: input.format,
image: options.image,

View File

@@ -63,6 +63,7 @@ module.exports = function ColorTemperature(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
extraManipulation: extraManipulation,
format: input.format,
image: options.image,

View File

@@ -24,6 +24,7 @@ module.exports = function Colormap(options, UI) {
}
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
format: input.format,
image: options.image,

View File

@@ -29,6 +29,7 @@ module.exports = function Contrast(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
extraManipulation: extraManipulation,
format: input.format,
image: options.image,

View File

@@ -27,6 +27,7 @@ module.exports = function Convolution(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
extraManipulation: extraManipulation,
format: input.format,
image: options.image,

View File

@@ -37,6 +37,7 @@ module.exports = function DoNothing(options, UI) {
}
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
format: input.format,
image: options.image,
callback: callback

View File

@@ -23,6 +23,7 @@ module.exports = function Dither(options, UI){
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
extraManipulation: extraManipulation,
format: input.format,
image: options.image,

View File

@@ -27,6 +27,7 @@ module.exports = function DrawRectangle(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
extraManipulation: extraManipulation,
format: input.format,

View File

@@ -79,6 +79,7 @@ module.exports = function Dynamic(options, UI) {
}
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
getNeighbourPixel: getNeighbourPixel,
getNeighborPixel: getNeighbourPixel,

View File

@@ -44,6 +44,7 @@ module.exports = function edgeDetect(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
extraManipulation: extraManipulation,
format: input.format,

View File

@@ -33,6 +33,7 @@ module.exports = function Exposure(options, UI){
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
format: input.format,
image: options.image,

View File

@@ -31,6 +31,7 @@ module.exports = function FlipImage(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
extraManipulation: extraManipulation,
format: input.format,

View File

@@ -30,6 +30,7 @@ module.exports = function Gamma(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
format: input.format,
image: options.image,

View File

@@ -24,6 +24,7 @@ module.exports = function GridOverlay(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
extraManipulation: extraManipulation,
format: input.format,
image: options.image,

View File

@@ -74,6 +74,7 @@ module.exports = function Channel(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
extraManipulation: extraManipulation,
format: input.format,

View File

@@ -41,6 +41,7 @@ module.exports = function Ndvi(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
format: input.format,
image: options.image,

View File

@@ -23,6 +23,7 @@ module.exports = function NoiseReduction(options, UI){
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
extraManipulation: extraManipulation,
format: input.format,
image: options.image,

View File

@@ -65,6 +65,7 @@ module.exports = function Dynamic(options, UI, util) {
// run PixelManipulation on first Image pixels
return require('../_nomodule/PixelManipulation.js')(baseStepOutput, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
format: baseStepOutput.format,
image: baseStepImage,

View File

@@ -23,6 +23,7 @@ module.exports = function PaintBucket(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
extraManipulation: extraManipulation,
format: input.format,
image: options.image,

View File

@@ -27,6 +27,7 @@ module.exports = function ReplaceColor(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
extraManipulation: extraManipulation,
format: input.format,

View File

@@ -54,6 +54,7 @@ module.exports = function Resize(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
extraManipulation: extraManipulation,
format: input.format,

View File

@@ -45,6 +45,7 @@ module.exports = function Rotate(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
extraManipulation: extraManipulation,
format: input.format,

View File

@@ -40,6 +40,7 @@ module.exports = function Saturation(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
format: input.format,
image: options.image,

View File

@@ -31,6 +31,7 @@ module.exports = function TextOverlay(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
extraManipulation: extraManipulation,
format: input.format,
image: options.image,
@@ -48,4 +49,3 @@ module.exports = function TextOverlay(options, UI) {
UI: UI
};
};

View File

@@ -28,6 +28,7 @@ module.exports = function ImageThreshold(options, UI) {
}
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
extraManipulation: extraManipulation,
format: input.format,

View File

@@ -32,6 +32,7 @@ module.exports = function Tint(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
changePixel: changePixel,
format: input.format,
image: options.image,

View File

@@ -40,6 +40,7 @@ module.exports = function Balance(options, UI) {
return require('../_nomodule/PixelManipulation.js')(input, {
output: output,
ui: options.step.ui,
extraManipulation: extraManipulation,
format: input.format,
image: options.image,

View File

@@ -32,7 +32,7 @@ module.exports = function PixelManipulation(image, options) {
// TODO: this could possibly be more efficient; see
// https://github.com/p-v-o-s/infragram-js/blob/master/public/infragram.js#L173-L181
if (!options.inBrowser && !process.env.TEST) {
if (!options.inBrowser && !process.env.TEST && options.ui) {
try {
var pace = require('pace')(pixels.shape[0] * pixels.shape[1]);
} catch (e) {
@@ -63,7 +63,7 @@ module.exports = function PixelManipulation(image, options) {
pixels.set(x, y, 2, pixel[2]);
pixels.set(x, y, 3, pixel[3]);
if (!options.inBrowser && !process.env.TEST) pace.op();
if (!options.inBrowser && !process.env.TEST && options.ui) pace.op();
}
}
}