larvitar 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/.github/workflows/build-docs.yml +1 -1
  2. package/.github/workflows/deploy.yml +4 -4
  3. package/README.md +3 -3
  4. package/modules/vuex/larvitar.js +1 -0
  5. package/package.json +1 -1
  6. package/docs/documentation/Mixins.polygonSegmentationMixin%20-%20segmentation%20operations%20for%20polyline.html +0 -171
  7. package/docs/documentation/Tools.Annotation.ContoursTool.html +0 -218
  8. package/docs/documentation/Tools.Annotation.DiameterTool.html +0 -219
  9. package/docs/documentation/Tools.Annotation.SeedsTool.html +0 -214
  10. package/docs/documentation/Tools.Brush.BrushTool.html +0 -218
  11. package/docs/documentation/Tools.Brush.ThresholdsBrushTool.html +0 -218
  12. package/docs/documentation/Tools.PolylineScissorsTool.html +0 -218
  13. package/docs/documentation/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  14. package/docs/documentation/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  15. package/docs/documentation/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  16. package/docs/documentation/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  17. package/docs/documentation/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  18. package/docs/documentation/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  19. package/docs/documentation/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  20. package/docs/documentation/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  21. package/docs/documentation/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  22. package/docs/documentation/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +0 -978
  23. package/docs/documentation/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  24. package/docs/documentation/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  25. package/docs/documentation/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  26. package/docs/documentation/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  27. package/docs/documentation/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +0 -1049
  28. package/docs/documentation/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  29. package/docs/documentation/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  30. package/docs/documentation/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  31. package/docs/documentation/global.html +0 -1303
  32. package/docs/documentation/imageAnonymization.js.html +0 -245
  33. package/docs/documentation/imageColormaps.js.html +0 -283
  34. package/docs/documentation/imageContours.js.html +0 -278
  35. package/docs/documentation/imageIo.js.html +0 -291
  36. package/docs/documentation/imageLayers.js.html +0 -188
  37. package/docs/documentation/imageLoading.js.html +0 -297
  38. package/docs/documentation/imageParsing.js.html +0 -385
  39. package/docs/documentation/imagePresets.js.html +0 -207
  40. package/docs/documentation/imageRendering.js.html +0 -849
  41. package/docs/documentation/imageReslice.js.html +0 -162
  42. package/docs/documentation/imageStore.js.html +0 -360
  43. package/docs/documentation/imageTools.js.html +0 -784
  44. package/docs/documentation/imageUtils.js.html +0 -1609
  45. package/docs/documentation/image_colormaps.js.html +0 -283
  46. package/docs/documentation/image_contours.js.html +0 -279
  47. package/docs/documentation/image_io.js.html +0 -288
  48. package/docs/documentation/image_layers.js.html +0 -188
  49. package/docs/documentation/image_loading.js.html +0 -294
  50. package/docs/documentation/image_parsing.js.html +0 -391
  51. package/docs/documentation/image_presets.js.html +0 -207
  52. package/docs/documentation/image_rendering.js.html +0 -845
  53. package/docs/documentation/image_reslice.js.html +0 -164
  54. package/docs/documentation/image_store.js.html +0 -359
  55. package/docs/documentation/image_tools.js.html +0 -792
  56. package/docs/documentation/image_utils.js.html +0 -1609
  57. package/docs/documentation/index.html +0 -175
  58. package/docs/documentation/loaders_commonLoader.js.html +0 -306
  59. package/docs/documentation/loaders_dicomLoader.js.html +0 -130
  60. package/docs/documentation/loaders_fileLoader.js.html +0 -155
  61. package/docs/documentation/loaders_multiframeLoader.js.html +0 -443
  62. package/docs/documentation/loaders_niftiLoader.js.html +0 -150
  63. package/docs/documentation/loaders_nrrdLoader.js.html +0 -545
  64. package/docs/documentation/loaders_resliceLoader.js.html +0 -258
  65. package/docs/documentation/module-imaging_contours.html +0 -954
  66. package/docs/documentation/module-imaging_imageAnonymization.html +0 -544
  67. package/docs/documentation/module-imaging_imageColormaps.html +0 -1012
  68. package/docs/documentation/module-imaging_imageContours.html +0 -954
  69. package/docs/documentation/module-imaging_imageIo.html +0 -1057
  70. package/docs/documentation/module-imaging_imageLayers.html +0 -904
  71. package/docs/documentation/module-imaging_imageLoading.html +0 -1301
  72. package/docs/documentation/module-imaging_imageParsing.html +0 -1356
  73. package/docs/documentation/module-imaging_imagePresets.html +0 -679
  74. package/docs/documentation/module-imaging_imageRendering.html +0 -3223
  75. package/docs/documentation/module-imaging_imageReslice.html +0 -413
  76. package/docs/documentation/module-imaging_imageStore-Larvitar_Store.html +0 -284
  77. package/docs/documentation/module-imaging_imageStore.html +0 -1560
  78. package/docs/documentation/module-imaging_imageTools.html +0 -3617
  79. package/docs/documentation/module-imaging_imageUtils.html +0 -7253
  80. package/docs/documentation/module-imaging_io.html +0 -1057
  81. package/docs/documentation/module-imaging_layers.html +0 -904
  82. package/docs/documentation/module-imaging_loading.html +0 -1301
  83. package/docs/documentation/module-imaging_parsing.html +0 -1375
  84. package/docs/documentation/module-imaging_presets.html +0 -679
  85. package/docs/documentation/module-imaging_rendering.html +0 -8094
  86. package/docs/documentation/module-imaging_reslice.html +0 -411
  87. package/docs/documentation/module-imaging_store-Larvitar_Store.html +0 -284
  88. package/docs/documentation/module-imaging_store.html +0 -1537
  89. package/docs/documentation/module-imaging_strategies_eraseFreehand.html +0 -708
  90. package/docs/documentation/module-imaging_strategies_fillFreehand.html +0 -708
  91. package/docs/documentation/module-imaging_tools.html +0 -3617
  92. package/docs/documentation/module-imaging_tools_custom_contourTool.html +0 -207
  93. package/docs/documentation/module-imaging_tools_custom_diameterTool.html +0 -205
  94. package/docs/documentation/module-imaging_tools_custom_editMaskTool.html +0 -205
  95. package/docs/documentation/module-imaging_tools_custom_polygonScissorsTool.html +0 -203
  96. package/docs/documentation/module-imaging_tools_custom_thresholdBrushTool.html +0 -684
  97. package/docs/documentation/module-imaging_tools_default.html +0 -205
  98. package/docs/documentation/module-imaging_tools_interaction.html +0 -530
  99. package/docs/documentation/module-imaging_tools_io.html +0 -832
  100. package/docs/documentation/module-imaging_tools_main.html +0 -2028
  101. package/docs/documentation/module-imaging_tools_polygonSegmentationMixin.html +0 -567
  102. package/docs/documentation/module-imaging_tools_segmentation.html +0 -3586
  103. package/docs/documentation/module-imaging_tools_state.html +0 -494
  104. package/docs/documentation/module-imaging_utils.html +0 -7253
  105. package/docs/documentation/module-loaders_commonLoader.html +0 -1313
  106. package/docs/documentation/module-loaders_dicomLoader.html +0 -522
  107. package/docs/documentation/module-loaders_fileLoader.html +0 -593
  108. package/docs/documentation/module-loaders_multiframeLoader.html +0 -1169
  109. package/docs/documentation/module-loaders_niftiLoader.html +0 -565
  110. package/docs/documentation/module-loaders_nrrdLoader.html +0 -1459
  111. package/docs/documentation/module-loaders_resliceLoader.html +0 -590
  112. package/docs/documentation/module-monitors_memory.html +0 -980
  113. package/docs/documentation/module-tools_default.html +0 -740
  114. package/docs/documentation/module.exports_module.exports.html +0 -203
  115. package/docs/documentation/monitors_memory.js.html +0 -189
  116. package/docs/documentation/parsers_nrrd.js.html +0 -569
  117. package/docs/documentation/scripts/collapse.js +0 -20
  118. package/docs/documentation/scripts/linenumber.js +0 -25
  119. package/docs/documentation/scripts/nav.js +0 -12
  120. package/docs/documentation/scripts/polyfill.js +0 -4
  121. package/docs/documentation/scripts/prettify/Apache-License-2.0.txt +0 -202
  122. package/docs/documentation/scripts/prettify/lang-css.js +0 -2
  123. package/docs/documentation/scripts/prettify/prettify.js +0 -28
  124. package/docs/documentation/scripts/search.js +0 -83
  125. package/docs/documentation/styles/jsdoc.css +0 -765
  126. package/docs/documentation/styles/prettify.css +0 -80
  127. package/docs/documentation/tools_contourTool.js.html +0 -1963
  128. package/docs/documentation/tools_custom_contourTool.js.html +0 -1968
  129. package/docs/documentation/tools_custom_diameterTool.js.html +0 -225
  130. package/docs/documentation/tools_custom_editMaskTool.js.html +0 -225
  131. package/docs/documentation/tools_custom_polylineScissorsTool.js.html +0 -143
  132. package/docs/documentation/tools_custom_thresholdsBrushTool.js.html +0 -245
  133. package/docs/documentation/tools_default.js.html +0 -576
  134. package/docs/documentation/tools_diameterTool.js.html +0 -219
  135. package/docs/documentation/tools_editMaskTool.js.html +0 -219
  136. package/docs/documentation/tools_interaction.js.html +0 -258
  137. package/docs/documentation/tools_io.js.html +0 -297
  138. package/docs/documentation/tools_main.js.html +0 -443
  139. package/docs/documentation/tools_polygonSegmentationMixin.js.html +0 -329
  140. package/docs/documentation/tools_polylineScissorsTool.js.html +0 -136
  141. package/docs/documentation/tools_seedTool.js.html +0 -423
  142. package/docs/documentation/tools_segmentation.js.html +0 -558
  143. package/docs/documentation/tools_state.js.html +0 -163
  144. package/docs/documentation/tools_strategies_eraseFreehand.js.html +0 -160
  145. package/docs/documentation/tools_strategies_fillFreehand.js.html +0 -163
  146. package/docs/documentation/tools_thresholdsBrushTool.js.html +0 -239
  147. package/docs/documentation/tools_tools.default.js.html +0 -569
  148. package/docs/documentation/tools_tools.interaction.js.html +0 -251
  149. package/docs/documentation/tools_tools.io.js.html +0 -288
  150. package/docs/documentation/tools_tools.main.js.html +0 -442
  151. package/docs/documentation/tools_tools.segmentation.js.html +0 -445
  152. package/docs/documentation/tools_tools.state.js.html +0 -157
  153. package/docs/examples/base.html +0 -170
  154. package/docs/examples/colorMaps.html +0 -181
  155. package/docs/examples/defaultTools.html +0 -246
  156. package/docs/examples/demo/anon1 +0 -0
  157. package/docs/examples/demo/anon10 +0 -0
  158. package/docs/examples/demo/anon11 +0 -0
  159. package/docs/examples/demo/anon12 +0 -0
  160. package/docs/examples/demo/anon13 +0 -0
  161. package/docs/examples/demo/anon14 +0 -0
  162. package/docs/examples/demo/anon15 +0 -0
  163. package/docs/examples/demo/anon16 +0 -0
  164. package/docs/examples/demo/anon17 +0 -0
  165. package/docs/examples/demo/anon18 +0 -0
  166. package/docs/examples/demo/anon19 +0 -0
  167. package/docs/examples/demo/anon2 +0 -0
  168. package/docs/examples/demo/anon20 +0 -0
  169. package/docs/examples/demo/anon21 +0 -0
  170. package/docs/examples/demo/anon22 +0 -0
  171. package/docs/examples/demo/anon23 +0 -0
  172. package/docs/examples/demo/anon24 +0 -0
  173. package/docs/examples/demo/anon3 +0 -0
  174. package/docs/examples/demo/anon4 +0 -0
  175. package/docs/examples/demo/anon5 +0 -0
  176. package/docs/examples/demo/anon6 +0 -0
  177. package/docs/examples/demo/anon7 +0 -0
  178. package/docs/examples/demo/anon8 +0 -0
  179. package/docs/examples/demo/anon9 +0 -0
  180. package/docs/examples/demo/example.nrrd +0 -0
  181. package/docs/examples/demo/segmentation.nrrd +0 -0
  182. package/docs/examples/demo/xa_integris.dcm +0 -0
  183. package/docs/examples/index.html +0 -129
  184. package/docs/examples/larvitar.js +0 -108623
  185. package/docs/examples/layers.html +0 -250
  186. package/docs/examples/masks.html +0 -273
  187. package/docs/examples/multiframe.html +0 -200
  188. package/docs/examples/nrrd.html +0 -96
  189. package/docs/examples/reslice.html +0 -174
  190. package/docs/index.html +0 -92
@@ -1,558 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
-
5
- <meta charset="utf-8">
6
- <title>tools/segmentation.js - Larvitar</title>
7
-
8
- <meta name="description" content="Dicom Image Toolkit for CornestoneJS" />
9
-
10
- <meta name="keywords" content="imaging, dataviz, medical, cornerstone" />
11
- <meta name="keyword" content="imaging, dataviz, medical, cornerstone" />
12
-
13
-
14
-
15
- <script src="scripts/prettify/prettify.js"></script>
16
- <script src="scripts/prettify/lang-css.js"></script>
17
- <!--[if lt IE 9]>
18
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
19
- <![endif]-->
20
- <link type="text/css" rel="stylesheet" href="styles/prettify.css">
21
- <link type="text/css" rel="stylesheet" href="styles/jsdoc.css">
22
- <script src="scripts/nav.js" defer></script>
23
-
24
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
25
- </head>
26
- <body>
27
-
28
- <input type="checkbox" id="nav-trigger" class="nav-trigger" />
29
- <label for="nav-trigger" class="navicon-button x">
30
- <div class="navicon"></div>
31
- </label>
32
-
33
- <label for="nav-trigger" class="overlay"></label>
34
-
35
- <nav >
36
-
37
- <input type="text" id="nav-search" placeholder="Search" />
38
-
39
-
40
- <h2><a href="index.html">Home</a></h2><h2><a href="https://github.com/dvisionlab/Larvitar" target="_blank" class="menu-item" id="repository" >Github repo</a></h2><h3>Classes</h3><ul><li><a href="module-imaging_imageStore-Larvitar_Store.html">imaging/imageStore~Larvitar_Store</a></li><li><a href="module-imaging_tools_custom_polygonScissorsTool.html">imaging/tools/custom/polygonScissorsTool</a></li><li><a href="Tools.Annotation.ContoursTool.html">Tools.Annotation.ContoursTool</a></li><li><a href="Tools.Annotation.DiameterTool.html">Tools.Annotation.DiameterTool</a></li><li><a href="Tools.Brush.BrushTool.html">Tools.Brush.BrushTool</a></li><li><a href="Tools.Brush.ThresholdsBrushTool.html">Tools.Brush.ThresholdsBrushTool</a></li><li><a href="Tools.PolylineScissorsTool.html">Tools.PolylineScissorsTool</a></li></ul><h3>Modules</h3><ul><li><a href="module-imaging_imageAnonymization.html">imaging/imageAnonymization</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_imageAnonymization.html#anonymize#~anonymize">anonymize</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageAnonymization.html#encrypt#~encrypt">encrypt</a></li></ul></li><li><a href="module-imaging_imageColormaps.html">imaging/imageColormaps</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_imageColormaps.html#HSVToRGB#.HSVToRGB">HSVToRGB</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageColormaps.html#addColorMap#addColorMap">addColorMap</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageColormaps.html#applyColorMap#applyColorMap">applyColorMap</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageColormaps.html#fillPixelData#fillPixelData">fillPixelData</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageColormaps.html#getColormapsList#getColormapsList">getColormapsList</a></li></ul></li><li><a href="module-imaging_imageContours.html">imaging/imageContours</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_imageContours.html#extractSlicePoints#extractSlicePoints">extractSlicePoints</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageContours.html#populateContoursObject#populateContoursObject">populateContoursObject</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageContours.html#parseContours#~parseContours">parseContours</a></li></ul></li><li><a href="module-imaging_imageIo.html">imaging/imageIo</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_imageIo.html#buildData#~buildData">buildData</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageIo.html#buildDataAsync#~buildDataAsync">buildDataAsync</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageIo.html#buildHeader#~buildHeader">buildHeader</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageIo.html#getCachedPixelData#~getCachedPixelData">getCachedPixelData</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageIo.html#importNRRDImage#~importNRRDImage">importNRRDImage</a></li></ul></li><li><a href="module-imaging_imageLayers.html">imaging/imageLayers</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_imageLayers.html#getActiveLayer#getActiveLayer">getActiveLayer</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageLayers.html#setActiveLayer#setActiveLayer">setActiveLayer</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageLayers.html#updateLayer#updateLayer">updateLayer</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageLayers.html#buildLayers#~buildLayers">buildLayers</a></li></ul></li><li><a href="module-imaging_imageLoading.html">imaging/imageLoading</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_imageLoading.html#initializeFileImageLoader#initializeFileImageLoader">initializeFileImageLoader</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageLoading.html#initializeImageLoader#initializeImageLoader">initializeImageLoader</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageLoading.html#initializeWebImageLoader#initializeWebImageLoader">initializeWebImageLoader</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageLoading.html#registerMultiFrameImageLoader#registerMultiFrameImageLoader">registerMultiFrameImageLoader</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageLoading.html#registerNRRDImageLoader#registerNRRDImageLoader">registerNRRDImageLoader</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageLoading.html#registerResliceLoader#registerResliceLoader">registerResliceLoader</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageLoading.html#updateLoadedStack#updateLoadedStack">updateLoadedStack</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageLoading.html#isNewInstance#~isNewInstance">isNewInstance</a></li></ul></li><li><a href="module-imaging_imageParsing.html">imaging/imageParsing</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_imageParsing.html#clearImageParsing#clearImageParsing">clearImageParsing</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageParsing.html#parseDataSet#parseDataSet">parseDataSet</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageParsing.html#readFile#readFile">readFile</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageParsing.html#readFiles#readFiles">readFiles</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageParsing.html#parseFile#~parseFile">parseFile</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageParsing.html#parseFiles#~parseFiles">parseFiles</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageParsing.html#parseNextFile#~parseNextFile">parseNextFile</a></li></ul></li><li><a href="module-imaging_imagePresets.html">imaging/imagePresets</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_imagePresets.html#getImagePresets#getImagePresets">getImagePresets</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imagePresets.html#setImageCustomPreset#setImageCustomPreset">setImageCustomPreset</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imagePresets.html#setImagePreset#setImagePreset">setImagePreset</a></li></ul></li><li><a href="module-imaging_imageRendering.html">imaging/imageRendering</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_imageRendering.html#clearImageCache#clearImageCache">clearImageCache</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageRendering.html#disableViewport#disableViewport">disableViewport</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageRendering.html#flipImageHorizontal#flipImageHorizontal">flipImageHorizontal</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageRendering.html#flipImageVertical#flipImageVertical">flipImageVertical</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageRendering.html#getSeriesData#getSeriesData">getSeriesData</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageRendering.html#invertImage#invertImage">invertImage</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageRendering.html#loadAndCacheImages#loadAndCacheImages">loadAndCacheImages</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageRendering.html#renderImage#renderImage">renderImage</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageRendering.html#renderWebImage#renderWebImage">renderWebImage</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageRendering.html#renderWebImage#renderWebImage">renderWebImage</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageRendering.html#resetViewports#resetViewports">resetViewports</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageRendering.html#resizeViewport#resizeViewport">resizeViewport</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageRendering.html#rotateImageLeft#rotateImageLeft">rotateImageLeft</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageRendering.html#rotateImageRight#rotateImageRight">rotateImageRight</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageRendering.html#storeViewportData#storeViewportData">storeViewportData</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageRendering.html#unloadViewport#unloadViewport">unloadViewport</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageRendering.html#updateImage#updateImage">updateImage</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageRendering.html#updateViewportData#updateViewportData">updateViewportData</a></li></ul></li><li><a href="module-imaging_imageReslice.html">imaging/imageReslice</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_imageReslice.html#resliceSeries#resliceSeries">resliceSeries</a></li></ul></li><li><a href="module-imaging_imageStore.html">imaging/imageStore</a><ul class='members'><li data-type='member' style='display: none;'><a href="module-imaging_imageStore.html#.larvitar_store">larvitar_store</a></li></ul><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_imageStore.html#initLarvitarStore#.initLarvitarStore">initLarvitarStore</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageStore.html#addSeriesIds#~addSeriesIds">addSeriesIds</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageStore.html#addViewport#~addViewport">addViewport</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageStore.html#deleteViewport#~deleteViewport">deleteViewport</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageStore.html#disableVuex#~disableVuex">disableVuex</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageStore.html#enableVuex#~enableVuex">enableVuex</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageStore.html#get#~get">get</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageStore.html#removeSeriesIds#~removeSeriesIds">removeSeriesIds</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageStore.html#set#~set">set</a></li></ul></li><li><a href="module-imaging_imageTools.html">imaging/imageTools</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#addContoursTool#~addContoursTool">addContoursTool</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#addDefaultTools#~addDefaultTools">addDefaultTools</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#addDiameterTool#~addDiameterTool">addDiameterTool</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#addMaskEditingTool#~addMaskEditingTool">addMaskEditingTool</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#addSeedsTool#~addSeedsTool">addSeedsTool</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#addStackStateToElement#~addStackStateToElement">addStackStateToElement</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#addToolStateSingleSlice#~addToolStateSingleSlice">addToolStateSingleSlice</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#clearCornerstoneElements#~clearCornerstoneElements">clearCornerstoneElements</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#clearMeasurements#~clearMeasurements">clearMeasurements</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#clearToolStateByName#~clearToolStateByName">clearToolStateByName</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#getCurrentMaskData#~getCurrentMaskData">getCurrentMaskData</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#getToolState#~getToolState">getToolState</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#isToolMissing#~isToolMissing">isToolMissing</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#setSegmentationConfig#~setSegmentationConfig">setSegmentationConfig</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#setToolActive#~setToolActive">setToolActive</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#setToolActive#~setToolActive">setToolActive</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#setToolEnabled#~setToolEnabled">setToolEnabled</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#setToolPassive#~setToolPassive">setToolPassive</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#syncToolStack#~syncToolStack">syncToolStack</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#updateDiameterTool#~updateDiameterTool">updateDiameterTool</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageTools.html#updateStackToolState#~updateStackToolState">updateStackToolState</a></li></ul></li><li><a href="module-imaging_imageUtils.html">imaging/imageUtils</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#formatDate#formatDate">formatDate</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#formatDateTime#formatDateTime">formatDateTime</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getCmprMetadata#getCmprMetadata">getCmprMetadata</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getDICOMTag#getDICOMTag">getDICOMTag</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getDICOMTagCode#getDICOMTagCode">getDICOMTagCode</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getDistanceBetweenSlices#getDistanceBetweenSlices">getDistanceBetweenSlices</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getMaxPixelValue#getMaxPixelValue">getMaxPixelValue</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getMeanValue#getMeanValue">getMeanValue</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getMinPixelValue#getMinPixelValue">getMinPixelValue</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getNormalOrientation#getNormalOrientation">getNormalOrientation</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getPixelRepresentation#getPixelRepresentation">getPixelRepresentation</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getPixelTypedArray#getPixelTypedArray">getPixelTypedArray</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getReslicedIOP#getReslicedIOP">getReslicedIOP</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getReslicedIPP#getReslicedIPP">getReslicedIPP</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getReslicedMetadata#getReslicedMetadata">getReslicedMetadata</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getReslicedPixeldata#getReslicedPixeldata">getReslicedPixeldata</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getReslicedSliceLocation#getReslicedSliceLocation">getReslicedSliceLocation</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getSortedStack#getSortedStack">getSortedStack</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getSortedUIDs#getSortedUIDs">getSortedUIDs</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getTagValue#getTagValue">getTagValue</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getTypedArray#getTypedArray">getTypedArray</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#getTypedArrayFromDataType#getTypedArrayFromDataType">getTypedArrayFromDataType</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#isElement#isElement">isElement</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#isNegativeSign#isNegativeSign">isNegativeSign</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#isStringVr#isStringVr">isStringVr</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#isValidDate#isValidDate">isValidDate</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#parseAgeTag#parseAgeTag">parseAgeTag</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#parseDateTag#parseDateTag">parseDateTag</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#parseDateTimeTag#parseDateTimeTag">parseDateTimeTag</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#parseDICOMFileIDTag#parseDICOMFileIDTag">parseDICOMFileIDTag</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#parsePatientNameTag#parsePatientNameTag">parsePatientNameTag</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#parseTag#parseTag">parseTag</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#parseTimeTag#parseTimeTag">parseTimeTag</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#permuteSignedArrays#permuteSignedArrays">permuteSignedArrays</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#permuteValues#permuteValues">permuteValues</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#rand#rand">rand</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#randomId#randomId">randomId</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#sortStackCallback#sortStackCallback">sortStackCallback</a></li><li data-type='method' style='display: none;'><a href="module-imaging_imageUtils.html#spacingArray#spacingArray">spacingArray</a></li></ul></li><li><a href="module-imaging_strategies_eraseFreehand.html">imaging/strategies/eraseFreehand</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_strategies_eraseFreehand.html#eraseInsideFreehand#.eraseInsideFreehand">eraseInsideFreehand</a></li><li data-type='method' style='display: none;'><a href="module-imaging_strategies_eraseFreehand.html#eraseOutsideFreehand#.eraseOutsideFreehand">eraseOutsideFreehand</a></li><li data-type='method' style='display: none;'><a href="module-imaging_strategies_eraseFreehand.html#eraseFreehand#~eraseFreehand">eraseFreehand</a></li></ul></li><li><a href="module-imaging_strategies_fillFreehand.html">imaging/strategies/fillFreehand</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_strategies_fillFreehand.html#fillInsideFreehand#.fillInsideFreehand">fillInsideFreehand</a></li><li data-type='method' style='display: none;'><a href="module-imaging_strategies_fillFreehand.html#fillOutsideFreehand#.fillOutsideFreehand">fillOutsideFreehand</a></li><li data-type='method' style='display: none;'><a href="module-imaging_strategies_fillFreehand.html#fillFreehand#~fillFreehand">fillFreehand</a></li></ul></li><li><a href="module-imaging_tools_custom_contourTool.html">imaging/tools/custom/contourTool</a></li><li><a href="module-imaging_tools_custom_diameterTool.html">imaging/tools/custom/diameterTool</a></li><li><a href="module-imaging_tools_custom_editMaskTool.html">imaging/tools/custom/editMaskTool</a></li><li><a href="module-imaging_tools_custom_polygonScissorsTool.html">imaging/tools/custom/polygonScissorsTool</a></li><li><a href="module-imaging_tools_custom_thresholdBrushTool.html">imaging/tools/custom/thresholdBrushTool</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_tools_custom_thresholdBrushTool.html#_paint#_paint">_paint</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_custom_thresholdBrushTool.html#getCircleWithThreshold#~getCircleWithThreshold">getCircleWithThreshold</a></li></ul></li><li><a href="module-imaging_tools_default.html">imaging/tools/default</a></li><li><a href="module-imaging_tools_interaction.html">imaging/tools/interaction</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_tools_interaction.html#addMouseKeyHandlers#.addMouseKeyHandlers">addMouseKeyHandlers</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_interaction.html#toggleMouseHandlers#toggleMouseHandlers">toggleMouseHandlers</a></li></ul></li><li><a href="module-imaging_tools_io.html">imaging/tools/io</a><ul class='members'><li data-type='member' style='display: none;'><a href="module-imaging_tools_io.html#.exportAnnotations">exportAnnotations</a></li><li data-type='member' style='display: none;'><a href="module-imaging_tools_io.html#.loadAnnotations">loadAnnotations</a></li><li data-type='member' style='display: none;'><a href="module-imaging_tools_io.html#.saveAnnotations">saveAnnotations</a></li></ul><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_tools_io.html#generateCSV#.generateCSV">generateCSV</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_io.html#download#~download">download</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_io.html#extractToolInfo#~extractToolInfo">extractToolInfo</a></li></ul></li><li><a href="module-imaging_tools_main.html">imaging/tools/main</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_tools_main.html#csToolsUpdateImageIndex#.csToolsUpdateImageIndex">csToolsUpdateImageIndex</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_main.html#addDefaultTools#~addDefaultTools">addDefaultTools</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_main.html#addTool#~addTool">addTool</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_main.html#csToolsCreateStack#~csToolsCreateStack">csToolsCreateStack</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_main.html#initializeCSTools#~initializeCSTools">initializeCSTools</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_main.html#isToolMissing#~isToolMissing">isToolMissing</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_main.html#setToolActive#~setToolActive">setToolActive</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_main.html#setToolDisabled#~setToolDisabled">setToolDisabled</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_main.html#setToolEnabled#~setToolEnabled">setToolEnabled</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_main.html#setToolPassive#~setToolPassive">setToolPassive</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_main.html#setToolsStyle#~setToolsStyle">setToolsStyle</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_main.html#tryUpdateImage#~tryUpdateImage">tryUpdateImage</a></li></ul></li><li><a href="module-imaging_tools_polygonSegmentationMixin.html">imaging/tools/polygonSegmentationMixin</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_tools_polygonSegmentationMixin.html#_checkIfDrawing#~_checkIfDrawing">_checkIfDrawing</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_polygonSegmentationMixin.html#renderToolData#~renderToolData">renderToolData</a></li></ul></li><li><a href="module-imaging_tools_segmentation.html">imaging/tools/segmentation</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#addSegmentationMask#.addSegmentationMask">addSegmentationMask</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#clearSegmentationState#.clearSegmentationState">clearSegmentationState</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#deleteMask#.deleteMask">deleteMask</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#disableBrushTool#.disableBrushTool">disableBrushTool</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#enableBrushTool#.enableBrushTool">enableBrushTool</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#forceRender#.forceRender">forceRender</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#getActiveLabelmapBuffer#.getActiveLabelmapBuffer">getActiveLabelmapBuffer</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#getLabelColor#.getLabelColor">getLabelColor</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#initSegmentationModule#.initSegmentationModule">initSegmentationModule</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#loadMaskSlice#.loadMaskSlice">loadMaskSlice</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#redoLastStroke#.redoLastStroke">redoLastStroke</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#setActiveLabelmap#.setActiveLabelmap">setActiveLabelmap</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#setActiveLabelOpacity#.setActiveLabelOpacity">setActiveLabelOpacity</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#setActiveSegment#.setActiveSegment">setActiveSegment</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#setBrushProps#.setBrushProps">setBrushProps</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#setInactiveLabelOpacity#.setInactiveLabelOpacity">setInactiveLabelOpacity</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#setLabelColor#.setLabelColor">setLabelColor</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#setMaskProps#.setMaskProps">setMaskProps</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#toggleContourMode#.toggleContourMode">toggleContourMode</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#toggleVisibility#.toggleVisibility">toggleVisibility</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#undoLastStroke#.undoLastStroke">undoLastStroke</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#generateLUT#~generateLUT">generateLUT</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#generateUniformLUT#~generateUniformLUT">generateUniformLUT</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_segmentation.html#HSVtoRGB#~HSVtoRGB">HSVtoRGB</a></li></ul></li><li><a href="module-imaging_tools_state.html">imaging/tools/state</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-imaging_tools_state.html#restoreToolState#~restoreToolState">restoreToolState</a></li><li data-type='method' style='display: none;'><a href="module-imaging_tools_state.html#saveToolState#~saveToolState">saveToolState</a></li></ul></li><li><a href="module-loaders_commonLoader.html">loaders/commonLoader</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-loaders_commonLoader.html#getImageFrame#getImageFrame">getImageFrame</a></li><li data-type='method' style='display: none;'><a href="module-loaders_commonLoader.html#getLarvitarImageTracker#getLarvitarImageTracker">getLarvitarImageTracker</a></li><li data-type='method' style='display: none;'><a href="module-loaders_commonLoader.html#getLarvitarManager#getLarvitarManager">getLarvitarManager</a></li><li data-type='method' style='display: none;'><a href="module-loaders_commonLoader.html#getSeriesDataFromLarvitarManager#getSeriesDataFromLarvitarManager">getSeriesDataFromLarvitarManager</a></li><li data-type='method' style='display: none;'><a href="module-loaders_commonLoader.html#populateLarvitarManager#populateLarvitarManager">populateLarvitarManager</a></li><li data-type='method' style='display: none;'><a href="module-loaders_commonLoader.html#removeSeriesFromLarvitarManager#removeSeriesFromLarvitarManager">removeSeriesFromLarvitarManager</a></li><li data-type='method' style='display: none;'><a href="module-loaders_commonLoader.html#resetLarvitarManager#resetLarvitarManager">resetLarvitarManager</a></li><li data-type='method' style='display: none;'><a href="module-loaders_commonLoader.html#updateLarvitarManager#updateLarvitarManager">updateLarvitarManager</a></li></ul></li><li><a href="module-loaders_dicomLoader.html">loaders/dicomLoader</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-loaders_dicomLoader.html#cacheImages#cacheImages">cacheImages</a></li><li data-type='method' style='display: none;'><a href="module-loaders_dicomLoader.html#getDicomImageId#getDicomImageId">getDicomImageId</a></li></ul></li><li><a href="module-loaders_fileLoader.html">loaders/fileLoader</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-loaders_fileLoader.html#getFileImageId#getFileImageId">getFileImageId</a></li><li data-type='method' style='display: none;'><a href="module-loaders_fileLoader.html#populateFileManager#populateFileManager">populateFileManager</a></li><li data-type='method' style='display: none;'><a href="module-loaders_fileLoader.html#resetFileLoader#resetFileLoader">resetFileLoader</a></li><li data-type='method' style='display: none;'><a href="module-loaders_fileLoader.html#resetFileManager#resetFileManager">resetFileManager</a></li></ul></li><li><a href="module-loaders_multiframeLoader.html">loaders/multiframeLoader</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-loaders_multiframeLoader.html#clearMultiFrameCache#clearMultiFrameCache">clearMultiFrameCache</a></li><li data-type='method' style='display: none;'><a href="module-loaders_multiframeLoader.html#createCustomImage#createCustomImage">createCustomImage</a></li><li data-type='method' style='display: none;'><a href="module-loaders_multiframeLoader.html#getMultiFrameImageId#getMultiFrameImageId">getMultiFrameImageId</a></li><li data-type='method' style='display: none;'><a href="module-loaders_multiframeLoader.html#setPixelDataType#setPixelDataType">setPixelDataType</a></li><li data-type='method' style='display: none;'><a href="module-loaders_multiframeLoader.html#buildMultiFrameImage#~buildMultiFrameImage">buildMultiFrameImage</a></li><li data-type='method' style='display: none;'><a href="module-loaders_multiframeLoader.html#loadMultiFrameImage#~loadMultiFrameImage">loadMultiFrameImage</a></li></ul></li><li><a href="module-loaders_nrrdLoader.html">loaders/nrrdLoader</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-loaders_nrrdLoader.html#buildNrrdImage#buildNrrdImage">buildNrrdImage</a></li><li data-type='method' style='display: none;'><a href="module-loaders_nrrdLoader.html#createCustomImage#createCustomImage">createCustomImage</a></li><li data-type='method' style='display: none;'><a href="module-loaders_nrrdLoader.html#getImageIdFromSlice#getImageIdFromSlice">getImageIdFromSlice</a></li><li data-type='method' style='display: none;'><a href="module-loaders_nrrdLoader.html#getNrrdImageId#getNrrdImageId">getNrrdImageId</a></li><li data-type='method' style='display: none;'><a href="module-loaders_nrrdLoader.html#getNrrdSerieDimensions#getNrrdSerieDimensions">getNrrdSerieDimensions</a></li><li data-type='method' style='display: none;'><a href="module-loaders_nrrdLoader.html#getSliceNumberFromImageId#getSliceNumberFromImageId">getSliceNumberFromImageId</a></li><li data-type='method' style='display: none;'><a href="module-loaders_nrrdLoader.html#loadNrrdImage#loadNrrdImage">loadNrrdImage</a></li></ul></li><li><a href="module-loaders_resliceLoader.html">loaders/resliceLoader</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-loaders_resliceLoader.html#createCustomImage#createCustomImage">createCustomImage</a></li><li data-type='method' style='display: none;'><a href="module-loaders_resliceLoader.html#loadReslicedImage#loadReslicedImage">loadReslicedImage</a></li></ul></li><li><a href="module-monitors_memory.html">monitors/memory</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-monitors_memory.html#checkMemoryAllocation#checkMemoryAllocation">checkMemoryAllocation</a></li><li data-type='method' style='display: none;'><a href="module-monitors_memory.html#checkMemorySupport#checkMemorySupport">checkMemorySupport</a></li><li data-type='method' style='display: none;'><a href="module-monitors_memory.html#getAvailableMemory#getAvailableMemory">getAvailableMemory</a></li><li data-type='method' style='display: none;'><a href="module-monitors_memory.html#getMB#getMB">getMB</a></li><li data-type='method' style='display: none;'><a href="module-monitors_memory.html#getUsedMemory#getUsedMemory">getUsedMemory</a></li><li data-type='method' style='display: none;'><a href="module-monitors_memory.html#setAvailableMemory#setAvailableMemory">setAvailableMemory</a></li></ul></li><li><a href="module-tools_default.html">tools/default</a><ul class='methods'><li data-type='method' style='display: none;'><a href="module-tools_default.html#getDefaultToolsByType#~getDefaultToolsByType">getDefaultToolsByType</a></li><li data-type='method' style='display: none;'><a href="module-tools_default.html#setDefaultToolsProps#~setDefaultToolsProps">setDefaultToolsProps</a></li></ul></li></ul><h3>Events</h3><ul><li><a href="module-imaging_tools_custom_contourTool.ContoursTool.html#event:_drawingDoubleTapClickCallback">imaging/tools/custom/contourTool.ContoursTool#_drawingDoubleTapClickCallback</a></li><li><a href="module-imaging_tools_custom_contourTool.ContoursTool.html#event:_drawingMouseDoubleClickCallback">imaging/tools/custom/contourTool.ContoursTool#_drawingMouseDoubleClickCallback</a></li><li><a href="module-imaging_tools_custom_contourTool.ContoursTool.html#event:_drawingMouseDownCallback">imaging/tools/custom/contourTool.ContoursTool#_drawingMouseDownCallback</a></li><li><a href="module-imaging_tools_custom_contourTool.ContoursTool.html#event:_drawingMouseDragCallback">imaging/tools/custom/contourTool.ContoursTool#_drawingMouseDragCallback</a></li><li><a href="module-imaging_tools_custom_contourTool.ContoursTool.html#event:_drawingMouseMoveCallback">imaging/tools/custom/contourTool.ContoursTool#_drawingMouseMoveCallback</a></li><li><a href="module-imaging_tools_custom_contourTool.ContoursTool.html#event:_drawingMouseUpCallback">imaging/tools/custom/contourTool.ContoursTool#_drawingMouseUpCallback</a></li><li><a href="module-imaging_tools_custom_contourTool.ContoursTool.html#event:_drawingTouchDragCallback">imaging/tools/custom/contourTool.ContoursTool#_drawingTouchDragCallback</a></li><li><a href="module-imaging_tools_custom_contourTool.ContoursTool.html#event:_drawingTouchStartCallback">imaging/tools/custom/contourTool.ContoursTool#_drawingTouchStartCallback</a></li><li><a href="module-imaging_tools_custom_contourTool.ContoursTool.html#event:_editMouseDragCallback">imaging/tools/custom/contourTool.ContoursTool#_editMouseDragCallback</a></li><li><a href="module-imaging_tools_custom_contourTool.ContoursTool.html#event:_editTouchDragCallback">imaging/tools/custom/contourTool.ContoursTool#_editTouchDragCallback</a></li></ul><h3>Mixins</h3><ul><li><a href="Mixins.polygonSegmentationMixin%2520-%2520segmentation%2520operations%2520for%2520polyline.html">Mixins.polygonSegmentationMixin - segmentation operations for polyline</a></li></ul><h3>Global</h3><ul><li><a href="global.html#getSegmentsOnPixelData">getSegmentsOnPixelData</a></li><li><a href="global.html#NRRD_TYPES_TO_TYPEDARRAY">NRRD_TYPES_TO_TYPEDARRAY</a></li><li><a href="global.html">parse</a></li><li><a href="global.html#setLabelmap3DByFirstImageId">setLabelmap3DByFirstImageId</a></li><li><a href="global.html#setLabelmap3DForElement">setLabelmap3DForElement</a></li></ul>
41
-
42
- </nav>
43
-
44
- <div id="main">
45
-
46
- <h1 class="page-title">tools/segmentation.js</h1>
47
-
48
-
49
-
50
-
51
-
52
-
53
-
54
- <section>
55
- <article>
56
- <pre class="prettyprint source linenums"><code>/** @module imaging/tools/segmentation
57
- * @desc This file provides functionalities
58
- * for handling masks and luts
59
- */
60
-
61
- // external libraries
62
- import cornerstone from "cornerstone-core";
63
- import cornerstoneTools from "cornerstone-tools/dist/cornerstoneTools.js";
64
- import { cloneDeep, extend, values, sum } from "lodash";
65
- const segModule = cornerstoneTools.getModule("segmentation");
66
- const { getters, setters } = segModule;
67
-
68
- // internal libraries
69
- import { setToolActive, setToolDisabled } from "./main";
70
- import { isElement } from "../imageUtils";
71
-
72
- // custom code
73
- import { setLabelmap3DForElement } from "./setLabelMap3D";
74
- // override function
75
- setters.labelmap3DForElement = setLabelmap3DForElement;
76
-
77
- // General segmentation cs tools module configuration
78
- const config = {
79
- arrayType: 0,
80
- renderOutline: false,
81
- renderFill: true,
82
- shouldRenderInactiveLabelmaps: true,
83
- radius: 10,
84
- minRadius: 1,
85
- maxRadius: 50,
86
- segmentsPerLabelmap: 10,
87
- fillAlpha: 0.9,
88
- fillAlphaInactive: 0.9,
89
- outlineAlpha: 1.0,
90
- outlineAlphaInactive: 1.0,
91
- outlineWidth: 1,
92
- storeHistory: true
93
- };
94
-
95
- // ====================================================
96
- // utils to convert from hex to rgb and vice-versa ====
97
- // ====================================================
98
-
99
- function componentToHex(c) {
100
- var hex = c.toString(16);
101
- return hex.length == 1 ? "0" + hex : hex;
102
- }
103
-
104
- export function rgbToHex(c) {
105
- let r = componentToHex(c[0]);
106
- let g = componentToHex(c[1]);
107
- let b = componentToHex(c[2]);
108
- return "#" + r + g + b;
109
- }
110
-
111
- export function hexToRgb(hex) {
112
- var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
113
- return result
114
- ? [
115
- parseInt(result[1], 16),
116
- parseInt(result[2], 16),
117
- parseInt(result[3], 16)
118
- ]
119
- : null;
120
- }
121
-
122
- /**
123
- * Convert color from hsv to rgb
124
- * @param {Array} color as [h,s,v] 0-1
125
- * @returns color as [r,g,b] 0-255
126
- */
127
- function HSVtoRGB([h, s, v]) {
128
- var r, g, b, i, f, p, q, t;
129
- i = Math.floor(h * 6);
130
- f = h * 6 - i;
131
- p = v * (1 - s);
132
- q = v * (1 - f * s);
133
- t = v * (1 - (1 - f) * s);
134
- switch (i % 6) {
135
- case 0:
136
- (r = v), (g = t), (b = p);
137
- break;
138
- case 1:
139
- (r = q), (g = v), (b = p);
140
- break;
141
- case 2:
142
- (r = p), (g = v), (b = t);
143
- break;
144
- case 3:
145
- (r = p), (g = q), (b = v);
146
- break;
147
- case 4:
148
- (r = t), (g = p), (b = v);
149
- break;
150
- case 5:
151
- (r = v), (g = p), (b = q);
152
- break;
153
- }
154
- return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];
155
- }
156
-
157
- /**
158
- * Force cs tools refresh on all enabled images
159
- */
160
- export function forceRender() {
161
- let enabledElements = cornerstone.getEnabledElements();
162
- enabledElements.forEach(enEl => {
163
- cornerstone.updateImage(enEl.element);
164
- });
165
- }
166
-
167
- /**
168
- * Generate the custom LUT - single volume version
169
- */
170
-
171
- function generateLUT(opacity) {
172
- let lut = new Array(segModule.configuration.segmentsPerLabelmap).fill(0);
173
- lut = lut.map((e, i) => {
174
- return HSVtoRGB([i / lut.length, 1, 1]).concat(Math.round(opacity * 255));
175
- });
176
-
177
- return lut;
178
- }
179
-
180
- /**
181
- * Generate the custom LUT - multiple volume version
182
- * @param {String} hex_color - color for LUT in the #RRGGBB form
183
- * @param {NUmber} opacity - number between 0 and 1
184
- */
185
- function generateUniformLUT(hex_color, opacity) {
186
- let lut = new Array(segModule.configuration.segmentsPerLabelmap);
187
- let rgb_color = hexToRgb(hex_color);
188
- let rgba_color = rgb_color.concat(Math.round(opacity * 255));
189
- lut.fill(rgba_color);
190
- return lut;
191
- }
192
-
193
- /**
194
- * Set color for label
195
- * @param {Number} labelId
196
- * @param {String} color in hex format
197
- */
198
- export function setLabelColor(labelId, color) {
199
- let volumeId = 0; // TODO MULTIVOLUME
200
- let rgb = hexToRgb(color);
201
- let rgba = [...rgb, 128];
202
- setters.colorForSegmentIndexOfColorLUT(volumeId, labelId, rgba);
203
- // force render ? depends on image visualization (render all ?)
204
- }
205
-
206
- /**
207
- * Get color from label
208
- * @param {Number} labelId
209
- * @returns {String} Color in hex format
210
- */
211
- export function getLabelColor(labelId) {
212
- let volumeId = 0; // TODO MULTIVOLUME
213
- let rgba = getters.colorForSegmentIndexColorLUT(volumeId, labelId);
214
- return rgbToHex(rgba);
215
- }
216
-
217
- /**
218
- * A function to group all settings to load before masks
219
- * @param {Object} customConfig - Object containing override values for segmentation module config
220
- */
221
- export function initSegmentationModule(customConfig) {
222
- // set configuration
223
- segModule.configuration = cloneDeep(config);
224
- extend(segModule.configuration, customConfig);
225
- }
226
-
227
- /**
228
- * Add segmentation mask to segmentation module
229
- * @param {Object} maskProps - The mask properties (labelId, color and opacity)
230
- * @param {TypedArray} - The mask data array
231
- * @param {String} elementId - The target html element Id or its DOM HTMLElement
232
- * @returns {Promise} - Return a promise which will resolve when segmentation mask is added
233
- */
234
- export function addSegmentationMask(props, data, elementId) {
235
- let promise = new Promise(async resolve => {
236
- let element = isElement(elementId)
237
- ? elementId
238
- : document.getElementById(elementId);
239
- if (!element) {
240
- console.error("invalid html element: " + elementId);
241
- return;
242
- }
243
-
244
- const res = await setters.labelmap3DForElement(
245
- element,
246
- data.buffer,
247
- props.labelId
248
- );
249
- // if user set a color property, use that color for all segments on the labelmap
250
- let lut = props.color
251
- ? generateUniformLUT(props.color, props.opacity)
252
- : generateLUT(props.opacity);
253
- setters.colorLUT(props.labelId, lut);
254
- // bind labelmap to colorLUT
255
- let labelmap3d = getters.labelmap3D(element, props.labelId);
256
- setters.colorLUTIndexForLabelmap3D(labelmap3d, props.labelId);
257
- resolve();
258
- });
259
- return promise;
260
- }
261
-
262
- /**
263
- * Set a new mask slice into the labelmap buffer
264
- * @param {String} elementId - The target html element Id or its DOM HTMLElement
265
- * @param {Number} sliceIndex - the index of the new mask slice
266
- * @param {ArrayBuffer} pixelData - the pixelData array
267
- */
268
- export function loadMaskSlice(elementId, sliceIndex, pixelData) {
269
- // optimization: if pixelData contains no labels, return
270
- if (sum(pixelData) === 0) {
271
- return;
272
- }
273
-
274
- let element = isElement(elementId)
275
- ? elementId
276
- : document.getElementById(elementId);
277
- if (!element) {
278
- console.error("invalid html element: " + elementId);
279
- return;
280
- }
281
- let volumeId = 0; // TODO for multivolume
282
- // get labelmap buffer
283
- let labelmaps2D = getters.labelmap3D(element, volumeId).labelmaps2D;
284
-
285
- // add if not alresdy present
286
- if (!labelmaps2D[sliceIndex]) {
287
- labelmaps2D[sliceIndex] = {};
288
- }
289
-
290
- labelmaps2D[sliceIndex].pixelData = pixelData;
291
- setters.updateSegmentsOnLabelmap2D(labelmaps2D[sliceIndex]);
292
- cornerstone.updateImage(element);
293
- }
294
-
295
- /**
296
- * Activate a specific labelmap through its labelId
297
- * @param {Number} labelId - The labelmap id to activate
298
- * @param {String} elementId - The target html element Id or its DOM HTMLElement
299
- */
300
- export function setActiveLabelmap(labelId, elementId) {
301
- let element = isElement(elementId)
302
- ? elementId
303
- : document.getElementById(elementId);
304
- if (!element) {
305
- console.error("invalid html element: " + elementId);
306
- return;
307
- }
308
- setters.activeLabelmapIndex(element, labelId);
309
- }
310
-
311
- /**
312
- * Get active labelmap for target element
313
- * @param {String} elementId - The target html element Id or its DOM HTMLElement
314
- * @returns {Object} The active labelmap object that contains the buffer
315
- */
316
- export function getActiveLabelmapBuffer(elementId) {
317
- let element = isElement(elementId)
318
- ? elementId
319
- : document.getElementById(elementId);
320
- if (!element) {
321
- console.error("invalid html element: " + elementId);
322
- return;
323
- }
324
- return getters.activeLabelmapBuffer(element);
325
- }
326
-
327
- /**
328
- * Activate a specific segment through its index
329
- * @param {Number} segmentIndex - The segment index to activate
330
- * @param {String} elementId - The target html element Id or its DOM HTMLElement
331
- */
332
- export function setActiveSegment(segmentIndex, elementId) {
333
- let element = isElement(elementId)
334
- ? elementId
335
- : document.getElementById(elementId);
336
- if (!element) {
337
- console.error("invalid html element: " + elementId);
338
- return;
339
- }
340
- setters.activeSegmentIndex(element, segmentIndex);
341
- }
342
-
343
- /**
344
- * Change opacity for active label
345
- * @param {Number} opacity - The desired opacity value
346
- */
347
- export function setActiveLabelOpacity(opacity) {
348
- segModule.configuration.fillAlpha = opacity;
349
- forceRender();
350
- }
351
-
352
- /**
353
- * Change opacity for inactive labels
354
- * @param {Number} opacity - The desired opacity value
355
- */
356
- export function setInactiveLabelOpacity(opacity) {
357
- segModule.configuration.fillAlphaInactive = opacity;
358
- forceRender();
359
- }
360
-
361
- /**
362
- * Toggle mask visibility
363
- * @param {String} elementId - The target html element Id or its DOM HTMLElement
364
- * @param {Number} labelId - The id of the mask label
365
- */
366
- export function toggleVisibility(elementId, labelId) {
367
- let element = isElement(elementId)
368
- ? elementId
369
- : document.getElementById(elementId);
370
- if (!element) {
371
- console.error("invalid html element: " + elementId);
372
- return;
373
- }
374
- let volumeId = 0; // TODO MULTIVOLUME
375
- setters.toggleSegmentVisibility(element, labelId, volumeId);
376
- cornerstone.updateImage(element);
377
- }
378
-
379
- /**
380
- * Toggle between 'contours mode' and 'filled mode'
381
- * @param {Bool} toggle - Contour mode enabled if true
382
- */
383
- export function toggleContourMode(toggle) {
384
- if (toggle) {
385
- segModule.configuration.fillAlpha = 0.0;
386
- segModule.configuration.fillAlphaInactive = 0.0;
387
- segModule.configuration.outlineAlpha = 1.0;
388
- segModule.configuration.outlineAlphaInactive = 1.0;
389
- segModule.configuration.outlineWidth = 3;
390
- } else {
391
- segModule.configuration.fillAlpha = config.fillAlpha;
392
- segModule.configuration.fillAlphaInactive = config.fillAlphaInactive;
393
- segModule.configuration.outlineAlpha = config.outlineAlpha;
394
- segModule.configuration.outlineAlphaInactive = config.outlineAlphaInactive;
395
- segModule.configuration.outlineWidth = config.outlineWidth;
396
- }
397
- forceRender();
398
- }
399
-
400
- /**
401
- * Set mask appearance props
402
- * @param {Object} maskProps - The mask appearance props (labelId, visualization [0=filled, 1=contour, 2=hidden], opacity (if mode=0), between 0 and 1)
403
- */
404
- export function setMaskProps(props) {
405
- // Lut index and segment values are hardcoded because they will depend on design choices:
406
- // eg single/multiple volumes for segmentations
407
- let lutIndex = props.labelId;
408
- let labelIndex = props.labelId;
409
- // let segmentValue = MAP_VALUES[props.id];
410
- let segmentValue = 1; // binary mask, segment 1 is the only to be affected by color &amp; opacity
411
- let currentColor = getters.colorForSegmentIndexColorLUT(
412
- props.labelId,
413
- segmentValue
414
- );
415
- let htmlelement = document.getElementById("axial");
416
-
417
- let newColor = currentColor;
418
- switch (props.visualization) {
419
- // full
420
- case 0:
421
- segModule.configuration.renderOutline = true;
422
- getters.isSegmentVisible(htmlelement, segmentValue, labelIndex)
423
- ? null
424
- : setters.toggleSegmentVisibility(
425
- htmlelement,
426
- segmentValue,
427
- labelIndex
428
- );
429
- newColor[3] = Math.round(props.opacity * 255);
430
- setters.colorForSegmentIndexOfColorLUT(lutIndex, segmentValue, newColor);
431
- break;
432
- // contours
433
- case 1:
434
- segModule.configuration.renderOutline = true;
435
- getters.isSegmentVisible(htmlelement, segmentValue, labelIndex)
436
- ? null
437
- : setters.toggleSegmentVisibility(
438
- htmlelement,
439
- segmentValue,
440
- labelIndex
441
- );
442
- newColor[3] = 0;
443
- setters.colorForSegmentIndexOfColorLUT(lutIndex, segmentValue, newColor);
444
- break;
445
- // hidden
446
- case 2:
447
- setters.toggleSegmentVisibility(htmlelement, segmentValue, labelIndex);
448
- break;
449
- }
450
- forceRender();
451
- }
452
-
453
- /**
454
- * Clear state for segmentation module
455
- */
456
- export function clearSegmentationState() {
457
- segModule.state.series = {};
458
- }
459
-
460
- /**
461
- * Enable brushing
462
- * @param {Number} dimension - The initial brush radius
463
- * @param {Array} thresholds - The threshold values (min and max)
464
- */
465
- export function enableBrushTool(dimension, thresholds) {
466
- segModule.configuration.radius = dimension;
467
- segModule.configuration.thresholds = thresholds;
468
- setToolActive("ThresholdsBrush");
469
- }
470
-
471
- /**
472
- * Disable brushing
473
- * @param {String} toolToActivate - The name of the tool to activate after removing the brush
474
- */
475
- export function disableBrushTool(toolToActivate) {
476
- setToolDisabled("Brush");
477
- setToolActive(toolToActivate);
478
- }
479
-
480
- /**
481
- * Change the brush props
482
- * @param {Object} props - The new brush props {radius: number[px], thresholds: array[min,max]}
483
- */
484
- export function setBrushProps(props) {
485
- extend(segModule.configuration, props);
486
- forceRender();
487
- }
488
-
489
- /**
490
- * Undo last brush operation (stroke)
491
- * @param {String} elementId - The target html element Id or its DOM HTMLElement
492
- */
493
- export function undoLastStroke(elementId) {
494
- let element = isElement(elementId)
495
- ? elementId
496
- : document.getElementById(elementId);
497
- if (!element) {
498
- console.error("invalid html element: " + elementId);
499
- return;
500
- }
501
- let activeLabelMapIndex = segModule.getters.activeLabelmapIndex(element);
502
- setters.undo(element, activeLabelMapIndex);
503
- }
504
-
505
- /**
506
- * Redo last brush operation (stroke)
507
- * @param {String} elementId - The target html element Id or its DOM HTMLElement
508
- */
509
- export function redoLastStroke(elementId) {
510
- let element = isElement(elementId)
511
- ? elementId
512
- : document.getElementById(elementId);
513
- if (!element) {
514
- console.error("invalid html element: " + elementId);
515
- return;
516
- }
517
- let activeLabelMapIndex = segModule.getters.activeLabelmapIndex(element);
518
- setters.redo(element, activeLabelMapIndex);
519
- }
520
-
521
- /**
522
- * Delete mask from state
523
- * @param {Number} labelId - The labelmap id to activate
524
- */
525
- export function deleteMask(labelId) {
526
- let masks = values(segModule.state.series)[0].labelmaps3D;
527
- delete masks[labelId];
528
- forceRender();
529
- }
530
- </code></pre>
531
- </article>
532
- </section>
533
-
534
-
535
-
536
-
537
-
538
-
539
- </div>
540
-
541
- <br class="clear">
542
-
543
- <footer>
544
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.7</a> using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
545
- </footer>
546
-
547
- <script>prettyPrint();</script>
548
- <script src="scripts/polyfill.js"></script>
549
- <script src="scripts/linenumber.js"></script>
550
-
551
- <script src="scripts/search.js" defer></script>
552
-
553
-
554
- <script src="scripts/collapse.js" defer></script>
555
-
556
-
557
- </body>
558
- </html>