Documentation of various Modules === List of Module Documentations 1. [Crop](#crop-module) 2. [Segmented-Colormap](#segmented-colormap-module) 3. [FisheyeGl](#fisheyeGl-module) 4. [Add QR](#Add-QR-module) 5. [Average](#average-module) 6. [Blend](#blend-module) 7. [Blur](#blur-module) 8. [Brightness](#brightness-module) 9. [Channel](#channel-module) 10. [Colorbar](#colorbar-module) 11. [Colormap](#colormap-module) 12. [Contrast](#contrast-module) 13. [Convolution](#convolution-module) 14. [DecodeQr](#decodeQr-module) 15. [Dither](#dither-module) 16. [DrawRectangle](#draw-rectangle-module) 17. [Dynamic](#dynamic-module) 18. [Edge-Detect](#edge-detect-module) 19. [FlipImage](#flipimage-module) 20. [Gamma-Correction](#gamma-correction-module) 21. [Gradient](#gradient-module) 22. [Histogram](#histogram-module) 23. [Import-image](#import-image-module) 24. [Invert](#invert-module) 25. [Ndvi](#ndvi-module) 26. [Ndvi-Colormap](#ndvi-colormap-module) 27. [Overlay](#overlay-module) 28. [PaintBucket](#paint-bucket-module) 29. [Resize](#resize-module) 30. [ReplaceColor](#replacecolor-module) 31. [Rotate](#rotate-module) 32. [Saturation](#saturation-module) 33. [Threshold](#threshold) 34. [Tint](#tint) 35. [ColorTemperature](#color-temperature) ## crop-module This module is used to crop an image. #### Usage ```js sequencer.loadImage('PATH') .addSteps('crop',options) .run(); ``` Where `options` is an object having the properties `x`, `y`, `w`, `h`. This diagram defines these properties: ![Image](CropManual.png) #### Defaults * `options.x` : 0 * `options.y` : 0 * `options.w` : half of image width * `options.h` : half of image height ## segmented-colormap-module This module is used to map the pixels of the image to a segmented colormap. #### Usage ```js sequencer.loadImage('PATH') .addSteps('segmented-colormap',options) .run() ``` where `options` is an object with the property `colormap`. `options.colormap` can be: * "default" : [[0, [0, 0, 255], [38, 195, 195]], [0.5, [0, 150, 0], [255, 255, 0]], [0.75, [255, 255, 0], [255, 50, 50]]] * "greyscale" : [[0, [0, 0, 0], [255, 255, 255]], [1, [255, 255, 255], [255, 255, 255]]] * "stretched" : [[0, [0, 0, 255], [0, 0, 255]], [0.1, [0, 0, 255], [38, 195, 195]], [0.5, [0, 150, 0], [255, 255, 0]], [0.7, [255, 255, 0], [255, 50, 50]], [0.9, [255, 50, 50], [255, 50, 50]]] * "fastie" : [[0, [255, 255, 255], [0, 0, 0]], [0.167, [0, 0, 0], [255, 255, 255]], [0.33, [255, 255, 255], [0, 0, 0]], [0.5, [0, 0, 0], [140, 140, 255]], [0.55, [140, 140, 255], [0, 255, 0]], [0.63, [0, 255, 0], [255, 255, 0]], [0.75, [255, 255, 0], [255, 0, 0]], [0.95, [255, 0, 0], [255, 0, 255]]] * A custom array. ## fisheyeGl-module This module is used for correcting Fisheye or Lens Distortion #### Usage ```js sequencer.loadImage('PATH') .addSteps('fisheye-gl',options) .run() ``` where `options` is an object with the following properties: * a : a correction (0 to 4; default 1) * b : b correction (0 to 4; default 1) * Fx : x correction (0 to 4; default 1) * Fy : y correction (0 to 4; default 1) * scale : The ratio to which the original image is to be scaled (0 to 20; default 1.5) * x : Field of View x (0 to 2; default 1) * y : Field of View y (0 to 2; default 1) ## add-qr-module This module Adds QR corresponding to the given string. #### Usage ```js sequencer.loadImage('PATH') .addSteps('add-qr',options) .run() ``` where `options` is an object with the following properties: * size : size of QR code in pixels (default 200) * qrCodeString : input string to generate QR code ## average-module This module is used for averaging all the pixels of the image. #### Usage ```js sequencer.loadImage('PATH') .addSteps('average',options) .run() ``` ## blend-module This module is used for blending two images . #### Usage ```js sequencer.loadImage('PATH') .addSteps('blend',options) .run() ``` where `options` is an object with the following properties: * offset: step of image with which current image is to be blended(Two steps back is -2, three steps back is -3 etc; default -2) * func: function used to blend two images (default : function(r1, g1, b1, a1, r2, g2, b2, a2) { return [ r1, g2, b2, a2 ] }) ## blur-module This module is used for applying a Gaussian blur effect. #### Usage ```js sequencer.loadImage('PATH') .addSteps('blur',options) .run() ``` where `options` is an object with the following property: * blur : Intensity of Gaussian blur (0 to 5; default 2) ## brightness-module This module is used for changing the brightness of the image. #### Usage ```js sequencer.loadImage('PATH') .addSteps('brightness',options) .run() ``` where `options` is an object with the following property: * brightness : brightness of the image in percentage (0 to 100; default 100) ## channel-module This module is used for forming a grayscale image by applying one of the three primary colors. #### Usage ```js sequencer.loadImage('PATH') .addSteps('channel',options) .run() ``` where `options` is an object with the following property: * channel : color of the channel (red, green, blue; default green) ## colorbar-module This module is used for displaying an image with a colorbar. #### Usage ```js sequencer.loadImage('PATH') .addSteps('colorbar',options) .run() ``` where `options` is an object with the following properties: * colormap : Name of the Colormap(default, greyscale, stretched, fastie, brntogrn, blutoredjet, colors16; default: default) * x : X-position of the image on which the new image is overlayed (default 0) * y : Y-position of the image on which the new image is overlayed (default 0) * h : height of resulting cropped image (default : 50% of input image width ) ## colormap-module This module is used for mapping brightness values (average of red, green & blue) to a given color lookup table, made up of a set of one more color gradients. #### Usage ```js sequencer.loadImage('PATH') .addSteps('colormap',options) .run() ``` where `options` is an object with the following property: * colormap : Name of the Colormap ( greyscale, stretched, fastie, brntogrn, blutoredjet, colors16) ## contrast-module This module is used for changing the contrast of the image. #### Usage ```js sequencer.loadImage('PATH') .addSteps('contrast',options) .run() ``` where `options` is an object with the following property: * contrast : contrast for the given image (-100 to 100; default : 70) ## convolution-module This module is used for performing image-convolution. #### Usage ```js sequencer.loadImage('PATH') .addSteps('convolution',options) .run() ``` where `options` is an object with the following properties: * constantFactor : a constant factor, multiplies all the kernel values by that factor (default : 1/9) * kernelValues : nine space separated numbers representing the kernel values in left to right and top to bottom format(default : 1 1 1 1 1 1 1 1 1) ## decodeQr-module This module is used for decoding a QR in image (if present). #### Usage ```js sequencer.loadImage('PATH') .addSteps('decode-qr',options) .run() ``` ## dither-module This module approximates a color from a mixture of other colors when the required color is not available, creating illusions of the color that is not present actually. [more info on wikipedia](https://en.wikipedia.org/wiki/Dither) ## Usage ```js sequencer.loadImage('PATH') .addSteps('dither',options) .run() ``` where `options` is an object with the following property: * dither : Can select the name of the Dithering Algorithm(default none) ## draw-rectangle-module This module helps to draw a rectangle on the image with a starting and ending corner with the specified thickness and color of the border. ## Usage ```js sequencer.loadImage('PATH') .addSteps('draw-rectangle',options) .run() ``` where `options` is an object with the following properties: * startingX : starting x position of the rectangle (default 0) * startingY : starting y position of the rectangle (default 0) * endX : last x position of the rectangle (default "width") * endY : last y position of the rectangle (default "height") * thickness : thickness of the border (default 1) * color : RGBA values separated by a space (default "0 0 0 255") ## dynamic-module This module is used for producing each color channel based on the original image's color. #### Usage ```js sequencer.loadImage('PATH') .addSteps('dynamic',options) .run() ``` where `options` is an object with the following properties: * red : expression for red channel (R, G, B and A as inputs; default r) * green : expression for green channel (R, G, B and A as inputs; default g) * blue : expression for blue channel (R, G, B and A as inputs; default b) * monochrome: fallback for other channels if none provided (default : r+g+b/3) ## edge-detect-module This module is used for detecting images. #### Usage ```js sequencer.loadImage('PATH') .addSteps('edge-detect',options) .run() ``` where `options` is an object with the following properties: * blur : Intensity of Gaussian blur (0 to 5; default 2) * highThresholdRatio : Upper Threshold Ratio ( default : 0.2) * lowThresholdratio : Lower Threshold Ratio ( default : 0.2) ## flipimage-module This module is used for flipping the image on the selected axis. #### Usage ```js sequencer.loadImage('PATH') .addSteps('flip-image',options) .run() ``` where `options` is an object with the following properties: * Axis : select the required axis (default : vertical) ## gamma-correction-module This module is used for applying gamma correction. #### Usage ```js sequencer.loadImage('PATH') .addSteps('gamma-correction',options) .run() ``` where `options` is an object with the following property: * adjustment : Inverse of actual gamma factor (default 0.2) ## gradient-module This module is used for finding gradient of the image. #### Usage ```js sequencer.loadImage('PATH') .addSteps('gradient',options) .run() ``` ## histogram-module This module is used for calculating histogram of the image. #### Usage ```js sequencer.loadImage('PATH') .addSteps('histogram',options) .run() ``` where `options` is an object with the following property: * gradient : boolean value used to toggle gradient along x-axis (true or false; default true) ## import-image-module This module is used for importing a new image and replacing the original with it. #### Usage ```js sequencer.loadImage('PATH') .addSteps('import-image',options) .run() ``` where `options` is an object with the following property: * url : url of the new image (local image url or data url;default : "./images/monarch.png") ## invert-module This module is used for inverting the image. #### Usage ```js sequencer.loadImage('PATH') .addSteps('invert',options) .run() ``` ## ndvi-module This module is used for applying ndvi technique to the image. #### Usage ```js sequencer.loadImage('PATH') .addSteps('ndvi',options) .run() ``` where `options` is an object with the following property: * filter : filter for NDVI (blue or red; default red) ## ndvi-colormap-module This module is used for demonstrating ndvi and colormap properties consecutively. #### Usage ```js sequencer.loadImage('PATH') .addSteps('ndvi-colormap',options) .run() ``` ## overlay-module This module is used for overlaying an Image over another . #### Usage ```js sequencer.loadImage('PATH') .addSteps('overlay',options) .run() ``` where `options` is an object with the following properties: * x : X-position of the image on which the new image is overlayed (default 0) * y : Y-position of the image on which the new image is overlayed (default 0) * offset : offset to the step on which the output of the last step is overlayed (default -2) ## paint-bucket-module This module fills any polygonal shape with the specified color in pixels. ## Usage ```js sequencer.loadImage('PATH') .addSteps('paint-bucket',options) .run() ``` where `options` is an object with the following property: * startingX : it is the value of the starting x-cordinate (default 10) * startingY : it is the value of the starting y-cordinate (default 10) * fillColor : they are four spaced seperated numbers representing the RGBA values of fill-color (default "100 100 100 255") * tolerance : it is the % tolerance (default 10) ## resize-module This module is used for resizing an image. #### Usage ```js sequencer.loadImage('PATH') .addSteps('resize',options) .run() ``` where `options` is an object with the following property: * resize : Percentage value of resize (default 125%) ## replacecolor-module This module is used in replacing the color with grey or any desired color. #### Usage ```js sequencer.loadImage('PATH') .addSteps('replace-color',options) .run() ``` where `options` is an object with the following properties: * replaceMethod : replaces with the desired color (default greyscale) * replaceColor : three space separated numbers representing the RGB values of color to be filled (default "0 0 255") * color : three space separated numbers representing the RGB values of color to be replaced (default "228 86 81") * tolerance : it is the % tolerance (default 50) ## rotate-module This module is used for rotating an image. #### Usage ```js sequencer.loadImage('PATH') .addSteps('rotate',options) .run() ``` where `options` is an object with the following property: * rotate : angular value for rotation in degrees (between 0 and 360; default 0) ## saturation-module This module is used for changing the saturation of the image. #### Usage ```js sequencer.loadImage('PATH') .addSteps('saturation',options) .run() ``` where `options` is an object with the following property: * saturation : saturation for the new image (between 0 and 2; default 0) ## Threshold Thresholding is used to create binary images. ## Usage ```js sequencer.loadImage('PATH') .addSteps('threshold',options) .run() ``` where `options` is an object with the following property: * threshold : it allows to select the types of thresholding (default "manual thresholding") * input : it allows to select the range of thresholding value (default 120) ## Tint It adds color tint to an image ## Usage ```js sequencer.loadImage('PATH') .addSteps('tint',options) .run() ``` where `options` is an object with the following property: * color : RGB values seperated by a space (default "0 0 255") * factor : amount of tint (default 0.5) ## Color Temperature This changes the color temperature of the image. ## Usage ```js sequencer.loadImage('PATH') .addSteps('color-temperature',options) .run() ``` where `options` is an object with the following property: * temperature : temperature between 0 - 40,000 kelvin (default 6000)