Table of Contents
- Objects
- EnabledElements
- ImageLoader
- ImageCache
- Metadata
- ViewportSettings
- PixelCoordinateSystem
- EnabledElementLayers
- Internal- guid
- drawImage
- drawImageSync
- renderLayers
- getImageFitScale
- generateLut
- getDefaultViewport
- createViewport
- getDisplayedArea
- generateLinearModalityLUT
- getModalityLUT
- storedPixelDataToCanvasImageDataRGBA
- generateColorLut
- storedRGBAPixelDataToCanvasImageData
- computeAutoVoi
- hasVoi
- isRotated
- getImageSize
- calculateTransform
- storedColorPixelDataToCanvasImageData
- storedPixelDataToCanvasImageData
- storedPixelDataToCanvasImageDataColorLUT
- storedPixelDataToCanvasImageDataPseudocolorLUT
 
- rendering- getLut
- getLut
- getRenderCanvas
- getRenderCanvas
- getRenderCanvas
- getRenderCanvas
- renderColorImage
- renderGrayscaleImage
- lutMatches
- doesImageNeedToBeRendered
- initializeRenderCanvas
- saveLastRendered
- renderLabelMapImage
- renderPseudoColorImage
- EnabledElementStub
- createEnabledElementStub
- renderToCanvas
- renderWebImage
 
- WebGLRendering
- Polyfills
- purgeLayers
- getPixelValues
- getRestoreImageMethod
- ensuresColormap
- restoreImage
- convertImageToFalseColorImage
- convertToFalseColorImage
- linspace
- getRank
- searchSorted
- makeMappingArray
- createLinearSegmentedColormap
- getColormapsList
- getColormap
- linearIndexLookupMain
- setNumberOfTableValues
- setRamp
- setTableRange
- setHueRange
- setSaturationRange
- setValueRange
- setRange
- setAlphaRange
- getColor
- build
- buildSpecialColors
- mapValue
- getIndex
- setTableValue
- getElementData
- removeElementData
- HSVToRGB
- LookupTable
- disable
- hasImageOrLayers
- enable
- displayImage
- draw
- draw
- drawInvalidated
- invalidate
- invalidateImageId
- updateImage
- getEnabledElements
- hasImageOrLayers
- drawCompositeImage
- tryEnableWebgl
- generateUUID
- createCanvas
- getCanvas
- fitToWindow
- validateParameterUndefined
- validateParameterUndefinedOrNull
- generateLinearVOILUT
- generateLinearVOILUT
- generateNonLinearVOILUT
- getVOILut
- getDefaultViewportForImage
- getImage
- getPixels
- getStoredPixels
- setMaximumSizeBytes
- purgeCacheIfNecessary
- putImageLoadObject
- getImageLoadObject
- removeImageLoadObject
- CacheInformation
- getCacheInfo
- decache
- purgeCache
- changeImageIdCacheSize
- pageToPixel
- pixelDataToFalseColorData
- addGrayscaleLayer
- getFillStyle
- addLabelMapLayer
- addPseudoColorLayer
- reset
- setCanvasSize
- wasFitToWindow
- relativeRescale
- resize
- setDefaultViewport
- setToPixelCoordinateSystem
- triggerEvent
- WebGLTextureCache
Objects
vec2
A two-dimensional vector
Type: Object
Parameters
VOI
VOI
Type: Object
Parameters
LUT
Lookup Table Array
Type: Object
Properties
ImageStats
Image Statistics Object
Type: Object
Properties
- lastGetPixelDataTimeNumber? The time in ms taken to retrieve stored pixels required to draw the image
- lastStoredPixelDataToCanvasImageDataTimeNumber? The time in ms taken to map from stored pixel array to canvas pixel array
- lastPutImageDataTimeNumber? The time in ms taken for putImageData to put the canvas pixel data into the canvas context
- lastRenderTimeNumber? The total time in ms taken for the entire rendering function to run
- lastLutGenerateTimeNumber? The time in ms taken to generate the lookup table for the image
Image
An Image Object in Cornerstone
Type: Object
Properties
- imageIdstring The imageId associated with this image object
- minPixelValueNumber the minimum stored pixel value in the image
- maxPixelValueNumber the maximum stored pixel value in the image
- slopeNumber the rescale slope to convert stored pixel values to modality pixel values or 1 if not specified
- interceptNumber the rescale intercept used to convert stored pixel values to modality values or 0 if not specified
- windowCenterNumber the default windowCenter to apply to the image
- windowWidthNumber the default windowWidth to apply to the image
- getPixelDatafunction a function that returns the underlying pixel data. An array of integers for grayscale and an array of RGBA for color
- getImageDatafunction a function that returns a canvas imageData object for the image. This is only needed for color images
- getCanvasfunction a function that returns a canvas element with the image loaded into it. This is only needed for color images.
- getImagefunction a function that returns a JavaScript Image object with the image data. This is optional and typically used for images encoded in standard web JPEG and PNG formats
- rowsNumber number of rows in the image. This is the same as height but duplicated for convenience
- columnsNumber number of columns in the image. This is the same as width but duplicated for convenience
- heightNumber the height of the image. This is the same as rows but duplicated for convenience
- widthNumber the width of the image. This is the same as columns but duplicated for convenience
- colorBoolean true if pixel data is RGB, false if grayscale
- lutObject The Lookup Table
- rgbaBoolean Is the color pixel data stored in RGBA?
- columnPixelSpacingNumber horizontal distance between the middle of each pixel (or width of each pixel) in mm or undefined if not known
- rowPixelSpacingNumber vertical distance between the middle of each pixel (or height of each pixel) in mm or undefined if not known
- invertBoolean true if the the image should initially be displayed be inverted, false if not. This is here mainly to support DICOM images with a photometric interpretation of MONOCHROME1
- sizeInBytesNumber the number of bytes used to store the pixels for this image.
- falseColorBoolean? Whether or not the image has undergone false color mapping
- origPixelDataArray? Original pixel data for an image after it has undergone false color mapping
- statsImageStats? Statistics for the last redraw of the image
- cachedLutObject Cached Lookup Table for this image.
- colormap(String | Colormap)? Depreacted. Use viewport.colormap instead. an optional colormap ID or colormap object (from colors/colormap.js). This will be applied during rendering to convert the image to pseudocolor
- labelmapBoolean? whether or not to render this image as a label map (i.e. skip modality and VOI LUT pipelines and use only a color lookup table)
Viewport
A Viewport Settings Object Cornerstone
Type: Object
Properties
- scaleNumber? The scale applied to the image. A scale of 1.0 will display no zoom (one image pixel takes up one screen pixel). A scale of 2.0 will be double zoom and a scale of .5 will be zoomed out by 2x
- translationvec2? An object with properties x and y which describe the translation to apply in the pixel coordinate system. Note that the image is initially displayed centered in the enabled element with a x and y translation of 0 and 0 respectively.
- voiVOI? an object with properties windowWidth and windowCenter.
- invertboolean? Whether or not the image is inverted.
- pixelReplicationboolean? true if the image smooth / interpolation should be used when zoomed in on the image or false if pixel replication should be used.
- hflipboolean? true if the image is flipped horizontally. Default is false
- vflipboolean? true if the image is flipped vertically. Default is false
- rotationNumber? the rotation of the image (90 degree increments). Default is 0
- modalityLUTLUT? the modality LUT to apply or undefined if none
- voiLUTLUT? the modality LUT to apply or undefined if none
- colormap(String | Colormap)? an optional colormap ID or colormap object (from colors/colormap.js). This will be applied during rendering to convert the image to pseudocolor
- labelmapBoolean? whether or not to render this image as a label map (i.e. skip modality and VOI LUT pipelines and use only a color lookup table)
EnabledElement
An Enabled Element in Cornerstone
Type: Object
Properties
- elementHTMLElement The DOM element which has been enabled for use by Cornerstone
- imageImage? The image currently displayed in the enabledElement
- viewportViewport? The current viewport settings of the enabledElement
- canvasHTMLCanvasElement? The current canvas for this enabledElement
- invalidBoolean Whether or not the image pixel data underlying the enabledElement has been changed, necessitating a redraw
- needsRedrawBoolean A flag for triggering a redraw of the canvas without re-retrieving the pixel data, since it remains valid
- layersArray\- ? The layers that have been added to the enabledElement
- syncViewportsBoolean? Whether or not to synchronize the viewport parameters for each of the enabled element's layers
- lastSyncViewportsStateBoolean? The previous state for the sync viewport boolean
EnabledElementLayer
An Enabled Element Layer in Cornerstone
Type: Object
Properties
- elementHTMLElement The DOM element which has been enabled for use by Cornerstone
- imageImage? The image currently displayed in the enabledElement
- viewportViewport? The current viewport settings of the enabledElement
- canvasHTMLCanvasElement? The current canvas for this enabledElement
- optionsObject? Layer drawing options
- invalidBoolean Whether or not the image pixel data underlying the enabledElement has been changed, necessitating a redraw
- needsRedrawBoolean A flag for triggering a redraw of the canvas without re-retrieving the pixel data, since it remains valid
ImageLoadObject
An Image Load Object
Type: Object
Properties
- promisePromise The Promise tracking the loading of this image
- cancelFn(Function | undefined) A function to cancel the image load request
VOILUTFunction
Volume of Interest Lookup Table Function
Type: Function
Parameters
- modalityLutValueNumber
Returns Number transformed value
EnabledElements
getEnabledElement
Retrieves a Cornerstone Enabled Element object
Parameters
- elementHTMLElement An HTML Element enabled for Cornerstone
Returns EnabledElement A Cornerstone Enabled Element
addEnabledElement
Adds a Cornerstone Enabled Element object to the central store of enabledElements
Parameters
- enabledElementEnabledElement A Cornerstone enabledElement Object
Returns void
getEnabledElementsByImageId
Adds a Cornerstone Enabled Element object to the central store of enabledElements
Parameters
- imageIdstring A Cornerstone Image ID
Returns Array\
getEnabledElements
Retrieve all of the currently enabled Cornerstone elements
Returns Array\
ImageLoader
This module deals with ImageLoaders, loading images and caching images
loadImageFromImageLoader
Load an image using a registered Cornerstone Image Loader.
The image loader that is used will be determined by the image loader scheme matching against the imageId.
Parameters
- imageIdString A Cornerstone Image Object's imageId
- optionsObject? Options to be passed to the Image Loader
Returns ImageLoadObject An Object which can be used to act after an image is loaded or loading fails
loadImage
Loads an image given an imageId and optional priority and returns a promise which will resolve to the loaded image object or fail if an error occurred. The loaded image is not stored in the cache.
Parameters
- imageIdString A Cornerstone Image Object's imageId
- optionsObject? Options to be passed to the Image Loader
Returns ImageLoadObject An Object which can be used to act after an image is loaded or loading fails
loadAndCacheImage
Loads an image given an imageId and optional priority and returns a promise which will resolve to the loaded image object or fail if an error occurred. The image is stored in the cache.
Parameters
- imageIdString A Cornerstone Image Object's imageId
- optionsObject? Options to be passed to the Image Loader
Returns ImageLoadObject Image Loader Object
registerImageLoader
Registers an imageLoader plugin with cornerstone for the specified scheme
Parameters
- schemeString The scheme to use for this image loader (e.g. 'dicomweb', 'wadouri', 'http')
- imageLoaderFunction A Cornerstone Image Loader function
Returns void
registerUnknownImageLoader
Registers a new unknownImageLoader and returns the previous one
Parameters
- imageLoaderFunction A Cornerstone Image Loader
Returns (Function | Undefined) The previous Unknown Image Loader
ImageCache
This module deals with caching images
Metadata
addProvider
Adds a metadata provider with the specified priority
Parameters
- providerFunction Metadata provider function
- priorityNumber 0 is default/normal, > 0 is high, < 0 is low (optional, default- 0)
Returns void
removeProvider
Removes the specified provider
Parameters
- providerFunction Metadata provider function
Returns void
getMetaData
Gets metadata from the registered metadata providers. Will call each one from highest priority to lowest until one responds
Parameters
- typeString The type of metadata requested from the metadata store
- imageIdString The Cornerstone Image Object's imageId
Returns any The metadata retrieved from the metadata store
ViewportSettings
getViewport
Retrieves the viewport for the specified enabled element
Parameters
- elementHTMLElement The DOM element enabled for Cornerstone
Returns (Viewport | undefined) The Cornerstone Viewport settings for this element, if they exist. Otherwise, undefined
setViewport
Sets/updates viewport of a given enabled element
Parameters
- elementHTMLElement DOM element of the enabled element
- viewportViewport? Object containing the viewport properties
Returns void
PixelCoordinateSystem
canvasToPixel
Converts a point in the canvas coordinate system to the pixel coordinate system system. This can be used to reset tools' image coordinates after modifications have been made in canvas space (e.g. moving a tool by a few cm, independent of image resolution).
Parameters
- elementHTMLElement The Cornerstone element within which the input point lies
- pt{x: Number, y: Number} The input point in the canvas coordinate system
Returns {x: Number, y: Number} The transformed point in the pixel coordinate system
pixelToCanvas
Converts a point in the pixel coordinate system to the canvas coordinate system system. This can be used to render using canvas context without having the weird side effects that come from scaling and non square pixels
Parameters
- elementHTMLElement An HTML Element enabled for Cornerstone
- pt{x: Number, y: Number} The transformed point in the pixel coordinate system
Returns {x: Number, y: Number} The input point in the canvas coordinate system
EnabledElementLayers
triggerEventForLayer
Helper function to trigger an event on a Cornerstone element with a specific layerId
Parameters
- eventNameString The event name (e.g. CornerstoneLayerAdded)
- enabledElementEnabledElement The Cornerstone enabled element
- layerIdString The layer's unique identifier
Returns void
rescaleImage
Rescale the target layer to the base layer based on the relative size of each image and their pixel dimensions.
This function will update the Viewport parameters of the target layer to a new scale.
Parameters
- baseLayerEnabledElementLayer The base layer
- targetLayerEnabledElementLayer The target layer to rescale
Returns void
addLayer
Add a layer to a Cornerstone element
Parameters
- elementHTMLElement The DOM element enabled for Cornerstone
- imageImage A Cornerstone Image object to add as a new layer
- optionsObject Options for the layer
Returns String layerId The new layer's unique identifier
removeLayer
Remove a layer from a Cornerstone element given a layer ID
Parameters
- elementHTMLElement The DOM element enabled for Cornerstone
- layerIdString The unique identifier for the layer
Returns void
getLayer
Retrieve a layer from a Cornerstone element given a layer ID
Parameters
- elementHTMLElement The DOM element enabled for Cornerstone
- layerIdString The unique identifier for the layer
Returns EnabledElementLayer The layer
getLayers
Retrieve all layers for a Cornerstone element
Parameters
- elementHTMLElement The DOM element enabled for Cornerstone
Returns Array\
getVisibleLayers
Retrieve all visible layers for a Cornerstone element
Parameters
- elementHTMLElement The DOM element enabled for Cornerstone
Returns Array\
setActiveLayer
Set the active layer for a Cornerstone element
Parameters
- elementHTMLElement The DOM element enabled for Cornerstone
- layerIdString The unique identifier for the layer
Returns void
setLayerImage
Set a new image for a specific layerId
Parameters
- elementHTMLElement The DOM element enabled for Cornerstone
- imageImage The image to be displayed in this layer
- layerIdString? The unique identifier for the layer
Returns void
getActiveLayer
Retrieve the currently active layer for a Cornerstone element
Parameters
- elementHTMLElement The DOM element enabled for Cornerstone
Returns EnabledElementLayer The currently active layer
Internal
guid
Generate a unique identifier
Returns string A unique identifier
drawImage
Internal API function to draw an image to a given enabled element
Parameters
- enabledElementEnabledElement The Cornerstone Enabled Element to redraw
- invalidatedBoolean true if pixel data has been invalidated and cached rendering should not be used (optional, default- false)
Returns void
drawImageSync
Draw an image to a given enabled element synchronously
Parameters
- enabledElementEnabledElement An enabled element to draw into
- invalidatedBoolean true if pixel data has been invalidated and cached rendering should not be used
Returns void
renderLayers
Internal function to render all layers for a Cornerstone enabled element
Parameters
- contextCanvasRenderingContext2D Canvas context to draw upon
- layersArray\- The array of all layers for this enabled element 
- invalidatedBoolean A boolean whether or not this image has been invalidated and must be redrawn
Returns void
getImageFitScale
Calculates the horizontal, vertical and minimum scale factor for an image
Parameters
- windowSize{width, height} The window size where the image is displayed. This can be any HTML element or structure with a width, height fields (e.g. canvas).
- imageany The cornerstone image object
- rotationNumber Optional. The rotation angle of the image. (optional, default- null)
Returns {horizontalScale, verticalScale, scaleFactor} The calculated horizontal, vertical and minimum scale factor
generateLut
Creates a LUT used while rendering to convert stored pixel values to display pixels
Parameters
- imageImage A Cornerstone Image Object
- windowWidthNumber The Window Width
- windowCenterNumber The Window Center
- invertBoolean A boolean describing whether or not the image has been inverted
- modalityLUTArray? A modality Lookup Table
- voiLUTArray? A Volume of Interest Lookup Table
Returns Uint8ClampedArray A lookup table to apply to the image
getDefaultViewport
Creates a new viewport object containing default values for the image and canvas
Parameters
- canvasHTMLElement A Canvas DOM element
- imageImage A Cornerstone Image Object
Returns Viewport viewport object
createViewport
Creates a new viewport object containing default values
Returns Viewport viewport object
getDisplayedArea
Returns the displayedArea from the viewport if exists or creates a new displayedArea object containing default values for the image
Parameters
- imageImage A Cornerstone Image Object
- viewportViewport An optional viewport Object (optional, default- null)
Returns DisplayedArea displayedArea object
generateLinearModalityLUT
Generates a linear modality transformation function
See DICOM PS3.3 C.11.1 Modality LUT Module
http://dicom.nema.org/medical/Dicom/current/output/chtml/part03/sect_C.11.html
Parameters
- slopeNumber m in the equation specified by Rescale Intercept (0028,1052).
- interceptNumber The value b in relationship between stored values (SV) and the output units specified in Rescale Type (0028,1054).Output units = m*SV + b.
Returns function (any): any A linear modality LUT function. Given a stored pixel it returns the modality pixel value
getModalityLUT
Get the appropriate Modality LUT for the current situation.
Parameters
- slopeNumber? m in the equation specified by Rescale Intercept (0028,1052).
- interceptNumber? The value b in relationship between stored values (SV) and the output units specified in Rescale Type (0028,1054).
- modalityLUTFunction? A modality LUT function. Given a stored pixel it returns the modality pixel value.
Returns function (any): any A modality LUT function. Given a stored pixel it returns the modality pixel value.
storedPixelDataToCanvasImageDataRGBA
This function transforms stored pixel values into a canvas image data buffer by using a LUT.
Parameters
- imageImage A Cornerstone Image Object
- lutArray Lookup table array
- canvasImageDataDataUint8ClampedArray canvasImageData.data buffer filled with white pixels
Returns void
generateColorLut
Creates a LUT used while rendering to convert stored pixel values to display pixels
Parameters
- imageImage A Cornerstone Image Object
- windowWidthNumber The Window Width
- windowCenterNumber The Window Center
- invertBoolean A boolean describing whether or not the image has been inverted
- voiLUTArray? A Volume of Interest Lookup Table
Returns Uint8ClampedArray A lookup table to apply to the image
storedRGBAPixelDataToCanvasImageData
Converts stored RGBA color pixel values to display pixel values using a LUT.
Parameters
- imageImage A Cornerstone Image Object
- lutArray Lookup table array
- canvasImageDataDataUint8ClampedArray canvasImageData.data buffer filled with white pixels
Returns void
computeAutoVoi
Computes the VOI to display all the pixels if no VOI LUT data (Window Width/Window Center or voiLUT) exists on the viewport object.
Parameters
- viewportViewport Object containing the viewport properties
- imageObject An Image loaded by a Cornerstone Image Loader
Returns void
hasVoi
Check if viewport has voi LUT data
Parameters
- viewportany The viewport to check for voi LUT data
Returns Boolean true viewport has LUT data (Window Width/Window Center or voiLUT). Otherwise, false.
isRotated
Check if the angle is rotated
Parameters
- rotationNumber the rotation angle
Returns Boolean true if the angle is rotated; Otherwise, false.
getImageSize
Retrieves the current image dimensions given an enabled element
Parameters
- imageany The Cornerstone image.
- rotationNumber Optional. The rotation angle of the image. (optional, default- null)
Returns {width: Number, height: Number} The Image dimensions
calculateTransform
Calculate the transform for a Cornerstone enabled element
Parameters
- enabledElementEnabledElement The Cornerstone Enabled Element
- scaleNumber? The viewport scale
Returns Transform The current transform
storedColorPixelDataToCanvasImageData
Converts stored color pixel values to display pixel values using a LUT.
Note: Skips alpha value for any input image pixel data.
Parameters
- imageImage A Cornerstone Image Object
- lutArray Lookup table array
- canvasImageDataDataUint8ClampedArray canvasImageData.data buffer filled with white pixels
Returns void
storedPixelDataToCanvasImageData
This function transforms stored pixel values into a canvas image data buffer by using a LUT. This is the most performance sensitive code in cornerstone and we use a special trick to make this go as fast as possible. Specifically we use the alpha channel only to control the luminance rather than the red, green and blue channels which makes it over 3x faster. The canvasImageDataData buffer needs to be previously filled with white pixels.
NOTE: Attribution would be appreciated if you use this technique!
Parameters
- imageImage A Cornerstone Image Object
- lutArray Lookup table array
- canvasImageDataDataUint8ClampedArray canvasImageData.data buffer filled with white pixels
Returns void
storedPixelDataToCanvasImageDataColorLUT
Parameters
- imageImage A Cornerstone Image Object
- colorLut(LookupTable | Array) Lookup table array
- canvasImageDataDataUint8ClampedArray canvasImageData.data buffer filled with white pixels
Returns void
storedPixelDataToCanvasImageDataPseudocolorLUT
Parameters
- imageImage A Cornerstone Image Object
- grayscaleLutArray Lookup table array
- colorLut(LookupTable | Array) Lookup table array
- canvasImageDataDataUint8ClampedArray canvasImageData.data buffer filled with white pixels
Returns void
rendering
getLut
Generates an appropriate Look Up Table to render the given image with the given window width and level (specified in the viewport) Uses an internal cache for performance
Parameters
Returns Uint8ClampedArray Look Up Table array.
getLut
Retrieve or generate a LUT Array for an Image and Viewport
Parameters
- imageImage An Image Object
- viewportViewport An Viewport Object
- invalidatedBoolean Whether or not the LUT data has been invalidated (e.g. by a change to the windowWidth, windowCenter, or invert viewport parameters).
Returns Uint8ClampedArray LUT Array
getRenderCanvas
Returns an appropriate canvas to render the Image. If the canvas available in the cache is appropriate it is returned, otherwise adjustments are made. It also sets the color transfer functions.
Parameters
- enabledElementObject The cornerstone enabled element
- imageObject The image to be rendered
- invalidatedBoolean Is pixel data valid
Returns HTMLCanvasElement An appropriate canvas for rendering the image
getRenderCanvas
Returns an appropriate canvas to render the Image. If the canvas available in the cache is appropriate it is returned, otherwise adjustments are made. It also sets the color transfer functions.
Parameters
- enabledElementObject The cornerstone enabled element
- imageObject The image to be rendered
- invalidatedBoolean Is pixel data valid
- useAlphaChannelBoolean Will an alpha channel be used (optional, default- true)
Returns HTMLCanvasElement An appropriate canvas for rendering the image
getRenderCanvas
Returns an appropriate canvas to render the Image. If the canvas available in the cache is appropriate it is returned, otherwise adjustments are made. It also sets the color transfer functions.
Parameters
- enabledElementObject The cornerstone enabled element
- imageObject The image to be rendered
- invalidatedBoolean Is pixel data valid
Returns HTMLCanvasElement An appropriate canvas for rendering the image
getRenderCanvas
Returns an appropriate canvas to render the Image. If the canvas available in the cache is appropriate it is returned, otherwise adjustments are made. It also sets the color transfer functions.
Parameters
- enabledElementObject The cornerstone enabled element
- imageObject The image to be rendered
- invalidatedBoolean Is pixel data valid
Returns HTMLCanvasElement An appropriate canvas for rendering the image
renderColorImage
API function to render a color image to an enabled element
Parameters
- enabledElementEnabledElement The Cornerstone Enabled Element to redraw
- invalidatedBoolean true if pixel data has been invalidated and cached rendering should not be used
Returns void
renderGrayscaleImage
API function to draw a grayscale image to a given enabledElement
Parameters
- enabledElementEnabledElement The Cornerstone Enabled Element to redraw
- invalidatedBoolean true if pixel data has been invalidated and cached rendering should not be used
Returns void
lutMatches
Check if two lookup tables match
Parameters
- aLUT A lookup table function
- bLUT Another lookup table function
Returns boolean Whether or not they match
doesImageNeedToBeRendered
Determine whether or not an Enabled Element needs to be re-rendered.
If the imageId has changed, or if any of the last rendered viewport parameters have changed, this function will return true.
Parameters
- enabledElementEnabledElement An Enabled Element
- imageImage An Image
Returns boolean Whether or not the Enabled Element needs to re-render its image
initializeRenderCanvas
Sets size and clears canvas
Parameters
Returns void
saveLastRendered
Saves the parameters of the last render into renderingTools, used later to decide if data can be reused.
Parameters
- enabledElementObject Cornerstone EnabledElement
Returns Object enabledElement.renderingTools
renderLabelMapImage
API function to draw a label map image to a given enabledElement
Parameters
- enabledElementEnabledElement The Cornerstone Enabled Element to redraw
- invalidatedBoolean true if pixel data has been invalidated and cached rendering should not be used
Returns void
renderPseudoColorImage
API function to draw a pseudo-color image to a given enabledElement
Parameters
- enabledElementEnabledElement The Cornerstone Enabled Element to redraw
- invalidatedBoolean true if pixel data has been invalidated and cached rendering should not be used
Returns void
EnabledElementStub
Type: Object
Properties
- elementHTMLElement The enabled element
- canvasHTMLCanvasElement The current canvas
- imageObject Currently displayed image
- invalidBoolean Whether or not the image pixel data has been changed
- needsRedrawBoolean A flag for triggering a redraw of the canvas without re-retrieving the pixel data, since it remains valid
- optionsObject Layer drawing options
- layersArray<Object> Layers added to the EnabledElement
- dataObject
- renderingToolsObject
- viewportObject The current viewport
createEnabledElementStub
creates a dummy enabled element
Parameters
- canvasHTMLCanvasElement the canvas that will be assigned to the enabled element.
- imageany An Image loaded by a Cornerstone Image Loader
- optionsany Options for rendering the image (e.g.enable webgl by {renderer: 'webgl' })
- viewportany A set of Cornerstone viewport parameters
Returns EnabledElementStub a dummy enabled element
renderToCanvas
Render the image to the provided canvas immediately.
Parameters
- canvasany The HTML canvas where the image will be rendered.
- imageany An Image loaded by a Cornerstone Image Loader
- viewportany A set of Cornerstone viewport parameters (optional, default- null)
- optionsany Options for rendering the image (e.g. enable webgl by {renderer: 'webgl'}) (optional, default- null)
Returns void
renderWebImage
API function to draw a standard web image (PNG, JPG) to an enabledImage
Parameters
- enabledElementEnabledElement The Cornerstone Enabled Element to redraw
- invalidatedBoolean true if pixel data has been invalidated and cached rendering should not be used
Returns void
WebGLRendering
getImageDataType
Returns the image data type as a string representation.
Parameters
- imageany The cornerstone image object
Returns string image data type (rgb, iint16, uint16, int8 and uint8)
storedPixelDataToImageData
Convert stored pixel data to image data.
Pack int16 into three uint8 channels (r, g, b)
Parameters
- imageImage A Cornerstone Image Object
Returns Uint8Array The image data for use by the WebGL shader
storedPixelDataToImageData
Convert stored pixel data to image data.
Store data in Uint8Array
Parameters
- imageImage A Cornerstone Image Object
Returns Uint8Array The image data for use by the WebGL shader
storedPixelDataToImageData
Convert stored pixel data to image data.
Pack RGB images into a 3-channel RGB texture
Parameters
- imageImage A Cornerstone Image Object
Returns Uint8Array The image data for use by the WebGL shader
storedPixelDataToImageData
Convert stored pixel data to image data.
For uint16 pack uint16 into two uint8 channels (r and a).
Parameters
- imageImage A Cornerstone Image Object
Returns Uint8Array The image data for use by the WebGL shader
storedPixelDataToImageData
Convert stored pixel data to image data. Here we will store all data in the alpha channel.
Parameters
- imageImage A Cornerstone Image Object
Returns Uint8Array The image data for use by the WebGL shader
compileShader
Creates and compiles a shader.
Parameters
- gl!WebGLRenderingContext The WebGL Context.
- shaderSourcestring The GLSL source code for the shader.
- shaderTypenumber The type of shader, VERTEX_SHADER or FRAGMENT_SHADER.
Returns !WebGLShader The shader.
createProgram
Creates a program from 2 shaders.
Parameters
- gl!WebGLRenderingContext The WebGL context.
- vertexShader!WebGLShader A vertex shader.
- fragmentShader!WebGLShader A fragment shader.
Returns !WebGLProgram A program.
createProgramFromString
Creates a program from 2 shaders source (Strings)
Parameters
- gl!WebGLRenderingContext The WebGL context.
- vertexShaderSrc!WebGLShader Vertex shader string
- fragShaderSrc!WebGLShader Fragment shader string
Returns !WebGLProgram A program
Polyfills
EventTarget
EventTarget - Provides the EventTarget interface
now
Use the performance.now() method if possible, and if not, use Date.now()
Returns number Time elapsed since the time origin
requestAnimationFrame
Polyfills requestAnimationFrame for older browsers.
Parameters
- callbackFunction A parameter specifying a function to call when it's time to update your animation for the next repaint. The callback has one single argument, a DOMHighResTimeStamp, which indicates the current time (the time returned from performance.now() ) for when requestAnimationFrame starts to fire callbacks.
Returns Number A long integer value, the request id, that uniquely identifies the entry in the callback list. This is a non-zero value, but you may not make any other assumptions about its value. You can pass this value to window.cancelAnimationFrame() to cancel the refresh callback request.
purgeLayers
Purge the layers
Parameters
- elementHTMLElement The DOM element enabled for Cornerstone
Returns void
getPixelValues
Retrieves the minimum and maximum pixel values from an Array of pixel data
Parameters
- pixelDataArray The input pixel data array
Returns {minPixelValue: Number, maxPixelValue: Number} The minimum and maximum pixel values in the input Array
getRestoreImageMethod
Retrieve a function that will allow an image object to be reset to its original form after a false color mapping transformation
Parameters
- imageImage A Cornerstone Image Object
Returns Function A function for resetting an Image Object to its original form
ensuresColormap
User can pass a colormap or its id as string to some of these public functions. Then we need to make sure it will be converted into a colormap object if it's a string.
Parameters
- colormapany A colormap ID or Object
Returns any The colormap
restoreImage
Restores a false color image to its original version
Parameters
- imageImage A Cornerstone Image Object
Returns Boolean True if the image object had a valid restore function, which was run. Otherwise, false.
convertImageToFalseColorImage
Convert an image to a false color image
Parameters
- imageImage A Cornerstone Image Object
- colormap(String | Object) it can be a colormap object or a colormap id (string)
Returns Boolean Whether or not the image has been converted to a false color image
convertToFalseColorImage
Convert the image of a element to a false color image
Parameters
- elementHTMLElement The Cornerstone element
- colormapany it can be a colormap object or a colormap id (string)
Returns void
linspace
Generate linearly spaced vectors http://cens.ioc.ee/local/man/matlab/techdoc/ref/linspace.html
Parameters
- aNumber A number representing the first vector
- bNumber A number representing the second vector
- nNumber The number of linear spaced vectors to generate
Returns Array An array of points representing linear spaced vectors.
getRank
Returns the "rank/index" of the element in a sorted array if found or the highest index if not. Uses (binary search)
Parameters
- arrayArray A sorted array to search in
- elemany the element in the array to search for
Returns number The rank/index of the element in the given array
searchSorted
Find the indices into a sorted array a such that, if the corresponding elements In v were inserted before the indices, the order of a would be preserved. http://lagrange.univ-lyon1.fr/docs/numpy/1.11.0/reference/generated/numpy.searchsorted.html
Parameters
- inputArrayArray The array where the values will be inserted
- valuesArray An array of the values to be inserted into the inputArray
Returns Array The indices where elements should be inserted to maintain order.
makeMappingArray
Creates an N -element 1-d lookup table
Parameters
- NNumber The number of elements in the result lookup table
- dataArray represented by a list of x,y0,y1 mapping correspondences. Each element in this List represents how a value between 0 and 1 (inclusive) represented by x is mapped to A corresponding value between 0 and 1 (inclusive). The two values of y are to allow for Discontinuous mapping functions (say as might be found in a sawtooth) where y0 represents The value of y for values of x <= to that given, and y1 is the value to be used for x > Than that given). The list must start with x=0, end with x=1, and all values of x must be In increasing order. Values between the given mapping points are determined by simple linear Interpolation.
- gammaany value denotes a "gamma curve" value which adjusts the brightness at the bottom and top of the map.
Returns Array\
createLinearSegmentedColormap
The lookup table is generated using linear interpolation for each Primary color, with the 0-1 domain divided into any number of Segments. https://github.com/stefanv/matplotlib/blob/3f1a23755e86fef97d51e30e106195f34425c9e3/lib/matplotlib/colors.py#L663
Parameters
- segmentedData{red: Array, green: Array, blue: Array} An object with a red, green and blue entries. Each entry should be a list of x, y0, y1 tuples, forming rows in a table.
- NNumber The number of elements in the result Colormap
- gammaany value denotes a "gamma curve" value which adjusts the brightness at the bottom and top of the Colormap.
Returns Array The created Colormap object
getColormapsList
Return all available colormaps (id and name)
Returns Array<{id, key}> An array of colormaps with an object containing the "id" and display "name"
getColormap
Return a colorMap object with the provided id and colormapData if the Id matches existent colorMap objects (check colormapsData) the colormapData is ignored. if the colormapData is not empty, the colorMap will be added to the colormapsData list. Otherwise, an empty colorMap object is returned.
Parameters
- idstring The ID of the colormap
- colormapDataObject An object that can contain a name, numColors, gama, segmentedData and/or colors
Returns any The Colormap Object
linearIndexLookupMain
Maps a value to an index in the table
Parameters
- vNumber A double value which table index will be returned.
- pany An object that contains the Table "Range", the table "MaxIndex", A "Shift" from first value in the table and the table "Scale" value
Returns Number The mapped index in the table
setNumberOfTableValues
Specify the number of values (i.e., colors) in the lookup table.
Parameters
- numberNumber The number of colors in he LookupTable
Returns void
setRamp
Set the shape of the table ramp to either 'linear', 'scurve' or 'sqrt'
Parameters
- rampString A string value representing the shape of the table. Allowed values are 'linear', 'scurve' or 'sqrt'
Returns void
setTableRange
Sets the minimum/maximum scalar values for scalar mapping. Scalar values less than minimum range value are clamped to minimum range value. Scalar values greater than maximum range value are clamped to maximum range value.
Parameters
- startNumber A double representing the minimum scaler value of the LookupTable
- endany A double representing the maximum scaler value of the LookupTable
Returns void
setHueRange
Set the range in hue (using automatic generation). Hue ranges between [0,1].
Parameters
- startNumber A double representing the minimum hue value in a range. Min. is 0
- endNumber A double representing the maximum hue value in a range. Max. is 1
Returns void
setSaturationRange
Set the range in saturation (using automatic generation). Saturation ranges between [0,1].
Parameters
- startNumber A double representing the minimum Saturation value in a range. Min. is 0
- endNumber A double representing the maximum Saturation value in a range. Max. is 1
Returns void
setValueRange
Set the range in value (using automatic generation). Value ranges between [0,1].
Parameters
- startNumeber A double representing the minimum value in a range. Min. is 0
- endNumeber A double representing the maximum value in a range. Max. is 1
Returns void
setRange
(Not Used) Sets the range of scalars which will be mapped.
Parameters
Returns void
setAlphaRange
Set the range in alpha (using automatic generation). Alpha ranges from [0,1].
Parameters
- startNumber A double representing the minimum alpha value
- endNumber A double representing the maximum alpha value
Returns void
getColor
Map one value through the lookup table and return the color as an RGBA array of doubles between 0 and 1.
Parameters
- scalarNumber A double scalar value which will be mapped to a color in the LookupTable
Returns Array<Number> An RGBA array of doubles between 0 and 1
build
Generate lookup table from hue, saturation, value, alpha min/max values. Table is built from linear ramp of each value.
Parameters
- forceBoolean true to force the build of the LookupTable. Otherwie, false. This is useful if a lookup table has been defined manually (using SetTableValue) and then an application decides to rebuild the lookup table using the implicit process.
Returns void
buildSpecialColors
Ensures the out-of-range colors (Below range and Above range) are set correctly.
Returns void
mapValue
Similar to GetColor - Map one value through the lookup table and return the color as an RGBA array of doubles between 0 and 1.
Parameters
- vNumeber A double scalar value which will be mapped to a color in the LookupTable
Returns Array<Number> An RGBA array of doubles between 0 and 1
getIndex
Return the table index associated with a particular value.
Parameters
- vNumber A double value which table index will be returned.
Returns Number The index in the LookupTable
setTableValue
Directly load color into lookup table. Use [0,1] double values for color component specification. Make sure that you've either used the Build() method or used SetNumberOfTableValues() prior to using this method.
Parameters
- indexNumber The index in the LookupTable of where to insert the color value
- rgbaArray<Number> An array of [0,1] double values for an RGBA color component
Returns void
getElementData
Retrieves any data for a Cornerstone enabledElement for a specific string dataType
Parameters
- elementHTMLElement An HTML Element enabled for Cornerstone
- dataTypestring A string name for an arbitrary set of data
Returns any Whatever data is stored for this enabled element
removeElementData
Clears any data for a Cornerstone enabledElement for a specific string dataType
Parameters
- elementHTMLElement An HTML Element enabled for Cornerstone
- dataTypestring A string name for an arbitrary set of data
Returns void
HSVToRGB
Converts an HSV (Hue, Saturation, Value) color to RGB (Red, Green, Blue) color value
Parameters
- hueNumber A number representing the hue color value
- satany A number representing the saturation color value
- valany A number representing the value color value
Returns Array\
LookupTable
Maps scalar values into colors via a lookup table LookupTable is an object that is used by mapper objects to map scalar values into rgba (red-green-blue-alpha transparency) color specification, or rgba into scalar values. The color table can be created by direct insertion of color values, or by specifying hue, saturation, value, and alpha range and generating a table
disable
Disable an HTML element for further use in Cornerstone
Parameters
- elementHTMLElement An HTML Element enabled for Cornerstone
Returns void
hasImageOrLayers
Returns whether or not an Enabled Element has either a currently active image or a non-empty Array of Enabled Element Layers.
Parameters
- enabledElementEnabledElement An Enabled Element
Returns Boolean Whether or not the Enabled Element has an active image or valid set of layers
enable
Enable an HTML Element for use in Cornerstone
- If there is a Canvas already present within the HTMLElement, and it has the class
'cornerstone-canvas', this function will use this existing Canvas instead of creating a new one. This may be helpful when using libraries (e.g. React, Vue) which don't want third parties to change the DOM.
Parameters
- elementHTMLElement An HTML Element enabled for Cornerstone
- optionsObject Options for the enabledElement
Returns void
displayImage
Sets a new image object for a given element.
Will also apply an optional viewport setting.
Parameters
- elementHTMLElement An HTML Element enabled for Cornerstone
- imageObject An Image loaded by a Cornerstone Image Loader
- viewportObject? A set of Cornerstone viewport parameters
Returns void
draw
Immediately draws the enabled element
Parameters
- elementHTMLElement An HTML Element enabled for Cornerstone
Returns void
draw
Draw the image immediately
Parameters
- timestampDOMHighResTimeStamp The current time for when requestAnimationFrame starts to fire callbacks
Returns void
drawInvalidated
Draws all invalidated enabled elements and clears the invalid flag after drawing it
Returns void
invalidate
Sets the invalid flag on the enabled element and fires an event
Parameters
- elementHTMLElement The DOM element enabled for Cornerstone
Returns void
invalidateImageId
Forces the image to be updated/redrawn for all enabled elements displaying the specified imageId
Parameters
- imageIdstring The imageId of the Cornerstone Image Object to redraw
Returns void
updateImage
Forces the image to be updated/redrawn for the specified enabled element
Parameters
- elementHTMLElement An HTML Element enabled for Cornerstone
- invalidatedBoolean Whether or not the image pixel data has been changed, necessitating a redraw (optional, default- false)
Returns void
getEnabledElements
This module is responsible for drawing invalidated enabled elements
hasImageOrLayers
Parameters
- enabledElement
drawCompositeImage
Internal API function to draw a composite image to a given enabled element
Parameters
- enabledElementEnabledElement An enabled element to draw into
- invalidatedBoolean true if pixel data has been invalidated and cached rendering should not be used
Returns void
tryEnableWebgl
Checks if webGL is supported and initializes the rendering engine.
Parameters
- optionsany Options to check if webgl rendering is requested (e.g. enable webgl by passing {renderer: 'webgl'})
Returns Boolean true if webgl rendering has been successfully initialized. Otherwise, false.
generateUUID
Generates a UUID for the enabledElement.
Returns String the UUID.
createCanvas
Create a canvas and append it to the element
Parameters
- elementHTMLElement An HTML Element
Returns HTMLElement canvas A Canvas DOM element
getCanvas
Create a canvas or returns the one that already exists for a given element
Parameters
- elementHTMLElement An HTML Element
Returns HTMLElement canvas A Canvas DOM element
fitToWindow
Adjusts an image's scale and translation so the image is centered and all pixels in the image are viewable.
Parameters
- elementHTMLElement The Cornerstone element to update
Returns void
validateParameterUndefined
Check if the supplied parameter is undefined and throws and error
Parameters
- checkParamany the parameter to validate for undefined
- errorMsgany the error message to be thrown
Returns void
validateParameterUndefinedOrNull
Check if the supplied parameter is undefined or null and throws and error
Parameters
- checkParamany the parameter to validate for undefined
- errorMsgany the error message to be thrown
Returns void
generateLinearVOILUT
Parameters
- windowWidth
- windowCenter
generateLinearVOILUT
Parameters
Returns VOILUTFunction VOI LUT mapping function
generateNonLinearVOILUT
Generate a non-linear volume of interest lookup table
Parameters
- voiLUTLUT Volume of Interest Lookup Table Object
- roundModalityLUTValuesBoolean Do a Math.round of modality lut to compute non linear voilut
Returns VOILUTFunction VOI LUT mapping function
getVOILut
Retrieve a VOI LUT mapping function given the current windowing settings and the VOI LUT for the image
Parameters
- windowWidthNumber Window Width
- windowCenterNumber Window Center
- voiLUTLUT? Volume of Interest Lookup Table Object
- roundModalityLUTValuesBoolean Do a Math.round of modality lut to compute non linear voilut
Returns VOILUTFunction VOI LUT mapping function
getDefaultViewportForImage
Returns a default viewport for display the specified image on the specified enabled element. The default viewport is fit to window
Parameters
- elementHTMLElement The DOM element enabled for Cornerstone
- imageImage A Cornerstone Image Object
Returns Viewport The default viewport for the image
getImage
Returns the currently displayed image for an element or undefined if no image has been displayed yet
Parameters
- elementHTMLElement The DOM element enabled for Cornerstone
Returns Image The Cornerstone Image Object displayed in this element
getPixels
Retrieves an array of pixels from a rectangular region with modality LUT transformation applied
Parameters
- elementHTMLElement The DOM element enabled for Cornerstone
- xNumber The x coordinate of the top left corner of the sampling rectangle in image coordinates
- yNumber The y coordinate of the top left corner of the sampling rectangle in image coordinates
- widthNumber The width of the of the sampling rectangle in image coordinates
- heightNumber The height of the of the sampling rectangle in image coordinates
Returns Array The modality pixel value of the pixels in the sampling rectangle
getStoredPixels
Retrieves an array of stored pixel values from a rectangular region of an image
Parameters
- elementHTMLElement The DOM element enabled for Cornerstone
- xNumber The x coordinate of the top left corner of the sampling rectangle in image coordinates
- yNumber The y coordinate of the top left corner of the sampling rectangle in image coordinates
- widthNumber The width of the of the sampling rectangle in image coordinates
- heightNumber The height of the of the sampling rectangle in image coordinates
Returns Array The stored pixel value of the pixels in the sampling rectangle
setMaximumSizeBytes
Sets the maximum size of cache and purges cache contents if necessary.
Parameters
- numBytesnumber The maximun size that the cache should occupy.
Returns void
purgeCacheIfNecessary
Purges the cache if size exceeds maximum
Returns void
putImageLoadObject
Puts a new image loader into the cache
Parameters
- imageIdstring ImageId of the image loader
- imageLoadObjectObject The object that is loading or loaded the image
Returns void
getImageLoadObject
Retuns the object that is loading a given imageId
Parameters
- imageIdstring Image ID
Returns void
removeImageLoadObject
Removes the image loader associated with a given Id from the cache
Parameters
- imageIdstring Image ID
Returns void
CacheInformation
Type: Object
Properties
- maximumSizeInBytesnumber The maximum size of the cache in bytes
- cacheSizeInBytesnumber Currently occupied space in the cache in bytes
- numberOfImagesCachednumber Number of ImageLoaders in the cache
Returns void
getCacheInfo
Gets the current state of the cache
Returns void
decache
INTERNAL: Removes and ImageLoader from the cache
Parameters
- imageLoadObjectObject Image Loader Object to remove
Returns void
purgeCache
Removes all images from cache
Returns void
changeImageIdCacheSize
Updates the space than an image is using in the cache
Parameters
Returns void
pageToPixel
Converts a point in the page coordinate system to the pixel coordinate system
Parameters
- elementHTMLElement The Cornerstone element within which the input point lies
- pageXNumber The x value in the page coordinate system
- pageYNumber The y value in the page coordinate system
Returns {x: Number, y: Number} The transformed point in the pixel coordinate system
pixelDataToFalseColorData
Converts the image pixel data into a false color data
Parameters
Returns void
Meta
- deprecated: This function is superseded by the ability to set the Viewport parameters to include colormaps.
addGrayscaleLayer
API function to draw a grayscale image to a given layer
Parameters
- layerEnabledElementLayer The layer that the image will be added to
- invalidatedBoolean true if pixel data has been invalidated and cached rendering should not be used
- useAlphaChannelBoolean? Whether or not to render the grayscale image using only the alpha channel. This does not work if this layer is not the first layer in the enabledElement. (optional, default- false)
Returns void
getFillStyle
Get current fillStyle for enabled element
Parameters
- enabledElementObject Enabled element
Returns String Current fillStyle of enabled element
addLabelMapLayer
API function to draw a pseudo-color image to a given layer
Parameters
- layerEnabledElementLayer The layer that the image will be added to
- invalidatedBoolean true if pixel data has been invalidated and cached rendering should not be used
Returns void
addPseudoColorLayer
API function to draw a pseudo-color image to a given layer
Parameters
- layerEnabledElementLayer The layer that the image will be added to
- invalidatedBoolean true if pixel data has been invalidated and cached rendering should not be used
Returns void
reset
Resets the viewport to the default settings
Parameters
- elementHTMLElement An HTML Element enabled for Cornerstone
Returns void
setCanvasSize
This module is responsible for enabling an element to display images with cornerstone
Parameters
- elementHTMLElement The DOM element enabled for Cornerstone
- canvasHTMLElement The Canvas DOM element within the DOM element enabled for Cornerstone
Returns void
wasFitToWindow
Checks if the image of a given enabled element fitted the window before the resize
Parameters
- enabledElementEnabledElement The Cornerstone Enabled Element
- oldCanvasWidthnumber The width of the canvas before the resize
- oldCanvasHeightnumber The height of the canvas before the resize
Returns Boolean true if it fitted the windows, false otherwise
relativeRescale
Rescale the image relative to the changed size of the canvas
Parameters
- enabledElementEnabledElement The Cornerstone Enabled Element
- oldCanvasWidthnumber The width of the canvas before the resize
- oldCanvasHeightnumber The height of the canvas before the resize
Returns void
resize
Resizes an enabled element and optionally fits the image to window
Parameters
- elementHTMLElement The DOM element enabled for Cornerstone
- forceFitToWindowBoolean true to to force a refit, false to rescale accordingly
Returns void
setDefaultViewport
Sets new default values for getDefaultViewport
Parameters
- viewportObject Object that sets new default values for getDefaultViewport
Returns undefined
setToPixelCoordinateSystem
Sets the canvas context transformation matrix to the pixel coordinate system. This allows geometry to be driven using the canvas context using coordinates in the pixel coordinate system
Parameters
- enabledElementEnabledElement The
- contextCanvasRenderingContext2D The CanvasRenderingContext2D for the enabledElement's Canvas
- scaleNumber? Optional scale to apply
Returns void
triggerEvent
Trigger a CustomEvent
Parameters
- elEventTarget The element or EventTarget to trigger the event upon
- typeString The event type name
- detail(Object | null) \=null The event data to be sent (optional, default- null)
Returns Boolean The return value is false if at least one event listener called preventDefault(). Otherwise it returns true.
WebGLTextureCache
This module deals with caching image textures in VRAM for WebGL