@cornerstonejs/tools 0.50.0 → 0.50.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.
|
@@ -113,12 +113,16 @@ class WindowLevelTool extends base_1.BaseTool {
|
|
|
113
113
|
return core_1.utilities.windowLevel.toLowHighRange(windowWidth, windowCenter);
|
|
114
114
|
}
|
|
115
115
|
_getMultiplierFromDynamicRange(viewport, volumeId) {
|
|
116
|
+
var _a;
|
|
116
117
|
let imageDynamicRange;
|
|
117
118
|
if (volumeId) {
|
|
118
119
|
const imageVolume = core_1.cache.getVolume(volumeId);
|
|
119
120
|
const { dimensions } = imageVolume;
|
|
120
121
|
const scalarData = imageVolume.getScalarData();
|
|
121
|
-
|
|
122
|
+
const calculatedDynamicRange = this._getImageDynamicRangeFromMiddleSlice(scalarData, dimensions);
|
|
123
|
+
const BitsStored = (_a = imageVolume === null || imageVolume === void 0 ? void 0 : imageVolume.metadata) === null || _a === void 0 ? void 0 : _a.BitsStored;
|
|
124
|
+
const metadataDynamicRange = BitsStored ? Math.pow(2, BitsStored) : Infinity;
|
|
125
|
+
imageDynamicRange = Math.min(calculatedDynamicRange, metadataDynamicRange);
|
|
122
126
|
}
|
|
123
127
|
else {
|
|
124
128
|
imageDynamicRange = this._getImageDynamicRangeFromViewport(viewport);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowLevelTool.js","sourceRoot":"","sources":["../../../src/tools/WindowLevelTool.ts"],"names":[],"mappings":";;AAAA,iCAAkC;AAClC,8CAO6B;AAI7B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,2BAA2B,GAAG,IAAI,CAAC;AACzC,MAAM,EAAE,GAAG,IAAI,CAAC;AAQhB,MAAM,eAAgB,SAAQ,eAAQ;IAEpC,YACE,SAAS,GAAG,EAAE,EACd,gBAAgB,GAAG;QACjB,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;KAC9C;QAED,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"WindowLevelTool.js","sourceRoot":"","sources":["../../../src/tools/WindowLevelTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -116,7 +116,10 @@ class WindowLevelTool extends BaseTool {
|
|
|
116
116
|
const imageVolume = cache.getVolume(volumeId);
|
|
117
117
|
const { dimensions } = imageVolume;
|
|
118
118
|
const scalarData = imageVolume.getScalarData();
|
|
119
|
-
|
|
119
|
+
const calculatedDynamicRange = this._getImageDynamicRangeFromMiddleSlice(scalarData, dimensions);
|
|
120
|
+
const BitsStored = imageVolume?.metadata?.BitsStored;
|
|
121
|
+
const metadataDynamicRange = BitsStored ? 2 ** BitsStored : Infinity;
|
|
122
|
+
imageDynamicRange = Math.min(calculatedDynamicRange, metadataDynamicRange);
|
|
120
123
|
}
|
|
121
124
|
else {
|
|
122
125
|
imageDynamicRange = this._getImageDynamicRangeFromViewport(viewport);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowLevelTool.js","sourceRoot":"","sources":["../../../src/tools/WindowLevelTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,SAAS,EACT,KAAK,GAEN,MAAM,qBAAqB,CAAC;AAI7B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,2BAA2B,GAAG,IAAI,CAAC;AACzC,MAAM,EAAE,GAAG,IAAI,CAAC;AAQhB,MAAM,eAAgB,SAAQ,QAAQ;IAEpC,YACE,SAAS,GAAG,EAAE,EACd,gBAAgB,GAAG;QACjB,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;KAC9C;QAED,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"WindowLevelTool.js","sourceRoot":"","sources":["../../../src/tools/WindowLevelTool.ts"],"names":[],"mappings":"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"}
|