Skip to content

Commit a1f0caf

Browse files
diego0020swederik
authored andcommitted
chore(docs): Add missing jsdocs to the rendering module (#315)
* add missing jsdocs * eslint-fix * restore .babelrc
1 parent 97756a5 commit a1f0caf

9 files changed

+97
-14
lines changed

Diff for: .babelrc

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
{
2-
"presets": ["@babel/preset-env"]
3-
}
2+
"presets": [
3+
"@babel/preset-env"
4+
]
5+
}

Diff for: src/rendering/getLut.js

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import generateLut from '../internal/generateLut.js';
1010
* @param {Boolean} invalidated Whether or not the LUT data has been invalidated
1111
* (e.g. by a change to the windowWidth, windowCenter, or invert viewport parameters).
1212
* @return {Uint8ClampedArray} LUT Array
13+
* @memberof rendering
1314
*/
1415
export default function (image, viewport, invalidated) {
1516
// If we have a cached lut and it has the right values, return it immediately

Diff for: src/rendering/initializeRenderCanvas.js

+8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
/**
2+
* Sets size and clears canvas
3+
*
4+
* @param {Object} enabledElement Cornerstone Enabled Element
5+
* @param {Object} image Image to be rendered
6+
* @returns {void}
7+
* @memberof rendering
8+
*/
19
export default function (enabledElement, image) {
210
const renderCanvas = enabledElement.renderingTools.renderCanvas;
311

Diff for: src/rendering/renderColorImage.js

+26-7
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,21 @@ import doesImageNeedToBeRendered from './doesImageNeedToBeRendered.js';
88
import initializeRenderCanvas from './initializeRenderCanvas.js';
99
import saveLastRendered from './saveLastRendered.js';
1010

11+
/**
12+
* Generates an appropriate Look Up Table to render the given image with the given window width and level (specified in the viewport)
13+
* Uses an internal cache for performance
14+
*
15+
* @param {Object} image The image to be rendered
16+
* @param {Object} viewport The viewport values used for rendering
17+
* @returns {Uint8ClampedArray} Look Up Table array.
18+
* @memberof rendering
19+
*/
1120
function getLut (image, viewport) {
1221
// If we have a cached lut and it has the right values, return it immediately
1322
if (image.cachedLut !== undefined &&
14-
image.cachedLut.windowCenter === viewport.voi.windowCenter &&
15-
image.cachedLut.windowWidth === viewport.voi.windowWidth &&
16-
image.cachedLut.invert === viewport.invert) {
23+
image.cachedLut.windowCenter === viewport.voi.windowCenter &&
24+
image.cachedLut.windowWidth === viewport.voi.windowWidth &&
25+
image.cachedLut.invert === viewport.invert) {
1726
return image.cachedLut.lutArray;
1827
}
1928

@@ -26,6 +35,16 @@ function getLut (image, viewport) {
2635
return image.cachedLut.lutArray;
2736
}
2837

38+
/**
39+
* Returns an appropriate canvas to render the Image. If the canvas available in the cache is appropriate
40+
* it is returned, otherwise adjustments are made. It also sets the color transfer functions.
41+
*
42+
* @param {Object} enabledElement The cornerstone enabled element
43+
* @param {Object} image The image to be rendered
44+
* @param {Boolean} invalidated Is pixel data valid
45+
* @returns {HTMLCanvasElement} An appropriate canvas for rendering the image
46+
* @memberof rendering
47+
*/
2948
function getRenderCanvas (enabledElement, image, invalidated) {
3049
const canvasWasColor = enabledElement.renderingTools.lastRenderedIsColor === true;
3150

@@ -38,10 +57,10 @@ function getRenderCanvas (enabledElement, image, invalidated) {
3857
// The ww/wc is identity and not inverted - get a canvas with the image rendered into it for
3958
// Fast drawing
4059
if (enabledElement.viewport.voi.windowWidth === 255 &&
41-
enabledElement.viewport.voi.windowCenter === 128 &&
42-
enabledElement.viewport.invert === false &&
43-
image.getCanvas &&
44-
image.getCanvas()
60+
enabledElement.viewport.voi.windowCenter === 128 &&
61+
enabledElement.viewport.invert === false &&
62+
image.getCanvas &&
63+
image.getCanvas()
4564
) {
4665
return image.getCanvas();
4766
}

Diff for: src/rendering/renderGrayscaleImage.js

+11
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,17 @@ import doesImageNeedToBeRendered from './doesImageNeedToBeRendered.js';
88
import initializeRenderCanvas from './initializeRenderCanvas.js';
99
import saveLastRendered from './saveLastRendered.js';
1010

11+
/**
12+
* Returns an appropriate canvas to render the Image. If the canvas available in the cache is appropriate
13+
* it is returned, otherwise adjustments are made. It also sets the color transfer functions.
14+
*
15+
* @param {Object} enabledElement The cornerstone enabled element
16+
* @param {Object} image The image to be rendered
17+
* @param {Boolean} invalidated Is pixel data valid
18+
* @param {Boolean} [useAlphaChannel = true] Will an alpha channel be used
19+
* @returns {HTMLCanvasElement} An appropriate canvas for rendering the image
20+
* @memberof rendering
21+
*/
1122
function getRenderCanvas (enabledElement, image, invalidated, useAlphaChannel = true) {
1223
const canvasWasColor = enabledElement.renderingTools.lastRenderedIsColor === true;
1324

Diff for: src/rendering/renderLabelMapImage.js

+10
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,16 @@ import doesImageNeedToBeRendered from './doesImageNeedToBeRendered.js';
66
import storedPixelDataToCanvasImageDataColorLUT from '../internal/storedPixelDataToCanvasImageDataColorLUT.js';
77
import colors from '../colors/index.js';
88

9+
/**
10+
* Returns an appropriate canvas to render the Image. If the canvas available in the cache is appropriate
11+
* it is returned, otherwise adjustments are made. It also sets the color transfer functions.
12+
*
13+
* @param {Object} enabledElement The cornerstone enabled element
14+
* @param {Object} image The image to be rendered
15+
* @param {Boolean} invalidated Is pixel data valid
16+
* @returns {HTMLCanvasElement} An appropriate canvas for rendering the image
17+
* @memberof rendering
18+
*/
919
function getRenderCanvas (enabledElement, image, invalidated) {
1020
if (!enabledElement.renderingTools.renderCanvas) {
1121
enabledElement.renderingTools.renderCanvas = document.createElement('canvas');

Diff for: src/rendering/renderPseudoColorImage.js

+11-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,16 @@ import doesImageNeedToBeRendered from './doesImageNeedToBeRendered.js';
77
import storedPixelDataToCanvasImageDataPseudocolorLUT from '../internal/storedPixelDataToCanvasImageDataPseudocolorLUT.js';
88
import colors from '../colors/index.js';
99

10+
/**
11+
* Returns an appropriate canvas to render the Image. If the canvas available in the cache is appropriate
12+
* it is returned, otherwise adjustments are made. It also sets the color transfer functions.
13+
*
14+
* @param {Object} enabledElement The cornerstone enabled element
15+
* @param {Object} image The image to be rendered
16+
* @param {Boolean} invalidated Is pixel data valid
17+
* @returns {HTMLCanvasElement} An appropriate canvas for rendering the image
18+
* @memberof rendering
19+
*/
1020
function getRenderCanvas (enabledElement, image, invalidated) {
1121
if (!enabledElement.renderingTools.renderCanvas) {
1222
enabledElement.renderingTools.renderCanvas = document.createElement('canvas');
@@ -45,7 +55,7 @@ function getRenderCanvas (enabledElement, image, invalidated) {
4555
let start = now();
4656

4757
if (!enabledElement.renderingTools.colorLut || invalidated ||
48-
enabledElement.renderingTools.colormapId !== colormapId) {
58+
enabledElement.renderingTools.colormapId !== colormapId) {
4959
colormap.setNumberOfColors(256);
5060
enabledElement.renderingTools.colorLut = colormap.createLookupTable();
5161
enabledElement.renderingTools.colormapId = colormapId;

Diff for: src/rendering/renderToCanvas.js

+18-4
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,29 @@ import drawImageSync from '../internal/drawImageSync.js';
44
import getDefaultViewport from '../internal/getDefaultViewport.js';
55
import tryEnableWebgl from '../internal/tryEnableWebgl.js';
66

7+
/**
8+
* @typedef {Object} EnabledElementStub
9+
* @property {HTMLElement} element The enabled element
10+
* @property {HTMLCanvasElement} canvas The current canvas
11+
* @property {Object} image Currently displayed image
12+
* @property {Boolean} invalid Whether or not the image pixel data has been changed
13+
* @property {Boolean} needsRedraw A flag for triggering a redraw of the canvas without re-retrieving the pixel data, since it remains valid
14+
* @property {Object} options Layer drawing options
15+
* @property {Object[]} layers Layers added to the EnabledElement
16+
* @property {Object} data
17+
* @property {Object} renderingTools
18+
* @property {Object} viewport The current viewport
19+
* @memberof rendering
20+
*/
721

822
/**
923
* creates a dummy enabled element
1024
*
11-
* @param {any} canvas the canvas that will be assigned to the enabled element.
25+
* @param {HTMLCanvasElement} canvas the canvas that will be assigned to the enabled element.
1226
* @param {any} image An Image loaded by a Cornerstone Image Loader
1327
* @param { any } options Options for rendering the image (e.g.enable webgl by {renderer: 'webgl' })
1428
* @param { any } viewport A set of Cornerstone viewport parameters
15-
* @returns { element, canvas,image, invalid: Boolean, needsRedraw: Booleans, options, layers: [], data, renderingTools, viewport} a dummy enabled element
29+
* @returns {EnabledElementStub} a dummy enabled element
1630
* @memberof rendering
1731
*/
1832
function createEnabledElementStub (canvas, image, options, viewport) {
@@ -34,8 +48,8 @@ function createEnabledElementStub (canvas, image, options, viewport) {
3448
* Render the image to the provided canvas immediately.
3549
* @param {any} canvas The HTML canvas where the image will be rendered.
3650
* @param {any} image An Image loaded by a Cornerstone Image Loader
37-
* @param {any} viewport A set of Cornerstone viewport parameters
38-
* @param {any} options Options for rendering the image (e.g. enable webgl by {renderer: 'webgl'})
51+
* @param {any} [viewport = null] A set of Cornerstone viewport parameters
52+
* @param {any} [options = null] Options for rendering the image (e.g. enable webgl by {renderer: 'webgl'})
3953
* @returns {void}
4054
* @memberof rendering
4155
*/

Diff for: src/rendering/saveLastRendered.js

+8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
/**
2+
* Saves the parameters of the last render into renderingTools, used later to decide if data can be reused.
3+
*
4+
* @param {Object} enabledElement Cornerstone EnabledElement
5+
* @returns {Object} enabledElement.renderingTools
6+
* @memberof rendering
7+
*/
8+
19
export default function (enabledElement) {
210
const imageId = enabledElement.image.imageId;
311
const viewport = enabledElement.viewport;

0 commit comments

Comments
 (0)