Updates for Timepoint assocation (LT-60) and Conformance Checks (LT-92, LT-93, LT-94)
This commit is contained in:
1 parent
6c4eae3699
commit
beaa56c0b3
144 files changed
+5050
-2416
No files matched your search
File diff suppressed because it is too large.
Load diff
@@ -1,77 +0,0 @@
|
||||
cornerstoneWADORSImageLoader = {
|
||||
internal : {
|
||||
nextIndex: 0,
|
||||
imageIds : []
|
||||
}
|
||||
};
|
||||
|
||||
cornerstoneWADORSImageLoader.addImage = function(image) {
|
||||
var index = cornerstoneWADORSImageLoader.internal.nextIndex++;
|
||||
cornerstoneWADORSImageLoader.internal.imageIds[index] = image;
|
||||
var imageId = 'wadors:' + index;
|
||||
return imageId;
|
||||
};
|
||||
|
||||
function getMinMax(storedPixelData)
|
||||
{
|
||||
// we always calculate the min max values since they are not always
|
||||
// present in DICOM and we don't want to trust them anyway as cornerstone
|
||||
// depends on us providing reliable values for these
|
||||
var min = 65535;
|
||||
var max = -32768;
|
||||
var numPixels = storedPixelData.length;
|
||||
var pixelData = storedPixelData;
|
||||
for(var index = 0; index < numPixels; index++) {
|
||||
var spv = pixelData[index];
|
||||
// TODO: test to see if it is faster to use conditional here rather than calling min/max functions
|
||||
min = Math.min(min, spv);
|
||||
max = Math.max(max, spv);
|
||||
}
|
||||
|
||||
return {
|
||||
min: min,
|
||||
max: max
|
||||
};
|
||||
}
|
||||
|
||||
cornerstone.registerImageLoader('wadors', function(imageId) {
|
||||
var index = imageId.substring(7);
|
||||
var image = cornerstoneWADORSImageLoader.internal.imageIds[index];
|
||||
|
||||
var deferred = $.Deferred();
|
||||
|
||||
var mediaType;// = 'image/dicom+jp2';
|
||||
|
||||
DICOMWeb.getImageFrame(image.uri, mediaType).then(function(result) {
|
||||
//console.log(result);
|
||||
// TODO: add support for retrieving compressed pixel data
|
||||
var storedPixelData;
|
||||
if(image.instance.bitsAllocated === 16) {
|
||||
if(image.instance.pixelRepresentation === 0) {
|
||||
storedPixelData = new Uint16Array(result.arrayBuffer, result.offset, result.length / 2);
|
||||
} else {
|
||||
storedPixelData = new Int16Array(result.arrayBuffer, result.offset, result.length / 2);
|
||||
}
|
||||
} else if(image.instance.bitsAllocated === 8) {
|
||||
storedPixelData = new Uint8Array(result.arrayBuffer, result.offset, result.length);
|
||||
}
|
||||
|
||||
// TODO: handle various color space conversions
|
||||
|
||||
var minMax = getMinMax(storedPixelData);
|
||||
image.imageId = imageId;
|
||||
image.minPixelValue = minMax.min;
|
||||
image.maxPixelValue = minMax.max;
|
||||
image.render = cornerstone.renderGrayscaleImage;
|
||||
image.getPixelData = function() {
|
||||
return storedPixelData;
|
||||
};
|
||||
//console.log(image);
|
||||
deferred.resolve(image);
|
||||
}).catch(function(reason) {
|
||||
deferred.reject(reason);
|
||||
});
|
||||
|
||||
return deferred;
|
||||
});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*! dicom-parser - v1.2.0 - 2015-11-02 | (c) 2014 Chris Hafey | https://github.com/chafey/dicomParser */
|
||||
/*! dicom-parser - v1.2.1 - 2016-02-07 | (c) 2014 Chris Hafey | https://github.com/chafey/dicomParser */
|
||||
(function (root, factory) {
|
||||
|
||||
// node.js
|
||||
@@ -66,6 +66,7 @@ var dicomParser = (function(dicomParser) {
|
||||
function getDataSetByteStream(transferSyntax, position) {
|
||||
if(transferSyntax === '1.2.840.10008.1.2.1.99')
|
||||
{
|
||||
// https://github.com/nodeca/pako
|
||||
if(typeof(pako) === "undefined") {
|
||||
throw 'dicomParser.parseDicom: deflated transfer syntax encountered but pako not loaded';
|
||||
}
|
||||
@@ -936,8 +937,9 @@ var dicomParser = (function (dicomParser)
|
||||
{
|
||||
throw "dicomParser.ByteStream: missing required parameter 'byteArray'";
|
||||
}
|
||||
if((byteArray instanceof Uint8Array) === false) {
|
||||
throw 'dicomParser.ByteStream: parameter byteArray is not of type Uint8Array';
|
||||
if((byteArray instanceof Uint8Array) === false &&
|
||||
(byteArray instanceof Buffer) === false ) {
|
||||
throw 'dicomParser.ByteStream: parameter byteArray is not of type Uint8Array or Buffer';
|
||||
}
|
||||
if(position < 0)
|
||||
{
|
||||
@@ -2253,7 +2255,7 @@ var dicomParser = (function (dicomParser)
|
||||
dicomParser = {};
|
||||
}
|
||||
|
||||
dicomParser.version = "1.2.0";
|
||||
dicomParser.version = "1.2.1";
|
||||
|
||||
return dicomParser;
|
||||
}(dicomParser));
|
||||
|
||||
Reference in new issue
Block a user