@loveluthien/carta-frontend 6.0.0-dev

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 (148) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +34 -0
  2. package/.github/pull_request_template.md +23 -0
  3. package/.github/workflows/continuous_integration.yml +139 -0
  4. package/.github/workflows/deploy.yml +30 -0
  5. package/.husky/pre-commit +16 -0
  6. package/.husky/pre-push +42 -0
  7. package/.prettierignore +1 -0
  8. package/.prettierrc.json +18 -0
  9. package/CHANGELOG.md +363 -0
  10. package/COPYING.md +636 -0
  11. package/README.md +112 -0
  12. package/babel.config.json +10 -0
  13. package/build/ast_wrapper.wasm +0 -0
  14. package/build/carta_computation.wasm +0 -0
  15. package/build/carta_icon_128px.png +0 -0
  16. package/build/carta_logo.png +0 -0
  17. package/build/gsl_wrapper.wasm +0 -0
  18. package/build/index.html +147 -0
  19. package/build/manifest.json +15 -0
  20. package/build/robots.txt +3 -0
  21. package/build/static/css/546.aa44a897.css +1 -0
  22. package/build/static/css/async/359.4d8f6ff7.css +1 -0
  23. package/build/static/css/async/403.ea9edfac.css +1 -0
  24. package/build/static/css/async/462.8bde08e0.css +1 -0
  25. package/build/static/css/index.c1f77b92.css +1 -0
  26. package/build/static/font/blueprint-icons-16.5fb1af27.woff2 +0 -0
  27. package/build/static/font/blueprint-icons-16.79f603d1.woff +0 -0
  28. package/build/static/font/blueprint-icons-16.83d51978.eot +0 -0
  29. package/build/static/font/blueprint-icons-16.af0c342f.ttf +0 -0
  30. package/build/static/font/blueprint-icons-20.83fddc09.ttf +0 -0
  31. package/build/static/font/blueprint-icons-20.9a51bc58.woff +0 -0
  32. package/build/static/font/blueprint-icons-20.d61315fe.eot +0 -0
  33. package/build/static/font/blueprint-icons-20.ebf16e9a.woff2 +0 -0
  34. package/build/static/image/allmaps.03f2ba92.png +0 -0
  35. package/build/static/image/gamma.6fca425b.png +0 -0
  36. package/build/static/image/linear.c7941b64.png +0 -0
  37. package/build/static/image/log.7fce6aee.png +0 -0
  38. package/build/static/image/power.5dac9727.png +0 -0
  39. package/build/static/image/sqrt.0ec2b3f1.png +0 -0
  40. package/build/static/image/squared.798b23aa.png +0 -0
  41. package/build/static/js/546.b5841ade.js +489 -0
  42. package/build/static/js/546.b5841ade.js.LICENSE.txt +925 -0
  43. package/build/static/js/async/359.97257512.js +1 -0
  44. package/build/static/js/async/403.b00f768c.js +1 -0
  45. package/build/static/js/async/462.92c07a07.js +1 -0
  46. package/build/static/js/async/905.70044ee8.js +1 -0
  47. package/build/static/js/async/907.dc17f1d2.js +1 -0
  48. package/build/static/js/async/blueprint-icons-16px-paths.e17db832.js +1 -0
  49. package/build/static/js/async/blueprint-icons-20px-paths.6ad43f5f.js +1 -0
  50. package/build/static/js/async/blueprint-icons-all-paths-loader.61cc0f7b.js +1 -0
  51. package/build/static/js/async/blueprint-icons-all-paths.0c699441.js +1 -0
  52. package/build/static/js/async/blueprint-icons-split-paths-by-size-loader.5cff79f5.js +1 -0
  53. package/build/static/js/index.8fc34b4d.js +1344 -0
  54. package/build/static/js/index.9a30d560.worker.js +1 -0
  55. package/build/static/js/zfp_wrapper.wasm +0 -0
  56. package/build/static/svg/blueprint-icons-16.130888ef.svg +2097 -0
  57. package/build/static/svg/blueprint-icons-20.c8456d56.svg +2097 -0
  58. package/build/zfp_wrapper.wasm +0 -0
  59. package/declarations.d.ts +18 -0
  60. package/docs_website/.prettierignore +1 -0
  61. package/docs_website/api/api.md +13 -0
  62. package/docs_website/babel.config.js +3 -0
  63. package/docs_website/docs/assets/enable-code-snippets.png +0 -0
  64. package/docs_website/docs/code-snippet-tutorial/_category_.json +8 -0
  65. package/docs_website/docs/code-snippet-tutorial/basics.md +97 -0
  66. package/docs_website/docs/code-snippet-tutorial/image-blending.mdx +57 -0
  67. package/docs_website/docs/code-snippet-tutorial/image-fitting.mdx +44 -0
  68. package/docs_website/docs/code-snippet-tutorial/image-properties.mdx +84 -0
  69. package/docs_website/docs/code-snippet-tutorial/moment-images.mdx +31 -0
  70. package/docs_website/docs/code-snippet-tutorial/pv-images.mdx +28 -0
  71. package/docs_website/docs/code-snippet-tutorial/quick-start.mdx +82 -0
  72. package/docs_website/docs/code-snippet-tutorial/regions.mdx +49 -0
  73. package/docs_website/docs/contributing/_category_.json +7 -0
  74. package/docs_website/docs/contributing/developer-tips.md +61 -0
  75. package/docs_website/docs/contributing/documentation-guidelines.md +87 -0
  76. package/docs_website/docs/contributing/github-workflow.md +146 -0
  77. package/docs_website/docs/contributing/release-guidelines.md +73 -0
  78. package/docs_website/docs/contributing/unit-test-guidelines.md +79 -0
  79. package/docs_website/docs/documents.mdx +15 -0
  80. package/docs_website/docusaurus.config.js +167 -0
  81. package/docs_website/package-lock.json +16769 -0
  82. package/docs_website/package.json +121 -0
  83. package/docs_website/patches/@docusaurus+core+3.9.2.patch +20 -0
  84. package/docs_website/sidebars.js +33 -0
  85. package/docs_website/static/.nojekyll +0 -0
  86. package/docs_website/static/img/carta_icon_128px.png +0 -0
  87. package/docs_website/versioned_docs/version-4.1.0/api-packages.json +1 -0
  88. package/docs_website/versioned_docs/version-4.1.0/api-typedoc.json +214112 -0
  89. package/docs_website/versioned_docs/version-4.1.0/assets/enable-code-snippets.png +0 -0
  90. package/docs_website/versioned_docs/version-4.1.0/code-snippet-tutorial/_category_.json +8 -0
  91. package/docs_website/versioned_docs/version-4.1.0/code-snippet-tutorial/basics.md +97 -0
  92. package/docs_website/versioned_docs/version-4.1.0/code-snippet-tutorial/image-fitting.mdx +42 -0
  93. package/docs_website/versioned_docs/version-4.1.0/code-snippet-tutorial/image-properties.mdx +86 -0
  94. package/docs_website/versioned_docs/version-4.1.0/code-snippet-tutorial/moment-images.mdx +31 -0
  95. package/docs_website/versioned_docs/version-4.1.0/code-snippet-tutorial/pv-images.mdx +28 -0
  96. package/docs_website/versioned_docs/version-4.1.0/code-snippet-tutorial/quick-start.mdx +82 -0
  97. package/docs_website/versioned_docs/version-4.1.0/code-snippet-tutorial/regions.mdx +49 -0
  98. package/docs_website/versioned_docs/version-4.1.0/contributing/_category_.json +7 -0
  99. package/docs_website/versioned_docs/version-4.1.0/contributing/developer-tips.md +36 -0
  100. package/docs_website/versioned_docs/version-4.1.0/contributing/documentation-guidelines.md +87 -0
  101. package/docs_website/versioned_docs/version-4.1.0/contributing/github-workflow.md +141 -0
  102. package/docs_website/versioned_docs/version-4.1.0/contributing/release-guidelines.md +73 -0
  103. package/docs_website/versioned_docs/version-4.1.0/contributing/unit-test-guidelines.md +79 -0
  104. package/docs_website/versioned_docs/version-4.1.0/documents.mdx +15 -0
  105. package/docs_website/versioned_docs/version-5.0.0/api-packages.json +1 -0
  106. package/docs_website/versioned_docs/version-5.0.0/api-typedoc.json +315266 -0
  107. package/docs_website/versioned_docs/version-5.0.0/assets/enable-code-snippets.png +0 -0
  108. package/docs_website/versioned_docs/version-5.0.0/code-snippet-tutorial/_category_.json +8 -0
  109. package/docs_website/versioned_docs/version-5.0.0/code-snippet-tutorial/basics.md +97 -0
  110. package/docs_website/versioned_docs/version-5.0.0/code-snippet-tutorial/image-blending.mdx +57 -0
  111. package/docs_website/versioned_docs/version-5.0.0/code-snippet-tutorial/image-fitting.mdx +44 -0
  112. package/docs_website/versioned_docs/version-5.0.0/code-snippet-tutorial/image-properties.mdx +86 -0
  113. package/docs_website/versioned_docs/version-5.0.0/code-snippet-tutorial/moment-images.mdx +31 -0
  114. package/docs_website/versioned_docs/version-5.0.0/code-snippet-tutorial/pv-images.mdx +28 -0
  115. package/docs_website/versioned_docs/version-5.0.0/code-snippet-tutorial/quick-start.mdx +82 -0
  116. package/docs_website/versioned_docs/version-5.0.0/code-snippet-tutorial/regions.mdx +49 -0
  117. package/docs_website/versioned_docs/version-5.0.0/contributing/_category_.json +7 -0
  118. package/docs_website/versioned_docs/version-5.0.0/contributing/developer-tips.md +36 -0
  119. package/docs_website/versioned_docs/version-5.0.0/contributing/documentation-guidelines.md +87 -0
  120. package/docs_website/versioned_docs/version-5.0.0/contributing/github-workflow.md +141 -0
  121. package/docs_website/versioned_docs/version-5.0.0/contributing/release-guidelines.md +73 -0
  122. package/docs_website/versioned_docs/version-5.0.0/contributing/unit-test-guidelines.md +79 -0
  123. package/docs_website/versioned_docs/version-5.0.0/documents.mdx +15 -0
  124. package/docs_website/versioned_sidebars/version-4.1.0-sidebars.json +8 -0
  125. package/docs_website/versioned_sidebars/version-5.0.0-sidebars.json +8 -0
  126. package/docs_website/versions.json +4 -0
  127. package/eslint.config.mjs +86 -0
  128. package/jest.config.js +101 -0
  129. package/package.json +186 -0
  130. package/patches/golden-layout+1.5.9.patch +24 -0
  131. package/patches/react-split-pane+0.1.92.patch +20 -0
  132. package/rsbuild.config.ts +75 -0
  133. package/schemas/.github/workflows/AddToCartaVisProject.yml +23 -0
  134. package/schemas/.prettierrc.json +18 -0
  135. package/schemas/CMakeLists.txt +15 -0
  136. package/schemas/README.md +1 -0
  137. package/schemas/_config.yml +7 -0
  138. package/schemas/controller_config_schema_1.json +343 -0
  139. package/schemas/controller_config_schema_2.json +685 -0
  140. package/schemas/layout_schema_2.json +440 -0
  141. package/schemas/preference_backend_schema_1.json +81 -0
  142. package/schemas/preference_backend_schema_2.json +118 -0
  143. package/schemas/preference_schema_1.json +410 -0
  144. package/schemas/preferences_schema_2.json +421 -0
  145. package/schemas/schemacompiler.c +200 -0
  146. package/schemas/snippet_schema_1.json +45 -0
  147. package/schemas/workspace_schema_1.json +573 -0
  148. package/scripts/make_colormaps.py +161 -0
@@ -0,0 +1,410 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Preferences",
4
+ "description": "Schema for CARTA Preferences (Version 1)",
5
+ "$id": "https://cartavis.org/schemas/preference_schema_1.json",
6
+ "required": ["version"],
7
+ "properties": {
8
+ "version": {
9
+ "type": "integer",
10
+ "minimum": 1,
11
+ "description": "Version number of the preference schema."
12
+ },
13
+ "username": {
14
+ "type": "string",
15
+ "minLength": 1
16
+ },
17
+ "theme": {
18
+ "type": "string",
19
+ "description": "Set the color theme of the graphical user interface of CARTA. Default refers to the color theme of the operating system if applicable, otherwise 'light' theme is applied.",
20
+ "default": "auto",
21
+ "enum": ["auto", "light", "dark"]
22
+ },
23
+ "autoLaunch": {
24
+ "type": "boolean",
25
+ "description": "Launch a file browser when CARTA is initialized.",
26
+ "default": true,
27
+ "enum": [true, false]
28
+ },
29
+ "fileSortingString": {
30
+ "type": "string",
31
+ "pattern": "^([+\\-])(date|filename|type|size)$",
32
+ "description": "Set the default sorting policy of the file list in the file browser. The string should contain two parts with a plus '+' sign (ascending) or a minor '-' sign (descending) followed by one of the following strings: 'date', 'filename', 'type', or 'size'. For example, with '-date' (as default), the file list will be sorted by date in descending order.",
33
+ "default": "-date",
34
+ "enum": ["-date", "+date", "-filename", "+filename", "-type", "+type", "-size", "+size"]
35
+ },
36
+ "fileFilteringType": {
37
+ "type": "string",
38
+ "description": "Set the input syntax mode of the file filter in the file browser. 'fuzzy', as default, enables case-insentitive fuzzy string match. 'unix' accepts glob patterns in Unix or Unix-like operating systems. 'regex' allows defining a filter with regular expression.",
39
+ "default": "fuzzy",
40
+ "enum": ["fuzzy", "unix", "regex"]
41
+ },
42
+ "layout": {
43
+ "type": "string",
44
+ "description": "Set a default layout when CARTA is initialized. A custom layout can be set as the default layout too.",
45
+ "default": "Default",
46
+ "examples": ["Default", "Cube View", "Cube Analysis", "Continuum Analysis"]
47
+ },
48
+ "cursorPosition": {
49
+ "type": "string",
50
+ "description": "Define the initial state of the cursor in the image viewer. 'fixed' will fix the cursor position at the image center with a cross marker to prevent updating of cursor information or spatial/spectral cursor profile. 'tracking' (default) means cursor information or spatial/spectral cursor profile will be updated along with the movement of the cursor in the image viewer.",
51
+ "default": "tracking",
52
+ "enum": ["fixed", "tracking"]
53
+ },
54
+ "zoomMode": {
55
+ "type": "string",
56
+ "description": "Set the initial image zoom state when an image is loaded in the image viewer. 'full' (as default) will set the zoom level so that entire image is rendered to fit the size of the image viewer. 'fit' will set the zoom level so that one image pixel will be rendered with just one screen pixel only.",
57
+ "default": "full",
58
+ "enum": ["fit", "full"]
59
+ },
60
+ "zoomPoint": {
61
+ "type": "string",
62
+ "description": "Set the policy of image zoom with scrolling wheel. 'cursor' (as default) enables 'focused-zoom' at the location of the cursor when scrolling. 'center' forces 'focused-zoom' to be always with respect to the center of the image viewer.",
63
+ "default": "cursor",
64
+ "enum": ["cursor", "center"]
65
+ },
66
+ "dragPanning": {
67
+ "type": "boolean",
68
+ "description": "Set the default mode of image pan. With true (boolean), an image can be panned by cursor drag-and-drop event. With false, an image is effectively panned via mouse click where the clicked position will be centered in the image viewer.",
69
+ "default": true,
70
+ "enum": [true, false]
71
+ },
72
+ "spectralMatchingType": {
73
+ "type": "string",
74
+ "description": "Set the coordinate reference for spectral matching. Options are 'VRAD' (radio velocity), 'VOPT' (optical velocity), 'FREQ' (frequency), 'WAVE' (vacuum wavelegth), 'AWAV' (air wavelength), and 'CHANNEL'.",
75
+ "default": "VRAD",
76
+ "enum": ["VRAD", "VOPT", "FREQ", "WAVE", "AWAV", "CHANNEL"]
77
+ },
78
+ "wcsMatchingType": {
79
+ "type": "integer",
80
+ "minimum": 0,
81
+ "maximum": 3,
82
+ "description": "Set the image matching state and type when a new image is loaded in the append mode. The meaning of the allowed integers follows: {0: 'None', 1: 'Spatial only', 2: 'Spectral only', 3: 'Spatial and spectral'}.",
83
+ "default": 0
84
+ },
85
+ "scaling": {
86
+ "type": "integer",
87
+ "minimum": 0,
88
+ "maximum": 7,
89
+ "description": "Set a default scaling function for raster image rendering. The meaning of the allowed integers follows: {0: 'Linear', 1: 'Log', 2: 'Square root', 3: 'Squared', 4: 'Gamma', 5: 'Power'}.",
90
+ "default": 0
91
+ },
92
+ "colormap": {
93
+ "type": "string",
94
+ "description": "Set a default colormap for raster image rendering.",
95
+ "default": "inferno",
96
+ "enum": [
97
+ "afmhot",
98
+ "Blues",
99
+ "coolwarm",
100
+ "cubehelix",
101
+ "gist_heat",
102
+ "gist_stern",
103
+ "gnuplot",
104
+ "gnuplot2",
105
+ "gray",
106
+ "greens",
107
+ "greys",
108
+ "hot",
109
+ "inferno",
110
+ "jet",
111
+ "magma",
112
+ "nipy_spectral",
113
+ "plasma",
114
+ "rainbow",
115
+ "RdBu",
116
+ "RdGy",
117
+ "reds",
118
+ "seismic",
119
+ "spectral",
120
+ "tab10",
121
+ "viridis"
122
+ ]
123
+ },
124
+ "percentile": {
125
+ "type": "number",
126
+ "maximum": 100,
127
+ "exclusiveMinimum": 0,
128
+ "description": "Set a color clip level for raster image rendering.",
129
+ "default": 99.9,
130
+ "examples": [100, 99.99, 99.95, 99.9, 99.5, 99, 95, 90]
131
+ },
132
+ "scalingAlpha": {
133
+ "type": "number",
134
+ "minimum": 1,
135
+ "maximum": 1000000,
136
+ "description": "Set a default control parameter for 'Log' or 'Power' scaling function.",
137
+ "default": 1000
138
+ },
139
+ "scalingGamma": {
140
+ "type": "number",
141
+ "minimum": 0,
142
+ "maximum": 2,
143
+ "multipleOf": 0.1,
144
+ "description": "Set a default control parameter for 'Gamma' scaling function.",
145
+ "default": 1
146
+ },
147
+ "nanColorHex": {
148
+ "type": "string",
149
+ "pattern": "^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$",
150
+ "description": "Set a default color hex code to render NaN pixels in a raster image. To adjust the transparency, please use 'nanAlpha'.",
151
+ "default": "#137CBD",
152
+ "examples": ["#137CBD", "#000000", "#8A9BA8", "#FFFFFF"]
153
+ },
154
+ "nanAlpha": {
155
+ "type": "number",
156
+ "minimum": 0,
157
+ "maximum": 1,
158
+ "description": "Set the transparency (alpha value) of NaN pixels in a raster image. To set the color for NaN pixels, please use 'nanColorHex' with a color hex code.",
159
+ "default": 1
160
+ },
161
+ "contourGeneratorType": {
162
+ "type": "string",
163
+ "description": "Set a default generator of contour levels. Use 'contourNumLevels' to define how many levels to be generared.",
164
+ "default": "start-step-multiplier",
165
+ "enum": ["start-step-multiplier", "min-max-scaling", "percentages-ref.value", "mean-sigma-list"]
166
+ },
167
+ "contourSmoothingMode": {
168
+ "type": "integer",
169
+ "minimum": 0,
170
+ "maximum": 2,
171
+ "description": "Set the image smoothing mode before computing contour vertices. Options are: {0: 'None', 1: 'Block', 2: 'Gaussian' (as default)}. Use 'contourSmoothingFactor' to define a kernel size for smoothing.",
172
+ "default": 2
173
+ },
174
+ "contourSmoothingFactor": {
175
+ "type": "integer",
176
+ "minimum": 1,
177
+ "maximum": 33,
178
+ "description": "Set a kernel size (n x n pixel) for the chosen contour smoothing mode ('contourSmoothingMode').",
179
+ "default": 4
180
+ },
181
+ "contourNumLevels": {
182
+ "type": "integer",
183
+ "minimum": 1,
184
+ "maximum": 20,
185
+ "description": "Define the number of levels to be generated by the contour level generator ('contourGeneratorType').",
186
+ "default": 5
187
+ },
188
+ "contourThickness": {
189
+ "type": "number",
190
+ "exclusiveMinimum": 0,
191
+ "maximum": 10,
192
+ "multipleOf": 0.5,
193
+ "description": "Set a default line width for contour rendering.",
194
+ "default": 1
195
+ },
196
+ "contourColormapEnabled": {
197
+ "type": "boolean",
198
+ "description": "A boolean flag to enable/disable contour rendering with variable colors for different levels.",
199
+ "default": false,
200
+ "enum": [true, false]
201
+ },
202
+ "contourColor": {
203
+ "type": "string",
204
+ "pattern": "^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$",
205
+ "description": "Define a default color hex code for contour rendering.",
206
+ "default": "#0F9960",
207
+ "examples": ["#0F9960", "#000000", "#FFFFFF", "#FF0000", "#00FF00", "#0000FF", "#FFFF00", "#00FFFF", "#FF00FF"]
208
+ },
209
+ "contourColormap": {
210
+ "type": "string",
211
+ "description": "Set a colormap for contour rendering with variable colors for different levels.",
212
+ "default": "viridis",
213
+ "enum": [
214
+ "afmhot",
215
+ "Blues",
216
+ "coolwarm",
217
+ "cubehelix",
218
+ "gist_heat",
219
+ "gist_stern",
220
+ "gnuplot",
221
+ "gnuplot2",
222
+ "gray",
223
+ "greens",
224
+ "greys",
225
+ "hot",
226
+ "inferno",
227
+ "jet",
228
+ "magma",
229
+ "nipy_spectral",
230
+ "plasma",
231
+ "rainbow",
232
+ "RdBu",
233
+ "RdGy",
234
+ "reds",
235
+ "seismic",
236
+ "spectral",
237
+ "tab10",
238
+ "viridis"
239
+ ]
240
+ },
241
+ "astColor": {
242
+ "type": "integer",
243
+ "description": "TODO: revisit once unified color selector is in place.\n\n Set a default color theme to render the coordinate layer in the image viewer.",
244
+ "minimum": 0
245
+ },
246
+ "astGridVisible": {
247
+ "type": "boolean",
248
+ "description": "A boolean flag to enable/disable coordinate grid lines in the image viewer.",
249
+ "default": false,
250
+ "enum": [false, true]
251
+ },
252
+ "astLabelsVisible": {
253
+ "type": "boolean",
254
+ "description": "A boolean flag to enable/disable x and y labels in the image viewer.",
255
+ "default": true,
256
+ "enum": [true, false]
257
+ },
258
+ "wcsType": {
259
+ "type": "string",
260
+ "description": "Set the default format to display world coordinates in the image viewer.",
261
+ "default": "automatic",
262
+ "enum": ["automatic", "degrees", "sexagesimal"]
263
+ },
264
+ "beamVisible": {
265
+ "type": "boolean",
266
+ "description": "A boolean flag to enable/disable the display of a beam element in the image viewer.",
267
+ "default": true,
268
+ "enum": [true, false]
269
+ },
270
+ "beamColor": {
271
+ "type": "string",
272
+ "pattern": "^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$",
273
+ "description": "Define a default color hex code for beam element rendering in the image viewer.",
274
+ "default": "#8A9BA8",
275
+ "examples": ["#8A9BA8", "#000000", "#FFFFFF", "#FF0000", "#00FF00", "#0000FF", "#FFFF00", "#00FFFF", "#FF00FF"]
276
+ },
277
+ "beamType": {
278
+ "type": "string",
279
+ "description": "Set a style for beam element rendering in the image viewer.",
280
+ "default": "open",
281
+ "enum": ["open", "solid"]
282
+ },
283
+ "beamWidth": {
284
+ "type": "number",
285
+ "exclusiveMinimum": 0,
286
+ "maximum": 10,
287
+ "multipleOf": 0.5,
288
+ "description": "Set a default line width to render the beam element in the image viewer.",
289
+ "default": 1
290
+ },
291
+ "regionColor": {
292
+ "type": "string",
293
+ "pattern": "^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$",
294
+ "description": "Set a default color hex code for region rendering in the image viewer.",
295
+ "default": "#2EE6D6",
296
+ "examples": ["#2EE6D6", "#000000", "#FFFFFF", "#FF0000", "#00FF00", "#0000FF", "#FFFF00", "#00FFFF", "#FF00FF"]
297
+ },
298
+ "regionLineWidth": {
299
+ "type": "number",
300
+ "exclusiveMinimum": 0,
301
+ "maximum": 10,
302
+ "multipleOf": 0.5,
303
+ "description": "Set a default line width to render a region in the image viewer.",
304
+ "default": 2
305
+ },
306
+ "regionDashLength": {
307
+ "type": "integer",
308
+ "minimum": 0,
309
+ "maximum": 50,
310
+ "description": "Set the default style of region rendering with dashed line in the image viewer.",
311
+ "default": 0
312
+ },
313
+ "regionType": {
314
+ "type": "integer",
315
+ "minimum": 0,
316
+ "maximum": 6,
317
+ "description": "Set the default region type of the region creation button in the image viewer. Options are: {0: 'Point', 1: 'Line' (NOT IMPLEMENTED YET), 2: 'Polyline' (NOT IMPLEMENTED YET), 3: 'Rectangle' (as default), 4: 'Ellipse', 5: 'Annulus' (NOT IMPLEMENTED YET), 6: 'Polygon'}.",
318
+ "default": 3
319
+ },
320
+ "regionCreationMode": {
321
+ "type": "string",
322
+ "description": "Specify the default cursor creation mode for regions with rotational symmetry such as 'Rectangle' or 'Ellipse'.",
323
+ "default": "center",
324
+ "enum": ["center", "corner"]
325
+ },
326
+ "regionSize": {
327
+ "type": "integer",
328
+ "description": "Set the default size of 'Rectangle' or 'Ellipse' region when created with a single click. The size is defined in number of screen pixel.",
329
+ "minimum": 1,
330
+ "default": 30
331
+ },
332
+ "imageCompressionQuality": {
333
+ "type": "integer",
334
+ "minimum": 1,
335
+ "maximum": 32,
336
+ "description": "ADJUST WITH CAUTION. Set the compression quality factor for image tile data compression with zfp.",
337
+ "default": 11
338
+ },
339
+ "animationCompressionQuality": {
340
+ "type": "integer",
341
+ "minimum": 1,
342
+ "maximum": 32,
343
+ "description": "ADJUST WITH CAUTION. Set the compression quality factor for image tile data compression with zfp during animation playback.",
344
+ "default": 9
345
+ },
346
+ "GPUTileCache": {
347
+ "type": "integer",
348
+ "multipleOf": 128,
349
+ "minimum": 512,
350
+ "description": "ADJUST WITH CAUTION. Set the cache size in number of image tiles in GPU memory.",
351
+ "default": 512
352
+ },
353
+ "systemTileCache": {
354
+ "type": "integer",
355
+ "multipleOf": 128,
356
+ "minimum": 1024,
357
+ "description": "ADJUST WITH CAUTION. Set the cache size in number of image tiles in system memory.",
358
+ "default": 4096
359
+ },
360
+ "contourDecimation": {
361
+ "type": "integer",
362
+ "minimum": 1,
363
+ "maximum": 32,
364
+ "description": "ADJUST WITH CAUTION. Set the decimation factor for contour vertices generation. Default is 4, meaning the distance between adjacent contour vertices is rounded to 1/4 image pixel size. Contours are more smooth if a larger decimation factor is applied.",
365
+ "default": 4
366
+ },
367
+ "contourCompressionLevel": {
368
+ "type": "integer",
369
+ "minimum": 0,
370
+ "maximum": 19,
371
+ "description": "ADJUST WITH CAUTION. Set the compression quality factor for contour data compression with zstd.",
372
+ "default": 8
373
+ },
374
+ "contourChunkSize": {
375
+ "type": "integer",
376
+ "multipleOf": 25000,
377
+ "minimum": 25000,
378
+ "maximum": 1000000,
379
+ "description": "ADJUST WITH CAUTION. Set the chuck size for contour data streaming.",
380
+ "default": 100000
381
+ },
382
+ "contourControlMapWidth": {
383
+ "type": "integer",
384
+ "multipleOf": 128,
385
+ "minimum": 128,
386
+ "maximum": 1024,
387
+ "description": "ADJUST WITH CAUTION. Set the width of the contour control map for image matching. An integer between 128 and 1024 should be provided. The value needs to be multiple of 128. Default is 256.",
388
+ "default": 256
389
+ },
390
+ "streamContoursWhileZooming": {
391
+ "type": "boolean",
392
+ "description": "ADJUST WITH CAUTION. A boolean flag to enable/disable image tile stream for intermediate zoom levels when image zooming is in action.",
393
+ "default": false,
394
+ "enum": [false, true]
395
+ },
396
+ "lowBandwidthMode": {
397
+ "type": "boolean",
398
+ "description": "A boolean flag to enable/disable the low bandwidth mode. With the low bandwidth mode, required image resolution is reduced by a factor of two and cursor responding time is reduced from 200 ms to 400 ms.",
399
+ "default": false,
400
+ "enum": [false, true]
401
+ },
402
+ "stopAnimationPlayback": {
403
+ "type": "integer",
404
+ "minimum": 5,
405
+ "maximum": 30,
406
+ "description": "Set a timer (in minutes) to stop animation playback automatically to save computing resources.",
407
+ "default": 5
408
+ }
409
+ }
410
+ }